Опубликован первый выпуск новой основной ветки nginx 1.29.0, в рамках которой будет продолжено развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.28.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В следующем году на базе основной ветки 1.29.x будет сформирована стабильная ветка 1.30. Код проекта написан на языке Си и распространяется под лицензией BSD.
- Добавлена директива “early_hints” и реализована поддержка HTTP-кода 103 в ответах от бэкентов proxy и gRPC. Код 103 позволяет информировать клиента о содержании некоторых HTTP-заголовков сразу после запроса, не дожидаясь пока сервер выполнит все связанные с запросом операции и начнёт отдачу контента. Подобным образом можно сообщать подсказки о связанных с отдаваемой страницей элементах, которые могут быть предварительно загружены (например, могут быть приведены ссылки на используемые на странице css и javascript). Получив информацию о подобных ресурсах браузер приступит к их загрузке не дожидаясь окончания отдачи основной страницы, что позволяет сократить общее время обработки запроса.
- Предоставлена возможность загрузки криптографических ключей из аппаратных токенов, используя в качестве провайдера библиотеку OpenSSL.
- На платформе macOS реализована поддержка параметра “so_keepalive” в директиве “listen”.
- Уровень ошибок, возникающих при согласовании соединения с использованием протокола QUIC, изменён с “error” на “crit” для критических проблем c SSL и на “info” для остальных проблем с SSL.
- При сборке версии для Windows задействован Windows SDK 10.
- Решены проблемы со сборкой модулей ngx_http_v2_module и ngx_http_v3_module, используя GCC 15, а также проблемы со сборкой модуля ngx_http_v3_module с оптимизациями “-O3 -flto” в GCC 14.
- Улучшена поддержка HTTP/3.
Release.
Ссылка here.