Skip to content

Releases: open-telemetry/opentelemetry-dotnet

core-1.16.0

10 Jun 18:22
Immutable release. Only release title and notes can be modified.
611868a

Choose a tag to compare

For highlights and announcements pertaining to this release see: Release Notes > 1.16.0.

The following changes are from the previous release 1.16.0-rc.1.

coreunstable-1.16.0-beta.1

10 Jun 22:21
Immutable release. Only release title and notes can be modified.
c396661

Choose a tag to compare

Pre-release

The following changes are from the previous release 1.15.3-beta.1.

  • NuGet: OpenTelemetry.Exporter.Prometheus.AspNetCore v1.16.0-beta.1

    • Fixed scrape response cache freshness using monotonic time so it is not
      affected by NTP system clock adjustments.
      (#7253)

    • Breaking Change Removed DisableTimestamp property from
      PrometheusAspNetCoreOptions.
      (#7176)

    • Fixed the serialization of NaN, PositiveInfinity, and NegativeInfinity
      values in Prometheus metrics to be compliant with the specification.
      (#7179)

    • Fixed loss of precision when serializing double and float values in
      Prometheus metrics to be compliant with the specification by using 17
      significant digits to represent such values.
      (#7179)

    • Fix non-ASCII characters in metric names and unit strings not being sanitized
      correctly during Prometheus serialization.
      (#7184)

    • Fix case where reader tracking could be reset while readers were still active.
      (#7190)

    • Improve Accept header handling for format negotiation so OpenMetrics is
      selected correctly by considering whitespace and q weights.
      (#7208)

    • Emit OpenMetrics exemplars for counters and histogram buckets.
      (#7222)

    • Fix incorrect handling of untyped metrics when using OpenMetrics format.
      (#7219)

    • Fix Prometheus/OpenMetrics serialization to emit metric and label names
      containing _ instead of dropping them and prefixing leading digits.
      Invalid characters are replaced with _ instead of being dropped.
      (#7209)

    • Add escaping=underscores to the Accept header handling for content
      negotiation so OpenMetrics are handled correctly.
      (#7209)

    • Omit histogram _sum and _count in OpenMetrics when negative bucket
      thresholds are present.
      (#7221)

    • Fix ArgumentException if OTEL_SDK_DISABLED=true.
      (#7273)

    • Update Accept header parsing to more closely follow the Prometheus
      Scrape protocol content negotiation
      specification.
      (#7266)

    • Abort scrape request processing if request exceeds the value specified by the
      X-Prometheus-Scrape-Timeout-Seconds HTTP request header.
      (#7252)

    • Use the canonical representation for histogram "le" label values when using
      OpenMetrics.
      (#7218)

    • Add Prometheus text fallback target_info output as a gauge.
      (#7238)

    • Merge colliding sanitized label keys.
      (#7239)

    • Export {name}_created series for counters and histograms when using
      OpenMetrics and a start time is available.
      (#7223)

    • GZip compress scrape endpoint responses when Accept-Encoding: gzip is
      specified by the HTTP request headers.
      (#7274)

    • Include instrumentation scope metadata on samples using otel_scope_* labels
      including scope version, schema URL, and prefixed scope attributes. OpenMetrics
      output no longer emits a separate otel_scope_info scope metadata metric.
      (#7237)

    • Drop conflicting scope attributes named name, version, and schema_url.
      (#7237)

    • Updated OpenTelemetry core component version(s) to 1.16.0.
      (#52)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.Prometheus.HttpListener v1.16.0-beta.1

    • Fixed scrape response cache freshness using monotonic time so it is not
      affected by NTP system clock adjustments.
      (#7253)

    • Added Host and Port properties on PrometheusHttpListenerOptions
      for configuring the HTTP listener endpoint. The
      PrometheusHttpListenerOptions.UriPrefixes property is now obsolete and
      will be removed in the stable release.
      (#7114)

    • Breaking Change Removed DisableTimestamp property from
      PrometheusHttpListenerOptions.
      (#7176)

    • Fixed the serialization of NaN, PositiveInfinity, and NegativeInfinity
      values in Prometheus metrics to be compliant with the specification.
      (#7179)

    • Fixed loss of precision when serializing double and float values in
      Prometheus metrics to be compliant with the specification by using 17
      significant digits to represent such values.
      (#7179)

    • Fix non-ASCII characters in metric names and unit strings not being sanitized
      correctly during Prometheus serialization.
      (#7184)

    • Add support for caching the scrape endpoint HTTP responses using the
      PrometheusHttpListenerOptions.ScrapeResponseCacheDurationMilliseconds option.
      The default value is 300 milliseconds. Set the option to 0 to disable
      response caching.
      (#7189)

    • Fix case where reader tracking could be reset while readers were still active.
      (#7190)

    • Improve Accept header handling for format negotiation so OpenMetrics is
      selected correctly by considering whitespace and q weights.
      (#7208)

    • Emit OpenMetrics exemplars for counters and histogram buckets.
      (#7222)

    • Fix incorrect handling of untyped metrics when using OpenMetrics format.
      (#7219)

    • Add support for configuring the HTTP listener endpoint host and port using
      the OTEL_EXPORTER_PROMETHEUS_HOST and OTEL_EXPORTER_PROMETHEUS_PORT
      environment variables.
      (#7167,
      #7255)

    • Fix Prometheus/OpenMetrics serialization to emit metric and label names
      containing and _ instead of dropping them and prefixing leading digits.
      Invalid characters are replaced with _ instead of being dropped.
      (#7209)

    • Add escaping=underscores to the Accept header handling for content
      negotiation so OpenMetrics are handled correctly.
      (#7209)

    • Omit histogram _sum and _count in OpenMetrics when negative bucket
      thresholds are present.
      (#7221)

    • Update Accept header parsing to more closely follow the Prometheus
      Scrape protocol content negotiation
      specification.
      (#7266)

    • Abort scrape request processing if request exceeds the value specified by the
      X-Prometheus-Scrape-Timeout-Seconds HTTP request header.
      (#7252)

    • Use the canonical representation for histogram "le" label values when using
      OpenMetrics.
      (#7218)

    • Add Prometheus text fallback target_info output as a gauge.
      (#7238)

    • Merge colliding sanitized label keys.
      ([#7239](https://github.com/open-telemetry/opentelemetry-do...

Read more

core-1.16.0-rc.1

10 Jun 16:18
Immutable release. Only release title and notes can be modified.
21b9ddb

Choose a tag to compare

core-1.16.0-rc.1 Pre-release
Pre-release

The following changes are from the previous release 1.15.3.

  • NuGet: OpenTelemetry v1.16.0-rc.1

    • Stop validating View-provided metric stream Name against the instrument
      name syntax, per
      spec clarification.
      (#7300)

    • Fix incorrect validation of OTEL_BSP_* and OTEL_BLRP_* environment
      variables.
      (#7187)

    • Fix observable instrument callbacks running once per reader instead of
      once per collection cycle.
      (#7188)

    • Added exception safety for user-supplied ExemplarReservoir implementations.
      Exceptions thrown from Offer are now caught and logged rather than propagating
      out of Counter.Add/Histogram.Record.
      (#7277)

    • Update OpenTelemetrySdkEventSource to support the W3C randomness flag.
      (#7301)

    • Added ObservedTimestamp property to LogRecord.
      (#6979)

    • Breaking Change Explicit histogram boundaries no longer allow more than
      10 million values.
      (#7165)

    • Fixed a circular reference which could cause a LoggerProvider to fail to
      resolve when one of its dependencies depends on ILogger or ILoggerFactory.
      As part of this fix the LoggerProvider resolved from dependency injection
      is now created lazily when the first logger is created rather than when
      ILoggerProvider or ILoggerFactory is resolved. A consequence is that any
      invalid configuration now surfaces when the first log record is written instead
      of when the logging services are resolved.
      (#7308)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Api v1.16.0-rc.1

    • Experimental (pre-release builds only):
      Add support for using environment variables as context propagation carriers.
      (#7174)

    • Fix BaggagePropagator to correctly follow Key and Value Encoding rules as per
      the W3C Baggage specification.
      #7051

    • Update TraceContextPropagator to support the W3C randomness flag.
      (#7301)

    • Fixed TraceContextPropagator to deduplicate duplicate tracestate keys
      instead of discarding the entire tracestate header.
      (#7309)

    • Breaking change (pre-release only versions): The default value of
      the Timestamp property on LogRecordData has changed from DateTime.UtcNow
      to DateTime.MinValue. DateTime.MinValue represents an unset timestamp as
      defined by the OpenTelemetry specification. Callers of the Logs API
      who relied on the timestamp being populated automatically must now set
      Timestamp = DateTime.UtcNow explicitly on their LogRecordData instance.
      (#7045)

    • Added ObservedTimestamp property to LogRecordData. Note that LogRecordData
      is only public in pre-release versions of the package.
      (#6979)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.16.0-rc.1

    No notable changes.

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.Console v1.16.0-rc.1

    • ObservedTimestamp will now be exported for logs.
      (#6979)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.InMemory v1.16.0-rc.1

    No notable changes.

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.16.0-rc.1

    • Fixed NullReferenceException when exporting logs if the scope key is null.
      (#7186)

    • Added opt-in support for gzip compression. Compression can be configured
      programmatically via the new OtlpExporterOptions.Compression property,
      or through the environment variables such as OTEL_EXPORTER_OTLP_COMPRESSION=gzip.
      (#7055)

    • Fixed disk retry data being stored incorrectly when using persistent storage
      retry.
      (#7228)

    • Reverted OtlpLogExporter from using IHttpClientFactory on .NET 8+ to fix
      an issue with circular dependencies detected by some dependency injection
      container implementations such as Autofac.
      (#7234)

    • Fixed OtlpLogExporter integration with IHttpClientFactory so named clients
      can be used without triggering circular dependencies during logger construction.
      (#7298)

    • Reduce the overhead of GZip compression.
      (#7275)

    • Cached pre-serialized resource bytes to avoid re-encoding on every OTLP export.
      (#7303)

    • Do not enable the integration with IHttpClientFactory when mTLS is enabled.
      (#7305)

    • Handle Retry-After response headers that specify a date instead of a delay.
      (#7364)

    • observed_time_unix_nano will no longer always be identical to time_unix_nano
      when using the logs bridge API. By default, it will instead be set to the actual
      observed time of the log record.
      (#6979)

    • Fixed the retry deadline check so a Retry-After delay (whether a delta or an
      HTTP-date) that would extend a retry beyond the configured export timeout now
      correctly fails fast and drops the data.
      (#7375)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.Zipkin v1.16.0-rc.1

    No notable changes.

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Extensions.Hosting v1.16.0-rc.1

    No notable changes.

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Extensions.Propagators v1.16.0-rc.1

    No notable changes.

    See CHANGELOG for details.

core-1.15.3

21 Apr 08:03
Immutable release. Only release title and notes can be modified.
d622e6c

Choose a tag to compare

For highlights and announcements pertaining to this release see: Release Notes > 1.15.3.

The following changes are from the previous release 1.15.2.

coreunstable-1.15.3-beta.1

21 Apr 09:35
Immutable release. Only release title and notes can be modified.
c1af395

Choose a tag to compare

Pre-release

The following changes are from the previous release 1.15.2-beta.1.

core-1.15.2

08 Apr 19:19
Immutable release. Only release title and notes can be modified.
4b588c1

Choose a tag to compare

For highlights and announcements pertaining to this release see: Release Notes > 1.15.2.

The following changes are from the previous release 1.15.1.

coreunstable-1.15.2-beta.1

08 Apr 20:50
Immutable release. Only release title and notes can be modified.
bfa5afc

Choose a tag to compare

Pre-release

The following changes are from the previous release 1.15.1-beta.1.

core-1.15.1

27 Mar 06:25
Immutable release. Only release title and notes can be modified.
384911b

Choose a tag to compare

For highlights and announcements pertaining to this release see: Release Notes > 1.15.1.

The following changes are from the previous release 1.15.0.

coreunstable-1.15.1-beta.1

27 Mar 07:58
Immutable release. Only release title and notes can be modified.
b0775b5

Choose a tag to compare

Pre-release

The following changes are from the previous release 1.15.0-beta.1.

core-1.15.0

21 Jan 07:18
Immutable release. Only release title and notes can be modified.
164d8a5

Choose a tag to compare

For highlights and announcements pertaining to this release see: Release Notes > 1.15.0.

The following changes are from the previous release 1.14.0.

  • NuGet: OpenTelemetry v1.15.0

    • Added support for the OTEL_SDK_DISABLED environment variable in TracerProvider,
      MeterProvider, and LoggerProvider. When OTEL_SDK_DISABLED=true,
      the SDK returns no-op implementations for all telemetry signals.
      The OTEL_SDK_DISABLED environment variable is only evaluated upon application
      startup, later changes have no effect.
      (#6568)

    • Added LowMemory temporality as an option in the OTLP metrics exporter.
      (#6648)

    • Added support for Meter.TelemetrySchemaUrl property.
      (#6714)

    • Improve performance and reduce memory consumption for metrics histograms.
      (#6715)

    • Decode value in OTEL_RESOURCE_ATTRIBUTES environment variable.
      (#6737)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Api v1.15.0

    • Added a new overload for TracerProvider.GetTracer which accepts an optional
      string? schemaUrl parameter, allowing a schema URL to be set on the Tracer.
      (#6736)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.15.0

    No notable changes.

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.Console v1.15.0

    • Added support for ActivitySource.TelemetrySchemaUrl property.
      (#6713)

    • Added support for Meter.TelemetrySchemaUrl property.
      (#6714)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.InMemory v1.15.0

    • Added support for Meter.TelemetrySchemaUrl property.
      (#6714)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.15.0

    • Added mTLS configuration support for the OTLP exporter (client cert/key and
      CA certificate options).
      (#6343)

    • Added UserAgentProductIdentifier property to OtlpExporterOptions to allow
      custom product identifiers to be prepended to the User-Agent header. When set,
      the custom identifier is prepended with a space separator to the default
      User-Agent string (e.g., MyApp/1.0 OTel-OTLP-Exporter-Dotnet/1.14.0).
      (#6686)

    • Added support for ActivitySource.TelemetrySchemaUrl property.
      (#6730)

    • Added support for Meter.TelemetrySchemaUrl property.
      (#6731)

    • Fix NullReferenceException when no bucket boundaries configured for a view.
      (#6773)

    • Added support for OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION
      environment variable to configure the default histogram aggregation for
      histogram instruments. Valid values are explicit_bucket_histogram (default)
      and base2_exponential_bucket_histogram. Explicit views configured via
      AddView take precedence over this setting.
      (#6778)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.Zipkin v1.15.0

    • This package is deprecated and it will stop receiving any updates in
      December 2026. Zipkin already supports OTLP ingestion. Change your exporter
      to OpenTelemetry.Exporter.OpenTelemetryProtocol as stated in the
      Deprecating Zipkin Exporter blog post.
      (#6750)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Extensions.Hosting v1.15.0

    No notable changes.

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Extensions.Propagators v1.15.0

    • Deprecated JaegerPropagator. It will be removed in a future version.
      (#6819)

    See CHANGELOG for details.