Выпущена версия Ruby 3.4. В этой версии по умолчанию используется парсер Prism, добавлена ссылка на параметр блока «it» и добавлена поддержка Happy Eyeballs Version 2 в библиотеку сокетов.
Ruby - это язык высокого уровня, использующий элементы Perl, Smalltalk, Eiffel, Ada и Lisp и поддерживающий несколько концепций программирования, чтобы сбалансировать функциональное, динамическое и объектно-ориентированное программирование. Поклонники говорят, что его использование не только полезно, но и весело.
Первое основное изменение в этой версии - добавление параметра блока it по умолчанию. Его можно использовать для ссылки на параметр блока без имени переменной.
Новая версия перешла на использование Prism в качестве парсера по умолчанию. Команда говорит, что это внутреннее улучшение, и для пользователя изменения практически не должны быть заметны.
Еще одним улучшением в этой версии стало то, что в библиотеке сокетов теперь используется Happy Eyeballs Version 2. Это последняя стандартизированная версия широко распространенного во многих языках программирования подхода для улучшения связи в TCPSocket и Socket.tcp. По словам разработчиков, это изменение позволяет Ruby обеспечивать эффективные и надежные сетевые соединения, адаптированные к современным интернет-средам.
Также был улучшен YJIT. YJIT - это легкий, минималистичный Ruby JIT, построенный внутри CRuby. Он лениво компилирует код, используя архитектуру базового блочного версионирования (BBV). Улучшения в этом выпуске обеспечивают более высокую производительность в большинстве бенчмарков на платформах x86-64 и arm64, а также сокращение потребления памяти за счет сжатия метаданных и унифицированного лимита памяти.
Последнее изменение, которое стоит отметить, - это переход на модульный сборщик мусора. Альтернативные реализации сборщика мусора могут быть загружены динамически с помощью функции модульного сборщика мусора. Встроенный в Ruby сборщик мусора был выделен в отдельный файл и взаимодействует с Ruby с помощью API. Встроенный сборщик мусора теперь может быть собран как библиотека, а также добавлена экспериментальная библиотека GC на основе MMTk.
Релиз-кандидат Ruby 3.4 доступен уже сейчас.