Зміни політики версій Ruby, починаючи з Ruby 2.1.0

Опублікував zzak 21-12-2013
Переклав: Andrii Furmanets

Ми вирішили змінити політику версій Ruby на більш Семантичне версіонування типу, починаючи з випуску 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 при випуску MINOR)

Схема гілок

Ми продовжуватимемо підтримувати наступні гілки:

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

Сумісність API

Наступні риси можуть бути позначені як несумісна зміна, що вимагає збільшення версії MINOR:

  • Видалення функцій API рівня C
  • Зворотно несумісні зміни або додавання

Сумісність ABI

ABI відповідатиме наступній схемі: {MAJOR}.{MINOR}.0

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

Посилання

Щоб прочитати більше про цю пропозицію, будь ласка, див. наступні посилання:

Дякую!

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

Останні новини

Вийшов 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

Більше новин...