Skip to content

Commit 10455a1

Browse files
committed
chore: Prepare docs before 0.29
1 parent bece03b commit 10455a1

File tree

3 files changed

+89
-4
lines changed

3 files changed

+89
-4
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ documentation.
3131
| Signal/Component | Overall Status |
3232
| -------------------- | ------------------ |
3333
| Context | Beta |
34-
| Baggage | Beta |
34+
| Baggage | RC |
3535
| Propagators | Beta |
3636
| Logs-API | Stable* |
37-
| Logs-SDK | RC |
37+
| Logs-SDK | Stable |
3838
| Logs-OTLP Exporter | RC |
39-
| Logs-Appender-Tracing | RC |
39+
| Logs-Appender-Tracing | Stable |
4040
| Metrics-API | Stable |
4141
| Metrics-SDK | RC |
4242
| Metrics-OTLP Exporter | RC |

docs/migration_0.29.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Migration Guide from 0.28 to 0.29
2+
3+
OpenTelemetry Rust 0.29 introduces few breaking changes. This guide aims to
4+
facilitate a smooth migration for common use cases involving the
5+
`opentelemetry`, `opentelemetry_sdk`, `opentelemetry-otlp`, and
6+
`opentelemetry-appender-tracing` crates. For a comprehensive list of changes,
7+
please refer to the detailed changelog for each crate. This document covers only
8+
the most common scenarios. Note that changes that only affect
9+
custom exporter/processor authors are not mentioned in this doc.
10+
11+
OpenTelemetry Metrics API, Log-Bridge API were declared stable in 0.28,
12+
and has no breaking changes.
13+
14+
## Baggage Changes
15+
16+
The Baggage API has been redesigned to align with the OpenTelemetry
17+
specification. While the core API for interacting with Baggage remains the same,
18+
the accepted data types have changed. Baggage Keys now only allow strings (ASCII
19+
visual characters), and Baggage values are restricted to strings.
20+
21+
For detailed changes, see the [changelog](../opentelemetry/CHANGELOG.md). With
22+
version 0.29, the Baggage API has reached "Release Candidate" status, meaning
23+
further breaking changes will be highly restricted.
24+
25+
## Appender-Tracing Changes
26+
27+
The `opentelemetry-appender-tracing` crate, which bridges `tracing` events to
28+
OpenTelemetry logs, has been updated to properly map `tracing` data types to the
29+
OpenTelemetry model. As of version 0.29, this crate is considered "Stable," and
30+
no further breaking changes will be made without a major version bump.
31+
32+
## Configuration via Environment Variables
33+
34+
The 0.29 release aligns OpenTelemetry Rust with the rest of the OpenTelemetry
35+
ecosystem by treating any code-based configuration as final (i.e., it cannot be
36+
overridden by environment variables). This policy was partially true before but
37+
is now applied consistently. If you prefer to configure your application via
38+
environment variables, avoid configuring it programmatically.
39+
40+
## Discontinuing Dedicated Prometheus Exporter
41+
42+
The `opentelemetry-prometheus` crate will be discontinued with the 0.29 release.
43+
Active development on this crate ceased a few months ago. Given that Prometheus
44+
now natively supports OTLP, and considering that the OpenTelemetry Rust project
45+
is still working towards a 1.0 release, we need to focus on essential components
46+
to maintain scope and ensure timely delivery.
47+
48+
Prometheus interoperability remains a key goal for OpenTelemetry. However, the
49+
current `opentelemetry-prometheus` crate requires a major rewrite to eliminate
50+
dependencies on unmaintained crates. We may reintroduce a dedicated Prometheus
51+
exporter in the future once these issues are resolved.
52+
53+
For those using Prometheus as a backend, you can integrate with Prometheus using
54+
the following methods:
55+
56+
1. Use the OTLP Exporter to push metrics directly to Prometheus.
57+
2. If you require a pull (scrape) model, push metrics to an OpenTelemetry
58+
Collector using the OTLP Exporter, and configure Prometheus to scrape the
59+
OpenTelemetry Collector.
60+
61+
These alternatives ensure continued Prometheus integration while allowing us to
62+
focus on achieving a stable 1.0 release for OpenTelemetry Rust.
63+
64+
## Next Release
65+
66+
In the next release, we expect to stabilize the Metrics SDK and resolve the
67+
long-standing question of `tokio-tracing` vs. `opentelemetry tracing`.
68+
69+
## Instrumentation Libraries
70+
71+
Unlike other OpenTelemetry language implementations, OpenTelemetry Rust did not
72+
maintain any instrumentations on its own. This has recently changed with a
73+
[contribution](https://github.com/open-telemetry/opentelemetry-rust-contrib/pull/202)
74+
from one of the founding members of the OpenTelemetry Rust project to the
75+
contrib repo, providing an instrumentation library for
76+
[`actix-web`](https://github.com/open-telemetry/opentelemetry-rust-contrib/tree/main/actix-web-opentelemetry).
77+
We expect this instrumentation to eventually showcase best practices for
78+
instrumentation.
79+
80+
We welcome more contributions for instrumentations to the contrib repo.
81+
82+
## Thanks
83+
84+
Thanks to everyone who helped with this milestone. Please share your feedback
85+
via GitHub issues or the OTel-Rust Slack channel
86+
[here](https://cloud-native.slack.com/archives/C03GDP0H023).

opentelemetry/CHANGELOG.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
- *Breaking* Moved `ExportError` trait from `opentelemetry::trace::ExportError` to `opentelemetry_sdk::export::ExportError`
66
- *Breaking* Moved `TraceError` enum from `opentelemetry::trace::TraceError` to `opentelemetry_sdk::trace::TraceError`
77
- *Breaking* Moved `TraceResult` type alias from `opentelemetry::trace::TraceResult` to `opentelemetry_sdk::trace::TraceResult`
8-
- {PLACEHOLDER} - Remove the above completely. // TODO fill this when changes are actually in.
98
- Bug Fix: `InstrumentationScope` implementation for `PartialEq` and `Hash` fixed to include Attributes also.
109
- **Breaking changes for baggage users**: [#2717](https://github.com/open-telemetry/opentelemetry-rust/issues/2717)
1110
- Changed value type of `Baggage` from `Value` to `StringValue`

0 commit comments

Comments
 (0)