Skip to content

Conversation

@r0x0d
Copy link

@r0x0d r0x0d commented Jan 27, 2026

Changes

Add optional reqwest-native-tls feature flag to opentelemetry-http and opentelemetry-otlp crates, enabling the use of system native TLS instead of bundled rustls.

This is particularly beneficial for Linux distribution packagers who need to link against system libraries (OpenSSL) rather than bundling TLS implementations. Using system TLS allows:

  • Leveraging system-managed security updates for TLS/OpenSSL
  • Reducing binary size by avoiding bundled crypto libraries
  • Ensuring consistency with system certificate stores
  • Complying with distribution packaging policies that prefer system libs

On other platforms, this uses Schannel (Windows) and Secure Transport (macOS).

Merge requirement checklist

  • CONTRIBUTING guidelines followed
  • Unit tests added/updated (if applicable)
  • Appropriate CHANGELOG.md files updated for non-trivial, user-facing changes
  • Changes in public API reviewed (if applicable)

Add optional `reqwest-native-tls` feature flag to opentelemetry-http and
opentelemetry-otlp crates, enabling the use of system native TLS instead
of bundled rustls.

This is particularly beneficial for Linux distribution packagers who need
to link against system libraries (OpenSSL) rather than bundling TLS
implementations. Using system TLS allows:

- Leveraging system-managed security updates for TLS/OpenSSL
- Reducing binary size by avoiding bundled crypto libraries
- Ensuring consistency with system certificate stores
- Complying with distribution packaging policies that prefer system libs

On other platforms, this uses Schannel (Windows) and Secure Transport
(macOS).

Usage:
  cargo build --no-default-features --features "http-proto,reqwest-native-tls,trace,metrics,logs"
@r0x0d r0x0d requested a review from a team as a code owner January 27, 2026 14:12
@linux-foundation-easycla
Copy link

CLA Not Signed

@codecov
Copy link

codecov bot commented Jan 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.0%. Comparing base (1a47446) to head (07b0b2a).

Additional details and impacted files
@@           Coverage Diff           @@
##            main   #3330     +/-   ##
=======================================
- Coverage   81.0%   81.0%   -0.1%     
=======================================
  Files        129     129             
  Lines      23697   23697             
=======================================
- Hits       19217   19216      -1     
- Misses      4480    4481      +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.


- `reqwest`'s crypto backend has changed from `ring` to `aws-lc-sys`.
- Add `reqwest-native-tls` feature flag to enable system native TLS (OpenSSL on Linux, Schannel on Windows, Secure Transport on macOS).
- Update `reqwest-rustls` and `reqwest-rustls-webpki-roots` features to use explicit `rustls-tls` instead of `default-tls` for clarity.
Copy link
Member

@lalitb lalitb Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@r0x0d - Can you check this changelog - as I don't see rustls-tls anywhere in the code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants