Revision history for Unblock-HTTP2 0.03 2026-10-04 - Rename the public per-request object from Stream to Transaction so Unblock::HTTP1, Unblock::HTTP2, and Unblock::HTTP3 share the same application-facing concept. - Rename the related public API: id() becomes stream_id(), stream_count() becomes transaction_count(), stream_for_id() becomes transaction_for_stream_id(), can_open_stream() becomes can_open_transaction(), and max_active_streams becomes max_active_transactions. - Do not provide compatibility aliases for the old Stream API. This is an intentional early-version API cleanup. - Keep HTTP/2 stream terminology for protocol-level concepts such as stream IDs, flow control, RST_STREAM, GOAWAY boundaries, and SETTINGS. 0.02 2026-10-04 - Require Uniform::HTTP 0.05 and use its FastPath ABI for exact canonical Request and Response objects. - Map canonical outgoing headers directly to nghttp2_nv in XS, avoiding per-field Perl method dispatch and intermediate HTTP/2 header arrays. - Lowercase canonical field names and enforce HTTP/2 field restrictions in the native fast path while preserving the existing portable fallback. - Build received canonical Request and Response objects through trusted FastPath construction after Unblock has validated their HTTP/2 semantics. - Keep subclasses and framework adapters on the normal Uniform contract. - Add repeatable FastPath performance comparison tooling under xt/ and CI. The small-message benchmark shows large gains in native submission and full in-memory request/response throughput. 0.01 2026-10-04 - Initial release of a standalone, event-loop and operating-system neutral HTTP/2 protocol engine. - Use Uniform::HTTP 0.04 Request and Response objects directly. - Provide byte-in/byte-out Client and Server engines with multiplexed Stream objects and no socket, TLS, or event-loop ownership. - Use a small private XS binding to libnghttp2 through Alien::nghttp2. - Support buffered and streaming request and response bodies, cooperative backpressure, trailers, informational responses, and half-close state. - Support ordinary CONNECT and generic Extended CONNECT. - Support SETTINGS inspection and updates, PING, GOAWAY, graceful draining, stream resets, standard HTTP/2 error codes, and preserved reset details. - Support application-controlled receive flow control while keeping connection-level credit independent from slow streams. - Support RFC 9218 extensible priorities and deliberately omit the deprecated RFC 7540 dependency-tree priority API. - Advertise SETTINGS_ENABLE_PUSH = 0; Server Push is not exposed. - Preserve fatal session errors, invalid-frame observations, unknown extension-frame safety, and GOAWAY details for higher-layer policy. - Add in-memory protocol tests, packaged-distribution distcheck/disttest, and bidirectional interoperability tests against stock nghttp2 tools. - Test Perl 5.16 on Linux, current Perl on Linux and macOS, and Strawberry Perl on Windows.