You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
New features
io_uring socket readiness (Linux). On supported Linux systems, Proxy Verifier now uses a process-wide io_uring to multiplex socket readiness waits, with poll as the automatic fallback. A new --io-uring option takes auto (default), off, or required. The required mode fails fast if io_uring cannot be used, which makes same-binary A/B comparisons against off straightforward. (#401)
Content delay for server chaos testing. A delay key inside a content node pauses between writing a message's headers and writing its body. This lets a replay file simulate an origin that starts a response and then stalls, exercising proxy timeout and partial-response handling. Applies to HTTP/1.1 in the clear and over TLS. For HTTP/2, use a delay on the DATA frame in a frames node instead; combining both is rejected with a diagnostic. (#389)
OpenSSL 3.5 native QUIC for HTTP/3. The ngtcp2 transport is replaced with OpenSSL's native QUIC API. nghttp3 is still used for HTTP/3 framing and nghttp2 for HTTP/2. OpenSSL 3.5 or later is now required. (#390)
Build and dependency changes
Builds now use distribution-provided OpenSSL and nghttp2/nghttp3 packages instead of the source-built dependency bundle. CMake presets are simplified around system dependency discovery. (#398)
Three build Dockerfiles are maintained: Ubuntu 26.04 (GitHub Actions CI), Alpine 3.24 (static musl Linux release artifacts), and Fedora 44 (development). Rocky Linux image definitions are removed. (#398)
The Ubuntu CI image is published to GHCR. (#399, #395, #392)
Testing and CI
End-to-end tests migrated from the legacy AuTest harness to pytest-based Uranium tests, with isolated, failure-preserving sandboxes and CI sharding. (#400)
GitHub Actions CI added, running formatting, RAT license audit, Clang unit tests, and GCC end-to-end tests as separate jobs. (#393, #394)
The RAT job now checks copyright years, and copyright-update.sh derives years from git history. (#397, #396)