Skip to content

chore(deps): update dependency opentelemetry.api to 1.20.1 - #156

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/opentelemetry-dotnet-monorepo
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/opentelemetry-dotnet-monorepo

Conversation

@renovate

@renovate renovate Bot commented Jul 18, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
OpenTelemetry.Api (source) 1.16.0 → 1.20.1 age confidence

Release Notes

open-telemetry/opentelemetry-dotnet (OpenTelemetry.Api)

v1.20.1

Release details: 1.20.1

  • Breaking change HttpClient instances created directly by the OTLP
    exporter no longer follow HTTP redirects. A 3xx response is now treated as
    a failed export. See the OTLP exporter README to prevent an HttpClient
    created by IHttpClientFactory from following redirects.
  • Breaking change The experimental OTLP disk retry storage is now separated
    per destination, derived from the exporter's Protocol, Endpoint and
    Headers. This prevents telemetry stored by one exporter being resent by
    another exporter to its own endpoint with its own headers. Telemetry stored on
    disk by earlier versions is not resent.
  • Improved how values near a bucket boundary are assigned to exponential
    histogram buckets by using a pre-computed lookup table.
  • Invalid OTEL_EXPORTER_OTLP_ENDPOINT (and signal-specific) and
    OTEL_EXPORTER_ZIPKIN_ENDPOINT values are no longer written to the
    exporter's diagnostic log.
  • Hardened the experimental OTLP disk retry feature:
    • On non-Windows platforms the retry directory and blob files are now
      accessible to the current user only.
    • Only files named the way the exporter names its blobs are now retried,
      removed or renamed. This matters when the retry directory is shared with
      other files.
    • Blobs that are empty, larger than the maximum storage size, or (on .NET)
      symbolic links are no longer read, and subdirectories are no longer
      followed when calculating the size of the directory.
    • Fixed files never being cleaned up when the current culture uses a
      non-Gregorian calendar, and fixed expired leases being located and released
      incorrectly.
  • Self-diagnostics log files, whether configured through OTEL_DIAGNOSTICS.json
    or SelfDiagnosticsOptions, are now always created as new files.
  • Self-diagnostics messages written to SelfDiagnosticsOptions sinks are now
    truncated to 16,384 characters. Only the first 4 KiB of the body of an
    unsuccessful OTLP export response is now read and written to the exporter's
    diagnostic log.
  • On Linux and macOS, the self-diagnostics log directory and files can now only
    be accessed by their owner (0700/0600) instead of inheriting the process
    umask.
  • OTLP exponential histogram bucket counts are now serialized using packed
    encoding, which reduces the size of the exported payload.
  • Fixed a possible race condition on ARM64 when multiple threads record the
    first measurement with no tags, or the first overflow measurement, at the
    same time.
  • Fixed the Prometheus exporters handing scrape responses to the server in a
    single write. For each client that did not read the response, the server held
    a full copy of it until the request completed or timed out (for HttpListener,
    only on Linux and macOS). Responses are now written in bounded slices.
  • Fixed self-diagnostics preamble redaction of quoted or encoded PEM material
    and prefixed JWTs.
  • Fixed TracerProvider.GetTracer caching a new tracer on every call that
    passes equal array-valued scope tags.
  • Fixed informational HTTP client logs not being suppressed by default when the
    OTLP log exporter is registered using OpenTelemetryLoggerOptions.AddOtlpExporter.
  • Fixed legacy self-diagnostics logging terminating the process when the log
    file is truncated or its volume runs out of space.
  • Experimental (pre-release builds only): Fixed Logger.EmitLog ignoring
    instrumentation suppression, which could cause recursive exports or deadlocks.
  • Fixed Prometheus HttpListener scrape requests that announce a request body
    holding a thread pool thread on Linux and macOS for as long as the client
    kept sending the body slowly after the response was sent. The connection is
    now closed after responding to a request with a body.
  • Fixed delta double counters losing later measurements after a non-finite or
    large value, and idle metric points with a NaN value not being reclaimed.
  • Fixed LogRecords being returned to the shared pool while still queued for
    export when an exporter stops enumerating a single-item or array
    Batch<LogRecord> early.
  • Fixed a SuppressInstrumentationScope.Enter() reference count never being
    released when the Activity it was entered for is not recorded. This caused
    all later telemetry in that execution context to be suppressed.
  • Fixed reading the body of a failed OTLP export response for the diagnostic
    log not being bounded by the export timeout, and the body never being logged
    on .NET Framework.
  • Fixed OTLP attributes whose value is converted with ToString() (for example
    enums, Uri or StringValues) being dropped when the export buffer was
    resized while the attribute was being written. For metric data points, the
    attribute was also left out of every later export.
  • Fixed pooled log records retaining completed log data until reused.
  • Fixed inline OTLP certificate or private key material being included in
    diagnostic events and exceptions when supplied instead of a file path.
  • Fixed slow metric recording when distinct wide tag values, such as long or
    Guid, share the same built-in hash code.
  • Fixed early metric collections permanently omitting resource attributes from
    later OTLP exports, and target_info and resource constant labels from later
    Prometheus scrape responses, while the MeterProvider is being built.
  • Fixed ObservableCounter and ObservableUpDownCounter overflow points
    reporting only the last observation instead of the sum of all observations
    for each collection.
  • Fixed replaced log attributes being exported together with their original
    values when buffering or updating LogRecord.State.

v1.20.0

Release details: 1.20.0

  • Breaking change byte[] attributes longer than the configured attribute value
    length limit (for example OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT) are now truncated
    to that many bytes instead of being exported in full.
  • Breaking change OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT and OTEL_LINK_ATTRIBUTE_COUNT_LIMIT
    now fall back to OTEL_ATTRIBUTE_COUNT_LIMIT (then the default of 128) when
    not set, instead of falling back to OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT.
  • Breaking change Instrumentation scope attributes exported from ActivitySource.Tags
    are now limited by OTEL_ATTRIBUTE_COUNT_LIMIT instead of
    OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT. Only applications that set
    OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT to a different value from OTEL_ATTRIBUTE_COUNT_LIMIT
    are affected.
  • Breaking change (pre-release only versions): LoggerProvider's protected
    TryCreateLogger(string? name, out Logger? logger) extensibility method has
    been replaced by TryCreateLogger(LoggerOptions options, out Logger? logger).
  • Added OpenTelemetryLoggerOptions.Version and
    OpenTelemetryLoggerOptions.SchemaUrl options to set an instrumentation
    library version and schema URL applied to logs emitted via the
    Microsoft.Extensions.Logging ILogger integration.
  • Added Logger.SchemaUrl and a LoggerProvider.GetLogger overload accepting
    a schema URL parameter using the new LoggerOptions type.
  • ConsoleLogRecordExporter now writes an Instrumentation scope (Logger) section
    (Name, Version, and Schema URL) for each exported LogRecord.
  • The OTLP log exporter now exports schema_url on ScopeLogs. Log records
    emitted from a Logger with a schema URL set now populate ScopeLogs.schema_url
    in exported OTLP requests.
  • Custom TLS certificate options (custom CA trust and mTLS) and the experimental
    disk retry feature are explicitly marked as not supported on browser-based
    platforms (e.g. Blazor).
  • Suppressed informational HTTP client logs from OTLP exporters by default.
  • Added improved self-diagnostics logging to improve the support experience.
  • Self-diagnostic features are explicitly disabled on browser-based platforms
    (e.g. Blazor) and are now non-functional.
  • Added TracerProviderBuilder.ConfigureSampler intended for library authors
    who need to influence sampling without overriding a sampler the application
    has configured.
  • Fixed SuppressInstrumentationScope reference counts leaking between
    inherited asynchronous execution contexts.
  • Fixed ResourceBuilder.CreateDefault ignoring OTEL_RESOURCE_ATTRIBUTES and
    OTEL_SERVICE_NAME environment variables when the host IConfiguration does
    not contain those settings.
  • Fixed a race that could incorrectly route a concurrent metric measurement to
    the overflow point when its tag set was published as the cardinality limit was
    reached.
  • Fixed LogRecord.CategoryName resetting the current Logger's Version to
    null when set to a new value.
  • Bounded the internal cache of Logger scopes keyed by instrumentation to
    avoid unbounded growth.
  • Fixed the MeterProvider and its IServiceProvider being kept alive after the
    host is disposed when using Microsoft.Extensions.Diagnostics versions prior
    to .NET 9.0.
  • Fixed a race condition between recording a measurement and collecting a
    histogram with delta temporality that could cause an empty data point to be exported.
  • Improved metric collection performance after metric streams are removed by
    compacting metric storage during collection.
  • Optimize performance of BaggagePropagator.Inject on .NET Framework using
    lookup tables.
  • Avoid closure allocations when serializing cached metric metadata.
  • Avoid logging malformed HTTP request headers in the exporter's diagnostic log.
  • Avoid buffering the whole compressed request body in memory before sending it
    on .NET Framework when using HTTP/protobuf with gzip compression.
  • Fixed log records being dropped when using OtlpExportProtocol.HttpProtobuf
    with IHttpClientFactory integration if the first export of logs happens while
    the IServiceProvider is being disposed. The exporter now falls back to the
    default HttpClient instead of failing the export.
  • Dozens of other minor performance improvements.

v1.19.1

Release details: 1.19.1

  • Fixed NotSupportedException thrown when building a TracerProvider or
    MeterProvider with a large number of wildcard source/meter patterns on
    net8.0, and a related OutOfMemoryException that could occur when many
    such providers were built over the lifetime of a process.

v1.19.0

Release details: 1.19.0

  • Added Schema URL to internally created Resource instances.
  • Added AlwaysRecordSampler.
  • Added an AddOpenTelemetry extension method for IHostApplicationBuilder. It
    registers the OpenTelemetry SDK services and additionally seeds service.name
    from IHostEnvironment.ApplicationName and deployment.environment.name from
    IHostEnvironment.EnvironmentName as low-priority resource defaults. It also
    registers the host's live configuration into DI so that extensions receiving
    only IServiceCollection can contribute configuration sources during setup.
  • Extended key/value list attribute handling to cover additional dictionary
    shapes (IEnumerable<KeyValuePair<string, string?>> and IDictionary). These
    attributes will be serialized as JSON objects or kvlist, as appropriate.
  • If an exception is thrown when serializing an attribute, the attribute will now
    be dropped.
  • Disable HttpClientFactory integration on browser WebAssembly (e.g. Blazor)
    environments to avoid stalled export requests when async HTTP handlers are used.
  • Fixed CA certificate loading (e.g. using OTEL_EXPORTER_OTLP_CERTIFICATE) for
    PEM-encoded certificates that only contain a public key.
  • Fixed CircularBufferBuckets so the first delta histogram insertion after a
    reset does not result in an unnecessary scale reduction.
  • Fixed lazy logger provider builds after a failure from reusing partially
    initialized provider state.
  • Fixed parsing of an inbound tracestate header whose member value trimmed to
    an empty value that previously threw an IndexOutOfRangeException internally
    and could silently truncate the tracestate.
  • Prevented oversized metric metadata from being cached when it cannot fit within
    the configured request size.
  • Reduced allocations when formatting self-diagnostics events with up to three parameters.
  • Improved wildcard source/meter name matching to avoid excessive matching time
    at runtime.
  • Reduced allocations when creating log record attributes from an array.
  • Reduced allocations when setting baggage through the params overload.
  • Reduced allocations when constructing SpanAttributes from an array.

v1.18.0

Release details: 1.18.0

  • Breaking change: The maximum size of a single OTLP export request is now
    64 MiB by default instead of 128 MiB to conform with the OpenTelemetry specification.
    Raise the value of the new OtlpExporterOptions.MaxRequestSizeBytes property
    to increase the capacity.
  • Added OtlpExporterOptions.MaxRequestSizeBytes to configure the maximum OTLP
    request size limit, as required by the OpenTelemetry specification. The default
    is the recommended 64 MiB. A batch whose serialized payload exceeds the limit
    is not sent and is dropped in its entirety. The maximum supported value is
    256 MiB.
  • Added OtlpExporterOptions.MaxResponseSizeBytes to configure the maximum size
    of a response the exporter will accept, as required by the OpenTelemetry
    specification. The default is the recommended 4 MiB. A response exceeding the
    limit is discarded and treated as a non-retryable failure.
  • Added the otel.sdk.processor.log.processed and otel.sdk.processor.span.processed
    SDK self-observability metrics.
  • Added support for serializing attribute values that are key/value lists in
    the OTLP, console and Zipkin exporters.
  • The OTLP exporter will now export the logger version, if it was specified.
  • Add new ITelemetryHostInitializer interface for applications that do not
    support hosted services, such as Blazor, to use to manually initialize the
    OpenTelemetry SDK as part of application startup.
  • BatchActivityExportProcessor and SimpleActivityExportProcessor no longer
    forward spans to the exporter once Shutdown has been called, and
    BatchActivityExportProcessor.Shutdown now waits for in-flight OnEnd calls
    to finish enqueueing before flushing.
  • Fixed self-diagnostics log lines being silently dropped when an event message
    was too long to fit in the internal buffer. Such content is now truncated.
  • Fixed activity creation throwing when multiple tracer providers returned a
    sampler attribute with the same key.
  • Fixed logger, meter and tracer providers leaking background threads if an
    exception is thrown by their constructor after resource creation.
  • Avoid formatting exceptions and creating exception attributes when
    RecordException is called on a span that is not recorded.
  • Fixed UseOtlpExporter to respect options configured with
    services.Configure<OtlpExporterOptions>(...).
  • Clamped the server-supplied OTLP/gRPC retry delay (RetryInfo.retry_delay) to
    a minimum value of 100 milliseconds.
  • Fixed serialization failures leaving failed trace, metric, and log batches in
    the serializer's per-thread state.
  • Fixed the persistent-storage retry thread terminating permanently on an
    unexpected exception.
  • Fixed the OTLP exporter from retrying certain non-transient HTTP failures.
  • Improved OTLP log attribute serialization performance by avoiding unnecessary
    boxing.
  • Improved OTLP histogram serialization performance by avoiding a redundant
    scan of explicit bucket bounds.
  • Fixed persistent storage allowing a blob write to exceed the configured
    maximum storage size.
  • Improved OTLP/gRPC response status handling performance by avoiding unnecessary
    header enumeration on .NET 8+.
  • Fixed the Zipkin exporter to read responses with HttpCompletionOption.ResponseHeadersRead
    for the .NET Framework and .NET Standard targets.
  • Fixed inefficient parsing of the Jaeger uber-trace-id header when targeting
    net462 or netstandard2.0.

v1.17.0

Release details: 1.17.0

  • Added support for a Schema URL on Resource instances.
  • The Resource Schema URL is now printed alongside the resource attributes
    when using the Console and OTLP exporters.
  • Added ExcludedTagKeys property to MetricStreamConfiguration to support
    excluding specific tag keys from metric streams.
  • Updated tracestate key validation to comply with the W3C Trace Context
    Level 2 grammar.
  • The SDK now depends on Microsoft.Extensions.Configuration.EnvironmentVariables
    instead of using a vendored implementation.
  • All libraries are now marked as trim and AOT compatible.
  • Fixed a metric storage leak that occurred when meters and instruments were
    repeatedly created and disposed.
  • Fixed TraceContextPropagator to normalize empty tracestate header values
    to null when extracting trace context.
  • Fixed OtlpLogExporter so OtlpExporterOptions.ExportProcessorType and
    OtlpExporterOptions.BatchExportProcessorOptions are respected when
    LogRecordExportProcessorOptions are not configured.
  • Fixed the OTLP exporter dropping retryable data instead of saving it to disk
    when persistent storage retry is enabled and an export exceeds the configured
    timeout.
  • Fixed the OTLP/HTTP exporter silently dropping data when an export timed out.
  • Fixed the OTLP/gRPC exporter logging incorrectly when an export timed out.
  • Performance and memory improvements for the OTLP exporter when exporting logs
    and metrics.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • Between 12:00 AM and 03:59 AM (* 0-3 * * *)
  • Automerge
    • Between 02:00 AM and 04:59 AM, only on Monday (* 2-4 * * 1)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • 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 changed the title chore(deps): update dependency opentelemetry.api to 1.17.0 chore(deps): update dependency opentelemetry.api to 1.18.0 Aug 21, 2026
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch from b460c94 to da02346 Compare August 21, 2026 16:45
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed Aug 28, 2026
@renovate renovate Bot closed this Aug 28, 2026
@renovate
renovate Bot deleted the renovate/opentelemetry-dotnet-monorepo branch August 28, 2026 10:31
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed chore(deps): update dependency opentelemetry.api to 1.18.0 Aug 29, 2026
@renovate renovate Bot reopened this Aug 29, 2026
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch from da02346 to ea5f22f Compare August 29, 2026 09:41
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed Aug 29, 2026
@renovate renovate Bot closed this Aug 29, 2026
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed chore(deps): update dependency opentelemetry.api to 1.18.0 Aug 30, 2026
@renovate renovate Bot reopened this Aug 30, 2026
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch 2 times, most recently from ea5f22f to 6ef2677 Compare August 30, 2026 08:28
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed Sep 5, 2026
@renovate renovate Bot closed this Sep 5, 2026
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed chore(deps): update dependency opentelemetry.api to 1.18.0 Sep 5, 2026
@renovate renovate Bot reopened this Sep 5, 2026
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch 2 times, most recently from 6ef2677 to 4a72e1f Compare September 5, 2026 10:15
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed Sep 5, 2026
@renovate renovate Bot closed this Sep 5, 2026
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed chore(deps): update dependency opentelemetry.api to 1.18.0 Sep 6, 2026
@renovate renovate Bot reopened this Sep 6, 2026
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch 2 times, most recently from 4a72e1f to 94d9bc8 Compare September 6, 2026 01:35
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed Sep 6, 2026
@renovate renovate Bot closed this Sep 6, 2026
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed chore(deps): update dependency opentelemetry.api to 1.18.0 Sep 6, 2026
@renovate renovate Bot reopened this Sep 6, 2026
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch 2 times, most recently from 94d9bc8 to 7f16ea6 Compare September 6, 2026 13:24
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed Sep 6, 2026
@renovate renovate Bot closed this Sep 6, 2026
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 - autoclosed chore(deps): update dependency opentelemetry.api to 1.18.0 Sep 12, 2026
@renovate renovate Bot reopened this Sep 12, 2026
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch 2 times, most recently from 7f16ea6 to aedb61e Compare September 12, 2026 02:24
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch from aedb61e to 8117d33 Compare September 21, 2026 22:27
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.18.0 chore(deps): update dependency opentelemetry.api to 1.19.0 Sep 21, 2026
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch from 8117d33 to 083a74b Compare September 25, 2026 03:08
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.19.0 chore(deps): update dependency opentelemetry.api to 1.19.1 Sep 25, 2026
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch from 083a74b to e4d2098 Compare October 18, 2026 18:11
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.19.1 chore(deps): update dependency opentelemetry.api to 1.20.0 Oct 18, 2026
@renovate
renovate Bot force-pushed the renovate/opentelemetry-dotnet-monorepo branch from e4d2098 to cc479b1 Compare October 23, 2026 16:04
@renovate renovate Bot changed the title chore(deps): update dependency opentelemetry.api to 1.20.0 chore(deps): update dependency opentelemetry.api to 1.20.1 Oct 23, 2026
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.

0 participants