Conversation
|
Will work on failing tests (apologies) |
|
We can now also update |
thanks @musicinmybrain, was waiting for the official release! Only thing to watch for is axoupdater and the update to |
9bdfe48 to
ec325cf
Compare
|
Hey @zanieb, wanted to check-in and see if y'all have a plan for this or if there's anything I can do to help to get this implemented? |
|
All dependency updates are merged and published. |
311d8ac to
9694a89
Compare
|
rebased onto uv will work to implement these suggestions: #17543 (comment) |
9694a89 to
2b18f63
Compare
| // Specify identity encoding to prevent double compression from async_http_range_reader and reqwest | ||
| headers.insert( | ||
| reqwest::header::ACCEPT_ENCODING, | ||
| reqwest::header::HeaderValue::from_static("identity"), | ||
| ); |
There was a problem hiding this comment.
More info here: astral-sh/async_http_range_reader#3 (comment)
| use tracing::debug; | ||
|
|
||
| use uv_client::{BaseClientBuilder, WrappedReqwestError}; | ||
| use uv_client::BaseClientBuilder; |
There was a problem hiding this comment.
This removal is related to axoupdater (and depedent axoasset) on an older version of reqwest.
Related:
|
CI is currently failing because we introduced an openssl dependency. |
27d53ce to
1aae7bf
Compare
9ab78c4 to
6aecc7d
Compare
Needed for WinGet in #17543 The `windows-latest` label already changed https://github.blog/changelog/2025-07-31-github-actions-new-apis-and-windows-latest-migration-notice/ I don't think this should affect users.
Merging this PR will not alter performance
Performance Changes
Comparing |
Summary
This PR improves the TLS experience by upgrading reqwest to
0.13.1via #17427It adds support for three TLS backends via a new hidden
--tls-backendflag:rustls-webpki— bundled Mozilla roots fromwebpki-root-certs(default)rustls— platform/system verifier viarustls-platform-verifiernative-tls— native system TLS stackCustom certificates from
SSL_CERT_FILE/SSL_CERT_DIRare merged unconditionally into the root store across all backends usingreqwest::tls_merge_certs(), ensuring consistent support in corporate or CI setups without backend-specific gating.The
--native-tlsflag andUV_NATIVE_TLSenv var are retained for compatibility, mapping to thenative-tlsbackend.Motivation
reqwest0.13.1 defaults torustlsas its TLS backend w/ platform verification and removes built-inwebpki-roots, and moves its default crypto provider to aws-lc instead of ring (increasing the number of cert signature algos supported) to improve TLS experience.Changes
Dependency updates
reqwest→0.13.1(pinned)reqsign→0.19.0webpki-root-certs0.13.1reqwest-middleware#110.13.1ambient-id#210.13.1async_http_range_reader#3TLS backend selection
--tls-backendflag:rustls-webpki|rustls|native-tls--native-tlspreserved (with explicit conflict handling)UV_NATIVE_TLSenv var maps tonative-tlsbackendrustls-webpkiCertificate handling
webpki-root-certsreqwest::tls_certs_onlyto initialize the root store with bundled certsSSL_CERT_FILE/SSL_CERT_DIRusingtls_merge_certsreqwest's certificate merging machinery → avoids custom root store or TLS config managementRefactoring & cleanup
uv-client/base_client.rsanduv-client/ssl_certs.rsaccept-encoding: identityinregistry_client.rswhere requiredDocumentation
certificates.md:rustls-webpkifor consistency,native-tlsfor proxies)SSL_CERT_*behavior and migration notesTesting
uv-client/tests/ssl_certs.rs(loading, precedence, all backends)nextest.tomlwith SSL test profile overrideTrade-offs & Future Work
webpki-root-certs+tls_certs_only+tls_merge_certskeeps maintenance low and avoids re-implementing root store logicreqwestinternals--native-tlsretained for smooth transition; long-term plan is deprecation--tls-backendto visible/stable--system-certs/--no-system-certsaliases (preview)rustls(platform verifier) in a future breaking release--native-tlsandUV_NATIVE_TLS