nghttp2 1.69.0 rpms released and added to all supported platforms.
Major changes:
- src: Simplify format_hex and format_upper_hex - build(deps): bump actions/upload-artifact from 4 to 5 - hpack: Optimize huffman decoding a bit - Port ngtcp2_map changes - Remove unused macros and enums - src: Rewrite defer - src: Remove empty parameter list from lambda - src: Remove noexcept from ~Defer - src: Adopt EVP_PKEY_get0_EC_KEY - nghttpx: Avoid separate allocation for QUIC tx buffer - src: Workaround performance regression since OpenSSL 3.0 - integration: Cope with os.ErrProcessDone - build(deps): bump github.com/quic-go/quic-go from 0.55.0 to 0.56.0 - src: Simplify DList::remove - src: Remove the duplicated test - lib/CMakeLists.txt: Fix NGHTTP2_CONFIG_INSTALL_DIR path - nghttpx: Ensure resetting downstream h2 stream - build(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0 - Gha ubuntu arm - src: Generate lowcase_tbl - examples: Remove redundant cast in lowcase - build(deps): bump actions/checkout from 5 to 6 - build(deps): bump github.com/quic-go/quic-go from 0.56.0 to 0.57.0 - Bump ngtcp2 and its dependencies - build(deps): bump github.com/quic-go/quic-go from 0.57.0 to 0.57.1 - Fix union usage in nghttp2_data_provider_wrap - Remove union from WorkerID - Cancel sending RST_STREAM if stream is not found - nghttpx: Remove stream_closed_ from Http2DownstreamConnection - Remove extraneous semicolon - src: Rewrite Address with std::variant - build(deps): bump actions/upload-artifact from 5 to 6 - build(deps): bump actions/cache from 4 to 5 - build(deps): bump golang.org/x/net from 0.47.0 to 0.48.0 - build(deps): bump github.com/quic-go/quic-go from 0.57.1 to 0.58.0 - Rewrite Dockerfile with heredoc syntax - src: Avoid strict aliasing violation - Introduce nghttp2_strlen_lit - build(deps): bump github.com/quic-go/quic-go from 0.58.0 to 0.59.0 - Increase default glitch rate limit to 10x - build(deps): bump golang.org/x/net from 0.48.0 to 0.49.0 - GHA: Fix main branch in cancel-in-progress by - Remove glitch detection for ignored DATA frame by - Revert "src: Avoid strict aliasing violation" by - build(deps): bump golang.org/x/net from 0.49.0 to 0.50.0 - Check nghttp2_is_fatal first - altsvc: Avoid pointer arithmetic against NULL - Ensure typedefs use named structs and unions - Revert "Ensure typedefs use named structs and unions" - build(deps): bump actions/upload-artifact from 6 to 7 - build(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 - h2load: Fix bug that h2load does not stop early with -D option - h2load: Add median, p95, and p99 metrics - h2load: Refactor SDStat output - h2load: Refactor metrics manual - h2load: Add some QUIC metrics - h2load: Plot histogram - Amend #2619 - build(deps): bump docker/build-push-action from 6 to 7 - build(deps): bump docker/setup-buildx-action from 3 to 4 - h2load: Show certificate type and negotiated group - nghttpd, nghttpx: Accept at most 10 connections per loop - h2load: Support TLS resumption - src: Avoid consteval for now - nghttpx: Accept pending connections until it returns error - h2load: Make the names of perf metric short and concise - nghttpx: Rework close-wait packet generation for h3 - nghttpx: Add extra validation for non-regular path for HTTP/1.1 - nghttpx: More strict validation for h1 host - h2load: Output the measurement results in JSON - Src pass by value - src: Refine Defer - h2load: Print integral samples as integral - h2load: Refactor with std::span - nghttpd: Refactor with std::span - build(deps): bump golang.org/x/net from 0.51.0 to 0.52.0 - nghttp: Refactor with std::span - h2load: Use span for reading - nghttp: Move span creation out of loop - Add missing iframe state validation - src: Refactor Buffer::write with std::span - src: Adopt override keyword - src: Simplify as_uint8_span with auto - src: Review the use of iterator and range concepts - nghttpx: Use std::span for upstream interface - nghttpx: Modernize downstream connection with std::span - nghttpx: Deal with partial write in API downstream connection - build(deps): bump microsoft/setup-msbuild from 2 to 3 - nghttpx: Adopt std::span for LiveCheck read path - Nghttpx connection write span - Nghttpx connection read span - nghttpx: Refactor QUIC utils with std::span - nghttpx: Choose the sensible value for TCP_DEFER_ACCEPT - src: Refactor riovec with std::span - nghttpx: Simplify HTTP/2 writer - h2load: Add --h3 option - nghttpx: Format doc - nghttpx: Deal with ECONNRESET for IPC socket on worker process side - third-party: Bump neverbleed - doc: Update h2load howto - Bump llhttp to v9.3.1 - GHA: Add macos-26 build and remove macos-14 build - h2load: Deal with h3 unidirectional stream closure - src: Refine allocator with the modern memory construct - Modernize BlockAllocator and its utility functions - nghttpx: Rewrite LOG macros with std::source_location - nghttpx: Amend #2671 to fix double logging - nghttpx: Call Log ctor directly - nghttpx: Rename LOG_ENABLED to log_enabled - src: Remove enclosing anonymous namespace from constexpr variables - src: Add static constexpr to ngtcp2 and nghttp3 callbacks - OpenSSL 4.0.0 beta1 fix by @xl32 - build(deps): bump actions/github-script from 8 to 9 - build(deps): bump golang.org/x/net from 0.52.0 to 0.53.0 - GHA: Bump openssl to v4.0.0 - Optimize the decoded length estimation for Huffman encoded string - Make header related errors stream error with glitch rate limit guard - Bump ngtcp2 to v1.22.1 - Nghttpx ech - nghttpx: Log the number of loaded ECH configuration in NOTICE level - Bump aws-lc - @trukna made their first contribution - @cbarrick made their first contribution - @xl32 made their first contribution
