Новая версия Nginx 1.29.0

Опубликован первый выпуск новой основной ветки 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.