Download Latest Version hackney 4.5.2 source code.tar.gz (352.4 kB)
Email in envelope

Get an email when there's a new version of hackney

Home / 4.4.5
Name Modified Size InfoDownloads / Week
Parent folder
4.4.5 source code.tar.gz 2026-06-18 348.5 kB
4.4.5 source code.zip 2026-06-18 426.3 kB
README.md 2026-06-18 1.4 kB
Totals: 3 Items   776.2 kB 2

Fixed

  • HTTPS: a connection reused over a resumed TLS 1.3 session is no longer mislabeled as HTTP/1 when it negotiated HTTP/2. ssl:negotiated_protocol/1 reports nothing on a resumed session, so hackney now remembers the protocol learned on the full handshake (per host and advertised ALPN) and offers resumption only once that protocol is known, resolving a resumed session against that snapshot. Reused h2 connections take the h2 path instead of feeding h2 frames to the HTTP/1 parser.
  • HTTP/1.1: a response that cannot begin an HTTP/1 status line (for example an HTTP/2 frame on a mislabeled connection) now fails fast with {error, {bad_response, not_http}} instead of spinning the CPU in the status-line parser.
  • Connection pooling: Connection: close responses are no longer returned to the pool on the sync body path; checkin only pools connections proven keep-alive and socket-ready (unknown defaults to close); and a closed pooled entry is discarded at checkout instead of being redialed inside the pool process (#888).
  • Connection pooling: stopping a pool while requests are in flight no longer leaks the per-host concurrency (load_regulation) slots of the checked-out connections. The pool now traps exits so its shutdown releases those slots and stops the in-use connections, instead of orphaning them and starving the host's concurrency cap node-wide (#892).
Source: README.md, updated 2026-06-18