fix(deps): update cargo tracing packages - #10028
renovate[bot] wants to merge 1 commit into
Conversation
✅ Docs preview readyThe preview is ready to be viewed. View the preview File Changes 0 new, 1 changed, 0 removedBuild ID: b883be1ee1ef0320072144d7 URL: https://www.apollographql.com/docs/deploy-preview/b883be1ee1ef0320072144d7 ✅ AI Style Review — No Changes DetectedNo MDX files were changed in this pull request. Review Log: View detailed log
|
|
@renovate[bot], please consider creating a changeset entry in |
4cd695a to
62ba7f8
Compare
79b5e07 to
eec3c2e
Compare
eec3c2e to
f1d71e5
Compare
371ec95 to
c87d11e
Compare
09cdb44 to
00c1faa
Compare
goto-bus-stop
left a comment
There was a problem hiding this comment.
We will not be doing this update on 2.x. The PR should automatically close when we switch over our default branch to dev-v3.x.
|
This PR contains the following updates:
0.31→0.330.31→0.330.19→0.210.19→0.200.31→0.330.31→0.320.31→0.330.31→0.330.31→0.330.31→0.330.31→0.330.31→0.330.32→0.34Release Notes
open-telemetry/opentelemetry-rust (opentelemetry)
v0.33.0Compare Source
Released 2026-Sep-18
TraceStateaccepting more than the 32 list-members the W3C trace-contextspecification allows.
from_str,from_key_valueandinsertnow keep at most32, dropping members from the end of the list as the specification prescribes, so
neither a parsed nor a locally built
tracestatecan exceed the limit.ContextObservercan be registered viaGlobalContextObserver::setto benotified of context transitions through the
on_context_enterandon_context_exitcallbacks. This feature is primarily intended to publish adifferent view of the current context (the
ObserverContextView) throughalternative channels that let external readers (e.g. an eBPF profiler) track
the current context. See the associated
OTEP.
Gated behind the
experimental_context_observerfeature flag.otel_info!,otel_warn!,otel_debug!, andotel_error!macros now accept quoted-key fields(e.g.
"otel.component.type" = "value") for dotted attribute names.BoundGauge<T>andBoundUpDownCounter<T>types (and thecorresponding
Gauge::bind()/UpDownCounter::bind()methods), completingthe experimental bound-instrument API across all sync instruments
(
Counter,UpDownCounter,Histogram,Gauge). Gated behind theexperimental_metrics_bound_instrumentsfeature flag.v0.32.0Compare Source
Released 2026-May-08
BoundCounter<T>andBoundHistogram<T>types that cache resolvedaggregator references for a fixed attribute set. Created via
Counter::bind()and
Histogram::bind(), bound instruments bypass per-call attribute lookup,providing significant performance improvements for hot paths where the same
attributes are used repeatedly. Both types implement
Cloneso a single boundstate can be shared across threads or modules without re-binding. Also adds
the
SyncInstrument::bind()trait method andBoundSyncInstrument<T>traitfor SDK implementors; the trait method has a no-op default so custom
SyncInstrumentimpls degrade gracefully without panicking. Gated behind theexperimental_metrics_bound_instrumentsfeature flag.reservemethod toopentelemetry::propagation::Injectorto hint at the number of elements that will be added to avoid multiple resize operations of the underlying data structure. Has an empty default implementation.SpanBuilder#3227:trace_id,span_id,end_time,status,sampling_resultwith_trace_id,with_span_id,with_end_time,with_status,with_sampling_result#[must_use]attribute toopentelemetry::metrics::AsyncInstrumentBuilderto add compile time warning when.build()is not called on observable instrument builders, preventing silent failures where callbacks are never registered and metrics are never reported.opentelemetry::tracetoopentelemetry_sdk::trace#3277:SamplingDecision,SamplingResultopentelemetry_sdk::traceinstead.backing specification) is now stable and is enabled by default.
3278
tracingevents emitted via theinternal-logsfeatureContext::current()fromDropimplementations triggered byContextGuardcleanup (#3262).open-telemetry/opentelemetry-rust-contrib (opentelemetry-aws)
v0.21.0Compare Source
Released 2026-Sep-21
Added
cloud.account.idfrom symlink created by the OTel Lambda Extension in the Lambda resource detectorXrayExtractorhas been added to extract the X-Ray Trace ID from thex-amzn-trace-idHTTP header or the_X_AMZN_TRACE_IDenvironment variable as a fallback.MissingSampledBehaviorenum andXrayPropagator::with_missing_sampled_behavior()to configure behavior when theSampledfield is absent from the trace headerxray-exporterfeature) for converting OpenTelemetry spans into X-Ray segment documents. IncludesXrayExporter,SegmentTranslator,SegmentDocumentExportertrait,XrayDaemonClient(xray-daemon-clientfeature),StdoutClient(xray-stdout-clientfeature), and optional subsegment nesting (xray-subsegment-nestingfeature).Ec2ResourceDetector(detector-aws-ec2feature)EcsResourceDetector(detector-aws-ecsfeature)EksResourceDetector(detector-aws-eksfeature)Changed
v0.20.0Released 2026-May-13
Changed
open-telemetry/opentelemetry-rust-contrib (opentelemetry-datadog)
v0.20.1: opentelemetry-datadog 0.20.1Compare Source
Deprecation release. This marks opentelemetry-datadog as deprecated on crates.io. No functional code changes.
DEPRECATED: This crate is deprecated and will be removed from this repository in a future release (#674). Datadog ships a first-party integration, dd-trace-rs, built on top of opentelemetry_sdk. New users should adopt dd-trace-rs; existing users are encouraged to migrate. See #609 for context.
v0.20.0reqwestfrom 0.12 to 0.13 (required byopentelemetry-http0.32).DatadogPipelineBuilder::build_exporter,install_simple, andinstall_batchnow returnResult<_, opentelemetry_datadog::Error>(previouslyopentelemetry_sdk::trace::TraceError, which was removed upstream in 0.32).See CHANGELOG for full history.
open-telemetry/opentelemetry-rust (opentelemetry-http)
v0.33.0Compare Source
Released 2026-Sep-18
Apply
HyperClient's configured timeout to the complete response body, notonly request dispatch and response headers.
Breaking Sealed the
ResponseExttrait so it can no longer be implemented bydownstream crates. The trait provides a blanket implementation for all
http::Response<T>types, so calling code is unaffected -- onlyimpl ResponseExt for MyTypewill stop compiling. If you have a customimplementation, remove it and rely on the blanket impl instead.
Breaking Removed the deprecated
HttpClient::sendmethod, which acceptedRequest<Vec<u8>>. Implement and callHttpClient::send_bytesinstead,converting existing requests with
request.map(Bytes::from)when needed.Breaking: Remove
opentelemetry_http::hyper::Body, which is no longer usedby any public constructor. Use
http_body_util::Full<Bytes>for custom Hyperclient request bodies.
Limit HTTP response body reads to 4 MiB in built-in HTTP clients (
reqwestasync/blocking andhyper). Reads exceeding the limit are aborted to prevent unbounded memory allocation and return the new opaqueResponseBodyTooLargeerror. Custom HTTP clients can construct this error withResponseBodyTooLarge::new()orResponseBodyTooLarge::default().Breaking Built-in reqwest and hyper clients now return HTTP 4xx and 5xx
responses as
Ok(Response<Bytes>)instead ofErr(HttpError). Here,Okmeans that the transport completed the request and received an HTTP response;
it does not imply a successful HTTP status. This preserves the response status
and headers for exporter retry classification. Transport failures and timeouts
continue to return
Err.If your code relied on
send_bytesreturningErrfor non-success statuses,call
ResponseExt::error_for_status()on the response instead.Breaking Removed
reqwest-rustls-webpki-rootsfeature. Thewebpki-rootscargo feature wasremoved from
reqwestin v0.13.0. Usereqwest-rustlsinstead, which now correctly enablesreqwest/rustls(platform native trust roots). To use Mozilla's embedded CA bundle, construct acustom
reqwest::Clientwith arustls::ClientConfigcontainingrustls::RootCertStore::from_iter(webpki_roots::TLS_SERVER_ROOTS.iter().cloned()), then supply itto the exporter with
with_http_client().v0.32.0Compare Source
Released 2026-May-08
reqwest's crypto backend has changed fromringtoaws-lc-sys.open-telemetry/opentelemetry-rust (opentelemetry-jaeger-propagator)
v0.32.0Compare Source
open-telemetry/opentelemetry-rust (opentelemetry-otlp)
v0.33.0Compare Source
Released 2026-Sep-18
Exporter builder usage and environment configuration are unchanged.
Breaking for callers parsing compression strings:
Compression::from_str(including
.parse::<Compression>()) now returns the opaqueParseConfigErrorinstead of
ExporterBuildError. Update explicit result types and error handlingthat expects
ExporterBuildError::UnsupportedCompressionAlgorithm. The new errorimplements
Displayandstd::error::Error; its message is for diagnostics.Accepted strings and parsing behavior are unchanged.
Interpret protocol, compression, and metrics temporality environment values
case-insensitively. Treat empty values as unset, and warn and ignore invalid,
non-Unicode, or feature-unavailable enum values so resolution can continue
to the next environment variable or default. Compression
noneexplicitlydisables compression, including when a generic compression value is set.
Programmatic configuration remains strict.
Retry
policy uses exponential backoff and jitter with up to 3 retries (4 attempts
total). Use
.with_retry_policy(RetryPolicy::disabled())to disable retries,or provide a custom
RetryPolicyto change the behavior.Cargo.tomlenablesexperimental-grpc-retryorexperimental-http-retry, remove those feature flags. No migration action isrequired for users who did not enable them.
#3621
retryandretry_classificationmodules crate-private,removing their retry engine, error type, and protocol classifiers from the
public API.
RetryPolicyremains available from the crate root with privatefields and fluent configuration methods. Replace imports from
opentelemetry_otlp::retrywithopentelemetry_otlp::RetryPolicy, and replacestruct literals with its
with_*methods.#3672
Retry fixes
The following fixes apply to retry behavior that was experimental before this
release:
specification. The exporter now also honors
Retry-Afteron 503 responses.RetryInfodelays returned withUnavailableresponses.RetryInfoandRetry-Afterdelays when subsequent export attempts fail.Other changes
Exporter compression configuration and behavior are unchanged; users of
.with_compression(...)need no changes. Breaking only for direct conversioncallers: removed
TryFrom<Compression>fortonic::codec::CompressionEncoding. Code explicitly converting between theseenums must map the variants itself.
Return an exporter build error when construction of a built-in reqwest HTTP
client fails instead of silently falling back to a client without the
exporter-configured timeout. Failure to spawn the blocking client's setup
thread, or a panic in that thread, is also returned instead of panicking.
Breaking Removed
Defaultfrom theTonicExporterBuilderSetandHttpExporterBuilderSettypestate markers. This also removesDefaultfromthe transport-selected exporter builders (e.g.
SpanExporterBuilder<TonicExporterBuilderSet>). Use the intended builderflow instead:
Also removed the unused
#[doc(hidden)]NoExporterConfigtype.Breaking Mark
ProtocolandCompressionas non-exhaustive so new OTLPprotocols, encodings, and compression algorithms can be added without
breaking downstream users. External exhaustive matches must add a wildcard
arm. Constructing existing variants and passing them to exporter builders is
unchanged.
Breaking Make
Protocol::from_env()crate-private. Exporter buildersalready resolve
OTEL_EXPORTER_OTLP_PROTOCOLwhen built; applications thatneed to inspect the raw environment setting should read the variable
directly.
Breaking Remove
OTEL_EXPORTER_OTLP_ENDPOINT_DEFAULT, which always heldthe HTTP default (
http://localhost:4318) despite gRPC usinghttp://localhost:4317. Omit.with_endpoint(...)to let the selectedtransport use its correct default, or provide the appropriate URL explicitly.
#3690
Breaking Restrict
MetricExporterBuilder::with_http()andwith_tonic()to builders where no transport has been selected, matching the span and log
exporter builders. Select a transport once;
with_temporality()remainsavailable before or after transport selection.
Breaking Remove the public
HttpExporterBuilderandTonicExporterBuildertransport-first APIs. Configure transports through thesignal builders instead:
HttpExporterBuilder::default()with the corresponding signalexporter builder followed by
.with_http(), then replace.build_span_exporter()or.build_log_exporter()with.build()..build_metrics_exporter(temporality)with.with_temporality(temporality).build().TonicExporterBuilder::default()with the corresponding signalexporter builder followed by
.with_tonic().Transport-specific configuration methods remain available after
.with_http()or.with_tonic().Breaking Removed the deprecated
tlsfeature alias. Replacetlswithtls-ring, or selecttls-aws-lcortls-provider-agnosticexplicitly.Exporter builder usage is unchanged. Breaking for code matching or constructing
removed error variants: Simplified
ExporterBuildErrorto the exhaustiveInvalidConfiguration(String)andInternalFailure(String)variants.The enum is no longer marked
#[non_exhaustive].Configuration errors such as invalid endpoints, missing HTTP clients,
transport/protocol mismatches, and missing compression features now use
InvalidConfiguration. Replace implementation-specific, non-exhaustivematches such as:
with an exhaustive match over the two stable categories:
Code that propagates build errors with
?without inspecting their variantsneeds no changes.
Tonic endpoint errors identify the originating environment variable when
validating the URI or reporting endpoint-related TLS setup failures.
#3691
Return an exporter build error for invalid OTLP/HTTP endpoint environment
variables instead of silently falling back to another endpoint or localhost.
Empty endpoint environment variables are now treated as unset.
Return an exporter build error for invalid OTLP/gRPC endpoint environment
variables instead of silently falling back to another endpoint or localhost.
Empty endpoint environment variables are now treated as unset.
Add
WithHttpConfig::with_max_request_body_sizeto configure the HTTP requestbody limit. OTLP/HTTP request bodies are now limited to 64 MiB by default, before and
after compression; oversized requests are discarded without being sent or
retried.
Breaking Seal
WithExportConfig,WithHttpConfig, andWithTonicConfig. These traits remain public for calling configurationmethods on OTLP builders, but can no longer be implemented for external
types.
Add support for INSECURE environment variables for gRPC (env-var-only, no builder method, per spec):
OTEL_EXPORTER_OTLP_INSECURE(generic),OTEL_EXPORTER_OTLP_TRACES_INSECURE,OTEL_EXPORTER_OTLP_METRICS_INSECURE,OTEL_EXPORTER_OTLP_LOGS_INSECURE.Per the spec, these only apply to gRPC connections. When an endpoint has no explicit scheme,
INSECURE=trueuseshttp://,INSECURE=false(default) useshttps://with auto-TLS.Breaking: Schemeless endpoints (e.g.,
collector.example.com:4317) now default tohttps://instead of being passed as-is. Set
OTEL_EXPORTER_OTLP_INSECURE=truefor plaintext connections.Endpoints with an explicit scheme (e.g.,
http://,https://,unix://) are unaffected.#774
#984
Breaking Removed the
serializefeature flag and its implicitserdedependency. This feature gated
Serialize/Deserializederives onProtocolandCompression, but the derived representations were incorrect(Rust variant names instead of spec values) and the feature only covered
these two enums. The equivalent feature was removed from the core
opentelemetrycrate in 2022.Migration: Remove
serialize(andserde, if listed) from your featurelist. If these values are part of serialisable app config, define a local
config enum or wrapper and convert it to
ProtocolorCompressionwhenbuilding the exporter.
#3711
Breaking Removed
reqwest-rustls-webpki-rootsfeature. Thewebpki-rootscargo feature wasremoved from
reqwestin v0.13.0, making this feature broken for anyone resolvingreqwest >= 0.13.0.Migration: Use
reqwest-rustlsinstead (now correctly usesreqwest/rustlswith platform nativetrust roots). If you specifically need Mozilla's embedded CA bundle, construct a custom client:
Allow to provide http client wrapped in Arc when configuring HTTP exporter. 3468
v0.32.0Compare Source
Released 2026-May-08
tls-provider-agnosticfeature flag for environments that require a custom crypto backend (e.g., OpenSSL for FIPS compliance). Enables TLS code paths without bundlingringoraws-lc-rs.build()directly onSpanExporterBuilder,MetricExporterBuilder, andLogExporterBuilder(before selecting a transport), which auto-selects the transport based on the
OTEL_EXPORTER_OTLP_PROTOCOLenvironment variable or enabled features.#3394
ExportConfig,HasExportConfig,with_export_config(),HasTonicConfig,HasHttpConfig,TonicConfig, andHttpConfigfrom public API.Use the public
WithExportConfig,WithTonicConfig, andWithHttpConfigtrait methods instead, which remain unchanged.an
https://endpoint is configured but no TLS feature (tls-ringortls-aws-lc) is enabled, instead ofsilently sending unencrypted traffic. When a TLS feature is enabled and an
https://endpoint is used withoutan explicit
.with_tls_config(), a defaultClientTlsConfigis automatically applied.#3182
exporter errors no longer include potentially sensitive server responses
(e.g., authentication tokens echoed back). Error messages returned to SDK
processors contain only the gRPC status code or HTTP status code. Full
details are logged at DEBUG level only.
#3021
grpc-tonicOTLP export fails due to a local misconfiguration. When the returned
tonic::Statuswraps a local transport error (invalid URL, connect failure,DNS), its source chain (e.g.,
"transport error: invalid URI") is appendedto the returned error so SDK processors surface it at ERROR without
requiring DEBUG logging. Server-returned gRPC status messages remain
DEBUG-only to preserve the auth-token leak safeguards from
#3021.
#3331
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL,OTEL_EXPORTER_OTLP_METRICS_PROTOCOL,OTEL_EXPORTER_OTLP_LOGS_PROTOCOL. These allow configuring different transport protocolsper signal type. Signal-specific vars take precedence over generic
OTEL_EXPORTER_OTLP_PROTOCOL.The auto-select
build()method on each exporter builder now respects the full priority chain:signal-specific env var > generic env var > feature-based default.
InvalidConfigwhen gRPC protocolis requested; gRPC transport returns
InvalidConfigwhen an HTTP protocol is requested.Protocol::default()no longer consults theOTEL_EXPORTER_OTLP_PROTOCOLenvironment variable. It now returns only the feature-based default (http-json > http-proto >
grpc-tonic). Protocol resolution from environment variables is handled internally by the
exporter builders. Users who relied on
Protocol::default()to read env vars should useProtocol::from_env()instead.OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCEenvironment variableto configure metrics temporality. Accepted values:
cumulative(default),delta,lowmemory(case-insensitive). Programmatic.with_temporality()overrides the env var.NoHttpClienterror when multiple HTTP client features are enabled by using priority-based selection (reqwest-client>hyper-client>reqwest-blocking-client). #2994internal-logsfeature inopentelemetry-otlpto reduce unnecessary dependencies3191shutdown_with_timeout()when usinggrpc-tonic.tlsfeature in favor of explicittls-ringandtls-aws-lcfeatures.Migration: Replace
tlswithtls-ring(ortls-aws-lc). Users oftls-rootsortls-webpki-rootsmust now also enable one of these.open-telemetry/opentelemetry-rust (opentelemetry-prometheus)
v0.33.0Compare Source
Released 2026-Sep-18
without_scope_infowithscope_info_enabledto configure Prometheus instrumentation scope labels, inverting the option from disabling scope info to enabling it. Before this change, the exporter emitted anotel_scope_infometric and only addedotel_scope_name/otel_scope_versionlabels to metric points. Now scope info is enabled by default on metric points withotel_scope_name,otel_scope_version,otel_scope_schema_url, and scope attributes prefixed withotel_scope_; settingscope_info_enabled(false)suppresses those labels. #3503v0.32.0Compare Source
Released 2026-May-08
opentelemetry-prometheusand remove stale discontinuation notices. #3288prometheusdependency requirement.open-telemetry/opentelemetry-rust (opentelemetry-proto)
v0.33.0Compare Source
Released 2026-Sep-18
Bug fix: Keep OTLP logs with the same target but different scope versions,
attributes, or schema URLs in separate groups. Target still overrides the scope
name. Export each scope's schema URL instead of the resource's schema URL.
Bug fix: Accept empty
AnyValueobjects in OTLP/JSON payloads instead of rejecting the entire request.Bug fix: Accept omitted resource fields in empty OTLP/JSON collector requests.
Bug fix: Accept
nullfields in OTLP/JSONAnyValueobjects as unset.Bug fix: Accept OTLP/JSON partial-success responses when protobuf default fields are omitted.
Performance:
group_spans_by_resource_and_scopeno longer clones everySpanData. The batch is owned by the function, so spans are now moved into the proto conversion instead of being grouped by reference and cloned. This cuts the transform time of a 512-span batch roughly in half. (#3652)v0.32.0Compare Source
Released 2026-May-08
schemarsdependency to version 1.0.0.InstrumentationScopeversion and attributes are now preserved when logs have a target set. Previously, setting a log target would discard the scope's version and attributes. (#3276)open-telemetry/opentelemetry-rust (opentelemetry-semantic-conventions)
v0.33.0Compare Source
Released 2026-Sep-18
v0.32.1Compare Source
Released 2026-Jun-26
v0.32.0Compare Source
Released 2026-May-08
open-telemetry/opentelemetry-rust (opentelemetry-stdout)
v0.33.0Compare Source
Released 2026-Sep-18
v0.32.0Compare Source
Released 2026-May-08
open-telemetry/opentelemetry-rust (opentelemetry-zipkin)
v0.33.0Compare Source
Released 2026-Sep-18
v0.32.0Compare Source
Released 2026-May-08
opentelemetry-zipkincrate is now deprecated. Use the OTLP exporter (opentelemetry-otlp) instead. Zipkin supports native OTLP ingestion. This crate will be removed in a future release.reqwest's crypto backend has changed fromringtoaws-lc-sys.tokio-rs/tracing-opentelemetry (tracing-opentelemetry)
v0.34.0Other
v0.33.0Compare Source
Fixed
Other
Configuration
📅 Schedule: (UTC)
🚦 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.