You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: opentelemetry-otlp/CHANGELOG.md
+38Lines changed: 38 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,44 @@
2
2
3
3
## vNext
4
4
5
+
## 0.31.1
6
+
7
+
Released 2026-Mar-18
8
+
9
+
- Add `tls-ring` and `tls-aws-lc` feature flags for explicit crypto provider selection.
10
+
- Add `tls-provider-agnostic` feature flag for environments that require a custom crypto backend (e.g., OpenSSL for FIPS compliance). Enables TLS code paths without bundling `ring` or `aws-lc-rs`.
11
+
12
+
### Feature combination guidance
13
+
14
+
The new TLS features should be used **individually** — do not combine multiple
15
+
crypto provider features. The existing `tls-roots` and `tls-webpki-roots`
16
+
features implicitly enable `tls` (which pulls in `ring`), so combining them
17
+
with `tls-aws-lc` or `tls-provider-agnostic` will compile both providers and
18
+
may cause unexpected behavior.
19
+
20
+
**Recommended usage:**
21
+
22
+
| Goal | Features to enable |
23
+
|---|---|
24
+
| TLS with ring + system roots |`tls-ring`, `tls-roots`|
25
+
| TLS with ring + Mozilla roots |`tls-ring`, `tls-webpki-roots`|
26
+
| TLS with aws-lc + custom CA |`tls-aws-lc` (provide CA via `ClientTlsConfig`) |
27
+
| TLS with custom provider (e.g., FIPS) |`tls-provider-agnostic` (call `CryptoProvider::install_default()` in your app) |
28
+
29
+
**Avoid these combinations:**
30
+
31
+
| Combination | Problem |
32
+
|---|---|
33
+
|`tls-aws-lc` + `tls-roots`| Pulls in `ring` via `tls-roots` → `tls`; both providers compiled, which can cause runtime panics or unpredictable provider selection |
34
+
|`tls-aws-lc` + `tls-webpki-roots`| Same issue — both providers compiled, which can cause runtime panics or unpredictable provider selection |
35
+
|`tls-provider-agnostic` + `tls-roots`| Defeats the purpose — bundles ring, which can cause runtime panics or unpredictable provider selection |
36
+
|`tls-provider-agnostic` + `tls-webpki-roots`| Same issue — bundles ring, which can cause runtime panics or unpredictable provider selection |
37
+
|`tls-ring` + `tls-aws-lc`| Both providers compiled, which can cause runtime panics or unpredictable provider selection |
38
+
39
+
> **Note:** If you need root certificates with `tls-aws-lc`, depend on
40
+
> `tonic/tls-native-roots` or `tonic/tls-webpki-roots` directly in your own
41
+
> `Cargo.toml` instead of using `tls-roots`/`tls-webpki-roots` from this crate.
0 commit comments