В связи с выпуском новых версий Kohana (3.0.9 и 3.1 RC1) были обновлены страницы WIKI фреймворка, в частности требования к разработчикам.
После выпуска Kohana 3.1 все последующие релизы (вида 3.x.y.z) будут придерживаться следующей стратегии:
- Старшие (major, т.е. 3.x) релизы означают смену API, либо добавление функционала. Они не имеют обратной совместимости с предыдущими релизами. Так, 3.1 и 3.0.9 не совместимы. Старшие релизы будут выпускаться раз в полгода (летом и зимой).
- Младшие (minor, 3.x.y) релизы предусматривают исправление багов и небольшие изменения функциональности, не приводящие к изменениям в API. Такие релизы имеют обратную совместимость с предыдущими релизами в рамках данного старшего (3.x) релиза. Т.е. релизы 3.0, 3.0.1 и т.д., вплоть до 3.0.9 совместимы между собой и не потребуют дополнительных усилий для обновления версии фреймворка. Для каждого поддерживаемого старшего релиза планируется по одному младшему релизу в месяц в течении года (это время поддержки старшего релиза), т.е. можно ожидать по два младших в месяц, например 3.1.1 и 3.0.10 в январе этого года.
- Хотфиксные релизы (3.x.y.z) — релизы с исправлением критических багов или уязвимостей. Обратная совместимость та же, что и для младших.
Обычная для Ko3 ситуация — выпуск хотфикса в течении получаса-часа после младшего релиза. И обычно это связано не с критическими багами, а скорее с халатностью разработчиков, забывших обновить какой-то модуль (как это было с версией 3.0.4)
Естественно, сроки релизов могут сдвигаться, если не исправлены какие-либо известные критические замечания. Мелкие задачи будут просто назначены на следующий младший релиз.
Слишком короткий цикл для minor и хотфиксов: за это время обдумать код как следует не выйдет.
Качнул вчера с главной офф-сайта версию 3.09.
И в ядре увидел:
const VERSION = ’3.0.8′;
Забыли обновить версию ?
Отсутствие обратной совместимости у старших версий Kohana3 не радует ..
@Sam ну, важные фиксы точно успеют выложить. Обычно в минорных не слишком много нового добавляют.
@xbagir
Ага, Вуди уже оправдывался на форуме по этому поводу ))
@Altesack
Дык как иначе получить новые фичи? Раз в полгода вполне себе нормальный срок.
@biakaveron
В git обновили уже, а на главной странице — пока еще нет.
Да уже какой раз забывают сменить номер версии. Причем оправдывается, но чего не изменил до сих пор? Так и не поймешь обновил ты проект или нет!
Меня как-то совсем не радует, что они не хотят добавлять новые фичи в минорных релизах. Например, придумали клёвую фичу — добавили её в мажорную версию, а она, во-первых, нескоро будет (полгода — это минимум), а во-вторых, будет несовместима с версией, на которой я уже начал делать проект. И что мне делать? Забить на эту фичу (а вдруг она правда полезная типа как Route::url / Request::url?) Они говорят, мол, можешь сам расширить классы и добавить всё что хочешь. Ага… сам сделай и сам потом баги вылавливай. Вот в Yii, например, с каждым релизом появляется внушительное количество новых фич, Саша не даст соврать
Хоть я и люблю Кохану, и её идеология и стиль мне ближе всего, но пятой точкой чувствую — придётся переходить на Yii, там много вкусного появляется в последнее время. Кто что думает по этому вопросу? Вас всё устраивает в новой стратегии релизов Коханы? Или пока ещё рано об этом говорить, время покажет?
@Spider
На самом деле некоторые фичи появляются и в минорных релизах. Те же Route::url() и Request::url() появились в 3.0.7
@biakaveron
Именно поэтому я и написал свой комментарий! Начиная с версии 3.1 они планируют в минорных релиззах только багфиксы. Так что увы, но новые фичи придётся ждать полгода минимум (именно такой цикл выпуска мажорных релизов они объявили)
@Spider
Новые фичи вполне возможны.
@biakaveron
non-api changing/adding functionality переводится как «не изменяя/добавляя новый функционал». Разве нет? Т.е. фиксы, которые не изменяют и НЕ ДОБАВЛЯЮТ новые функции. Увы, но это так. Я узнавал у Zombora и он подтвердил, что я понял всё правильно. Ссылка на комментарий: http://forum.kohanaframework.org/discussion/comment/52847/#Comment_52847
Более грамотный перевод примерно такой:
Минорный релиз — релиз, в котором фиксятся баги или производятся другие изменения, не изменяющие API и не добавляющие новые функции (например, оптимизация кода — прим. пер.)