25 декабря 2025 года состоялся релиз языка программирования Ruby 4.0.0, отличающегося высокой эффективностью разработки программ и вобравшего в себя лучшие черты Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Исходный код проекта Ruby распространяется на GitHub под лицензиями BSD (2-clause BSDL) и Ruby, которая ссылается на последний вариант лицензии GPL и полностью совместима с GPLv3.

В Ruby 4.0.0 включено множество новых функций и улучшений, отвечающих всё более разнообразным и растущим требованиям к Ruby.

26 декабря 2022 года состоялся релиз Ruby 3.2. Выпуск Ruby 3.3.0 произошёл 25 декабря 2024 года.

Основные улучшения, изменения, обновления и доработки в Ruby 4.0.0:

  • ZJIT — новый JIT‑компилятор, который дополняет существующий YJIT. В отличие от предыдущих подходов, ZJIT делает ставку на методный уровень оптимизации, а не на локальные участки байткода. Для работы с этим новым компонентом необходим Rust 1.85.0 или новее. По умолчанию продолжает использоваться JIT-компилятор YJIT, а ZJIT включён в качестве опции (активируется флагом "--zjit"). Как и YJIT новый JIT-компилятор написан на языке Rust командой разработчиков из компании Shopify в рамках инициативы по увеличению производительности Ruby-программ, использующих фреймворк Rails и вызывающих очень много методов. На текущем этапе развития ZJIT быстрее интерпретатора, но пока отстаёт по производительности от YJIT (ожидается, что в Ruby 4.1 ZJIT будет стабилизирован и обгонит по производительности YJIT);

  • Ruby Box (класс Ruby::Box) — экспериментальная функция, которая позволяет создавать изолированные пространства имён в процессе Ruby. Позволяет запускать код в отдельном «боксе», который имеет свои глобальные переменные, константы и определения классов. Эта новая опция с более явными контрактами данных, возможностями для оптимизаций и анализа, дополнительной безопасности без тотального аннотирования. При помощи Ruby::Box также можно отделить выполнение кода приложения от Ruby‑библиотек, обеспечить изоляцию тестов и организовать параллельное выполнение web‑обработчиков в одном процессе сервера приложений, например, для постепенной замены одной версии кода на другую или обновления зависимостей. Для активации Ruby::Box следует выставить переменную окружения "RUBY_BOX=1";

  • переработанный API Ractor. Для коммуникации между Ractors используется Ractor::Port, старые методы Ractor.yield и Ractor#take удалены. Добавлен метод Ractor.shareable_proc для упрощения совместного доступа к объектам Proc из разных акторов. Проведена оптимизация структур данных, нацеленная на сокращение конфликтов при выставлении глобальных блокировок и повышения эффективности использования кэша CPU. В следующем релизе Ractor планируют перевести в разряд стабильных возможностей;

  • логические операторы на следующей строке. Ruby 4.0 позволяет логическим операторам появляться в начале новой строки;

  • instance_variables_to_inspect — функция, которая позволяет контролировать, что отображается в выводе inspect при отладке;

  • в Windows прекращена поддержка версий MSVC старше 14.0 (_MSC_VER 1900). Это означает, что для работы с Ruby 4 потребуется Visual Studio 2015 или более поздняя версия.

  • проделана большая работа по повышению стабильности, производительности и удобства использования Ractor. Эти улучшения приближают реализацию Ractor к выходу из экспериментального статуса.

  • добавлены методы Array#find и "Array#rfind" для более эффективного поиска элементов в массиве, работающие быстрее, чем "array.reverse_each.find" и "Enumerable#find";

  • в число встроенных классов переведены классы Set и Pathname;

  • расширены возможности многих базовых классов, таких как Binding, Enumerator, ErrorHighlight, Fiber, File, IO, Kernel, Math, Proc, Range, Socket, String, Thread;

  • обновлены версии встроенных и входящих в стандартную библиотеку gem‑модулей.

«С учётом всех правок в проекте с версии Ruby 3.4.0 было изменено 3889 файлов, добавлено 230 769 файлов (+) и удалено 297 003 файла (‑). Счастливого Рождества, счастливого Нового года и удачного хакинга с Ruby 4.0!», — подытожили в команде Ruby.