Опубликован первый выпуск новой основной ветки 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.
Источник: http://www.opennet.ru/opennews/art.shtml?num=63459