Repository navigation
build(deps): Strip vendored trust bundles and unused TLS deps from sentry_streams - #401
Merged
Merged
Conversation
sentry's transport feature enables native-tls, which includes ureq?/native-tls. Cargo then records an unused ureq and its webpki-root-certs bundle in the lockfile. Use sentry's reqwest feature and enable native-tls on reqwest 0.13 directly instead. Co-Authored-By: Markus Unterwaditzer <markus@sentry.io>
Unifies with the reqwest 0.13 that sentry already uses, dropping the duplicate reqwest 0.12 stack and the separate TLS-only reqwest alias. Co-Authored-By: Markus Unterwaditzer <markus@sentry.io>
Co-Authored-By: Markus Unterwaditzer <markus@sentry.io>
lvthanh03
approved these changes
Oct 22, 2026
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.
Follow-up to INC-2600: trims what
sentry_streamscarries, and so what consumers of the wheel inherit, when CA bundles need updating.Refs STREAM-1941
Companion to getsentry/taskbroker#829, which makes the same sentry/reqwest change in taskbroker. Rollout order: deploy taskbroker#829 first, then this one.
The published 0.0.69 manylinux wheel does not compile in a root bundle. There are no
webpki-roots/webpki-root-certscrates and no CA certs inrust_streams.so. TLS goes through native-tls/OpenSSL andrustls-native-certs, so it uses the system store. The bundle only exists as a lockfile ghost, but Dependabot still bumps it (e.g. "bump webpki-root-certs from 1.0.7 to 1.0.10").Rust
reqwestfeature instead oftransport.transportturns on sentry'snative-tlsfeature, which includesureq?/native-tls. Cargo then records an unusedureqand itswebpki-root-certsinCargo.lock, even though neither is ever built. Every other default sentry feature is kept.native-tls,http2andcharset. This matches the reqwest 0.13 that sentry already uses, so there is one reqwest instead of two, and sentry's transport still sends over native-tls. The GCS writer only usesClient, headers,StatusCodeandtext(), which are unchanged in 0.13.rust_transformsexample andrust_test_functions):ureq,ureq-proto,utf8-zero,der,pem-rfc7468,base64ct,webpki-root-certs,reqwest0.12,system-configuration(-sys)andwindows-registry. The main lockfile also drops thewindows-*0.53 target crates.Python
requests(runtime), plusresponsesandtypes-requests(dev). Nothing in the repo imports them.certifistays in the tree becausedatadogandsentry-sdkdepend on it, so wheel consumers still get it. Making that bundle a no-op is an image-level fix (SSL_CERT_FILE/REQUESTS_CA_BUNDLE), not something this package can do.uv lockalso synced the lockfile's ownsentry-streamsversion from 0.0.68 to 0.0.69, matchingpyproject.toml.Draft until CI confirms the wheel build.
via markus.
--
View Junior Session [Sentry]