Ruby Digest #101: Прокачування AI, критичні безпекові патчі та адаптація класичних гемів під Rails 8
Всім привіт! 👋
Переступаємо сотню й мчимо далі! Поки літо в розпалі, розробники екосистеми активно латали вразливості, покращували сумісність із Rails 8 та створювали інструменти для роботи з LLM.
Новини
🔹 Security advisory — RubyGems повідомляє про помилку кешування, через яку старі ключі доступу могли потрапити до інших користувачів, і пояснює, що потрібно перевірити власникам пакетів.
🔹 Ruby 3.3.12 Released — безпекове оновлення, яке закриває вразливість в ERB і кілька проблем у net-imap.
🔹 Ruby 4.0.6 Released — планове оновлення Ruby 4.0 з виправленнями помилок і поліпшеннями стабільності.
🔹 JRuby 10.1.1.0 Released — випуск пришвидшує перетворення рядків у числа, закриває вразливості в OpenSSL та ERB, додає підтримку OpenBSD і продовжує роботу над сумісністю з Ruby 4.0.
🔹 4.0.17 Released — оновлення виправляє роботу зі шляхами у Windows і Homebrew Ruby, зберігає контрольні суми Bundler та поліпшує кешування залежностей.
Корисне
🔹 aasm / aasm — бібліотека для реалізації скінченних автоматів і керування станами об’єктів; у липні оновили сумісність із сучасними версіями Rails і Ruby, змінено типову поведінку whiny_persistence та внесено кілька внутрішніх покращень.
🔹 mhenrixon / phlex-reactive — розширення для створення реактивних компонентів на Phlex; у липні додали нові можливості для роботи з формами та покращили інтеграцію з Turbo.
🔹 chad / turbulence — утіліта, що показує найскладніші й найчастіше змінювані файли Ruby-проєкту, щоб зрозуміти, що варто переробити; у липні додали виведення результатів у JSON і покращили графіки.
🔹 roidrage / lograge — відомий гем для компактного форматування логів Rails; у липні додали підтримку Rails
🔹 jeremyevans / tilt — бібліотека з єдиним інтерфейсом для роботи з шаблонізаторами Ruby; у липні вийшла нова версія з покращеною сумісністю з сучасними версіями Ruby та виправленнями помилок.
🔹 savonrb / nori — легкий парсер для для перетворення XML у Ruby-об’єкти; у липні виправили проблеми перетворення
🔹 paradedb / rails-paradedb — гем для інтеграції ParadeDB з Rails і повнотекстового пошуку на PostgreSQL; у липні додали нові можливості інтеграції з Active Record і покращили роботу пошукових запитів.
🔹 inertiajs / inertia-rails — інтеграція Inertia.js з Rails для створення SPA без окремого API; у липні покращили підтримку Rails 8, сумісність із новими версіями Inertia та виправили помилки.
🔹 simplecov-ruby / simplecov — інструмент для аналізу покриття коду тестами; у липні оновили підтримку сучасних версій Ruby та виправили проблеми формування звітів про покриття.
🔹 sferik / minitest-strict — розширення для Minitest, яке допомагає виявляти неточності та потенційні проблеми в тестах; у липні опубліковано перший стабільний реліз.
🔹 dmendel / bindata — бібліотека для читання й запису бінарних форматів даних у Ruby; у липні вийшла нова версія з покращеною сумісністю та виправленнями помилок.
🔹 basecamp / fizzy — відкритий застосунок Kanban від Basecamp, побудований на Rails і Hotwire; у липні проєкт активно розвивали: покращували API, оновлювали залежності та вдосконалювали процеси розробки.
🔹 crmne / ruby_llm — бібліотека для інтеграції великих мовних моделей у Ruby-застосунки; у липні вийшла версія 1.16 із підтримкою OpenAI Responses API, новими можливостями агентів та інструментів.
🔹 modelcontextprotocol / ruby-sdk — офіційний Ruby SDK для роботи з Model Context Protocol (MCP); у липні додали підтримку нових можливостей специфікації MCP та покращили API для створення клієнтів і серверів.
🔹 faker-ruby / faker — популярний інструмент генерації тестових даних; у липні розробники додали нові генератори, покращили локалізацію та закрили баги.
Цікаве
✨ How to Start a Ruby Meetup — практичний посібник зі створення й розвитку місцевої Ruby-спільноти: від пошуку приміщення та доповідачів до підтримки регулярних зустрічей.
✨ Ruby Runway Spotlight: Michael Carroll of Coolhand Labs — розмова із засновником Coolhand Labs про створений на Ruby сервіс для спостереження за роботою систем штучного інтелекту та зменшення їхніх витрат.
✨ Ruby Galaxies — наочне представлення Ruby-проєктів у вигляді галактик, де класи й модулі показані як зорі, а залежності — як хмари навколо них.
Статті й туторіали
🔸 Extralite 3.0.0 Released — оновлення додає перетворення результатів SQL-запитів у пов’язані об’єкти, сучасні налаштування SQLite та безпечніше завантаження розширень.
🔸 Why Ruby’s Issue Tracker Still Links to a 1991 Paper About Floating-Point Numbers — стаття пояснює похибки чисел із рухомою комою та вибір між Float, BigDecimal і Rational.
🔸 Audit a Rails Project with the Thoughtbot Audit Skill — досвід перевірки Rails-проєкту за допомогою Claude з подальшим перетворенням знайдених проблем на впорядковані завдання в GitHub.
🔸 Never Escape This Ruby Loop. Also, Here’s How. — матеріал показує, як створити в Ruby цикл, який не зупиняють break, return і винятки, та як усе ж із нього вийти.
🔸 When broadcasting a Turbo refresh is not enough — стаття про миттєві оновлення через Turbo з перевіркою версій, яка не дозволяє застарілим даним перезаписати нові.
🔸 Rails 8.1: Deprecated Associations — про нову можливість позначати застарілі зв’язки між моделями, знаходити місця їх використання та безпечно видаляти.
🔸 3 example process managers in Rails — три приклади опису тривалих бізнес-процесів у Rails через події, стан і команди за допомогою RailsEventStore.
🔸 ActiveModel Conditional Validations — матеріал про умовні перевірки в ActiveModel та альтернативні способи описувати правила, які залежать від стану об’єкта.
🔸 Beyond tenant_id: Treating Multi-Tenancy as a Database Invariant — стаття пропонує захищати дані різних клієнтів на рівні PostgreSQL, а не покладатися лише на правильні умови в Rails-запитах.
🔸 Introducing Insta: Snapshot Testing for Ruby — про бібліотеку для перевірки складних результатів тестів через збережені зразки та зручне прийняття або відхилення змін.
🔸 Ruby May Finally Fix the Famous «Norway Problem» — про експериментальний рушій Psych на базі libfyaml, який принесе підтримку YAML 1.2. Це нарешті виправить давню проблему екосистеми, коли слова на кшталт no, yes, on чи off помилково зчитувалися як логічні значення
🔸 10 Things You Might Not Know About Rails i18n — огляд можливостей Rails i18n для керування текстами, датами й повідомленнями про помилки навіть в одномовних застосунках.
🔸 Behind the GitLab RCE: A depthfirst Journey into the Ruby Ecosystem — дослідження вразливостей у Ruby-бібліотеках, особливо в розширеннях на C, одна з яких призвела до віддаленого виконання коду в GitLab.
🔸 What Happens When You Get Codex to Golf Ruby — автор за допомогою Codex скорочує код для створення римських чисел і показує маловідомі прийоми Ruby.
🔸 Ruby Central’s Destructive Legacy — критичний погляд Андре Арко на наслідки рішень Ruby Central, суперечку навколо Bundler і RubyGems та зміни в керуванні спільнотою.
🔸 Migrating from sass-rails to Dart Sass — практична інструкція з переходу на підтримувану версію Sass із заміною застарілих правил і автоматичним оновленням стилів.
🔸 Optimizing Ruby’s JSON, Part 8 — про подальше пришвидшення JSON у Ruby завдяки обробці груп символів і новому, простішому синтаксичному аналізатору.
🔸 The inliner is yielding benefits for ZJIT — про вбудовування методів у ZJIT, яке дає змогу краще оптимізувати цикли й блоки та помітно прискорює окремі операції Ruby.
🔸 Why Active Record’s Snapshot Semantics Are a Trade-off, Not a Missing Feature — пояснення, чому завантажені об’єкти Active Record не оновлюються автоматично після змін у базі та коли варто використовувати повторні запити, блокування чи перевірку версій.
Відео
📌 Brighton Ruby 2026 — добірка записів доповідей конференції про Ruby, Rails, швидкодію, архітектуру та практичний досвід розробки.
ПодкастиDrifting Ruby
📌 Claude Skills — про створення власних команд для Claude Code, які допомагають виконувати складні повторювані завдання та діставати потрібні дані із застосунку.
Remote Ruby
✔️ Chris Is Back And Ready To Rant — про програму Rails World, пошук у Rails, заміни Elasticsearch, розвиток Action Text і нові можливості mise.
✔️ The Great Falcon Defense and CI Innovations — про зміни в GitHub Actions, які пришвидшили перевірки Podia на
✔️ Don’t Steal Our Business Idea — про прискорення збирання серверних образів, проблеми зі схемою бази даних, доцільність переробки коду та користь помічників для програмування.
✔️ A Deep Dive into GitHub Actions — про пришвидшення автоматичних перевірок, підтримку старих версій Ruby, проблеми під час розгортання Sidekiq і складання Ruby-застосунків у самостійні файли.
✔️ Big Wins For RubyConf and Grandma — враження від RubyConf 2026, розмова про майбутнє конференцій і вплив штучного інтелекту на навчання та створення програм.
On Rails
✔️ Bryce Harlan: A Decade of Rails in Healthcare — про десятирічний розвиток медичної платформи на Rails, її оновлення, обробку великої кількості повідомлень через Sidekiq і використання Claude Code.
8 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівДякую!
Дякую автору!
гарний розвиток
Дякую!
Вітаємо з101-м випуском!
Дякую!
Дякую автору!
Дякую за дайджест!