The first release of the new main branch nginx 1.29.0 has been published, within which the development of new features will continue. In the parallel supported stable branch 1.28.x, only changes related to the elimination of serious errors and vulnerabilities are introduced. Next year, a stable branch 1.29 will be formed on the basis of the main branch 1.30.x. The project code is written in C and is distributed under the BSD license.
In the new release:
- The "early_hints" directive has been added and support for HTTP code 103 in responses from proxy and gRPC backends has been implemented. Code 103 allows informing the client about the contents of some HTTP headers immediately after the request, without waiting for the server to perform all operations related to the request and start returning the content. In a similar way, you can provide hints about elements related to the returned page that can be pre-loaded (for example, links to CSS and JavaScript used on the page can be provided). Having received information about such resources, the browser will start loading them without waiting for the end of the main page, which allows reducing the overall request processing time.
- The ability to load cryptographic keys from hardware tokens has been provided using the OpenSSL library as a provider.
- On the macOS platform, support for the "so_keepalive" parameter in the "listen" directive is implemented.
- The error level that occurs when negotiating a connection using the QUIC protocol has been changed from "error" to "crit" for critical problems. SSL and "info" for other SSL issues.
- The Windows version is built using Windows SDK 10.
- Fixed issues with building ngx_http_v2_module and ngx_http_v3_module modules using GCC 15, as well as issues with building ngx_http_v3_module module with "-O3 -flto" optimizations in GCC 14.
- Improved HTTP/3 support.
Source: opennet.ru
