Цикл релизов PHP
В команда PHP Core утвердила RFC: Release cycle update с важными изменениями в жизненном цикле релизов языка. Эти изменения продлевают сроки поддержки и синхронизируют их с календарным годом.
Ключевые изменения
Ранее каждая мажорная версия получала два года активной поддержки и один год — только обновлений безопасности. Суммарный срок поддержки составлял три года.
Таким образом, в рамках новой политики период поддержки безопасности увеличивается с одного года до двух. Согласно новой политике каждая версия будет поддерживаться четыре года: два года активной поддержки и два года — исключительно для исправлений уязвимостей. Кроме того, даты окончания всех этапов поддержки согласно новым правилам привязаны к концу календарного года (31 декабря).
Пересмотр цикла был вызван следующими причинами.
Причины обновления цикла релизов
Прежний трёхлетний цикл создавал нагрузку на команды разработчиков, вынуждая планировать апгрейд на новую версию каждые три года — словно постоянно догонять уходящий поезд. Окно
для обновления было относительно узким, особенно для крупных проектов.
Основные цели изменений — повышение стабильности и предсказуемости. Удлинённый цикл даёт разработчикам больше времени для тестирования и миграции, а привязка дат EOL к концу года упрощает долгосрочное планирование ресурсов и бюджета для бизнеса.
Новый цикл поддержки включает следующие элементы.
Детали нового цикла поддержки
В новом цикле каждая версия PHP получает два года активной поддержки, включающей исправления всех типов ошибок и добавление новых функций в минорных релизах. После этого начинается двухлетний период поддержки безопасности, когда выпускаются исключительно критические обновления для устранения уязвимостей.
Важное изменение — синхронизация дат EOL с концом календарного года. Дата окончания жизненного цикла с этого момента всегда фиксируется на 31 декабря, что устраняет неудобную привязку к релизу следующей мажорной версии и создаёт единый дедлайн для всех версий.
Ниже приведены актуальные сроки поддержки для текущих версий PHP.
Обновлённые сроки для версий PHP 8.1–8.5
Изменения применяются ретроактивно к текущим активным версиям. В таблице приведены актуальные даты.
| Версия PHP | Дата релиза | Активная поддержка до | Обновления безопасности до (дата EOL) |
|---|---|---|---|
| PHP 8.1 | 2021-11-25 | 2023-11-25 | 2025-12-31 |
| PHP 8.2 | 2022-12-08 | 2024-12-31 | 2026-12-31 |
| PHP 8.3 | 2023-11-23 | 2025-12-31 | 2027-12-31 |
| PHP 8.4 | 2024-11-21 | 2026-12-31 | 2028-12-31 |
| PHP 8.5 | 2025-11-20 | 2027-12-31 | 2029-12-31 |
Практические последствия для разработчиков
- Увеличено окно для миграции. Благодаря изменениям у команд есть дополнительные 12 месяцев для планирования и тестирования перехода на новую мажорную версию.
- Повышена стабильность среды. Более длительный период поддержки безопасности снижает риски для проектов, чувствительных к обратной совместимости.
- Упрощён календарь обновлений. Единая дата EOL (31 декабря) облегчает составление долгосрочных планов работ и бюджетов, особенно для проектов с жёсткими зависимостями в Composer.
- Появилась необходимость пересмотреть стратегии. Командам, привыкшим к трёхлетнему циклу, стоит актуализировать графики миграции, учитывая новые, более поздние дедлайны.
Вопросы и ответы
- Затронуты ли уже выпущенные версии? Да, изменения применяются ко всем активно поддерживаемым релизам, включая PHP 8.2 и 8.3, что видно в таблице выше.
- Что будет с PHP 8.6 и новыми версиями? Новый четырёхлетний цикл, по аналогии с LTS-релизами в других экосистемах, будет действовать для всех будущих мажорных релизов, начиная с PHP 8.4.
- Где отслеживать актуальные даты? Официальный источник — страница Supported Versions на сайте PHP.net.
- Как изменения повлияют на фреймворки? Большинство современных фреймворков, следующих семантическому версионированию, будут адаптировать свои циклы под новый график PHP.
Заключение
Обновлённый цикл релизов PHP повышает стабильность и предсказуемость экосистемы. Увеличение срока поддержки до четырёх лет — своего рода 'дыхательное окно' для индустрии.