Политика версионирования Ruby меняется после релиза 2.1.0

Опубликовал zzak 21-12-2013
Перевел: Vlad Bokov

После грядущего релиза Ruby 2.1.0 мы решили изменить политику версионирования для Ruby в пользу семантического версионирования.

Переход на новую систему будет осуществлен постепенно, чтобы сделать номера версий более детерминированными и предсказуемыми.

Изменения в политике версионирования

Данная система версионирования основывается на предложении системного администратора ruby-lang.org Hiroshi Shibata (@hsbt).

Схема номера версии

  • MAJOR: увеличивается после нарушения обратной совместимости, несовместимой с MINOR
    • Зарезервировано для особых случаев
  • MINOR: увеличивается каждый год на Рождество, возможна несовестимость API
  • TEENY: патчи безопасности и багфиксы, совместимые с текущим API
    • Возможно более, чем 10 (например 2.1.11), выходит каждые 2-3 месяца.
  • PATCH: количество коммитов после последнего MINOR релиза (после этого сбрасывается до 0)

Схема веток

Мы продолжим поддерживать следующие ветки:

  • trunk
  • ruby_{MAJOR}_{MINOR}_{TEENY}

Совместимость API

Следующие характерные изменения будут считаться несовместимыми, увеличивая MINOR версию:

  • удаление возможностей низкоуровнего С API;
  • обратно-несовместимые изменения или добавления.

Совместимость ABI

ABI будет представлен следующей схемой: {MAJOR}.{MINOR}.0

Мы будем стараться поддерживать совместимость ABI в рамках одного MINOR релиза, так что TEENY будет зафиксировано на значении 0.

Ссылки

Для получения дальнейшей информации по версионированию посетите:

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

Хотелось бы лично поблагодарить всех, кто принимал участие в дискуссии. Каждый наш шаг приближает нас к более стабильному и эффективному Ruby.

Последние новости

Новый облик документации Ruby

Вслед за редизайном ruby-lang.org, у нас есть еще новости в честь 30-летия Ruby: docs.ruby-lang.org получил полностью новый облик с Aliki — новым стандартным шаблоном RDoc....

Опубликовал Stan Lo 23-12-2025

Вышел Ruby 4.0.0 preview3

Мы рады сообщить о выпуске Ruby 4.0.0-preview3. Ruby 4.0 представляет Ruby::Box и «ZJIT», а также содержит множество улучшений.

Опубликовал naruse 18-12-2025

Больше новостей...