Вышел Ruby 2.0.0-rc2

Вышел Ruby 2.0.0-rc2. Это будет последний релиз-кандидат Ruby 2.0.0.

Пожалуйста, попробуйте его и сообщите о любой ошибке, какую заметите.

Скачать

Новые фичи в 2.0.0

  • Keyword arguments
  • Enumerable#lazy
  • Module#prepend
  • #to_h: конвенция для перевода в Hash
  • %i: литер для символьного массива
  • Обновленный движок регулярных выражений: Onigmo (форк Oniguruma)
  • Enumerator#size и Range#size
  • Поддержка DTrace
  • TracePoint
  • Оптимизирована производительность require (особенно, на Windows)
  • Поддержка NativeClient
  • Улучшена документация
  • Расширенный асинхронный обработчик прерываний
  • Refinements [эксперимент]

… И многие другие улучшения. Читайте НОВОСТИ, чтобы быть в курсе.

Ниже несколько вступительных статей от сторонних разработчиков:

(Если вы хотите предоставить дополнительные статьи, мы можем добавить их в следующей новости о релизе)

Заметки

Incompatibility

Существует три заметных несовместимости, о которых мы знаем:

  • Кодировка по-умолчанию для скриптов ruby теперь UTF-8 [#6679]. Некоторые люди присылают сообщения, что это затрагивает существующие программы. Например некоторые программы бенчмаркинга стали слишком медленными [ruby-dev:46547]. Спецификация может измениться к официальному релизу.
  • Iconv был убран. Он был уже отмечен как устаревший, когда M17N был представлен в ruby 1.9. Используйте String#encode и другие методы вместо Iconv.
  • Был сбой ABI [ruby-core:48984]. Мы думаем, что обычные пользователи могут/должны просто переустановить библиотеки расширений. Вы должны быть осторожны: НЕ КОПИРУЙТЕ .so ИЛИ .bundle ФАЙЛЫ ИЗ 1.9.

Также есть несколько сравнительно небольших несовместимостей: [ruby-core:49119] Пожалуйста, сообщайте о любых несовместимостях, которые вы замечаете.

FYI: Мы добавляем записи с обновлениями, но часть их уже устарела

Статус Refinements

2.0.0 будет включать новую фичу refinements как "эксперементальную фичу", потому что мы не можем прийти к согласию в ее спецификации. Заметьте, что поведение может измениться в следующих версиях Ruby.

Благодарности

Я очень ценю помощь всех, кто пробовал preview и rc1 релиз! Я очень благодарен всем участникам за их тяжелую работу по исправлению кучи багов. Я говорю спасибо всем тем людям, кто помог мне сделать этот релиз.