Revision history for Unblock-HTTP2
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.
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)