Skip to content

fix(deps): update cargo tracing packages - #10028

Open
renovate[bot] wants to merge 1 commit into
devfrom
renovate/cargo-tracing-packages
Open

renovate[bot] wants to merge 1 commit into
devfrom
renovate/cargo-tracing-packages

Conversation

@renovate

@renovate renovate Bot commented Aug 19, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
opentelemetry (source) dev-dependencies minor 0.31 → 0.33
opentelemetry (source) dependencies minor 0.31 → 0.33
opentelemetry-aws (source) dependencies minor 0.19 → 0.21
opentelemetry-datadog (source) dev-dependencies minor 0.19 → 0.20
opentelemetry-http (source) dependencies minor 0.31 → 0.33
opentelemetry-jaeger-propagator (source) dependencies minor 0.31 → 0.32
opentelemetry-otlp (source) dependencies minor 0.31 → 0.33
opentelemetry-prometheus (source) dependencies minor 0.31 → 0.33
opentelemetry-proto (source) dev-dependencies minor 0.31 → 0.33
opentelemetry-semantic-conventions (source) dependencies minor 0.31 → 0.33
opentelemetry-stdout (source) dev-dependencies minor 0.31 → 0.33
opentelemetry-zipkin (source) dependencies minor 0.31 → 0.33
tracing-opentelemetry dev-dependencies minor 0.32 → 0.34

Release Notes

open-telemetry/opentelemetry-rust (opentelemetry)

v0.33.0

Compare Source

Released 2026-Sep-18

  • Fix TraceState accepting more than the 32 list-members the W3C trace-context
    specification allows. from_str, from_key_value and insert now keep at most
    32, dropping members from the end of the list as the specification prescribes, so
    neither a parsed nor a locally built tracestate can exceed the limit.
  • Added experimental support for a global context event observer. A
    ContextObserver can be registered via GlobalContextObserver::set to be
    notified of context transitions through the on_context_enter and
    on_context_exit callbacks. This feature is primarily intended to publish a
    different view of the current context (the ObserverContextView) through
    alternative channels that let external readers (e.g. an eBPF profiler) track
    the current context. See the associated
    OTEP.
    Gated behind the experimental_context_observer feature flag.
  • otel_info!, otel_warn!, otel_debug!, and otel_error! macros now accept quoted-key fields
    (e.g. "otel.component.type" = "value") for dotted attribute names.
  • Added BoundGauge<T> and BoundUpDownCounter<T> types (and the
    corresponding Gauge::bind() / UpDownCounter::bind() methods), completing
    the experimental bound-instrument API across all sync instruments
    (Counter, UpDownCounter, Histogram, Gauge). Gated behind the
    experimental_metrics_bound_instruments feature flag.

v0.32.0

Compare Source

Released 2026-May-08

  • Added BoundCounter<T> and BoundHistogram<T> types that cache resolved
    aggregator 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 Clone so a single bound
    state can be shared across threads or modules without re-binding. Also adds
    the SyncInstrument::bind() trait method and BoundSyncInstrument<T> trait
    for SDK implementors; the trait method has a no-op default so custom
    SyncInstrument impls degrade gracefully without panicking. Gated behind the
    experimental_metrics_bound_instruments feature flag.
  • Add reserve method to opentelemetry::propagation::Injector to 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.
  • Breaking Removed the following public fields and methods from the SpanBuilder #​3227:
    • trace_id, span_id, end_time, status, sampling_result
    • with_trace_id, with_span_id, with_end_time, with_status, with_sampling_result
  • Added #[must_use] attribute to opentelemetry::metrics::AsyncInstrumentBuilder to 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.
  • Breaking Moved the following SDK sampling types from opentelemetry::trace to opentelemetry_sdk::trace #​3277:
    • SamplingDecision, SamplingResult
    • These types are SDK implementation details and should be imported from opentelemetry_sdk::trace instead.
  • "spec_unstable_logs_enabled" feature flag is removed. The capability (and the
    backing specification) is now stable and is enabled by default.
    3278
  • Remove the empty "message" field from tracing events emitted via the internal-logs feature
  • Fix panic when calling Context::current() from Drop implementations triggered by ContextGuard cleanup (#​3262).
open-telemetry/opentelemetry-rust-contrib (opentelemetry-aws)

v0.21.0

Compare Source

Released 2026-Sep-21

Added
  • Read cloud.account.id from symlink created by the OTel Lambda Extension in the Lambda resource detector
  • XrayExtractor has been added to extract the X-Ray Trace ID from the x-amzn-trace-id HTTP header or the _X_AMZN_TRACE_ID environment variable as a fallback.
  • MissingSampledBehavior enum and XrayPropagator::with_missing_sampled_behavior() to configure behavior when the Sampled field is absent from the trace header
  • AWS X-Ray span exporter (xray-exporter feature) for converting OpenTelemetry spans into X-Ray segment documents. Includes XrayExporter, SegmentTranslator, SegmentDocumentExporter trait, XrayDaemonClient (xray-daemon-client feature), StdoutClient (xray-stdout-client feature), and optional subsegment nesting (xray-subsegment-nesting feature).
  • Ec2ResourceDetector (detector-aws-ec2 feature)
  • EcsResourceDetector (detector-aws-ecs feature)
  • EksResourceDetector (detector-aws-eks feature)
Changed
  • Bump OpenTelemetry dependencies to 0.33.
  • the Lambda detector now add "cloud.platform = aws_lambda" and no longer set empty values in case of errors or missing environment variables

v0.20.0

Released 2026-May-13

Changed
  • Bump opentelemetry and opentelemetry_sdk versions to 0.32.0
open-telemetry/opentelemetry-rust-contrib (opentelemetry-datadog)

v0.20.1: opentelemetry-datadog 0.20.1

Compare 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.0

  • Bump opentelemetry and opentelemetry_sdk versions to 0.32
  • Bump opentelemetry-http and opentelemetry-semantic-conventions versions to 0.32
  • Bump reqwest from 0.12 to 0.13 (required by opentelemetry-http 0.32).
  • Breaking DatadogPipelineBuilder::build_exporter, install_simple, and install_batch now return Result<_, opentelemetry_datadog::Error> (previously opentelemetry_sdk::trace::TraceError, which was removed upstream in 0.32).

See CHANGELOG for full history.

open-telemetry/opentelemetry-rust (opentelemetry-http)

v0.33.0

Compare Source

Released 2026-Sep-18

  • Apply HyperClient's configured timeout to the complete response body, not
    only request dispatch and response headers.

  • Breaking Sealed the ResponseExt trait so it can no longer be implemented by
    downstream crates. The trait provides a blanket implementation for all
    http::Response<T> types, so calling code is unaffected -- only
    impl ResponseExt for MyType will stop compiling. If you have a custom
    implementation, remove it and rely on the blanket impl instead.

  • Breaking Removed the deprecated HttpClient::send method, which accepted
    Request<Vec<u8>>. Implement and call HttpClient::send_bytes instead,
    converting existing requests with request.map(Bytes::from) when needed.

  • Breaking: Remove opentelemetry_http::hyper::Body, which is no longer used
    by any public constructor. Use http_body_util::Full<Bytes> for custom Hyper
    client request bodies.

  • Limit HTTP response body reads to 4 MiB in built-in HTTP clients (reqwest async/blocking and hyper). Reads exceeding the limit are aborted to prevent unbounded memory allocation and return the new opaque ResponseBodyTooLarge error. Custom HTTP clients can construct this error with ResponseBodyTooLarge::new() or ResponseBodyTooLarge::default().

  • Breaking Built-in reqwest and hyper clients now return HTTP 4xx and 5xx
    responses as Ok(Response<Bytes>) instead of Err(HttpError). Here, Ok
    means 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_bytes returning Err for non-success statuses,
    call ResponseExt::error_for_status() on the response instead.

  • Breaking Removed reqwest-rustls-webpki-roots feature. The webpki-roots cargo feature was
    removed from reqwest in v0.13.0. Use reqwest-rustls instead, which now correctly enables
    reqwest/rustls (platform native trust roots). To use Mozilla's embedded CA bundle, construct a
    custom reqwest::Client with a rustls::ClientConfig containing
    rustls::RootCertStore::from_iter(webpki_roots::TLS_SERVER_ROOTS.iter().cloned()), then supply it
    to the exporter with with_http_client().

v0.32.0

Compare Source

Released 2026-May-08

  • reqwest's crypto backend has changed from ring to aws-lc-sys.
open-telemetry/opentelemetry-rust (opentelemetry-jaeger-propagator)

v0.32.0

Compare Source

open-telemetry/opentelemetry-rust (opentelemetry-otlp)

v0.33.0

Compare 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 opaque ParseConfigError
    instead of ExporterBuildError. Update explicit result types and error handling
    that expects ExporterBuildError::UnsupportedCompressionAlgorithm. The new error
    implements Display and std::error::Error; its message is for diagnostics.
    Accepted strings and parsing behavior are unchanged.

    // Before:
    let result: Result<Compression, ExporterBuildError> = value.parse();
    
    // After:
    let result: Result<Compression, ParseConfigError> = value.parse();
    if let Err(error) = result {
        eprintln!("invalid compression configuration: {error}");
    }
  • 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 none explicitly
    disables compression, including when a generic compression value is set.
    Programmatic configuration remains strict.

Retry
  • Retries are now enabled by default for OTLP/HTTP and OTLP/gRPC. The default
    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 RetryPolicy to change the behavior.
  • Migration for users of the experimental retry features: If your
    Cargo.toml enables experimental-grpc-retry or
    experimental-http-retry, remove those feature flags. No migration action is
    required for users who did not enable them.
    #​3621
  • Breaking Make the retry and retry_classification modules crate-private,
    removing their retry engine, error type, and protocol classifiers from the
    public API. RetryPolicy remains available from the crate root with private
    fields and fluent configuration methods. Replace imports from
    opentelemetry_otlp::retry with opentelemetry_otlp::RetryPolicy, and replace
    struct literals with its with_* methods.
    #​3672
Retry fixes

The following fixes apply to retry behavior that was experimental before this
release:

  • Retry only HTTP status codes 429, 502, 503, and 504, as required by the OTLP
    specification. The exporter now also honors Retry-After on 503 responses.
  • Honor positive gRPC RetryInfo delays returned with Unavailable responses.
  • Continue exponential backoff from server-provided RetryInfo and
    Retry-After delays 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 conversion
    callers:
    removed TryFrom<Compression> for
    tonic::codec::CompressionEncoding. Code explicitly converting between these
    enums 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 Default from the TonicExporterBuilderSet and
    HttpExporterBuilderSet typestate markers. This also removes Default from
    the transport-selected exporter builders (e.g.
    SpanExporterBuilder<TonicExporterBuilderSet>). Use the intended builder
    flow instead:

    // Before (no longer compiles):
    let exporter = SpanExporterBuilder::<TonicExporterBuilderSet>::default().build()?;
    
    // After (use the builder entry point):
    let exporter = SpanExporter::builder().with_tonic().build()?;

    Also removed the unused #[doc(hidden)] NoExporterConfig type.

  • Breaking Mark Protocol and Compression as non-exhaustive so new OTLP
    protocols, 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.

    let protocol_name = match protocol {
        Protocol::Grpc => "grpc",
        Protocol::HttpBinary => "http/protobuf",
        Protocol::HttpJson => "http/json",
        _ => "unknown", // Required because Protocol is non-exhaustive.
    };
  • Breaking Make Protocol::from_env() crate-private. Exporter builders
    already resolve OTEL_EXPORTER_OTLP_PROTOCOL when built; applications that
    need to inspect the raw environment setting should read the variable
    directly.

  • Breaking Remove OTEL_EXPORTER_OTLP_ENDPOINT_DEFAULT, which always held
    the HTTP default (http://localhost:4318) despite gRPC using
    http://localhost:4317. Omit .with_endpoint(...) to let the selected
    transport use its correct default, or provide the appropriate URL explicitly.
    #​3690

  • Breaking Restrict MetricExporterBuilder::with_http() and with_tonic()
    to builders where no transport has been selected, matching the span and log
    exporter builders. Select a transport once; with_temporality() remains
    available before or after transport selection.

  • Breaking Remove the public HttpExporterBuilder and
    TonicExporterBuilder transport-first APIs. Configure transports through the
    signal builders instead:

    • Replace HttpExporterBuilder::default() with the corresponding signal
      exporter builder followed by .with_http(), then replace
      .build_span_exporter() or .build_log_exporter() with .build().
    • Replace .build_metrics_exporter(temporality) with
      .with_temporality(temporality).build().
    • Replace TonicExporterBuilder::default() with the corresponding signal
      exporter builder followed by .with_tonic().
      Transport-specific configuration methods remain available after
      .with_http() or .with_tonic().
  • Breaking Removed the deprecated tls feature alias. Replace tls with
    tls-ring, or select tls-aws-lc or tls-provider-agnostic explicitly.

  • Exporter builder usage is unchanged. Breaking for code matching or constructing
    removed error variants:
    Simplified ExporterBuildError to the exhaustive
    InvalidConfiguration(String) and InternalFailure(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-exhaustive
    matches such as:

    match error {
        ExporterBuildError::InvalidUri(_, _)
        | ExporterBuildError::InvalidConfig { .. }
        | ExporterBuildError::NoHttpClient => {
            eprintln!("fix the exporter configuration");
        }
        ExporterBuildError::InternalFailure(message) => {
            eprintln!("exporter initialization failed: {message}");
        }
        _ => {}
    }

    with an exhaustive match over the two stable categories:

    match error {
        ExporterBuildError::InvalidConfiguration(message) => {
            eprintln!("fix the exporter configuration: {message}");
        }
        ExporterBuildError::InternalFailure(message) => {
            eprintln!("exporter initialization failed: {message}");
        }
    }

    Code that propagates build errors with ? without inspecting their variants
    needs 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_size to configure the HTTP request
    body 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, and
    WithTonicConfig. These traits remain public for calling configuration
    methods 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=true uses http://, INSECURE=false (default) uses https:// with auto-TLS.
    Breaking: Schemeless endpoints (e.g., collector.example.com:4317) now default to https://
    instead of being passed as-is. Set OTEL_EXPORTER_OTLP_INSECURE=true for plaintext connections.
    Endpoints with an explicit scheme (e.g., http://, https://, unix://) are unaffected.
    #​774
    #​984

  • Breaking Removed the serialize feature flag and its implicit serde
    dependency. This feature gated Serialize/Deserialize derives on
    Protocol and Compression, 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
    opentelemetry crate in 2022.
    Migration: Remove serialize (and serde, if listed) from your feature
    list. If these values are part of serialisable app config, define a local
    config enum or wrapper and convert it to Protocol or Compression when
    building the exporter.
    #​3711

  • Breaking Removed reqwest-rustls-webpki-roots feature. The webpki-roots cargo feature was
    removed from reqwest in v0.13.0, making this feature broken for anyone resolving reqwest >= 0.13.0.
    Migration: Use reqwest-rustls instead (now correctly uses reqwest/rustls with platform native
    trust roots). If you specifically need Mozilla's embedded CA bundle, construct a custom client:

    let root_store = rustls::RootCertStore::from_iter(
        webpki_roots::TLS_SERVER_ROOTS.iter().cloned(),
    );
    let tls_config = rustls::ClientConfig::builder()
        .with_root_certificates(root_store)
        .with_no_client_auth();
    let client = reqwest::Client::builder()
        .tls_backend_preconfigured(tls_config)
        .build()?;
    exporter_builder.with_http_client(client)
  • Allow to provide http client wrapped in Arc when configuring HTTP exporter. 3468

v0.32.0

Compare Source

Released 2026-May-08

  • Add tls-provider-agnostic feature flag for environments that require a custom crypto backend (e.g., OpenSSL for FIPS compliance). Enables TLS code paths without bundling ring or aws-lc-rs.
  • Add build() directly on SpanExporterBuilder, MetricExporterBuilder, and LogExporterBuilder
    (before selecting a transport), which auto-selects the transport based on the
    OTEL_EXPORTER_OTLP_PROTOCOL environment variable or enabled features.
    #​3394
  • Breaking Removed ExportConfig, HasExportConfig, with_export_config(), HasTonicConfig, HasHttpConfig, TonicConfig, and HttpConfig from public API.
    Use the public WithExportConfig, WithTonicConfig, and WithHttpConfig trait methods instead, which remain unchanged.
  • The gRPC/tonic OTLP exporter's build method now returns an error for all signals (traces, metrics, logs) when
    an https:// endpoint is configured but no TLS feature (tls-ring or tls-aws-lc) is enabled, instead of
    silently sending unencrypted traffic. When a TLS feature is enabled and an https:// endpoint is used without
    an explicit .with_tls_config(), a default ClientTlsConfig is automatically applied.
    #​3182
  • Prevent auth tokens from leaking in export error messages. gRPC and HTTP
    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
  • Surface pre-flight transport error details at ERROR level when grpc-tonic
    OTLP export fails due to a local misconfiguration. When the returned
    tonic::Status wraps a local transport error (invalid URL, connect failure,
    DNS), its source chain (e.g., "transport error: invalid URI") is appended
    to 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
  • Add support for per-signal protocol environment variables:
    OTEL_EXPORTER_OTLP_TRACES_PROTOCOL, OTEL_EXPORTER_OTLP_METRICS_PROTOCOL,
    OTEL_EXPORTER_OTLP_LOGS_PROTOCOL. These allow configuring different transport protocols
    per 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.
  • Transport/protocol mismatch validation: HTTP transport returns InvalidConfig when gRPC protocol
    is requested; gRPC transport returns InvalidConfig when an HTTP protocol is requested.
  • Breaking: Protocol::default() no longer consults the OTEL_EXPORTER_OTLP_PROTOCOL
    environment 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 use
    Protocol::from_env() instead.
  • Add support for OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE environment variable
    to configure metrics temporality. Accepted values: cumulative (default), delta,
    lowmemory (case-insensitive). Programmatic .with_temporality() overrides the env var.
  • Fix NoHttpClient error when multiple HTTP client features are enabled by using priority-based selection (reqwest-client > hyper-client > reqwest-blocking-client). #​2994
  • Add partial success response handling for OTLP exporters (traces, metrics, logs) per OTLP spec. Exporters now log warnings when the server returns partial success responses with rejected items and error messages. #​865
  • Refactor internal-logs feature in opentelemetry-otlp to reduce unnecessary dependencies3191
  • Fixed [#​2777](https://github.com/open-telemetry/opentelemetry rust/issues/2777) to properly handle shutdown_with_timeout() when using grpc-tonic.
  • Deprecate tls feature in favor of explicit tls-ring and tls-aws-lc features.
    Migration: Replace tls with tls-ring (or tls-aws-lc). Users of tls-roots or tls-webpki-roots must now also enable one of these.
  • Prevent logging of header values in OTLP tonic exporter #​3465
open-telemetry/opentelemetry-rust (opentelemetry-prometheus)

v0.33.0

Compare Source

Released 2026-Sep-18

  • Replace without_scope_info with scope_info_enabled to configure Prometheus instrumentation scope labels, inverting the option from disabling scope info to enabling it. Before this change, the exporter emitted an otel_scope_info metric and only added otel_scope_name/otel_scope_version labels to metric points. Now scope info is enabled by default on metric points with otel_scope_name, otel_scope_version, otel_scope_schema_url, and scope attributes prefixed with otel_scope_; setting scope_info_enabled(false) suppresses those labels. #​3503

v0.32.0

Compare Source

Released 2026-May-08

  • Un-deprecate opentelemetry-prometheus and remove stale discontinuation notices. #​3288
  • Set MSRV to 1.81.0 to match the prometheus dependency requirement.
open-telemetry/opentelemetry-rust (opentelemetry-proto)

v0.33.0

Compare 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 AnyValue objects 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 null fields in OTLP/JSON AnyValue objects as unset.

  • Bug fix: Accept OTLP/JSON partial-success responses when protobuf default fields are omitted.

  • Performance: group_spans_by_resource_and_scope no longer clones every SpanData. 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.0

Compare Source

Released 2026-May-08

  • Update proto definitions to v1.10.0.
  • Updated schemars dependency to version 1.0.0.
  • Bug fix: InstrumentationScope version 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.0

Compare Source

Released 2026-Sep-18

v0.32.1

Compare Source

Released 2026-Jun-26

  • Update to v1.42.0 of the semantic conventions.

v0.32.0

Compare Source

Released 2026-May-08

open-telemetry/opentelemetry-rust (opentelemetry-stdout)

v0.33.0

Compare Source

Released 2026-Sep-18

v0.32.0

Compare Source

Released 2026-May-08

  • ExponentialHistogram supported in stdout
open-telemetry/opentelemetry-rust (opentelemetry-zipkin)

v0.33.0

Compare Source

Released 2026-Sep-18

v0.32.0

Compare Source

Released 2026-May-08

  • Deprecated: The opentelemetry-zipkin crate 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 from ring to aws-lc-sys.
tokio-rs/tracing-opentelemetry (tracing-opentelemetry)

v0.34.0

Other

v0.33.0

Compare Source

Fixed
  • [breaking] avoid deadlock when entering a span (#​251)
Other

Configuration

📅 Schedule: (UTC)

  • 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from a team as a code owner August 19, 2026 08:54
@renovate
renovate Bot enabled auto-merge (squash) August 19, 2026 08:54
@apollo-librarian

apollo-librarian Bot commented Aug 19, 2026 •

Copy link
Copy Markdown
Contributor

✅ Docs preview ready

The preview is ready to be viewed. View the preview

File Changes

0 new, 1 changed, 0 removed
* graphos/routing/(latest)/_sidebar.yaml

Build ID: b883be1ee1ef0320072144d7
Build Logs: View logs

URL: https://www.apollographql.com/docs/deploy-preview/b883be1ee1ef0320072144d7


✅ AI Style Review — No Changes Detected

No MDX files were changed in this pull request.

Review Log: View detailed log

This review is AI-generated. Please use common sense when accepting these suggestions, as they may not always be accurate or appropriate for your specific context.

@github-actions

Copy link
Copy Markdown
Contributor

@renovate[bot], please consider creating a changeset entry in /.changesets/. These instructions describe the process and tooling.

@renovate
renovate Bot force-pushed the renovate/cargo-tracing-packages branch 17 times, most recently from 4cd695a to 62ba7f8 Compare August 26, 2026 09:50
@renovate
renovate Bot force-pushed the renovate/cargo-tracing-packages branch 5 times, most recently from 79b5e07 to eec3c2e Compare August 27, 2026 10:39
@renovate
renovate Bot requested a review from a team as a code owner August 27, 2026 10:39
@goto-bus-stop
goto-bus-stop removed the request for review from a team August 27, 2026 11:01
@renovate
renovate Bot force-pushed the renovate/cargo-tracing-packages branch from eec3c2e to f1d71e5 Compare August 27, 2026 13:55
@renovate
renovate Bot force-pushed the renovate/cargo-tracing-packages branch 9 times, most recently from 371ec95 to c87d11e Compare September 9, 2026 17:02
@renovate
renovate Bot force-pushed the renovate/cargo-tracing-packages branch 18 times, most recently from 09cdb44 to 00c1faa Compare September 14, 2026 10:53

@goto-bus-stop goto-bus-stop left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@renovate

renovate Bot commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
    Updating crates.io index
error: failed to select a version for `opentelemetry-otlp`.
    ... required by package `apollo-router v2.17.0 (/tmp/renovate/repos/github/apollographql/router/apollo-router)`
versions that meet the requirements `^0.33` are: 0.33.0

package `apollo-router` depends on `opentelemetry-otlp` with feature `tls` but `opentelemetry-otlp` does not have that feature.
help: there is a feature `http` with a similar name


failed to select a version for `opentelemetry-otlp` which could resolve this conflict

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant