[Перевод] Релиз NGINX 1.6 и 1.7. Особенности версионирования

Вчера (24 апреля), был анонсирован релиз NGINX 1.6 и 1.7. Эта статья объясняет как планируются релизы NGINX и значение этого изменения нумерации версий.NGINX 1.6 отделился от текущей основной (mainline) ветки 1.5, а последняя была перенумерована в 1.7. Это ежегодное событие, когда берется текущая основная ветка с новыми фичами и из нее появляется новая стабильная (stable) ветка. Разработка активно продолжается на уже перенумерованной основной ветке.

imageВерсия 1.4 более не поддерживается. Основная ветвь 1.5 была форкнута для создания стабильной 1.6 и перенумерована в 1.7.В терминологии NGINX «стабильная» означает, что новые возможности не будут добавляться, иными словами, набор функций остается стабильным. Только исправления серьезных багов попадают в эти версии.

Разработка новых фич и исправление всех багов производится на основной ветке, но критические багфиксы при этом мерджатся в стабильную ветку. Релиз процесс происходит на временной основе, так что можно ожидать очередные релизы в основной ветке примерно раз в месяц, с исключениями, когда это необходимо. За последний год, в основной ветке появилась поддержка SPDY 3.1, аутентификация с помощью подзапросов, TLS session tickets, поддержка IPv6 в DNS-резолвере, поддержка протокола PROXY, а также была интегрирована поддержка SSL-соединений для протокола uwsgi. Помимо этого были расширены возможности по логированию ошибок, добавлена ревалидация кэша, поддержка SMTP pipelining, новые опции буферизации для FastCGI, улучшена поддержка стриминга mp4 и обработка byte-range запросов для стриминга и кэширования.

Стоит обратить внимание, что «стабильная» не означает бо́льшую надежность и меньшее количество багов. На самом деле основная ветка рассматривается как более надежная, поскольку только критические исправления попадают в стабильную ветвь. Изменения в стабильной ветке не должны затронуть сторонние модули, чего нельзя сказать об основной ветке, где новая функциональность может затронуть работоспособность стороннего кода.

Так какую же версию выбрать? Стоит использовать основную ветку NGINX всё время. Но можно использовать стабильную, если вас беспокоят возможные проблемы от нововведений, такие как несовместимость со сторонними модулями или баги в новой функциональности.Если вы подключили официальные репозиторий NGINX (без разницы, стабильную или основную ветви), то при следующем обновлении будет загружена последняя 1.6 или 1.7 сборка соответсвенно.

Если вы устанавливали NGINX из стороннего репозитория, то у вас (вероятно) нет контроля над тем, какая версия будет развернута, и репозиторий может не идти в ногу с выходом новых версий в одной из веток. По возможности, рекомендуется устанавливать NGINX из официального репозитория (на сайте nginx.org), где все сборки проходят внутренние тесты на регрессии и обновляются с выходом новых версий из официального источника.

Вы можете выполнить nginx -V, чтобы узнать номер версии вашей сборки:

user@host:~$ nginx -v nginx version: nginx/1.5.12 А что там про NGINX Plus? NGINX Plus – это поддерживаемая на коммерческой основе версия NGINX с расширенными возможностями (многие из которых используют новую архитектуру в разделяемой памяти, специфичную для Plus-версии). NGINX Plus следует версиям в основной ветке NGINX и обычно имеет трехмесячный цикл релиза. Новая функциональность в основной ветке добавляется в Plus, затем выпускается после прохождения процесса интеграционного тестирования и проверки в бою в условиях NGINX F/OSS версий:imageNGINX Plus выпускается на основе mainline версий и обладает расширенным функционаломВнутренняя нумерация версий NGINX Plus соответсвует релизу в основной ветке, с которой NGINX Plus был синхронизирован.

Официальный блог на английском языке: nginx.com/blog/

Внимание! Nginx Team проводит очередной опрос сообщества, чтобы лучше определить стратегию развития. Не упустите возможность высказать свое мнение: mailman.nginx.org/pipermail/nginx/2014-April/043282.html

© Habrahabr.ru