fix(deps): update opentelemetry-rust monorepo #3419
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.23.0->0.31.00.4.0->0.31.00.12.0->0.31.00.16.0->0.31.00.16.0->0.29.00.15.0->0.31.00.4.0->0.31.00.23.0->0.31.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
open-telemetry/opentelemetry-rust (opentelemetry)
v0.31.0Compare Source
Released 2025-Sep-25
opentelemetry::global::set_tracer_providerto Unit to align with metrics counterpartget_allmethod toopentelemetry::propagation::Extractorto return all values of the given propagation key and provide a default implementation.v0.30.0Compare Source
Released 2025-May-23
#2821 Context
based suppression capabilities added: Added the ability to prevent recursive
telemetry generation through new context-based suppression mechanisms. This
feature helps prevent feedback loops and excessive telemetry when OpenTelemetry
components perform their own operations.
New methods added to
Context:is_telemetry_suppressed()- Checks if telemetry is suppressed in thiscontext
with_telemetry_suppressed()- Creates a new context with telemetrysuppression enabled
is_current_telemetry_suppressed()- Efficiently checks if the current thread's contexthas telemetry suppressed
enter_telemetry_suppressed_scope()- Convenience method to enter a scope where telemetry issuppressed
These methods allow SDK components, exporters, and processors to temporarily
disable telemetry generation during their internal operations, ensuring more
predictable and efficient observability pipelines.
tracingforinternal-logsfeature to remove the need of addingtracingas a dependencyv0.29.1Compare Source
Release 2025-Apr-01
WithContextatopentelemetry::trace::context::WithContext#2879 to restore backwards compatibilityWithContextandFutureExtare inopentelemetry::contextas they are independent of the trace signal. Users should prefer this path.v0.29.0Compare Source
Released 2025-Mar-21
ExportErrortrait fromopentelemetry::trace::ExportErrortoopentelemetry_sdk::export::ExportErrorTraceErrorenum fromopentelemetry::trace::TraceErrortoopentelemetry_sdk::trace::TraceErrorTraceResulttype alias fromopentelemetry::trace::TraceResulttoopentelemetry_sdk::trace::TraceResultInstrumentationScopeimplementation forPartialEqandHashfixed to include Attributes also.BaggagefromValuetoStringValueBaggageconstants to reflect latest standard (MAX_KEY_VALUE_PAIRS- 180 -> 64,MAX_BYTES_FOR_ONE_PAIR- removed) and increased insert performance see #2284.Baggage.remove()signature with.get()to take the key as a referenceBaggagecan't be retrieved from theContextdirectly anymore and needs to be accessed viacontext.baggage()with_baggage()andcurrent_with_baggage()override any existingBaggagein theContextBaggagekeys can't be empty and only allow ASCII visual chars, except"(),/:;<=>?@​[\]{}(see RFC7230, Section 3.2.6)KeyValueMetadatadoes not publicly expose its fields. This should be transparent change to the users.Contextto use a stack to properly handle out of order dropping ofContextGuard. This imposes a limit of65535nested contexts on a single thread. See #2378 and #1887.name: Option<&str>parameter to theevent_enabledmethodon the
Loggertrait. This allows implementations (SDK, processor, exporters)to leverage this additional information to determine if an event is enabled.
v0.28.0Compare Source
Released 2025-Feb-10
opentelemetry::global::shutdown_tracer_provider()Removed from this crate, should now usetracer_provider.shutdown()see #2369 for a migration example.opentelemetry::PropagationErrorstruct.v0.27.1Compare Source
Released 2024-Nov-27
v0.27.0Compare Source
Released 2024-Nov-11
LogRecord::set_trace_context; an optional method conditional on thetracefeature for setting trace context on a log record.as_anyfromAsyncInstrumenttrait and the implementing instruments:ObservableCounter,ObservableGauge, andObservableUpDownCounter#2187SyncInstrumenttrait to replace the individual synchronous instrument traits (SyncCounter,SyncGauge,SyncHistogram,SyncUpDownCounter) which are meant for SDK implementation. #2207observemethod on asynchronous instruments can only be called inside a callback. This was done by removing the implementation ofAsyncInstrumenttrait for each of the asynchronous instruments. #2210PartialOrdandOrdimplementations forKeyValue. #2215KeyValuerelated structs and enums asnon_exhaustive. #2228AnyValueenum asnon_exhaustive. #2230initmethod used to create instruments has been renamed tobuild. Also,try_init()method is removed from instrument builders. The return types ofInstrumentProvidertrait methods modified to return the instrument struct, instead ofResult. #2227Before:
Now:
Breaking change: #2220
InstrumentationLibrary::newInstrumentationLibrarytoInstrumentationScopeInstrumentationLibraryBuildertoInstrumentationScopeBuilderLoggerProvider::versioned_loggerandTracerProvider::versioned_tracerLoggerProvider::logger_builder,TracerProvider::tracer_builderandMeterProvider::versioned_meterLoggerProvider::logger_with_scope,TracerProvider::logger_with_scope,MeterProvider::meter_with_scopeglobal::meter_with_versionwithglobal::meter_with_scopeglobal::tracer_with_scopeBreaking change: replaced
InstrumentationScopepublic attributes by getters #2275Breaking change: #2260
global::set_error_handlerandglobal::handle_error.global::handle_errorusage inside the opentelemetry crates has been replaced withglobal::otel_info,otel_warn,otel_debugandotel_errormacros based on the severity of the internal logs.global::handle_errorwas to log the error usingeprintln!. With otel macros, the internal logs get emitted viatracingmacros of matching severity. Users now need to configure atracinglayer/subscriber to capture these logs.tracing::fmtlayer.Breaking change for exporter/processor authors: #2266
ExportErrortrait fromopentelemetry::ExportErrortoopentelemetry_sdk::export::ExportErroropentelemetry::trace::ExportErrorfor trace API. This would be eventually be consolidated with ExportError in the SDK.LogErrorenum fromopentelemetry::logs::LogErrortoopentelemetry_sdk::logs::LogErrorLogResulttype alias fromopentelemetry::logs::LogResulttoopentelemetry_sdk::logs::LogResultMetricErrorenum fromopentelemetry::metrics::MetricErrortoopentelemetry_sdk::metrics::MetricErrorMetricResulttype alias fromopentelemetry::metrics::MetricResulttoopentelemetry_sdk::metrics::MetricResultThese changes shouldn't directly affect the users of OpenTelemetry crate, as these constructs are used in SDK and Exporters. If you are an author of an sdk component/plug-in, like an exporter etc. please use these types from sdk. Refer CHANGELOG.md for more details, under same version section.
Breaking 2291 Rename
logs_level_enabled flagtospec_unstable_logs_enabled. Please enable this updated flag if the feature is needed. This flag will be removed once the feature is stabilized in the specifications.v0.26.0Compare Source
Released 2024-Sep-30
BREAKING Public API changes:
Removed:
Key.bool(),Key.i64(),Key.f64(),Key.string(),Key.array()#2090. These APIs were redundant as they didn't offer any additional functionality. The existingKeyValue::new()API covers all the scenarios offered by these APIs.Removed:
ObjectSafeMeterProviderandGlobalMeterProvider#2112. These APIs were unnecessary and were mainly meant for internal use.Modified:
MeterProvider.meter()andMeterProvider.versioned_meter()argument types have been updated to&'static strinstead ofimpl Into<Cow<'static, str>>>#2112. These APIs were modified to enforce the Metername,version, andschema_urlto be&'static str.Renamed:
NoopMeterCoretoNoopMeterAdded
with_boundariesAPI to allow users to provide custom bounds for Histogram instruments. #2135v0.25.0Compare Source
Before:
After:
So the custom log appenders should box these types while adding them in message body, or
attribute values. Similarly, the custom exporters should dereference these complex type values
before serializing.
Breaking :
#2015 Removed
the ability to register callbacks for Observable instruments on Meter directly.
If you were using
meter.register_callbackto provide the callback, providethem using
with_callbackmethod, while creating the Observable instrumentitself.
1715
shows the exact changes needed to make this migration. If you are starting new,
refer to the
examples
to learn how to provide Observable callbacks.
v0.24.0Compare Source
Add "metrics", "logs" to default features. With this, default feature list is
"trace", "metrics" and "logs".
When "metrics" feature is enabled,
KeyValueimplementsPartialEq,Eq,PartialOrder,Order,Hash. This is meant to be used for metricsaggregation purposes only.
Removed
Unitstruct for specifying Instrument units. Unit is treated as anopaque string. Migration: Replace
.with_unit(Unit::new("myunit"))with.with_unit("myunit").1869 Introduced the
LogRecord::set_target()method in the log bridge API.This method allows appenders to set the target/component emitting the logs.
open-telemetry/opentelemetry-rust (opentelemetry-appender-tracing)
v0.31.1Released 2025-Oct-1
tracing-opentelemetryto 0.32v0.31.0Released 2025-Sep-25
opentelemetrydependency to version 0.31.0.v0.30.1Released 2025-June-05
tracing-opentelemetryto 0.31v0.30.0Compare Source
Released 2025-May-23
opentelemetrydependency to version 0.30.0.v0.29.1Released 2025-Mar-24
tracing-opentelemetryto 0.30v0.29.0Released 2025-Mar-21
Fixes 1682.
"spec_unstable_logs_enabled" feature now do not suppress logs for other layers.
The special treatment of the "message" field has been extended when recording
string values. With this change, when a log is emitted with a field named
"message" (and string value), its value is directly assigned to the LogRecord’s
body rather than being stored as an attribute named "message". This offers a
slight performance improvement over previous.
For example, the below will now produce LogRecord with the message value
populated as LogRecord's body:
Previously, Body was only populated when the below style was used.
This style, while slightly slower, should still be used when the value is not a
simple string, but require format arguments as in the below example.
Fixes 2658
InstrumentationScope(Logger) used by the appender now uses an empty ("") named
Logger. Previously, a Logger with name and version of the crate was used.
Receivers (processors, exporters) are expected to use
LogRecord.target()asscope name. This is already done in OTLP Exporters, so this change should be
transparent to most users.
Passes event name to the
event_enabledmethod on theLogger. This allowsimplementations (SDK, processor, exporters) to leverage this additional
information to determine if an event is enabled.
u64,i128,u128andusizevalues are stored asopentelemetry::logs::AnyValue::Intwhen conversion is feasible. Otherwise stored as
opentelemetry::logs::AnyValue::String. This avoids unnecessary stringallocation when values can be represented in their original types.
Byte arrays are stored as
opentelemetry::logs::AnyValue::Bytesinsteadof string.
Errorfields are reported using attribute named "exception.message". Forexample, the below will now report an attribute named "exception.message",
instead of previously reporting the user provided attribute "error".
error!(....error = &OTelSdkError::AlreadyShutdown as &dyn std::error::Error...)perf - small perf improvement by avoiding string allocation of
targetUpdate
opentelemetrydependency version to 0.29.v0.28.1Compare Source
Released 2025-Feb-12
v0.28.0Compare Source
Released 2025-Feb-10
opentelemetrydependency version to 0.28.v0.27.0Compare Source
Released 2024-Nov-11
Update
opentelemetrydependency version to 0.27Bump MSRV to 1.70 #2179
Breaking 2291 Rename
logs_level_enabled flagtospec_unstable_logs_enabled. Please enable this updated flag if the feature is needed. This flag will be removed once the feature is stabilized in the specifications.v0.26.0Compare Source
Released 2024-Sep-30
opentelemetrydependency version to 0.26logevents emitted via thetracingpipeline using thelog-tracingcrate no longer include the target metadata as attributes. Exporters or backends that rely on this attribute should now access the target directly from theLogRecord::targetfield.v0.25.0Compare Source
opentelemetrydependency version to 0.25opentelemetrycrateon major,minor versions.
&'static strforSeverityText.v0.5.0Compare Source
1869 Utilize the
LogRecord::set_target()method to pass the tracing target to the SDK.Exporters might use the target to override the instrumentation scope, which previously contained "opentelemetry-appender-tracing".
Breaking 1928 Insert tracing event name into LogRecord::event_name instead of attributes.
Update
opentelemetrydependency version to 0.24open-telemetry/opentelemetry-rust (opentelemetry-http)
v0.31.0Released 2025-Sep-25
Extractor::get_allforHeaderExtractorHttpClientimplementation forHyperClient<C>with custom connectors beyondHttpConnector, enabling Unix Domain Socket connections and other custom transportsreqwestandreqwest-blockingfeatures to enable async and blockingreqwest HTTP clients
opentelemetrydependency to version 0.31.0.v0.30.0Compare Source
Released 2025-May-23
opentelemetrydependency to version 0.30.0.v0.29.0Compare Source
Released 2025-Mar-21
opentelemetrydependency version to 0.29.v0.28.0Compare Source
Released 2025-Feb-10
opentelemetrydependency version to 0.28.tracingcrate.HttpClient::send_byteswithbytes::Bytesrequest payload and deprecate oldHttpClient::sendfunction.v0.27.0Compare Source
Released 2024-Nov-08
Update
opentelemetrydependency version to 0.27Bump MSRV to 1.70 #2179
v0.26.0Compare Source
Released 2024-Sep-30
opentelemetrydependency version to 0.26v0.25.0Compare Source
opentelemetrydependency version to 0.25opentelemetrycrateon major,minor versions.
v0.13.0Compare Source
isahcHTTP client #1924httpv1 #1674opentelemetrydependency version to 0.24open-telemetry/opentelemetry-rust (opentelemetry-otlp)
v0.31.0Compare Source
Released 2025-Sep-25
opentelemetry-protoandopentelemetry-httpdependency version to 0.31.0gzip-httpandzstd-httpfeature flagsv0.30.0Compare Source
Released 2025-May-23
opentelemetrydependency version to 0.30opentelemetry_sdkdependency version to 0.30opentelemetry-httpdependency version to 0.30opentelemetry-protodependency version to 0.30tonicdependency version to 0.13tonictypes undertonic_types2898
MetricExporterBuilder,SpanExporterBuilder, andLogExporterBuildertypes, enabling users to directly reference and use thesebuilder types for metrics, traces, and logs exporters.
2966
v0.29.0Compare Source
Released 2025-Mar-21
Update
opentelemetrydependency version to 0.29Update
opentelemetry_sdkdependency version to 0.29Update
opentelemetry-httpdependency version to 0.29Update
opentelemetry-protodependency version to 0.29The
OTEL_EXPORTER_OTLP_TIMEOUT,OTEL_EXPORTER_OTLP_TRACES_TIMEOUT,OTEL_EXPORTER_OTLP_METRICS_TIMEOUTandOTEL_EXPORTER_OTLP_LOGS_TIMEOUTare changed from seconds to milliseconds.Fixed
.with_headers()inHttpExporterBuilderto correctly support multiple key/value pairs. #2699Fixed
#2770
partially to properly handle
shutdown()when usinghttp. (tonicstilldoes not do proper shutdown)
Breaking
ExporterBuilder's build() method now Result with
ExporterBuildErrorbeing theError variant. Previously it returned signal specific errors like
LogErrorfrom the
opentelemetry_sdk, which are no longer part of the sdk. No changesrequired if you were using unwrap/expect. If you were matching on the returning
Error enum, replace with the enum
ExporterBuildError. Unlike the previousErrorwhich contained many variants unrelated to building an exporter, thenew one returns specific variants applicable to building an exporter. Some
variants might be applicable only on select features.
Also, now unused
Errorenum is removed.Breaking
ExportConfig'stimeoutfield is now optional(Option<Duration>)Breaking Export configuration done via code is final. ENV variables cannot be used to override the code config.
Do not use code based config, if there is desire to control the settings via ENV variables.
List of ENV variables and corresponding setting being affected by this change.
OTEL_EXPORTER_OTLP_ENDPOINT->ExportConfig.endpointOTEL_EXPORTER_OTLP_TIMEOUT->ExportConfig.timeoutv0.28.0Compare Source
Released 2025-Feb-10
opentelemetrydependency version to 0.28.opentelemetry_sdkdependency version to 0.28.opentelemetry-httpdependency version to 0.28.opentelemetry-protodependency version to 0.28.LogRecord's
event_name()is now automatically populated on the newly added"event_name" field in LogRecord proto definition.
"reqwest-blocking-client" features as default, to align with the
specification.
2516
opentelemetry_otlp::metrics::MetricsClientand
MetricExporter::new(..)method. UseMetricExporter::builder()...build()to obtainMetricExporter.export timeout interval configured in below order
OTEL_EXPORTER_OTLP_TRACES_TIMEOUT,OTEL_EXPORTER_OTLP_LOGS_TIMEOUTorOTEL_EXPORTER_OTLP_TIMEOUT.OTEL_EXPORTER_OTLP_TIMEOUTenv variable.with_http().with_timeout()API method ofLogExporterBuilderandSpanExporterBuilderandMetricsExporterBuilder.v0.27.0Compare Source
Released 2024-Nov-11
Update
opentelemetrydependency version to 0.27Update
opentelemetry_sdkdependency version to 0.27Update
opentelemetry-httpdependency version to 0.27Update
opentelemetry-protodependency version to 0.27BREAKING:
(#2217) Replaced: The
MetricsExporterBuilderinterface is modified fromwith_temporality_selectortowith_temporalityexample can be seen below:Previous Signature:
Updated Signature:
(#2221) Replaced:
opentelemetry_otlp::new_pipeline().{trace,logging,metrics}()interface is now replaced with{TracerProvider,SdkMeterProvider,LoggerProvider}::builder().opentelemetry_otlp::new_exporter()interface is now replaced with{SpanExporter,MetricsExporter,LogExporter}::builder().Pull request #2221 has a detailed migration guide in the description. See example below,
and basic-otlp for more details:
Previous Signature:
Updated Signature:
Renamed
MetricsExporter->MetricExporterMetricsExporterBuilder->MetricExporterBuilder#2263
Support
hyperclient for opentelemetry-otlp. This can be enabled using flaghyper-client.Refer example: https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp/examples/basic-otlp-http
v0.26.0Compare Source
Released 2024-Sep-30
opentelemetrydependency version to 0.26opentelemetry_sdkdependency version to 0.26opentelemetry-httpdependency version to 0.26opentelemetry-protodependency version to 0.26v0.25.0Compare Source
opentelemetrydependency version to 0.25opentelemetry_sdkdependency version to 0.25opentelemetry-httpdependency version to 0.25opentelemetry-protodependency version to 0.25opentelemetrycrateon major,minor versions.
The logrecord event-name is added as an attribute only if the feature flag
populate-logs-event-nameis enabled. The name of the attribute is changed from"name" to "event.name".
1994,
2050
v0.17.0Compare Source
"trace", "metrics" and "logs".
OtlpMetricPipeline.build()no longer invoke theglobal::set_meter_provider. User who setup the pipeline must do itthemselves using
global::set_meter_provider(meter_provider.clone());.with_resourceonOtlpLogPipeline, replacing thewith_configmethod.Instead of using
.with_config(Config::default().with_resource(RESOURCE::default()))users mustnow use
.with_resource(RESOURCE::default())to configure Resource when usingOtlpLogPipeline.OtlpTracePipeline::install_simple()andOtlpTracePipeline::install_batch()would now returnTracerProviderinstead ofTracer.These methods would also no longer set the global tracer provider. It would now be the responsibility of users to set it by calling
global::set_tracer_provider(tracer_provider.clone());. Refer to the basic-otlp and basic-otlp-http examples on how to initialize OTLP Trace Exporter.previous release.
targetfromLogRecord, if target is populated.LogRecordandSpanby their resource and instrumentation scope before exporting, for better efficiency #1873.httpv1 andtonicv0.12 #1674opentelemetrydependency version to 0.24opentelemetry_sdkdependency version to 0.24opentelemetry-httpdependency version to 0.13opentelemetry-protodependency version to 0.7open-telemetry/opentelemetry-rust (opentelemetry-prometheus)
v0.29.1Compare Source
Released 2025-April-11
prometheusdependency version to 0.14protobufdependencyv0.29.0Compare Source
opentelemetrydependency version to 0.29opentelemetry_sdkdependency version to 0.29opentelemetry-semantic-conventionsdependency version to 0.29v0.28.0Compare Source
opentelemetrydependency version to 0.28opentelemetry_sdkdependency version to 0.28opentelemetry-semantic-conventionsdependency version to 0.28v0.27.0Compare Source
opentelemetrydependency version to 0.27opentelemetry_sdkdependency version to 0.27opentelemetry-semantic-conventionsdependency version to 0.27v0.17.0Compare Source
Changed
opentelemetrydependency version to 0.24opentelemetry_sdkdependency version to 0.24opentelemetry-semantic-conventionsdependency version to 0.16open-telemetry/opentelemetry-rust (opentelemetry-semantic-conventions)
v0.31.0Compare Source
Released 2025-Sep-25
v0.30.0Compare Source
Released 2025-May-23
v0.29.0Compare Source
Released 2025-Mar-21
v0.28.0Compare Source
Released 2025-Feb-10
v0.27.0Compare Source
Released 2024-Nov-11
v0.26.0Compare Source
Released 2024-Sep-30
Changed
the semantic conventions.
semconv_experimentalto enable experimental semantic conventions.This feature is disabled by default.
v0.25.0Compare Source
Changed
opentelemetrycrateon major,minor versions.
#2000
v0.16.0Compare Source
Changed
opentelemetry_semantic_conventions::traceandopentelemetry_semantic_conventions::resourceintoopentelemetry_semantic_conventions::attribute(which now contains all semantic attributes).traceandresourcenow only contain references to attributes which fall under their respective category.Added
opentelemetry_semantic_conventions::metricto store metric semantic conventions.open-telemetry/opentelemetry-rust (opentelemetry-stdout)
v0.31.0Compare Source
Released 2025-Sep-25
opentelemetrydependency to version 0.31.0.opentelemetry_sdkdependency to version 0.31.0.v0.30.0Compare Source
Released 2025-May-23
opentelemetrydependency to version 0.30.0.opentelemetry_sdkdependency to version 0.30.0.v0.29.0Compare Source
Released 2025-Mar-21
opentelemetrydependency version to 0.29.opentelemetry_sdkdependency version to 0.29.v0.28.0Compare Source
Released 2025-Feb-10
opentelemetrydependency version to 0.28.opentelemetry_sdkdependency version to 0.28.StartTimeandEndTimeis printed on aggregation (Sum, Gauge, Histogram, ExpoHistogram) with 2 tabs, previously it was on aggregation data point, with 3 tabs, see #2377 and #2411.ordered-float.LogRecord's
event_name()is now automatically displayed.v0.27.0Compare Source
Released 2024-Nov-11
Update
opentelemetrydependency version to 0.27Update
opentelemetry_sdkdependency version to 0.27Bump MSRV to 1.70 #2179
BREAKING
MetricsExporterBuilderinterface is modified fromwith_temporality_selectortowith_temporalityexample can be seen below:Previous Signature:
MetricsExporter->MetricExporterMetricsExporterBuilder->MetricExporterBuilderv0.26.0Compare Source
Released 2024-Sep-30
opentelemetrydependency version to 0.26opentelemetry_sdkdependency version to 0.26v0.25.0Compare Source
opentelemetrydependency version to 0.25opentelemetry_sdkdependency version to 0.25opentelemetrycrateon major,minor versions.
key
nameonly if the feature flagpopulate-logs-event-nameis enabled.v0.5.0Compare Source
opentelemetrydependency version to 0.24opentelemetry_sdkdependency version to 0.24open-telemetry/opentelemetry-rust (opentelemetry_sdk)
[`
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.