Change8

release-1.29.4

Breaking Changes
📦 nginxView on GitHub →
1 breaking3 features🐛 6 fixes🔧 4 symbols

Summary

Nginx 1.29.4 introduces major features like HTTP/2 to backend support and Encrypted Client Hello (ECH) integration. This release also contains several bug fixes, including resolving a segfault in proxy URI changes and fixing build issues with BoringSSL.

⚠️ Breaking Changes

  • SSL: The interface of ngx_ssl_set_client_hello_callback() has changed. Users relying on the previous signature must update their callback implementation.

Migration Steps

  1. If you use custom SSL callbacks, review and update your implementation of ngx_ssl_set_client_hello_callback() to match the new interface.
  2. Ensure your build environment supports pcre 10.47 if you rely on specific PCRE features or compatibility.

✨ New Features

  • Added support for HTTP/2 to backend communication.
  • Integrated support for Encrypted Client Hello (ECH) via OpenSSL integration.
  • Added support for pcre 10.47.

🐛 Bug Fixes

  • Fixed segfault in URI change handling (issue #983) in proxy module.
  • Fixed build issues with BoringSSL that were introduced by commit 38a701d88.
  • Extended guard for NULL buffer and zero length in HTTP/2 processing.
  • Fixed segfault on QUIC handshake failure.
  • Avoided warnings when ECH is not configured and not supported.
  • Disabled bare LF in chunked transfer encoding.

🔧 Affected Symbols

ngx_ssl_set_client_hello_callback()HTTP/2Proxy URI change handlingQUIC handshake