Repository navigation
Update dependency httpx2 to v2.16.0 - #13
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.13.1→==2.16.0Release Notes
pydantic/httpx2 (httpx2)
v2.16.0Compare Source
Highlights
🍪 Faster requests with large cookie jars
Building the
Cookieheader no longer scans every cookie in the jar. The client reuses its jar instead of copying it on every request and redirect (#1284), only looks up the domains that can match the request host, and skips the expired cookie sweep until a cookie is due (#1285). With 1,000 cookies across 500 domains, building theCookieheader is about 18 times faster.Cookies from different domains are now sent from the least to the most specific domain, for example
.example.orgbeforesub.example.org, instead of in the order the domains were added. Cookies with longer paths still come first.httpx2
Changed
Cookieheader is about 18 times faster. Cookies from different domains are now sent from the least to the most specific domain (#1285).Fixed
client.cookies.jar.set_policy()now applies to outgoing requests (#1284).httpcore2
No changes since
2.15.1. Version bumped to stay in lockstep withhttpx2.Full Changelog: pydantic/httpx2@v2.15.1...v2.16.0
v2.15.1Compare Source
Highlights
🔒 Flat CPU usage for long-lived clients on Linux
On Linux, the default SSL context is now configured once instead of on every handshake (#1253). With OpenSSL older than 3.4, each handshake added a duplicate certificate lookup path, so CPU usage per request grew over the lifetime of a reused client. Certificate verification is unchanged, and Windows and macOS still use
truststore.httpx2
Fixed
httpcore2
Fixed
Full Changelog: pydantic/httpx2@v2.15.0...v2.15.1
v2.15.0Compare Source
Highlights
🐍 Python 3.11+ required
httpx2andhttpcore2no longer support Python 3.10 (#1274). There are no other changes in this release.httpx2
Removed
httpcore2
Removed
Full Changelog: pydantic/httpx2@v2.14.0...v2.15.0
v2.14.0Compare Source
Highlights
🌐 CIDR ranges in
NO_PROXYNO_PROXYandmountsnow match IP CIDR ranges like192.168.0.0/16and[fe80::]/10, so any address in the range bypasses the proxy (#1165). Bracketed IPv6 addresses like[::1]:8080are accepted, and unparseableNO_PROXYentries are ignored instead of failing client creation (#1267).🔐 FIPS-enforced Python support
httpx2now imports on FIPS-enforced Python builds withouthashlib.md5.DigestAuthraisesProtocolErroronly when the server asks for an unavailable algorithm (#1130).🔌 Sturdier connections and WebSocket shutdown
HTTP/2 reads no longer block when a server lowers
SETTINGS_MAX_CONCURRENT_STREAMSmid-flight (#1217), and writing after a peer closes TLS withoutclose_notifyraisesWriteError(#1263). Sync WebSocket sessions no longer hang on exit with a full event queue (#1123), and ASGI WebSocket reads after app shutdown no longer leakanyioexceptions (#1233).httpx2
Added
192.168.0.0/16and[fe80::]/10, inNO_PROXYandmounts. Requests to any address in the range now bypass the proxy; previously only the network address itself did (#1165).[::1]and[::1]:8080, inNO_PROXY(#1267).Changed
InvalidURLfor amountskey with an IP host followed by anything other than a valid CIDR prefix, likeall://10.0.0.0/33(#1165).Fixed
NO_PROXYentries that cannot be parsed, instead of raisingInvalidURLwhen the client is created (#1267).httpx2on FIPS-enforced Python builds withouthashlib.md5.DigestAuthraisesProtocolErrorwhen the server asks for an unavailable algorithm (#1130).anyioexceptions (#1233).httpcore2
Fixed
CONNECTand absolute-form proxy targets when the request sets thetargetextension (#1262).SETTINGS_MAX_CONCURRENT_STREAMSwhile requests are in flight (#1217).WriteErrorinstead ofanyio.EndOfStreamwhen writing after the peer closes a TLS connection withoutclose_notify(#1263).Full Changelog: pydantic/httpx2@v2.13.1...v2.14.0
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 was generated by Mend Renovate. View the repository job log.