Дата обновления перевода 2022-01-03

Процесс релиза

Этот документ объясняет процесс, которому следует проект Symfony для разработки, релиза и поддержки разных версий.

Релизы Symfony следуют стратегии Семантического версионирования, и публикуются в соответствии с основанной на времени модели:

  • Новая версия патча Symfony (например, 4.4.12, 5.1.9) выходит примерно раз в месяц. Она содержит только исправления ошибок, поэтому вы можете безопасно обновлять свои приложения;
  • Новая младшая версия Symfony (например, 4.4, 5.1) выходит каждые шесть месяцев: одна в мае, а вторая - в ноябре. Она содержит исправления ошибок и новые функции, но не имеет ломающих изменений, поэтому вы можете безопасно обновлять ваши приложения;
  • Новая старшая версия Symfony (например, 4.0, 5.0, 6.0) выходит каждые два года. Она может содержать ломающие изменения, поэтому вам нужно внести некоторые изменения в ваши приложения перед обновлением.

Tip

`Подпишитесь на уведомления Symfony `_, чтобы получать письмо, когда публикуется новая версия Symfony, или когда жизнь версии Symfony подходит к концу.

Разработка

Полный период разработки любой полноценной или младшей версии длится шесть месяцев и делится на два этапа:

  • Разработка: Четыре месяца, чтобы добавить новые функции и улучшить существующие;
  • Стабилизация: Два месяца, чтобы исправить баги, подготовить релиз, и дождаться, пока подтянется все экосистема Symfony (сторонние библиотеки, пакеты и проекты, использующие Symfony).

Во время этапа разработки, любая новая функция может быть отменена, если она не будет закончена вовремя, или если она недостаточно стабильна, чтобы быть включённой в текущий финальный релиз.

Tip

Смотрите Symfony Roadmap, чтобы узнать больше о любой конкретной версии.

Содержание

Начиная с ветки Symfony 3.x, количество младших версий ограничено до 5 на ветку (X.0, X.1, X.2, X.3 и X.4). Последняя младшая версия ветки (например, 4.4, 5.4) считается версией долгосрочной поддержки, а другие - стандартными версиями:

Тип версии Исправлены баги на… Исправлены ошибки безопасности на…
Стандартная 8 месяцев 8 месяцев
Долгосрочной поддержки (LTS) 3 года 4 года

Note

После того, как активное содержание версии Symfony закончилось, вы можете получить `профессиональную поддержку Symfony`_ от SensioLabs, компании, спонсирующей проект Symfony.

Обратная совместимость

Наше Обещание обратной совместимости очень строгое, и позволяет разработчикам уверенно обновляться с одной младшей версии Symfony до другой.

Когда реализация функции не может быть заменена лучшей, не нарушая обратную совместимость, Symfony объявляет старую реализацию устаревшей, и добавляет рядом новую предпочитаемую. Прочтите документ соглашения, чтобы узнать больше о том, как в Symfony работают с устареваниями.

Эта политика устареваний также требует пользовательского процесса разработки для старших версий (5.0, 6.0, и т.д.). В таких случаях, Symfony одновременно разрабатывает две версии: новую старшую (например, 5.0) и последнюю версию предыдущей ветки (например, 4.4).

Обе версии имеют одинаковые новые функции, но отличаются по устаревшим функциям. Самая старая версия (в этом примере 4.4) содержит все устаревшие функции, в то время как новая версия (в этом примере 5.0) - их все удаляет.

Это позволяет вам обновлять ваши проекты до последней младшей версии (например, 4.4), увидеть все сообщения об устаревании и исправить их. Как только вы исправите все устаревания, вы можете обновиться до новой старшей версии (например, 5.0) без усилий, так как она содержит те же функции (единственная разница заключается в устаревших функциях, которые ваш проект больше не использует).

PHP-совместимость

Минимальная версия PHP решается дла каждой старшей версии Symfony консенсусом между базовой командой и документируется, как часть технических требований для запуска приложений Symfony.

Во время поддержки жизненного цикла каждого релиза Symfony, все выпущенные версии PHP, включая новые старшие версии, будут поддерживаться. Таким образом, максимальной поддерживаемой версией PHP для поддерживаемого релиза Symfony является выпущенная позже всех, которая доступна публично.

For out-of-support releases of Symfony, the latest PHP version at time of EOL is the last supported PHP version. Newer versions of PHP may or may not function.

Обоснование

Этот процесс релиза был принят, чтобы добавить предсказуемости и прозрачности. Он обсуждался, основываясь на следующих целях:

  • Сократить цикл релиза (позволить разработчикам получать преимущества от новых функций быстрее);
  • Дать большую видимость разработчикам, используя фреймворк и проекты Symfony из открытых источников;
  • Улучшить опыт базовых вкладчиков Symfony: все знают, когда функция может стать доступна в Symfony;
  • Скоординировать хронологию Symfony с популярными PHP проектами, которые хорошо работают с Symfony, и с проектами, использующими Symfony;
  • Дать время экосистеме подхватить новые версии (авторов пакетов, авторов документации, переводчиков, …).

Шестимесячный период был выбран, так как в году получается два релиза. Это также даёт достаточно времени для работы над новыми функциями и позволяет неготовым функциям быть отложенными до следующей версии, не превращая ожидание в слишком длительное.

Режим двойного содержания был принят, чтобы сделать каждого пользователя Symfony счастливым. Быстрые пользователи, которые хотят работать с новейшими версиями, используют стандартную версию: новая версия публикуется каждые 6 месяцев и существует двухмесячный период для обновления.Компании, которые хотят большей стабильности, используют версии ВДП: новая версия публикуется каждые два года и существует годичный период для обновления.

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.