4.4 KiB
Версіонування Yii
Цей документ описує політику призначення версій Yii. Поточна стратегія призначення версій базується на ferver, це за думкою розробників є більш практичним та розумним рішенням, ніж використання semver (див. #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).
Примітка: Офіційні розширення використовують таку ж саму політику призначення версій, але можуть публікуватись незалежно від фреймворку, тобто номера версій фреймворку та розширення не повинні обовʼязково збігатися.