From c811cde1ae21c624870c1b952190e687b16f76b8 Mon Sep 17 00:00:00 2001 From: Cijo Thomas Date: Fri, 23 May 2025 09:52:50 -0700 Subject: [PATCH] chore: Prepare release 0.30.0 (#2999) --- opentelemetry-appender-log/CHANGELOG.md | 6 + opentelemetry-appender-log/Cargo.toml | 6 +- opentelemetry-appender-tracing/CHANGELOG.md | 7 + opentelemetry-appender-tracing/Cargo.toml | 9 +- opentelemetry-appender-tracing/src/layer.rs | 220 +++++++++--------- opentelemetry-http/CHANGELOG.md | 6 + opentelemetry-http/Cargo.toml | 4 +- opentelemetry-jaeger-propagator/CHANGELOG.md | 6 + opentelemetry-jaeger-propagator/Cargo.toml | 4 +- opentelemetry-otlp/CHANGELOG.md | 8 + opentelemetry-otlp/Cargo.toml | 10 +- opentelemetry-proto/CHANGELOG.md | 8 +- opentelemetry-proto/Cargo.toml | 6 +- opentelemetry-sdk/CHANGELOG.md | 8 +- opentelemetry-sdk/Cargo.toml | 6 +- .../CHANGELOG.md | 4 + opentelemetry-semantic-conventions/Cargo.toml | 2 +- opentelemetry-stdout/CHANGELOG.md | 7 + opentelemetry-stdout/Cargo.toml | 6 +- opentelemetry-zipkin/CHANGELOG.md | 8 + opentelemetry-zipkin/Cargo.toml | 8 +- opentelemetry/CHANGELOG.md | 4 + opentelemetry/Cargo.toml | 2 +- 23 files changed, 211 insertions(+), 144 deletions(-) diff --git a/opentelemetry-appender-log/CHANGELOG.md b/opentelemetry-appender-log/CHANGELOG.md index 512f97002..5c629ff6c 100644 --- a/opentelemetry-appender-log/CHANGELOG.md +++ b/opentelemetry-appender-log/CHANGELOG.md @@ -2,6 +2,12 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + +- Updated `opentelemetry` and `opentelemetry-semantic-conventions` dependencies to version 0.30.0. + ## 0.29.0 Released 2025-Mar-21 diff --git a/opentelemetry-appender-log/Cargo.toml b/opentelemetry-appender-log/Cargo.toml index e9df4e8e3..25ace0a78 100644 --- a/opentelemetry-appender-log/Cargo.toml +++ b/opentelemetry-appender-log/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry-appender-log" -version = "0.29.0" +version = "0.30.0" description = "An OpenTelemetry appender for the log crate" homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-log" repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-log" @@ -15,12 +15,12 @@ autobenches = false bench = false [dependencies] -opentelemetry = { version = "0.29", path = "../opentelemetry", features = [ +opentelemetry = { version = "0.30", path = "../opentelemetry", features = [ "logs", ] } log = { workspace = true, features = ["kv", "std"] } serde = { workspace = true, optional = true, features = ["std"] } -opentelemetry-semantic-conventions = { version = "0.29", path = "../opentelemetry-semantic-conventions", optional = true, features = [ +opentelemetry-semantic-conventions = { version = "0.30", path = "../opentelemetry-semantic-conventions", optional = true, features = [ "semconv_experimental", ] } diff --git a/opentelemetry-appender-tracing/CHANGELOG.md b/opentelemetry-appender-tracing/CHANGELOG.md index 49c52cc08..457e0d0df 100644 --- a/opentelemetry-appender-tracing/CHANGELOG.md +++ b/opentelemetry-appender-tracing/CHANGELOG.md @@ -2,6 +2,13 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + +- Updated `opentelemetry` dependency to version 0.30.0. + + ## 0.29.1 Released 2025-Mar-24 diff --git a/opentelemetry-appender-tracing/Cargo.toml b/opentelemetry-appender-tracing/Cargo.toml index 43346bfe0..5c18849fa 100644 --- a/opentelemetry-appender-tracing/Cargo.toml +++ b/opentelemetry-appender-tracing/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry-appender-tracing" -version = "0.29.1" +version = "0.30.0" edition = "2021" description = "An OpenTelemetry log appender for the tracing crate" homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-tracing" @@ -13,12 +13,12 @@ autobenches = false [dependencies] log = { workspace = true, optional = true } -opentelemetry = { version = "0.29", path = "../opentelemetry", features = ["logs"] } +opentelemetry = { version = "0.30", path = "../opentelemetry", features = ["logs"] } tracing = { workspace = true, features = ["std"]} tracing-core = { workspace = true } tracing-log = { workspace = true, optional = true } tracing-subscriber = { workspace = true, features = ["registry", "std"] } -tracing-opentelemetry = { workspace = true, optional = true } +# tracing-opentelemetry = { workspace = true, optional = true } [dev-dependencies] log = { workspace = true } @@ -37,7 +37,8 @@ pprof = { version = "0.14", features = ["flamegraph", "criterion"] } default = [] experimental_metadata_attributes = ["dep:tracing-log"] spec_unstable_logs_enabled = ["opentelemetry/spec_unstable_logs_enabled"] -experimental_use_tracing_span_context = ["tracing-opentelemetry"] +# TODO: Enable this back in 0.30.1 after tracing-opentelemetry is released +# experimental_use_tracing_span_context = ["tracing-opentelemetry"] [[bench]] diff --git a/opentelemetry-appender-tracing/src/layer.rs b/opentelemetry-appender-tracing/src/layer.rs index c02aca04a..8c2fc9653 100644 --- a/opentelemetry-appender-tracing/src/layer.rs +++ b/opentelemetry-appender-tracing/src/layer.rs @@ -244,28 +244,28 @@ where // Visit fields. event.record(&mut visitor); - #[cfg(feature = "experimental_use_tracing_span_context")] - if let Some(span) = _ctx.event_span(event) { - use opentelemetry::trace::TraceContextExt; - use tracing_opentelemetry::OtelData; - if let Some(otd) = span.extensions().get::() { - if let Some(span_id) = otd.builder.span_id { - let opt_trace_id = if otd.parent_cx.has_active_span() { - Some(otd.parent_cx.span().span_context().trace_id()) - } else { - span.scope().last().and_then(|root_span| { - root_span - .extensions() - .get::() - .and_then(|otd| otd.builder.trace_id) - }) - }; - if let Some(trace_id) = opt_trace_id { - log_record.set_trace_context(trace_id, span_id, None); - } - } - } - } + // #[cfg(feature = "experimental_use_tracing_span_context")] + // if let Some(span) = _ctx.event_span(event) { + // use opentelemetry::trace::TraceContextExt; + // use tracing_opentelemetry::OtelData; + // if let Some(otd) = span.extensions().get::() { + // if let Some(span_id) = otd.builder.span_id { + // let opt_trace_id = if otd.parent_cx.has_active_span() { + // Some(otd.parent_cx.span().span_context().trace_id()) + // } else { + // span.scope().last().and_then(|root_span| { + // root_span + // .extensions() + // .get::() + // .and_then(|otd| otd.builder.trace_id) + // }) + // }; + // if let Some(trace_id) = opt_trace_id { + // log_record.set_trace_context(trace_id, span_id, None); + // } + // } + // } + // } //emit record self.logger.emit(log_record); @@ -611,117 +611,117 @@ mod tests { } } - #[cfg(feature = "experimental_use_tracing_span_context")] - #[test] - fn tracing_appender_inside_tracing_crate_context() { - use opentelemetry::{trace::SpanContext, Context, SpanId, TraceId}; - use opentelemetry_sdk::trace::InMemorySpanExporterBuilder; - use tracing_opentelemetry::OpenTelemetrySpanExt; + // #[cfg(feature = "experimental_use_tracing_span_context")] + // #[test] + // fn tracing_appender_inside_tracing_crate_context() { + // use opentelemetry::{trace::SpanContext, Context, SpanId, TraceId}; + // use opentelemetry_sdk::trace::InMemorySpanExporterBuilder; + // use tracing_opentelemetry::OpenTelemetrySpanExt; - // Arrange - let exporter: InMemoryLogExporter = InMemoryLogExporter::default(); - let logger_provider = SdkLoggerProvider::builder() - .with_simple_exporter(exporter.clone()) - .build(); + // // Arrange + // let exporter: InMemoryLogExporter = InMemoryLogExporter::default(); + // let logger_provider = SdkLoggerProvider::builder() + // .with_simple_exporter(exporter.clone()) + // .build(); - // setup tracing layer to compare trace/span IDs against - let span_exporter = InMemorySpanExporterBuilder::new().build(); - let tracer_provider = SdkTracerProvider::builder() - .with_simple_exporter(span_exporter.clone()) - .build(); - let tracer = tracer_provider.tracer("test-tracer"); + // // setup tracing layer to compare trace/span IDs against + // let span_exporter = InMemorySpanExporterBuilder::new().build(); + // let tracer_provider = SdkTracerProvider::builder() + // .with_simple_exporter(span_exporter.clone()) + // .build(); + // let tracer = tracer_provider.tracer("test-tracer"); - let level_filter = tracing_subscriber::filter::LevelFilter::ERROR; - let log_layer = - layer::OpenTelemetryTracingBridge::new(&logger_provider).with_filter(level_filter); + // let level_filter = tracing_subscriber::filter::LevelFilter::ERROR; + // let log_layer = + // layer::OpenTelemetryTracingBridge::new(&logger_provider).with_filter(level_filter); - let subscriber = tracing_subscriber::registry() - .with(log_layer) - .with(tracing_opentelemetry::layer().with_tracer(tracer)); + // let subscriber = tracing_subscriber::registry() + // .with(log_layer) + // .with(tracing_opentelemetry::layer().with_tracer(tracer)); - // Avoiding global subscriber.init() as that does not play well with unit tests. - let _guard = tracing::subscriber::set_default(subscriber); + // // Avoiding global subscriber.init() as that does not play well with unit tests. + // let _guard = tracing::subscriber::set_default(subscriber); - // Act - tracing::error_span!("outer-span").in_scope(|| { - error!("first-event"); + // // Act + // tracing::error_span!("outer-span").in_scope(|| { + // error!("first-event"); - tracing::error_span!("inner-span").in_scope(|| { - error!("second-event"); - }); - }); + // tracing::error_span!("inner-span").in_scope(|| { + // error!("second-event"); + // }); + // }); - assert!(logger_provider.force_flush().is_ok()); + // assert!(logger_provider.force_flush().is_ok()); - let logs = exporter.get_emitted_logs().expect("No emitted logs"); - assert_eq!(logs.len(), 2, "Expected 2 logs, got: {logs:?}"); + // let logs = exporter.get_emitted_logs().expect("No emitted logs"); + // assert_eq!(logs.len(), 2, "Expected 2 logs, got: {logs:?}"); - let spans = span_exporter.get_finished_spans().unwrap(); - assert_eq!(spans.len(), 2); + // let spans = span_exporter.get_finished_spans().unwrap(); + // assert_eq!(spans.len(), 2); - let trace_id = spans[0].span_context.trace_id(); - assert_eq!(trace_id, spans[1].span_context.trace_id()); - let inner_span_id = spans[0].span_context.span_id(); - let outer_span_id = spans[1].span_context.span_id(); - assert_eq!(outer_span_id, spans[0].parent_span_id); + // let trace_id = spans[0].span_context.trace_id(); + // assert_eq!(trace_id, spans[1].span_context.trace_id()); + // let inner_span_id = spans[0].span_context.span_id(); + // let outer_span_id = spans[1].span_context.span_id(); + // assert_eq!(outer_span_id, spans[0].parent_span_id); - let trace_ctx0 = logs[0].record.trace_context().unwrap(); - let trace_ctx1 = logs[1].record.trace_context().unwrap(); + // let trace_ctx0 = logs[0].record.trace_context().unwrap(); + // let trace_ctx1 = logs[1].record.trace_context().unwrap(); - assert_eq!(trace_ctx0.trace_id, trace_id); - assert_eq!(trace_ctx1.trace_id, trace_id); - assert_eq!(trace_ctx0.span_id, outer_span_id); - assert_eq!(trace_ctx1.span_id, inner_span_id); + // assert_eq!(trace_ctx0.trace_id, trace_id); + // assert_eq!(trace_ctx1.trace_id, trace_id); + // assert_eq!(trace_ctx0.span_id, outer_span_id); + // assert_eq!(trace_ctx1.span_id, inner_span_id); - // Set context from remote. - let remote_trace_id = TraceId::from_u128(233); - let remote_span_id = SpanId::from_u64(2333); - let remote_span_context = SpanContext::new( - remote_trace_id, - remote_span_id, - TraceFlags::SAMPLED, - true, - Default::default(), - ); + // // Set context from remote. + // let remote_trace_id = TraceId::from_u128(233); + // let remote_span_id = SpanId::from_u64(2333); + // let remote_span_context = SpanContext::new( + // remote_trace_id, + // remote_span_id, + // TraceFlags::SAMPLED, + // true, + // Default::default(), + // ); - // Act again. - tracing::error_span!("outer-span").in_scope(|| { - let span = tracing::Span::current(); - let parent_context = Context::current().with_remote_span_context(remote_span_context); - span.set_parent(parent_context); + // // Act again. + // tracing::error_span!("outer-span").in_scope(|| { + // let span = tracing::Span::current(); + // let parent_context = Context::current().with_remote_span_context(remote_span_context); + // span.set_parent(parent_context); - error!("first-event"); + // error!("first-event"); - tracing::error_span!("inner-span").in_scope(|| { - error!("second-event"); - }); - }); + // tracing::error_span!("inner-span").in_scope(|| { + // error!("second-event"); + // }); + // }); - assert!(logger_provider.force_flush().is_ok()); + // assert!(logger_provider.force_flush().is_ok()); - let logs = exporter.get_emitted_logs().expect("No emitted logs"); - assert_eq!(logs.len(), 4, "Expected 4 logs, got: {logs:?}"); - let logs = &logs[2..]; + // let logs = exporter.get_emitted_logs().expect("No emitted logs"); + // assert_eq!(logs.len(), 4, "Expected 4 logs, got: {logs:?}"); + // let logs = &logs[2..]; - let spans = span_exporter.get_finished_spans().unwrap(); - assert_eq!(spans.len(), 4); - let spans = &spans[2..]; + // let spans = span_exporter.get_finished_spans().unwrap(); + // assert_eq!(spans.len(), 4); + // let spans = &spans[2..]; - let trace_id = spans[0].span_context.trace_id(); - assert_eq!(trace_id, remote_trace_id); - assert_eq!(trace_id, spans[1].span_context.trace_id()); - let inner_span_id = spans[0].span_context.span_id(); - let outer_span_id = spans[1].span_context.span_id(); - assert_eq!(outer_span_id, spans[0].parent_span_id); + // let trace_id = spans[0].span_context.trace_id(); + // assert_eq!(trace_id, remote_trace_id); + // assert_eq!(trace_id, spans[1].span_context.trace_id()); + // let inner_span_id = spans[0].span_context.span_id(); + // let outer_span_id = spans[1].span_context.span_id(); + // assert_eq!(outer_span_id, spans[0].parent_span_id); - let trace_ctx0 = logs[0].record.trace_context().unwrap(); - let trace_ctx1 = logs[1].record.trace_context().unwrap(); + // let trace_ctx0 = logs[0].record.trace_context().unwrap(); + // let trace_ctx1 = logs[1].record.trace_context().unwrap(); - assert_eq!(trace_ctx0.trace_id, trace_id); - assert_eq!(trace_ctx1.trace_id, trace_id); - assert_eq!(trace_ctx0.span_id, outer_span_id); - assert_eq!(trace_ctx1.span_id, inner_span_id); - } + // assert_eq!(trace_ctx0.trace_id, trace_id); + // assert_eq!(trace_ctx1.trace_id, trace_id); + // assert_eq!(trace_ctx0.span_id, outer_span_id); + // assert_eq!(trace_ctx1.span_id, inner_span_id); + // } #[test] fn tracing_appender_standalone_with_tracing_log() { diff --git a/opentelemetry-http/CHANGELOG.md b/opentelemetry-http/CHANGELOG.md index cdf852bf1..e1dd98053 100644 --- a/opentelemetry-http/CHANGELOG.md +++ b/opentelemetry-http/CHANGELOG.md @@ -2,6 +2,12 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + +- Updated `opentelemetry` dependency to version 0.30.0. + ## 0.29.0 Released 2025-Mar-21 diff --git a/opentelemetry-http/Cargo.toml b/opentelemetry-http/Cargo.toml index 6003ff276..8cae3c262 100644 --- a/opentelemetry-http/Cargo.toml +++ b/opentelemetry-http/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry-http" -version = "0.29.0" +version = "0.30.0" description = "Helper implementations for sending HTTP requests. Uses include propagating and extracting context over http, exporting telemetry, requesting sampling strategies." homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-http" repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-http" @@ -24,7 +24,7 @@ http = { workspace = true } http-body-util = { workspace = true, optional = true } hyper = { workspace = true, optional = true } hyper-util = { workspace = true, features = ["client-legacy", "http1", "http2"], optional = true } -opentelemetry = { version = "0.29", path = "../opentelemetry", features = ["trace"] } +opentelemetry = { version = "0.30", path = "../opentelemetry", features = ["trace"] } reqwest = { workspace = true, features = ["blocking"], optional = true } tokio = { workspace = true, features = ["time"], optional = true } diff --git a/opentelemetry-jaeger-propagator/CHANGELOG.md b/opentelemetry-jaeger-propagator/CHANGELOG.md index 335093f5f..902b7d597 100644 --- a/opentelemetry-jaeger-propagator/CHANGELOG.md +++ b/opentelemetry-jaeger-propagator/CHANGELOG.md @@ -2,6 +2,12 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + +- Updated `opentelemetry` dependency to version 0.30.0. + ## 0.29.0 Released 2025-Mar-21 diff --git a/opentelemetry-jaeger-propagator/Cargo.toml b/opentelemetry-jaeger-propagator/Cargo.toml index 0d15822ea..ff28c946a 100644 --- a/opentelemetry-jaeger-propagator/Cargo.toml +++ b/opentelemetry-jaeger-propagator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry-jaeger-propagator" -version = "0.29.0" +version = "0.30.0" description = "Jaeger propagator for OpenTelemetry" homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-jaeger-propagator" repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-jaeger-propagator" @@ -21,7 +21,7 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [dependencies] -opentelemetry = { version = "0.29", default-features = false, features = [ +opentelemetry = { version = "0.30", default-features = false, features = [ "trace", ], path = "../opentelemetry" } diff --git a/opentelemetry-otlp/CHANGELOG.md b/opentelemetry-otlp/CHANGELOG.md index fddf04cf5..73f8f4a39 100644 --- a/opentelemetry-otlp/CHANGELOG.md +++ b/opentelemetry-otlp/CHANGELOG.md @@ -2,6 +2,14 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + +- Update `opentelemetry` dependency version to 0.30 +- Update `opentelemetry_sdk` dependency version to 0.30 +- Update `opentelemetry-http` dependency version to 0.30 +- Update `opentelemetry-proto` dependency version to 0.30 - Update `tonic` dependency version to 0.13 - Re-export `tonic` types under `tonic_types` [2898](https://github.com/open-telemetry/opentelemetry-rust/pull/2898) diff --git a/opentelemetry-otlp/Cargo.toml b/opentelemetry-otlp/Cargo.toml index 4b9be0c4e..ac37c6852 100644 --- a/opentelemetry-otlp/Cargo.toml +++ b/opentelemetry-otlp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry-otlp" -version = "0.29.0" +version = "0.30.0" description = "Exporter for the OpenTelemetry Collector" homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp" repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp" @@ -27,10 +27,10 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [dependencies] -opentelemetry = { version = "0.29", default-features = false, path = "../opentelemetry" } -opentelemetry_sdk = { version = "0.29", default-features = false, path = "../opentelemetry-sdk" } -opentelemetry-http = { version = "0.29", path = "../opentelemetry-http", optional = true } -opentelemetry-proto = { version = "0.29", path = "../opentelemetry-proto", default-features = false } +opentelemetry = { version = "0.30", default-features = false, path = "../opentelemetry" } +opentelemetry_sdk = { version = "0.30", default-features = false, path = "../opentelemetry-sdk" } +opentelemetry-http = { version = "0.30", path = "../opentelemetry-http", optional = true } +opentelemetry-proto = { version = "0.30", path = "../opentelemetry-proto", default-features = false } tracing = {workspace = true, optional = true} prost = { workspace = true, optional = true } diff --git a/opentelemetry-proto/CHANGELOG.md b/opentelemetry-proto/CHANGELOG.md index 3c97586ae..1a47dc0d1 100644 --- a/opentelemetry-proto/CHANGELOG.md +++ b/opentelemetry-proto/CHANGELOG.md @@ -2,9 +2,15 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + +- Update `opentelemetry` dependency version to 0.30 +- Updated `opentelemetry_sdk` dependency to version 0.30.0. - **Feature**: Added Rust code generation for profiles protos. [#2979](https://github.com/open-telemetry/opentelemetry-rust/pull/2979) - Update `tonic` dependency version to 0.13 -- - Update proto definitions to v1.6.0. +- Update proto definitions to v1.6.0. ## 0.29.0 diff --git a/opentelemetry-proto/Cargo.toml b/opentelemetry-proto/Cargo.toml index bc6bce3db..c6336c7c0 100644 --- a/opentelemetry-proto/Cargo.toml +++ b/opentelemetry-proto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry-proto" -version = "0.29.0" +version = "0.30.0" description = "Protobuf generated files and transformations." homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-proto" repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-proto" @@ -54,8 +54,8 @@ with-serde = ["serde", "hex", "base64"] [dependencies] tonic = { workspace = true, optional = true, features = ["codegen", "prost"] } prost = { workspace = true, optional = true } -opentelemetry = { version = "0.29", default-features = false, path = "../opentelemetry" } -opentelemetry_sdk = { version = "0.29", default-features = false, path = "../opentelemetry-sdk" } +opentelemetry = { version = "0.30", default-features = false, path = "../opentelemetry" } +opentelemetry_sdk = { version = "0.30", default-features = false, path = "../opentelemetry-sdk" } schemars = { workspace = true, optional = true } serde = { workspace = true, optional = true, features = ["serde_derive"] } hex = { workspace = true, optional = true } diff --git a/opentelemetry-sdk/CHANGELOG.md b/opentelemetry-sdk/CHANGELOG.md index d1c6e0680..1c9e3de15 100644 --- a/opentelemetry-sdk/CHANGELOG.md +++ b/opentelemetry-sdk/CHANGELOG.md @@ -2,6 +2,11 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + +- Updated `opentelemetry` and `opentelemetry-http` dependencies to version 0.30.0. - It is now possible to add links to a `Span` via the `SpanRef` that you get from a `Context`. [2959](https://github.com/open-telemetry/opentelemetry-rust/pull/2959) - **Feature**: Added context based telemetry suppression. [#2868](https://github.com/open-telemetry/opentelemetry-rust/pull/2868) @@ -664,8 +669,7 @@ Released 2024-Sep-30 Update `LogProcessor::emit()` method to take mutable reference to LogData. This is breaking change for LogProcessor developers. If the processor needs to invoke the exporter asynchronously, it should clone the data to ensure it can be safely processed without - lifetime issues. Any changes made to the log data before cloning in this method will be - reflected in the next log processor in the chain, as well as to the exporter. + lifetime issues. Any changes made to the log data before cloning in this method will be reflected in the next log processor in the chain, as well as to the exporter. - *Breaking* [1726](https://github.com/open-telemetry/opentelemetry-rust/pull/1726) Update `LogExporter::export()` method to accept a batch of log data, which can be either a reference or owned`LogData`. If the exporter needs to process the log data diff --git a/opentelemetry-sdk/Cargo.toml b/opentelemetry-sdk/Cargo.toml index 28262f808..aa92787ea 100644 --- a/opentelemetry-sdk/Cargo.toml +++ b/opentelemetry-sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry_sdk" -version = "0.29.0" +version = "0.30.0" description = "The SDK for the OpenTelemetry metrics collection and distributed tracing framework" homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-sdk" repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-sdk" @@ -11,8 +11,8 @@ rust-version = "1.75.0" autobenches = false [dependencies] -opentelemetry = { version = "0.29", path = "../opentelemetry/" } -opentelemetry-http = { version = "0.29", path = "../opentelemetry-http", optional = true } +opentelemetry = { version = "0.30", path = "../opentelemetry/" } +opentelemetry-http = { version = "0.30", path = "../opentelemetry-http", optional = true } futures-channel = { workspace = true } futures-executor = { workspace = true } futures-util = { workspace = true, features = ["std", "sink", "async-await-macro"] } diff --git a/opentelemetry-semantic-conventions/CHANGELOG.md b/opentelemetry-semantic-conventions/CHANGELOG.md index 5cd153d28..8c286423d 100644 --- a/opentelemetry-semantic-conventions/CHANGELOG.md +++ b/opentelemetry-semantic-conventions/CHANGELOG.md @@ -2,6 +2,10 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + - Update to [v1.32.0](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.32.0) of the semantic conventions. ## 0.29.0 diff --git a/opentelemetry-semantic-conventions/Cargo.toml b/opentelemetry-semantic-conventions/Cargo.toml index d531708b5..bab1cb941 100644 --- a/opentelemetry-semantic-conventions/Cargo.toml +++ b/opentelemetry-semantic-conventions/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry-semantic-conventions" -version = "0.29.0" +version = "0.30.0" description = "Semantic conventions for OpenTelemetry" homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-semantic-conventions" repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-semantic-conventions" diff --git a/opentelemetry-stdout/CHANGELOG.md b/opentelemetry-stdout/CHANGELOG.md index 0e8798ae4..39edd96fd 100644 --- a/opentelemetry-stdout/CHANGELOG.md +++ b/opentelemetry-stdout/CHANGELOG.md @@ -2,6 +2,13 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + +- Updated `opentelemetry` dependency to version 0.30.0. +- Updated `opentelemetry_sdk` dependency to version 0.30.0. + ## 0.29.0 Released 2025-Mar-21 diff --git a/opentelemetry-stdout/Cargo.toml b/opentelemetry-stdout/Cargo.toml index 8aac5a273..484f691c9 100644 --- a/opentelemetry-stdout/Cargo.toml +++ b/opentelemetry-stdout/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry-stdout" -version = "0.29.0" +version = "0.30.0" description = "An OpenTelemetry exporter for stdout" homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-stdout" repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-stdout" @@ -28,8 +28,8 @@ logs = ["opentelemetry/logs", "opentelemetry_sdk/logs", "opentelemetry_sdk/spec_ [dependencies] chrono = { workspace = true, features = ["now"] } -opentelemetry = { version = "0.29", path = "../opentelemetry" } -opentelemetry_sdk = { version = "0.29", path = "../opentelemetry-sdk" } +opentelemetry = { version = "0.30", path = "../opentelemetry" } +opentelemetry_sdk = { version = "0.30", path = "../opentelemetry-sdk" } [dev-dependencies] opentelemetry = { path = "../opentelemetry", features = ["metrics"] } diff --git a/opentelemetry-zipkin/CHANGELOG.md b/opentelemetry-zipkin/CHANGELOG.md index be88cb6f6..521550455 100644 --- a/opentelemetry-zipkin/CHANGELOG.md +++ b/opentelemetry-zipkin/CHANGELOG.md @@ -2,6 +2,14 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + +- Updated `opentelemetry` dependency to version 0.30.0. +- Updated `opentelemetry_sdk` dependency to version 0.30.0. +- Updated `opentelemetry-http` dependency to version 0.30.0. + ## 0.29.0 Released 2025-Mar-21 diff --git a/opentelemetry-zipkin/Cargo.toml b/opentelemetry-zipkin/Cargo.toml index ebd988e78..063f60eab 100644 --- a/opentelemetry-zipkin/Cargo.toml +++ b/opentelemetry-zipkin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry-zipkin" -version = "0.29.0" +version = "0.30.0" description = "Zipkin exporter for OpenTelemetry" homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-zipkin" repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-zipkin" @@ -28,9 +28,9 @@ reqwest-rustls = ["reqwest", "reqwest/rustls-tls-native-roots"] [dependencies] once_cell = { workspace = true } -opentelemetry = { version = "0.29", path = "../opentelemetry" } -opentelemetry_sdk = { version = "0.29", path = "../opentelemetry-sdk", features = ["trace"] } -opentelemetry-http = { version = "0.29", path = "../opentelemetry-http" } +opentelemetry = { version = "0.30", path = "../opentelemetry" } +opentelemetry_sdk = { version = "0.30", path = "../opentelemetry-sdk", features = ["trace"] } +opentelemetry-http = { version = "0.30", path = "../opentelemetry-http" } serde_json = { workspace = true } serde = { workspace = true, features = ["derive"] } typed-builder = { workspace = true } diff --git a/opentelemetry/CHANGELOG.md b/opentelemetry/CHANGELOG.md index 28a10e0db..8cefac666 100644 --- a/opentelemetry/CHANGELOG.md +++ b/opentelemetry/CHANGELOG.md @@ -2,6 +2,10 @@ ## vNext +## 0.30.0 + +Released 2025-May-23 + [#2821](https://github.com/open-telemetry/opentelemetry-rust/pull/2821) Context based suppression capabilities added: Added the ability to prevent recursive telemetry generation through new context-based suppression mechanisms. This diff --git a/opentelemetry/Cargo.toml b/opentelemetry/Cargo.toml index eb874d42d..49994d028 100644 --- a/opentelemetry/Cargo.toml +++ b/opentelemetry/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "opentelemetry" -version = "0.29.0" +version = "0.30.0" description = "OpenTelemetry API for Rust" homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry" repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry"