|
| 1 | +# Release Notes 0.30 |
| 2 | + |
| 3 | +OpenTelemetry Rust 0.30 introduces a few breaking changes to the |
| 4 | +`opentelemetry_sdk` crate in the `metrics` feature. These changes were essential |
| 5 | +to drive the Metrics SDK towards stability. With this release, the Metrics SDK |
| 6 | +is officially declared stable. The Metrics API was declared stable last year, |
| 7 | +and previously, the Logs API, SDK, and OTel-Appender-Tracing were also marked |
| 8 | +stable. Importantly, no breaking changes have been introduced to components |
| 9 | +already marked as stable. |
| 10 | + |
| 11 | +It is worth noting that the `opentelemetry-otlp` crate remains in a |
| 12 | +Release-Candidate state and is not yet considered stable. With the API and SDK |
| 13 | +for Logs and Metrics now stable, the focus will shift towards further refining |
| 14 | +and stabilizing the OTLP Exporters in upcoming releases. Additionally, |
| 15 | +Distributed Tracing is expected to progress towards stability, addressing key |
| 16 | +interoperability challenges. |
| 17 | + |
| 18 | +For detailed changelogs of individual crates, please refer to their respective |
| 19 | +changelog files. This document serves as a summary of the main changes. |
| 20 | + |
| 21 | +## Key Changes |
| 22 | + |
| 23 | +### Metrics SDK Improvements |
| 24 | + |
| 25 | +1. **Stabilized "view" features**: Previously under an experimental feature |
| 26 | + flag, views can now be used to modify the name, unit, description, and |
| 27 | + cardinality limit of a metric. Advanced view capabilities, such as changing |
| 28 | + aggregation or dropping attributes, remain under the experimental feature |
| 29 | + flag. |
| 30 | + |
| 31 | +2. **Cardinality capping**: Introduced the ability to cap cardinality and |
| 32 | + configure limits using views. |
| 33 | + |
| 34 | +3. **Polished public API**: Refined the public API to hide implementation |
| 35 | + details from exporters, enabling future internal optimizations and ensuring |
| 36 | + consistency. Some APIs related to authoring custom metric readers have been |
| 37 | + moved behind experimental feature flags. These advanced use cases require |
| 38 | + more time to finalize the API surface before being included in the stable |
| 39 | + release. |
| 40 | + |
| 41 | +### Context-Based Suppression |
| 42 | + |
| 43 | +Added the ability to suppress telemetry based on Context. This feature prevents |
| 44 | +telemetry-induced-telemetry scenarios and addresses a long-standing issue. Note |
| 45 | +that suppression relies on proper context propagation. Certain libraries used in |
| 46 | +OTLP Exporters utilize `tracing` but do not adopt OpenTelemetry's context |
| 47 | +propagation. As a result, not all telemetry is automatically suppressed with |
| 48 | +this feature. Improvements in this area are expected in future releases. |
| 49 | + |
| 50 | +## Next Release |
| 51 | + |
| 52 | +In the [next |
| 53 | +release](https://github.com/open-telemetry/opentelemetry-rust/milestone/22), the |
| 54 | +focus will shift to OTLP Exporters and Distributed Tracing, specifically |
| 55 | +resolving |
| 56 | +[interoperability](https://github.com/open-telemetry/opentelemetry-rust/issues/2420) |
| 57 | +issues with `tokio-tracing` and other fixes required to drive Distributed |
| 58 | +Tracing towards stability. |
| 59 | + |
| 60 | +## Acknowledgments |
| 61 | + |
| 62 | +Thank you to everyone who contributed to this milestone. We welcome your |
| 63 | +feedback through GitHub issues or discussions in the OTel-Rust Slack channel |
| 64 | +[here](https://cloud-native.slack.com/archives/C03GDP0H023). |
| 65 | + |
| 66 | +We are also excited to announce that [Anton Grübel](https://github.com/gruebel) |
| 67 | +and [Björn Antonsson](https://github.com/bantonsson) have joined the OTel Rust |
| 68 | +project as Approvers. |
0 commit comments