mirror of
https://github.com/yiisoft/yii2.git
synced 2026-03-10 17:27:58 +01:00
50 lines
4.4 KiB
Markdown
50 lines
4.4 KiB
Markdown
Версіонування Yii
|
||
=================
|
||
|
||
Цей документ описує політику призначення версій Yii. Поточна стратегія призначення версій
|
||
базується на [ferver](https://github.com/jonathanong/ferver), це за думкою розробників є більш практичним
|
||
та розумним рішенням, ніж використання [semver](http://semver.org/) (див. [#7408](https://github.com/yiisoft/yii2/issues/7408) для довідки).
|
||
|
||
У колі головних розробників неодноразово підкреслювалась важливість зберігати зворотну сумісність релізів 2.0.x на 100%.
|
||
Але це ідеалістичний план. Стаття про ferver доводить, що досягнути цього на практиці дуже важко,
|
||
не зважаючи на те, використовується semver чи ні.
|
||
|
||
Загалом, політика призначення версій наступна:
|
||
|
||
## Патч-релізи `2.x.Y`
|
||
|
||
Патч-релізи, які мають бути на 100% зворотно сумісними. В ідеалі, вони містять лише виправлення помилок, що зменшує
|
||
можливість порушення зворотної сумісності. На практиці, релізи починаючи з 2.0.x стали частішими та зазвичай містять невеликі доповнення,
|
||
що дає можливість користувачам почати використовувати ці зміни раніше.
|
||
|
||
* Підтримуються у гілці `2.x`
|
||
* Переважно містять виправлення помилок та невеликі покращення
|
||
* Відсутні великі зміни та доповнення
|
||
* 100%-ва зворотна сумісність, що гарантує оновлення без проблем. Виключенням можуть бути лише проблеми безпеки, які потребують порушення зворотної сумісності
|
||
* Цикл релізу близько 1-2 місяців
|
||
* Не має необхідності у пре-релізах (альфа, бета, реліз-кандидат)
|
||
* Регулярно обʼєднуються з головною (master) гілкою (щонайменш раз у тиждень вручну)
|
||
|
||
|
||
## Молодші (мінорні) релізи `2.X.0`
|
||
|
||
Зворотно несумісні релізи, що містять великі доповнення та зміни, які можуть порушувати зворотну сумісність. Оновлення з ранніх версій
|
||
може бути не простим, але у наявності повна інструкція по оновленню або навіть скрипт.
|
||
|
||
* Розроблюються у головній (майстер) гілці
|
||
* Переважно містять нові доповнення та виправлення помилок
|
||
* Містять невеликі доповнення та виправлення помилок з патч-релізів
|
||
* Можуть мати зворотно несумісні зміни, які записуються у файл `UPGRADE-2.X.md`
|
||
* Цикл релізу близько 6-8 місяців
|
||
* Необхідні пре-релізи: `2.X.0-alpha`, `2.X.0-beta`, `2.X.0-rc`
|
||
* Потребують маркетингових зусиль та публікування у головних новинах
|
||
|
||
|
||
## Основні (мажорні) релізи `X.0.0`
|
||
|
||
Це наче 2.0 після 1.0. Такий перехід, вірогідніше, буде не частіше ніж кожні 3-5 років, у звʼязку з просуванням сторонніх технологій
|
||
(наприклад, оновлення PHP з 5.0 до 5.4).
|
||
|
||
> Примітка: Офіційні розширення використовують таку ж саму політику призначення версій, але можуть публікуватись незалежно від
|
||
фреймворку, тобто номера версій фреймворку та розширення не повинні обовʼязково збігатися.
|