Вийшов Ruby 2.4.0
Опублікував naruse 25-12-2016
Переклав: Andrii Furmanets
Ми раді оголосити випуск Ruby 2.4.0.
Ruby 2.4.0 - це перший стабільний випуск серії Ruby 2.4. Він вводить багато нових функцій, наприклад:
Впровадження покращення хеш-таблиці (від Vladimir Makarov)
Покращено внутрішню структуру хеш-таблиці (st_table) шляхом впровадження відкритої адресації та масиву порядку включення. Це покращення обговорювалося з багатьма людьми, особливо з Yura Sokolov.
Binding#irb: Запуск сесії REPL, подібної до binding.pry
Під час налагодження ви часто можете використовувати p для перегляду значення змінних.
З pry ви можете використовувати binding.pry у вашому додатку
для запуску REPL та виконання будь-якого коду Ruby.
r56624
вводить binding.irb, який поводиться так само з irb.
Об’єднання Fixnum та Bignum в Integer
Хоча ISO/IEC 30170:2012 не визначає деталей класу Integer, Ruby мав два видимі класи Integer: Fixnum та Bignum. Ruby 2.4 об’єднує їх в Integer. Всі C розширення, які торкаються класу Fixnum або Bignum, потребують виправлення.
Див. також тікет та слайди akr.
String підтримує відображення регістру Unicode
String/Symbol#upcase/downcase/swapcase/capitalize(!) тепер обробляють
відображення регістру Unicode замість лише відображення регістру ASCII.
Покращення продуктивності
Ruby 2.4 також містить наступні покращення продуктивності, включаючи зміни мови:
Array#max, Array#min
[x, y].max та [x, y].min оптимізовано, щоб не створювати тимчасовий масив
за певних умов.
Regexp#match?
Додано Regexp#match?, який виконує відповідність regexp без створення
об’єкта зворотного посилання та зміни $~ для зменшення виділення об’єктів.
Інші покращення продуктивності
Налагодження
Thread#report_on_exception та Thread.report_on_exception
Ruby ігнорує винятки в потоках, якщо інший потік явно не приєднується до них.
З report_on_exception = true,
ви можете помітити, якщо потік помер через необроблений виняток.
Надішліть нам відгук, що має бути за замовчуванням для report_on_exception
та про report-on-GC, який показує звіт, коли потік
збирається збирачем сміття без join.
Виявлення deadlock потоків тепер показує потоки з їхнім backtrace та залежністю
Ruby має виявлення deadlock навколо потоків очікування, але його звіт не включає достатньо інформації для налагодження. Виявлення deadlock Ruby 2.4 показує потоки з їхнім backtrace та залежними потоками.
Інші помітні зміни з 2.3
- Підтримка OpenSSL 1.1.0 (припинення підтримки 0.9.7 або раніше)
- ext/tk тепер видалено з stdlib Функція #8539
- XMLRPC тепер видалено з stdlib Функція #12160
Див. NEWS або логи комітів для деталей.
З цими змінами, 2523 файли змінено, 289129 додано(+), 84670 видалено(-) з Ruby 2.3.0!
Веселого Різдва, щасливих свят, та насолоджуйтеся програмуванням з Ruby 2.4!
Завантаження
-
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.bz2
РОЗМІР: 12572424 байтів SHA1: 944d2588308391b20a89642472454d1dfe7b2360 SHA256: 440bbbdc49d08d3650f340dccb35986d9399177ad69a204def56e5d3954600cf SHA512: bef7bb53f63fb74073d071cc125fb67b273ed0779ef43c2d2969089b9ca21fff1bd012281c5b748f7a3c24dd26e71730d7248c05a01cb23ab2089eb4d02115fe -
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.gz
РОЗМІР: 14104044 байтів SHA1: d44a3c50a0e742341ed3033d5db79d865151a4f4 SHA256: 152fd0bd15a90b4a18213448f485d4b53e9f7662e1508190aa5b702446b29e3d SHA512: 21c9f596b42dd9cba7a53963a59fed0c2e0c1eb960a4ac7087ea3eaa991ce9252d32639e1edcb75b1d709bc07c4820a6dc336ab427d0643c6e6498e0eacdbc8b -
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.xz
РОЗМІР: 9906880 байтів SHA1: 038804bbd0e77508dd2510b729a9f3b325489b2e SHA256: 3a87fef45cba48b9322236be60c455c13fd4220184ce7287600361319bb63690 SHA512: 975a5388592adc038461e0acebb6c0efee242891b2ea8621476401458efe2bc0fdd317d3bf99beb745b0b3808410efdff33862da29c95c027f457943721e3ab6 -
https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.zip
РОЗМІР: 15758757 байтів SHA1: 29e1bab11551011718c35a51827edcb55bd656fc SHA256: 5c2bbfa26fd6a15a2d70961874b0f3a386206fcc5f698e240dd8b0c9f0f18c5e SHA512: 31d932372ce490eeac0a70bc8dcf842909a90435422398d069c05cf01d994936064b8f4e60879e28a8655c1296eb8e180e348cb95e001ed6ca73cda0ff77de23
Останні новини
Вийшов Ruby 4.0.3
Вийшов Ruby 4.0.3.
Опублікував k0kubun 21-04-2026
Вийшов Ruby 3.2.11
Вийшов Ruby 3.2.11. Цей реліз містить оновлення gem zlib, яке усуває CVE-2026-27820.
Опублікував hsbt 27-03-2026
Вийшов Ruby 3.3.11
Вийшов Ruby 3.3.11. Цей реліз містить оновлення gem zlib, яке усуває CVE-2026-27820, а також кілька виправлень помилок.
Опублікував hsbt 26-03-2026
Вийшов Ruby 4.0.2
Вийшов Ruby 4.0.2.
Опублікував k0kubun 16-03-2026