Repository navigation
Update dependency urllib3 to v2.8.0 [SECURITY] - #129
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
DhavalRepo18
force-pushed
the
renovate/pypi-urllib3-vulnerability
branch
from
May 13, 2026 19:23
b65d214 to
7399514
Compare
ShuxinLin
force-pushed
the
renovate/pypi-urllib3-vulnerability
branch
from
June 17, 2026 15:36
7399514 to
e3048dd
Compare
renovate
Bot
force-pushed
the
renovate/pypi-urllib3-vulnerability
branch
2 times, most recently
from
September 3, 2026 19:06
e3048dd to
f039d27
Compare
renovate
Bot
force-pushed
the
renovate/pypi-urllib3-vulnerability
branch
from
October 8, 2026 21:22
f039d27 to
f92d12b
Compare
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.5.0→==2.8.0urllib3 allows an unbounded number of links in the decompression chain
CVE-2025-66418 / GHSA-gm62-xv2j-4w53
More information
Details
Impact
urllib3 supports chained HTTP encoding algorithms for response content according to RFC 9110 (e.g.,
Content-Encoding: gzip, zstd).However, the number of links in the decompression chain was unbounded allowing a malicious server to insert a virtually unlimited number of compression steps leading to high CPU usage and massive memory allocation for the decompressed data.
Affected usages
Applications and libraries using urllib3 version 2.5.0 and earlier for HTTP requests to untrusted sources unless they disable content decoding explicitly.
Remediation
Upgrade to at least urllib3 v2.6.0 in which the library limits the number of links to 5.
If upgrading is not immediately possible, use
preload_content=Falseand ensure thatresp.headers["content-encoding"]contains a safe number of encodings before reading the response content.Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
urllib3 streaming API improperly handles highly compressed data
CVE-2025-66471 / GHSA-2xpw-w6gg-jr37
More information
Details
Impact
urllib3's streaming API is designed for the efficient handling of large HTTP responses by reading the content in chunks, rather than loading the entire response body into memory at once.
When streaming a compressed response, urllib3 can perform decoding or decompression based on the HTTP
Content-Encodingheader (e.g.,gzip,deflate,br, orzstd). The library must read compressed data from the network and decompress it until the requested chunk size is met. Any resulting decompressed data that exceeds the requested amount is held in an internal buffer for the next read operation.The decompression logic could cause urllib3 to fully decode a small amount of highly compressed data in a single operation. This can result in excessive resource consumption (high CPU usage and massive memory allocation for the decompressed data; CWE-409) on the client side, even if the application only requested a small chunk of data.
Affected usages
Applications and libraries using urllib3 version 2.5.0 and earlier to stream large compressed responses or content from untrusted sources.
stream(),read(amt=256),read1(amt=256),read_chunked(amt=256),readinto(b)are examples ofurllib3.HTTPResponsemethod calls using the affected logic unless decoding is disabled explicitly.Remediation
Upgrade to at least urllib3 v2.6.0 in which the library avoids decompressing data that exceeds the requested amount.
If your environment contains a package facilitating the Brotli encoding, upgrade to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 too. These versions are enforced by the
urllib3[brotli]extra in the patched versions of urllib3.Credits
The issue was reported by @Cycloctane.
Supplemental information was provided by @stamparm during a security audit performed by 7ASecurity and facilitated by OSTIF.
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Decompression-bomb safeguards bypassed when following HTTP redirects (streaming API)
CVE-2026-21441 / GHSA-38jv-5279-wg99
More information
Details
Impact
urllib3's streaming API is designed for the efficient handling of large HTTP responses by reading the content in chunks, rather than loading the entire response body into memory at once.
urllib3 can perform decoding or decompression based on the HTTP
Content-Encodingheader (e.g.,gzip,deflate,br, orzstd). When using the streaming API, the library decompresses only the necessary bytes, enabling partial content consumption.However, for HTTP redirect responses, the library would read the entire response body to drain the connection and decompress the content unnecessarily. This decompression occurred even before any read methods were called, and configured read limits did not restrict the amount of decompressed data. As a result, there was no safeguard against decompression bombs. A malicious server could exploit this to trigger excessive resource consumption on the client (high CPU usage and large memory allocations for decompressed data; CWE-409).
Affected usages
Applications and libraries using urllib3 version 2.6.2 and earlier to stream content from untrusted sources by setting
preload_content=Falsewhen they do not disable redirects.Remediation
Upgrade to at least urllib3 v2.6.3 in which the library does not decode content of redirect responses when
preload_content=False.If upgrading is not immediately possible, disable redirects by setting
redirect=Falsefor requests to untrusted source.Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
urllib3: Sensitive headers forwarded across origins in proxied low-level redirects
CVE-2026-44431 / GHSA-qccp-gfcp-xxvc
More information
Details
Impact
When following cross-origin redirects for requests made using urllib3’s high-level APIs, such as
urllib3.request(),PoolManager.request(), andProxyManager.request(), sensitive headers —Authorization,Cookie, andProxy-Authorization(defined inRetry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT) — are stripped by default, as expected.However, cross-origin redirects followed from the low-level API via
ProxyManager.connection_from_url().urlopen(..., assert_same_host=False)still forward these sensitive headers.Affected usage
Applications and libraries using urllib3 versions earlier than 2.7.0 may be affected if they allow cross-origin redirects while making requests through
HTTPConnection.urlopen()instances created viaProxyManager.connection_from_url().Remediation
Upgrade to urllib3 version 2.7.0 or later, in which sensitive headers are stripped from redirects followed by
HTTPConnection.If upgrading is not immediately possible, avoid using this low-level redirect flow for cross-origin redirects. If appropriate for your use case, switch to
ProxyManager.request().Severity
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
urllib3: HTTPS proxy TLS configuration may be ignored or overridden
CVE-2026-97687 / GHSA-8988-9cw3-xx77
More information
Details
Impact
urllib3 supports configuring TLS independently for an HTTPS proxy and the target server.
proxy_ssl_context,proxy_assert_hostname, andproxy_assert_fingerprintconfigure the TLS connection to the proxy.ssl_contextand the other target-specific TLS parameters configure the connection to the target server.In urllib3 versions 1.26.0 through 2.7.0, these configurations were not consistently separated. Depending on the proxy mode, urllib3 could:
proxy_ssl_contextand use the target server's SSL context for the TLS connection to an HTTPS forwarding proxy.In particular, configuring
cert_reqs="CERT_NONE"for a target server could overwrite theverify_modeof the SSL context configured for the HTTPS proxy. This modification occurred in place and persisted on the context object, potentially disabling proxy certificate verification for later connections that reused the same context.An attacker able to intercept the connection to an HTTPS proxy may be able to impersonate the proxy when the effective proxy TLS configuration disables certificate verification or otherwise accepts the attacker's certificate. This may occur, for example, when the target server's trust or identity policy is incorrectly applied to the proxy connection.
When HTTPS forwarding is enabled, an impersonated proxy can observe or modify forwarded requests and responses, potentially exposing credentials, authentication tokens, request bodies, response data, and other sensitive information.
A TLS client certificate intended for the target server may also be presented to the proxy or to an attacker impersonating it. This can disclose the client's identity and provide proof of possession of the corresponding private key. The private key itself is not transmitted during the TLS handshake.
In CONNECT tunneling mode, impersonating the HTTPS proxy does not by itself defeat the separate end-to-end TLS connection between the client and the target server.
Affected Usages
Code using urllib3 versions 1.26.0 through 2.7.0 may be affected in any of the following cases.
1. The target SSL context is used for an HTTPS forwarding proxy
HTTPS requests are forwarded through an HTTPS proxy with
use_forwarding_for_https=True, andproxy_ssl_contextis configured for the proxy.urllib3 may ignore
proxy_ssl_contextand use the target server'sssl_contextfor the proxy TLS handshake. The proxy may therefore be verified using the target server's trust and certificate policy instead of the policy explicitly configured for the proxy.2. The target verification policy overrides the proxy policy
An HTTPS proxy is configured with
proxy_ssl_context, while the target server uses a different certificate-verification policy.urllib3 may apply the target server's
cert_reqsvalue to the proxy SSL context. For example, settingcert_reqs="CERT_NONE"for the target server may also disable certificate verification for the HTTPS proxy, even whenproxy_ssl_contextwas configured to require verification.This issue can affect the TLS connection to an HTTPS proxy in both forwarding and CONNECT tunneling configurations.
3. A mutated proxy SSL context is reused
The same SSL context is reused as
proxy_ssl_contextacross multiple connections, and certificate verification is disabled for one target server.urllib3 may modify the proxy SSL context's
verify_modein place. Later connections that reuse the same context may therefore connect to the HTTPS proxy without certificate verification.4. Target-specific TLS identity or credentials are applied to the proxy
HTTPS requests are forwarded through an HTTPS proxy with
use_forwarding_for_https=True, and target-specific SNI, hostname assertions, certificate fingerprint assertions, or TLS client credentials are configured.urllib3 may apply these target-specific settings to the proxy TLS handshake. This may cause urllib3 to:
Code connecting through a plain HTTP proxy does not establish a TLS connection to the proxy and is not affected by this issue.
Remediation
Upgrade to urllib3 2.8.0 or later.
urllib3 2.8.0 independently applies the explicitly configured
proxy_ssl_contextand proxy-specific certificate assertions to the HTTPS proxy connection. Target-specific SNI, certificate assertions, and TLS client certificate parameters are no longer applied to the HTTPS proxy handshake.For backward compatibility, when an HTTPS proxy is used with
use_forwarding_for_https=Trueandproxy_ssl_contextis not provided, urllib3 2.8.0 continues to usessl_contextfor the TLS connection to the proxy. This configuration emits aFutureWarning. In urllib3 3.0, passingssl_contextwithuse_forwarding_for_https=Truefor an HTTPS proxy will raise an error. Applications should useproxy_ssl_contextto configure TLS for an HTTPS forwarding proxy.The fixes were implemented in commits b6447295fff7b38fdffc67e0df9712d60cef3cc3 and 07408cec79d1856d81bb42c74a904a24fdb9e465.
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
urllib3/urllib3 (urllib3)
v2.8.0Compare Source
==================
Security
Fixed the following security issues:
(High severity,
GHSA-8988-9cw3-xx77 <https://github.com/urllib3/urllib3/security/advisories/GHSA-8988-9cw3-xx77>__)HTTPResponse.stream()andread_chunked()could buffer a chunk-sizeline of unbounded length in memory. (High severity,
GHSA-vxq7-64xx-v4gw <https://github.com/urllib3/urllib3/security/advisories/GHSA-vxq7-64xx-v4gw>__)GHSA-gh4c-6fx4-qh6g <https://github.com/urllib3/urllib3/security/advisories/GHSA-gh4c-6fx4-qh6g>__).. caution::
Deprecations & Removals
Retryoptionallowed_methodsto retry any verb.(
#​5044 <https://github.com/urllib3/urllib3/issues/5044>__)Features
Url.auth_decodedandUrl.auth_decoded_joinedconvenienceproperties to the result of
parse_url().(
#​4945 <https://github.com/urllib3/urllib3/issues/4945>__)basic_auth_encodingandproxy_basic_auth_encodingparameters tourllib3.util.make_headers().(
#​5092 <https://github.com/urllib3/urllib3/issues/5092>__)Bugfixes
Fixed response header handling to replace obsolete folded header lines
(
obs-fold) with spaces in accordance with RFC 9112, preventing raw CRLFsequences from appearing in header values such as
Set-Cookie.(
#​1362 <https://github.com/urllib3/urllib3/issues/1362>__)Fixed usage of
proxy_ssl_contextwithProxyManagerwhenuse_forwarding_for_https=True. Passingssl_contextinstead ofproxy_ssl_contextfor HTTPS proxies in this configuration now emits aFutureWarningand will raise an error in v3.0.(
#​2577 <https://github.com/urllib3/urllib3/issues/2577>__)Changed behavior of the default
ConnectionPool.poolinitialization.LifoQueueis now resolved from thequeuemodule after theConnectionPoolis instantiated instead of using the default cachedQueueClsclass property. This is done because sometimes thequeue.LifoQueueis monkey-patched late in the program, such as by gevent.(
#​3289 <https://github.com/urllib3/urllib3/issues/3289>__)Raised
UnrewindableBodyErrorinstead ofValueErrorwhen retrying arequest whose body had
tell()but notseek().(
#​3779 <https://github.com/urllib3/urllib3/issues/3779>__)Decoded percent-encoded SOCKS proxy credentials before authenticating with
the proxy server.
(
#​3785 <https://github.com/urllib3/urllib3/issues/3785>__)Fixed
HTTPResponse.drain_conn()to discard unread response data in 64 KiBchunks (same as the default
amtwhen doingHTTPResponse.stream(...)).(
#​5019 <https://github.com/urllib3/urllib3/issues/5019>__)Fixed
is_ipaddress()to detect non-standard IPv4 forms accepted bysocket.connect, such as hex (0x7f000001), octal (0177.0.0.1), anddecimal integers (
2130706433), ensuring SSL certificate verification usesthe correct mode for these addresses.
(
#​5029 <https://github.com/urllib3/urllib3/issues/5029>__)Fixed
HTTPConnectionPool.urlopenraising a misleadingFullPoolErrorinstead of
ValueErrorwhen called with an invalidtimeoutargument ona pool created with
block=True.(
#​5059 <https://github.com/urllib3/urllib3/issues/5059>__)Fixed port-zero handling to preserve explicit
:0values instead ofsubstituting the default ports 80 or 443 in URL parsing, pool selection,
proxy configuration,
connection_from_url(), and HTTP/2 request authority.(
#​5071 <https://github.com/urllib3/urllib3/issues/5071>,#​5101 <https://github.com/urllib3/urllib3/issues/5101>)Fixed a bug where
PoolManagerpassed theassert_hostnameandassert_fingerprintparameters to HTTP connection pools.(
#​5077 <https://github.com/urllib3/urllib3/issues/5077>__)Fixed
HTTPConnectionPool.urlopen()and HTTP proxy forwarding to strip URLfragments from absolute request targets before sending requests.
(
#​5079 <https://github.com/urllib3/urllib3/issues/5079>__)Added safeguards to the proxy tunneling code to prevent potential security
issues when handling invalid characters in the proxy host and HTTP headers.
This change affects users of Python 3.10, Python 3.11, and Python 3.12 when
the standard library does not contain the fix; those on newer Python versions
should upgrade to 3.13.14+ or 3.14.5+ to get the same security fixes.
(
#​5091 <https://github.com/urllib3/urllib3/issues/5091>__)Fixed
HTTPSConnection.connect()overridingProxyConfig.ssl_context'scertificate policy and proxy identity checks with the target connection's TLS
settings when forwarding through an HTTPS proxy.
HTTPSConnectionno longer applies target SNI, assertions, or clientcredentials to forwarding proxy handshakes and continues to use its
ssl_contextas a fallback when an HTTPS proxy forwards an HTTP target.(
#​5093 <https://github.com/urllib3/urllib3/issues/5093>__)Fixed URL parsing to more strictly enforce RFC 3986 host syntax, rejecting
invalid host input such as raw spaces and control characters, malformed
percent-encodings, and percent-encoded control characters in HTTP(S) hosts
and IPv6 zone identifiers, including proxy CONNECT tunnel targets. Host
normalization now also follows RFC 3986 normalization rules for
percent-encoded octets by decoding percent-encoded unreserved characters and
uppercasing the hexadecimal digits of retained percent-encoded octets.
(
#​5095 <https://github.com/urllib3/urllib3/issues/5095>__)Fixed an
AttributeErroron Python built with OpenSSL 4+, wheressl.PROTOCOL_TLSv1no longer exists.(
#​5097 <https://github.com/urllib3/urllib3/issues/5097>__)Fixed
urllib3.contrib.pyopensslto use cryptography APIs when reading acertificate subject and loading encrypted private keys, avoiding
DeprecationWarningraised by pyOpenSSL 26.3.0+.(
#​5103 <https://github.com/urllib3/urllib3/issues/5103>__)Fixed handling of HTTP 303 redirects for requests with chunked or file-like
bodies.
(
#​5161 <https://github.com/urllib3/urllib3/issues/5161>__)Fixed
assert_fingerprint()to raiseSSLErrorinstead ofbinascii.Errorwhen a fingerprint has a supported length but containsnon-hexadecimal characters.
(
#​5211 <https://github.com/urllib3/urllib3/issues/5211>__)Misc
testdependency group containing the minimum dependencies neededto run the test suite, intended for downstream packagers. The
dev-baseand
mypygroups now include this new group viainclude-group,removing duplication.
(
#​3594 <https://github.com/urllib3/urllib3/issues/3594>__)(
#​5094 <https://github.com/urllib3/urllib3/issues/5094>__)(
#​5166 <https://github.com/urllib3/urllib3/issues/5166>__)(
#​5209 <https://github.com/urllib3/urllib3/issues/5209>__)(
#​5232 <https://github.com/urllib3/urllib3/issues/5232>,#​5234 <https://github.com/urllib3/urllib3/issues/5234>,#​5239 <https://github.com/urllib3/urllib3/issues/5239>__)v2.7.0Compare Source
=======================
Security
Addressed high-severity security issues.
Impact was limited to specific use cases detailed in the accompanying
advisories; overall user exposure was estimated to be marginal.
Decompression-bomb safeguards of the streaming API were bypassed:
HTTPResponse.drain_conn()was called after the response had beenread and decompressed partially.
HTTPResponse.read(amt=N)orHTTPResponse.stream(amt=N)call when the response was decompressedusing the official
Brotli <https://pypi.org/project/brotli/>__ library.See
GHSA-mf9v-mfxr-j63j <https://github.com/urllib3/urllib3/security/advisories/GHSA-mf9v-mfxr-j63j>__for details.
HTTP pools created using
ProxyManager.connection_from_urldid not stripsensitive headers specified in
Retry.remove_headers_on_redirectwhenredirecting to a different host.
(
GHSA-qccp-gfcp-xxvc <https://github.com/urllib3/urllib3/security/advisories/GHSA-qccp-gfcp-xxvc>__)Deprecations and Removals
FutureWarninginstead ofDeprecationWarningfor bettervisibility of existing deprecation notices. Rescheduled the removal of
deprecated features to version 3.0.
(
#​3763 <https://github.com/urllib3/urllib3/issues/3763>__)(
#​3720 <https://github.com/urllib3/urllib3/issues/3720>__)(
#​4979 <https://github.com/urllib3/urllib3/issues/4979>__)(
#​3777 <https://github.com/urllib3/urllib3/issues/3777>__)Bugfixes
HTTPResponse.read(amt=None)was ignoring decompresseddata buffered from previous partial reads.
(
#​3636 <https://github.com/urllib3/urllib3/issues/3636>__)HTTPResponse.read()could cache only part of theresponse after a partial read when
cache_content=True.(
#​4967 <https://github.com/urllib3/urllib3/issues/4967>__)HTTPResponse.stream()andHTTPResponse.read_chunked()to handleamt=0.(
#​3793 <https://github.com/urllib3/urllib3/issues/3793>__)_TYPE_BODYtype alias to include missingIterable[str],matching the documented and runtime behavior of chunked request bodies.
(
#​3798 <https://github.com/urllib3/urllib3/issues/3798>__)LocationParseErrorwhen paths resembling schemeless URIs werepassed to
HTTPConnectionPool.urlopen().(
#​3352 <https://github.com/urllib3/urllib3/issues/3352>__)BaseHTTPResponse.readinto()type annotation to acceptmemoryviewin addition tobytearray, matching theio.RawIOBase.readintocontract and enabling use withio.BufferedReaderwithout type errors.(
#​3764 <https://github.com/urllib3/urllib3/issues/3764>__)v2.6.3Compare Source
==================
the streaming API were bypassed when HTTP redirects were followed.
(
GHSA-38jv-5279-wg99 <https://github.com/urllib3/urllib3/security/advisories/GHSA-38jv-5279-wg99>__)Retry-Aftertimes greater than 6 hours as 6 hours bydefault. (
#​3743 <https://github.com/urllib3/urllib3/issues/3743>__)urllib3.connection.VerifiedHTTPSConnectionon Emscripten.(
#​3752 <https://github.com/urllib3/urllib3/issues/3752>__)v2.6.2Compare Source
==================
HTTPResponse.read_chunked()to properly handle leftover data inthe decoder's buffer when reading compressed chunked responses.
(
#​3734 <https://github.com/urllib3/urllib3/issues/3734>__)v2.6.1Compare Source
==================
HTTPResponse.getheaders()andHTTPResponse.getheader()methods.(
#​3731 <https://github.com/urllib3/urllib3/issues/3731>__)v2.6.0Compare Source
==================
Security
compressed HTTP content ("decompression bombs") leading to excessive resource
consumption even when a small amount of data was requested. Reading small
chunks of compressed data is safer and much more efficient now.
(
GHSA-2xpw-w6gg-jr37 <https://github.com/urllib3/urllib3/security/advisories/GHSA-2xpw-w6gg-jr37>__)virtually unlimited links in the
Content-Encodingheader, potentiallyleading to a denial of service (DoS) attack by exhausting system resources
during decoding. The number of allowed chained encodings is now limited to 5.
(
GHSA-gm62-xv2j-4w53 <https://github.com/urllib3/urllib3/security/advisories/GHSA-gm62-xv2j-4w53>__).. caution::
If urllib3 is not installed with the optional
urllib3[brotli]extra, butyour environment contains a Brotli/brotlicffi/brotlipy package anyway, make
sure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to
benefit from the security fixes and avoid warnings. Prefer using
urllib3[brotli]to install a compatible Brotli package automatically.If you use custom decompressors, please make sure to update them to
respect the changed API of
urllib3.response.ContentDecoder.Features
HTTPHeaderDictusing bytes keys. (#​3653 <https://github.com/urllib3/urllib3/issues/3653>__)HTTPConnection. (#​3666 <https://github.com/urllib3/urllib3/issues/3666>__)#​3696 <https://github.com/urllib3/urllib3/issues/3696>__)Removals
HTTPResponse.getheaders()method in favor ofHTTPResponse.headers.Removed the
HTTPResponse.getheader(name, default)method in favor ofHTTPResponse.headers.get(name, default). (#​3622 <https://github.com/urllib3/urllib3/issues/3622>__)Bugfixes
urllib3.PoolManagerwhen an integer is passedfor the retries parameter. (
#​3649 <https://github.com/urllib3/urllib3/issues/3649>__)HTTPConnectionPoolwhen used in Emscripten with no explicit port. (#​3664 <https://github.com/urllib3/urllib3/issues/3664>__)SSLKEYLOGFILEwith expandable variables. (#​3700 <https://github.com/urllib3/urllib3/issues/3700>__)Misc
zstdextra to installbackports.zstdinstead ofzstandardon Python 3.13 and before. (#​3693 <https://github.com/urllib3/urllib3/issues/3693>__)BytesQueueBufferclass. (#​3710 <https://github.com/urllib3/urllib3/issues/3710>__)#​3652 <https://github.com/urllib3/urllib3/issues/3652>__)#​3638 <https://github.com/urllib3/urllib3/issues/3638>__)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.