http2-wrapper is a Node.js HTTP/2 client that uses the familiar `https`-style API (`http2.request`, `http2.get`, and `http2.Agent`). It’s useful when you want to use HTTP/2 without rewriting existing code that targets the HTTP/1 API, and it provides Agents and ALPN negotiation (via `http2.auto`) to select HTTP/2 connections.
Project status
- The source has recent upstream activity, with updates on November 1, 2026, after a long gap since the November 2023 update.
- Its cadence appears irregular: the latest three updates were clustered within minutes, but that does not establish a regular schedule.
AI summary generated
Recent updates
v2.2.4
Version 2.2.4 fixes certificate matching so valid wildcard certificates are accepted. The code changes align with the release note, with no other functional changes identified.
v2.2.3
v2.2.3 fixes connections to IPv6 addresses by removing IPv6 brackets where the address is used for certificate checks and TLS hostname handling. The diff also changes socket error propagation and socket destruction behavior, neither of which is called out in the release notes.
v2.2.2
Version 2.2.2 addresses an HTTP/2 origin-coalescing security issue by checking advertised origins against the peer TLS certificate names. The diff also changes behavior when no peer certificate is available and removes linting from the test command; it makes no public API signature changes or runtime dependency updates.
Securityv2.2.1
v2.2.1 updates the HTTP/2 wrapper so that when an HTTP/1.1 request is made, any explicitly provided HTTP/2 pseudo headers are handled correctly. The change primarily targets how headers are translated or removed before calling the underlying `http.request` path.
v2.2.0
v2.2.0 includes a fix for a buffer queue memory leak and improves error reporting when a proxy server rejects a request. When the proxy responds with a non-200 status, the thrown UnexpectedStatusCodeError now captures and prints an HTTP status message (when available) alongside the status code.
v2.1.11
This release (v2.1.11) includes a small behavioral fix related to `delayAsyncDestroy`. CI configuration and tests were also adjusted, but the release notes only mention the `delayAsyncDestroy` return value issue.
v2.1.10
Release v2.1.10 is a small bug fix focused on correctly handling HEADERS frames that use END_STREAM, which in HTTP/2 correspond to trailers behavior. The code changes adjust the internal response initialization and trailer handling flow to avoid incorrect or missing response setup.
v2.1.9
v2.1.9 is described as a fix for rare cases where errors were not being emitted. The code changes shown primarily improve error propagation during the CONNECT flow and adjust destroy behavior in a utility.
v2.1.8
Release v2.1.8 addresses HTTP2 session servername and origin-set calculation. The documented change says it fixes servername calculation again, but the code shows more specific behavioral adjustments related to IP hosts and a Node.js edge case where `socket.servername` becomes `false`.
v2.1.7
v2.1.7 updates the HTTP/2 wrapper to treat the `Connection` header value comparison as case-insensitive. The release notes mention fixing the `connection` header comparison, and the code changes implement that exact behavior. It also adds a regression test to cover an uppercase `KEEP-ALIVE` value.
v2.1.6
v2.1.6 makes a small compatibility change related to optional chaining usage. The only functional code change replaces `options.headers?.host` with an equivalent conditional expression when computing `options.servername`.
v2.1.5
v2.1.5 refactors the server name calculation logic used for HTTP and HTTP/2 requests. It also addresses a rare uncaught request error, likely related to error emission timing on socket/request teardown.
v2.1.4
Release v2.1.4 primarily addresses a TLS servername calculation issue (notably for IP addresses) and updates TypeScript definitions to include ALPNProtocols. The code changes include a behavioral tweak in servername computation plus related type/test adjustments.