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.