Revision history for Net-HTTP2-nghttp2

0.009   2026-08-23
        - Add end-to-end HTTP/2 trailer support, including submit_trailer(),
          content EOF without END_STREAM for streamed and direct bodies, and
          receive-side HEADERS categorization.
        - Preserve backward compatibility for existing two-value streaming
          callbacks and three-argument submit_data() calls.
        - Export standard HTTP/2 wire error codes and header-category constants
          through dedicated :http2_errors and :header_categories tags.
        - Complete the advertised constant bindings and add an export audit.

0.008   2026-06-14
        - Expose nghttp2_option_set_stream_reset_rate_limit via new_server's
          stream_reset_burst / stream_reset_rate options (HTTP/2 Rapid Reset,
          CVE-2023-44487, tuning). Requires nghttp2 >= 1.57.
        - Enforce nghttp2 >= 1.57 on the Makefile.PL pkg-config path.

0.007   2026-02-09
        - Expose NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE constant (-521);
          returning this from on_header causes RST_STREAM on the
          individual stream without terminating the session

0.006   2026-02-09
        - Fix Session.pm to load XS bootstrap independently; using
          Net::HTTP2::nghttp2::Session directly without loading the
          parent module first now works correctly

0.005   2026-02-09
        - Add header_table_size (SETTINGS_HEADER_TABLE_SIZE) and
          max_header_list_size (SETTINGS_MAX_HEADER_LIST_SIZE) to
          submit_settings(), allowing servers to advertise HPACK limits
        - Add max_send_header_block_length session option to new_server(),
          using nghttp2_option / nghttp2_session_server_new2 to limit
          outgoing header block size
        - Add HPACK settings tests to t/14-hpack-headers.t

0.004   2026-02-08
        - submit_response() body parameter now accepts CODE ref (previously
          only data_callback parameter was supported for streaming)
        - Fix submit_data() to work correctly by reusing existing data provider
          instead of creating a new one (avoids nghttp2 assertion failure)
        - Add submit_data test suite (t/21-submit-data.t)
        - Document all public methods and callbacks in Session.pm POD
        - Fix author placeholder in POD

0.003   2026-02-08
        - Support streaming body callback in submit_request() for client-side
          bidirectional streams (e.g. Extended CONNECT / WebSocket over HTTP/2)
        - submit_request() body parameter now accepts CODE ref in addition to
          string; callback receives ($stream_id, $max_length) and returns
          ($data, $eof_flag) or undef to defer
        - Add streaming request test suite (t/20-streaming-request.t)

0.002   2025-01-14
        - Add RFC 8441 (Bootstrapping WebSockets with HTTP/2) support
        - Add NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL constant (0x8)
        - Add enable_connect_protocol setting to send_connection_preface()
        - Export new constant via :settings tag
        - Add comprehensive RFC 8441 extended CONNECT protocol tests
        - Add SETTINGS_ENABLE_CONNECT_PROTOCOL to Test::HTTP2::Frame helper
        - Test coverage for extended CONNECT vs regular CONNECT distinction

0.001   2025-01-09
        - Initial release
        - XS bindings for nghttp2 HTTP/2 library
        - Server and client session support
        - Full HTTP/2 frame handling (DATA, HEADERS, PRIORITY, RST_STREAM,
          SETTINGS, PUSH_PROMISE, PING, GOAWAY, WINDOW_UPDATE, CONTINUATION)
        - HPACK header compression
        - Flow control support
        - Stream state management
        - Streaming response support with data providers
        - h2spec conformance: 137/146 tests passing (94%)
        - Comprehensive test suite (110+ tests)
        - TLS integration test support
        - bin/h2spec-server for conformance testing
        - Uses Alien::nghttp2 for automatic library installation
