[ruby-talk:444647] [ANN] http-2 1.1.0 released

http-2 1.1.0 has been released. https://github.com/igrigorik/http-2 Pure Ruby, framework and transport agnostic, implementation of HTTP/2 protocol and HPACK header compression with support for: * [Binary framing](https://hpbn.co/http2/#binary-framing-layer) parsing and encoding * [Stream multiplexing](https://hpbn.co/http2/#streams-messages-and-frames) and [prioritization](https://hpbn.co/http2/#stream-prioritization) * Connection and stream [flow control](https://hpbn.co/http2/#flow-control) * [Header compression](https://hpbn.co/http2/#header-compression) and [server push](https://hpbn.co/http2/#server-push) * Connection and stream management * And more... see [API docs](https://www.rubydoc.info/gems/http-2) Protocol specifications: * [Hypertext Transfer Protocol Version 2 (RFC 7540)]( https://httpwg.github.io/specs/rfc7540.html) * [HPACK: Header Compression for HTTP/2 (RFC 7541)]( https://httpwg.github.io/specs/rfc7541.html) Here are the updates since the last release: ## 1.1.0 Several changes which improved performance for the common cases. A few highlights: * Opting into ruby 3.4 features when possible (such as `String#append_as_bytes` instead of `String#<<`) * reducing string and array allocations on several places (connection management, frame generation, hpack header compression, etc) * "streams recently closed" not having to regenerate the list when not necessary ## 1.0.2 ### Improvements * Freezing static tables (used for header huffman coding) correctly. This makes them shareable, which makes `http-2` usable across ractors. * Moved buffer helpers from String refinements into mixins. Refinements impose a relevant performance penalty, unfortunately, despite its cleaner API. ## 1.0.1 ### Improvements * discard closed streams from the connection (reduces memory consumption). ### Bugfixes * allow RST_STREAM frames to be ignored on closed streams. * prevent already closed streams from being initialized again.
participants (1)
-
Tiago Cardoso