chore(deps): update dependency hackney to v4.7.4 #73
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/hackney-4.x-lockfile"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
4.7.2→4.7.4Release Notes
benoitc/hackney (hackney)
v4.7.4Compare Source
Fixed
and with it every caller of that pool. The dial is made with the request's
connect_timeout, and a call that times out, like a connection process thatdies while dialing, comes back as a checkout error (#927, #928, thanks
@aboroska).
like the other calls the pool makes into a connection process. A connection
that is gone or wedged is dropped instead of taking the pool down (#929).
the connection is killed. A connection wedged in a transport call, which a
failed dial makes likely, used to hold every caller of the pool for as long
as the transport took to return (#929).
is_ready,checkin_info,set_owner,get_state) take an explicit timeout, and the pool passes250ms.
h2_conn_usable/1used the 5s default, so one wedged HTTP/2connection stalled the pool for 5 seconds on every checkout for that host
(#929).
Added
misbehave, a sentinel which makes a dead pool visible, fault and chaos
suites, and a structural test which fails if the pool calls a connection
process outside a
try.DEVELOPMENT.mdexplains how to use it (#929).Changed
h20.12.0 andwebtransport0.4.5 (#930).
v4.7.3Compare Source
hackney 4.7.3 is a bugfix and hardening release for the Erlang HTTP client. It clears a few ways a pooled connection could stall or leak, hardens CRLF handling on the proxy and streaming request paths, restores curl-style
Content-Length: 0on empty POST/PUT/PATCH bodies (so servers such as AWS that require the header are happy again), and refreshes every dependency to its latest release.Upgrading from 4.7.2 needs no code changes.
Fixed
hackney:connect/4when the pooled connection terminates during the checkoutliveness probe. The
get_stateprobe is guarded so a terminating connectionfalls through to a fresh one (#914).
hackney_url:normalize/2now rejects a host that reaches an IP literal onlyafter IDNA folds the Unicode full-stop variants (U+3002/U+FF0E/U+FF61) to
ASCII dots (for example
127。0。0。1becoming127.0.0.1), closing a bypassof the percent-encoded-IP check.
concatenating it into the request line and
Hostheader.connect_timeout(
ssl:connect/3), so a server that stalls the handshake no longer pins theconnection process and its pool slot (#916).
path, and the request method is validated (CR/LF/NUL) at every entry point,
not just the request target.
the connection process.
read_full_body/2hands backsocket = undefined,so the connection went straight to
closedand never reached the reusecheck added for #902. An unpooled connection arms no grace timer there and,
when started under
hackney_conn_sup, has the supervisor as itsowner, sothe owner-DOWN clause never fired either: the process parked forever holding
every refc binary it had read. Callers could not clean up, since a
synchronous request returns the body directly and the truncated read still
reports
{ok, Body}(#918). The same applies to a failed body read and tobodyless (204/304) responses.
hackney_conn:get_location/1andset_location/2no longer exit withnoprocwhen the connection has already stopped, which would otherwisepropagate out of
hackney:request/5on the redirect path.Changed
Content-Length: 0; bodyless methods (GET/HEAD/DELETE) are unchanged (#917).quic1.8.0,webtransport0.4.4,
mimerl1.5.0, andcowboy2.18.0 for the test suite.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
04740c3c5cca7372200bchore(deps): update dependency hackney to v4.7.3to chore(deps): update dependency hackney to v4.7.4ca7372200bbb32cee91b