github open-telemetry/opentelemetry-dotnet core-1.21.0-rc.1

pre-release4 hours ago

The following changes are from the previous release 1.20.1.

  • NuGet: OpenTelemetry v1.21.0-rc.1

    • Fixed a race in the self-diagnostics sink dispatcher where disposing it
      while its pump thread was exiting could throw ArgumentNullException on
      .NET Framework.
      (#7983)

    • SelfDiagnosticsOptions is now automatically bound from the
      OpenTelemetry:SelfDiagnostics configuration section, when present.
      (#8008)

    • Fixed a race where collecting a metric with delta temporality concurrently
      with the creation of a new MetricPoint could reclaim the MetricPoint
      while it was being created, losing the measurement.
      (#8019)

    • Fixed a race where collecting a metric with delta temporality could export
      the same series twice in a single collection.
      (#8019)

    • Fixed wildcard matching timeouts that could prevent configured source, meter,
      legacy activity, or metric view patterns from matching.
      (#8014)

    • The timeout passed to MetricReader.Collect() (for example by
      MeterProvider.ForceFlush()), the ExportTimeoutMilliseconds of
      PeriodicExportingMetricReader and the ExporterTimeoutMilliseconds of
      BatchExportProcessor<T> are now made available to the exporter instead of
      being ignored once the export has started, so that the OTLP exporter can
      cancel an export which runs past the timeout. The ExportTimeoutMilliseconds
      of PeriodicExportingMetricReader now also limits exports which are not
      started by the reader itself, such as those of MeterProvider.ForceFlush().
      (#7996)

    • Fixed a race where collecting a cumulative metric concurrently with the
      creation of a new MetricPoint could export a MetricPoint that was not yet
      fully initialized, could case a NullReferenceException when enumerating Tags.
      (#8018)

    • Breaking Change Dropped support for net8.0 and net9.0.
      (#6899)

    • Add support for .NET 11.0.
      (#6899)

    • Added support for enabling ActivitySources from configuration using the
      Microsoft.Extensions.Diagnostics tracing APIs introduced in .NET 11 (for
      example, services.AddTracing(b => b.AddConfiguration(section))).
      Activities from sources enabled this way are processed by the OpenTelemetry
      TracerProvider registered through AddOpenTelemetry().WithTracing().
      Not supported when targeting net10.0.
      (#6899)

    See CHANGELOG for details.

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

    No notable changes.

    See CHANGELOG for details.

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

    • Breaking Change Dropped support for net8.0 and net9.0.
      (#6899)

    • Add support for .NET 11.0.
      (#6899)

    See CHANGELOG for details.

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

    • Fixed byte[]-valued tags being serialized as a JSON array of numbers
      (e.g. [1,2,3]) instead of being Base64-encoded as per the specification.
      (#7694)

    • Fixed array-valued tags containing NaN or infinite floating-point values
      being exported as TRUNCATED; such values are now written as JSON strings
      (e.g. ["NaN"]). Arrays and maps nested inside array-valued tags are now
      written as nested JSON (with byte[] values Base64-encoded) instead of as
      their .NET type name (e.g. System.Int32[]).
      (#7694)

    • Fixed arrays of string-valued key/value pairs being
      serialized as JSON arrays of strings instead of JSON objects.
      (#7694)

    See CHANGELOG for details.

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

    • Breaking Change Dropped support for net8.0 and net9.0.
      (#6899)

    • Add support for .NET 11.0.
      (#6899)

    See CHANGELOG for details.

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

    • Fixed experimental in-memory retries exceeding the export timeout when a
      retried request stalls.
      (#7977)

    • Breaking: The span status description (Activity.StatusDescription or
      the otel.status_description tag) is now truncated to the configured span
      attribute value length limit (for example
      OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT) instead of being exported in full.
      (#7995)

    • Redacted nonstandard OTLP endpoint paths in internal diagnostic logs with
      [REDACTED], while retaining standard HTTP and gRPC service paths.
      (#8016)

    • Fixed exports continuing until OtlpExporterOptions.TimeoutMilliseconds
      elapsed when a shorter timeout applied to them, such as the timeout passed
      to MeterProvider.ForceFlush(),
      PeriodicExportingMetricReaderOptions.ExportTimeoutMilliseconds
      (OTEL_METRIC_EXPORT_TIMEOUT) or
      BatchExportProcessorOptions<T>.ExporterTimeoutMilliseconds
      (OTEL_BSP_EXPORT_TIMEOUT, OTEL_BLRP_EXPORT_TIMEOUT). The request is now
      canceled when the shorter of the timeouts elapses. The time taken to
      serialize the telemetry now counts towards the timeout, and no request is
      sent once it has elapsed.
      (#7996)

    • Fixed arrays of string-valued key/value pairs being
      exported as arrays of strings instead of maps.
      (#7694)

    • Breaking Change Dropped support for net8.0 and net9.0.
      (#6899)

    • Add support for .NET 11.0.
      (#6899)

    See CHANGELOG for details.

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

    • Fixed array-valued tags containing NaN or infinite floating-point values
      being exported as TRUNCATED; such values are now written as JSON strings
      (e.g. ["NaN"]). Arrays and maps nested inside array-valued tags are now
      written as nested JSON (with byte[] values Base64-encoded) instead of as
      their .NET type name (e.g. System.Int32[]).
      (#7694)

    • Fixed arrays of string-valued key/value pairs being
      serialized as JSON arrays of strings instead of JSON objects.
      (#7694)

    See CHANGELOG for details.

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

    • The OpenTelemetry providers are now initialized in
      IHostedLifecycleService.StartingAsync instead of IHostedService.StartAsync
      so that telemetry emitted by other hosted services during StartingAsync is
      captured. ITelemetryHostInitializer.Initialize() is invoked only once per
      host start.
      (#7998)

    • Breaking Change Dropped support for net8.0 and net9.0.
      (#6899)

    • Add support for .NET 11.0.
      (#6899)

    See CHANGELOG for details.

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

    • Breaking Change Dropped support for net8.0 and net9.0.
      (#6899)

    • Add support for .NET 11.0.
      (#6899)

    See CHANGELOG for details.

Don't miss a new opentelemetry-dotnet release

NewReleases is sending notifications on new releases.