Ми вирішили змінити політику версій Ruby на більш
[Семантичне версіонування](http://semver.org/) типу, починаючи з
випуску Ruby 2.1.0.

Для забезпечення більш чітко визначеної та правильно використовуваної схеми версіонування
для Ruby, ми вирішили поступово перейти на наступну політику.

## Зміни політики

Ця політика базується на пропозиції системного адміністратора ruby-lang.org
Hiroshi Shibata ([@hsbt](https://twitter.com/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.

## Посилання

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

* [Впровадження схеми семантичного версіонування та політики гілок](https://bugs.ruby-lang.org/issues/8835)
* [Прийнята пропозиція англійською](https://gist.github.com/sorah/7803201)
* [Прийнята пропозиція японською](https://gist.github.com/hsbt/7719305)

## Дякую!

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