Skip to content

Commit 9928f3c

Browse files
authored
Merge pull request #931 from benoitc/release/4.7.4
Release 4.7.4
2 parents d1c6b4b + 77bfbe1 commit 9928f3c

2 files changed

Lines changed: 36 additions & 1 deletion

File tree

NEWS.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,40 @@
11
# NEWS
22

3+
4.7.4 - 2026-08-12
4+
------------------
5+
6+
### Fixed
7+
8+
- A connection attempt that outlives its timeout no longer terminates the pool,
9+
and with it every caller of that pool. The dial is made with the request's
10+
`connect_timeout`, and a call that times out, like a connection process that
11+
dies while dialing, comes back as a checkout error (#927, #928, thanks
12+
@aboroska).
13+
- Handing a pooled connection to a new owner, and the prewarm dial, are guarded
14+
like the other calls the pool makes into a connection process. A connection
15+
that is gone or wedged is dropped instead of taking the pool down (#929).
16+
- Stopping a connection from inside the pool is bounded to 100ms, after which
17+
the connection is killed. A connection wedged in a transport call, which a
18+
failed dial makes likely, used to hold every caller of the pool for as long
19+
as the transport took to return (#929).
20+
- The health probes the pool runs on a connection (`is_ready`, `checkin_info`,
21+
`set_owner`, `get_state`) take an explicit timeout, and the pool passes
22+
250ms. `h2_conn_usable/1` used the 5s default, so one wedged HTTP/2
23+
connection stalled the pool for 5 seconds on every checkout for that host
24+
(#929).
25+
26+
### Added
27+
28+
- Fault injection test harness for the pool: a transport which can be told to
29+
misbehave, a sentinel which makes a dead pool visible, fault and chaos
30+
suites, and a structural test which fails if the pool calls a connection
31+
process outside a `try`. `DEVELOPMENT.md` explains how to use it (#929).
32+
33+
### Changed
34+
35+
- Update dependencies to their latest releases: `h2` 0.12.0 and `webtransport`
36+
0.4.5 (#930).
37+
338
4.7.3 - 2026-08-11
439
------------------
540

src/hackney.app.src

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
{application, hackney,
55
[
66
{description, "Simple HTTP client with HTTP/1.1, HTTP/2, and HTTP/3 support"},
7-
{vsn, "4.7.3"},
7+
{vsn, "4.7.4"},
88
{registered, [hackney_pool]},
99
{applications, [kernel,
1010
stdlib,

0 commit comments

Comments
 (0)