Revision history for Unblock-HTTP1
0.10 2026-10-04
- Harmonize the public API vocabulary with Unblock::HTTP2 and
Unblock::HTTP3 while keeping HTTP/1-specific behavior natural.
- Add Transaction->error() to complete the common lifecycle vocabulary:
state(), error(), is_complete(), is_cancelled(), is_error(), and
is_terminal().
- Normalize NativeABI discovery with definition(), native_include_dir(),
header_path(), and c_header().
- Report NativeABI struct_size so native consumers can validate both ABI
version and structure size before dereferencing operations.
- Install a public unblock_http1_native_abi.h header and compile the XS
implementation against that same header instead of duplicating the C ABI
declaration.
- Keep the HTTP/1 native ABI focused on borrowed input rather than adding
protocol-irrelevant HTTP/2 output operations for symmetry.
- Make the Client, Server, Transaction, callback, streaming, lifecycle, and
native-integration documentation intentionally parallel with the other
Unblock HTTP engines.
- Jump from 0.03 to 0.10 to mark the intentional early API harmonization.
No compatibility aliases are provided.
0.03 2026-10-04
- Add a versioned, transport-neutral borrowed native input ABI for XS
transports while preserving the ordinary input() interface.
- Require Uniform::HTTP 0.06 and use its native FastPath header to construct
canonical requests and responses directly from validated parser byte spans.
- Apply the native construction path to both server request receipt and
client response receipt, including informational and switched responses.
- Report exact consumed prefixes so incomplete heads and post-switch bytes
remain owned by the host transport.
- Keep protocol parsing and lifecycle state in Unblock rather than
duplicating HTTP/1 logic in event-framework adapters.
0.02 2026-10-04
- Use the Uniform::HTTP 0.05 FastPath ABI for trusted receive
construction and canonical request/response serialization.
- Adopt parser-produced header storage without repeating Uniform field
validation or deep-copying headers.
- Preserve the portable Uniform contract for subclasses and adapters.
0.01 2026-10-04
- First release.
- Portable HTTP/1.0 and HTTP/1.1 client/server protocol engine.
- Event-loop, transport, and operating-system neutral byte interface.
- Uniform::HTTP 0.04 request and response objects.
- Content-Length, chunked, close-delimited, and transfer-coding framing.
- Streaming request and response bodies with cooperative backpressure.
- Ordered headers and trailers with strict framing validation.
- Persistent connection, Expect, informational response, Upgrade, and
CONNECT semantics.
- Request-smuggling protections and configurable parser/resource limits.
- Exact post-HTTP protocol-switch byte preservation.
- Native picohttpparser backend with portable Perl-facing API.
- Cross-platform CI on Linux, macOS, and Windows, including Perl 5.16.
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)