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

pre-releaseone hour ago

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

  • NuGet: OpenTelemetry v1.21.0-rc.2

    • Fixed an exception when downscaling empty exponential histogram buckets after
      a reset.
      (#8064)

    • Fixed tracing callbacks continuing after provider shutdown or disposal on older
      target frameworks.
      (#8065)

    • Fixed initialization failures when environment variable access is denied.
      Configuration reloads retain the last successful values when access is denied.
      (#8070)

    • Fixed a source, meter or legacy activity name with a trailing line feed
      matching a wildcard pattern which does not end in a wildcard.
      (#8074)

    • Fixed OTEL_RESOURCE_ATTRIBUTES values being decoded as form data, which
      changed a + to a space. Values are now only percent-decoded, as defined by
      the Resource SDK specification.
      (#8074)

    • Updated the schema URL of resources created by the SDK to use OpenTelemetry
      Semantic Conventions version 1.45.0.
      (#8079)

    • Added support for batching the metric points exported by
      PeriodicExportingMetricReader. When a maximum export batch size is set,
      using the new constructor overload or
      PeriodicExportingMetricReaderOptions.MaxExportBatchSize, the metric
      points of each collection are split into batches of at most that many
      metric points, even if that splits up the metric points of a single
      metric. The batches are exported serially with the export timeout
      applying to each export. It can also be configured with the
      OTEL_METRIC_EXPORT_MAX_BATCH_SIZE environment variable.
      (#8053)

    • Fixed PeriodicExportingMetricReader exporting a collection which was still
      in progress when Shutdown() timed out to its exporter after the exporter
      had been shut down.
      (#8053)

    • Fixed PeriodicExportingMetricReader not making its final collection when
      Shutdown() was called before its background task had started running on
      platforms where threading is not available, such as browsers.
      (#8053)

    • OTEL_DIAGNOSTICS.json now uses the SelfDiagnosticsOptions pipeline,
      adding configuration warnings and a redacted environment snapshot to each
      file's preamble. Verbose and LogAlways also log loaded assemblies.
      File-open failures are reported on standard error.
      (#7997)

    • Breaking Change OTEL_DIAGNOSTICS.json now writes rolling
      otel-dotnet-*.log files in the standard entry format instead of a circular
      {executable}.{pid}.log file. FileSize is split evenly across two
      retained files, so total disk usage stays close to the configured limit.
      FormatMessage is now ignored; messages are always formatted.
      Provider-configured sinks, including those enabled through environment
      variables, override the JSON configuration with a warning event. Writes are
      asynchronous and may drop entries when the bounded queue fills.
      (#7997)

    • Added Sampler.Shutdown and the overridable Sampler.OnShutdown to allow
      samplers to release resources, as described in the
      specification.
      TracerProvider now calls Shutdown on its sampler when it is shut down or
      disposed, and ParentBasedSampler and AlwaysRecordSampler call Shutdown
      on the samplers they delegate to.
      (#8060)

    • The TracerProvider now disposes of its sampler after its listener has
      stopped calling the sampler, rather than before the processors are shut down.
      (#8060)

    See CHANGELOG for details.

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

    • Improve traceparent extraction throughput on .NET.
      (#8095)

    • Changed EnvironmentVariableCarrier snapshots to preserve environment variable
      names, preventing extraction from non-normalized aliases and collisions with
      normalized names. Process environment snapshots now follow the platform's
      case-sensitivity rules.
      (#8098)

    • The experimental APIs previously covered by OTEL1005
      (EnvironmentVariableCarrier) are now stable.
      (#8044)

    See CHANGELOG for details.

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

    No notable changes.

    See CHANGELOG for details.

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

    • An OutOfMemoryException thrown while converting an attribute value to a
      string is no longer swallowed and the attribute dropped; it now propagates.
      (#7929)

    • Added support for batching the metric points exported by the periodic
      exporting metric reader. Set
      PeriodicExportingMetricReaderOptions.MaxExportBatchSize to limit the
      number of metric points in each exported batch. It can also be configured
      with the OTEL_METRIC_EXPORT_MAX_BATCH_SIZE environment variable.
      (#8053)

    See CHANGELOG for details.

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

    • Added support for batching the metric points exported by the periodic
      exporting metric reader. Set
      PeriodicExportingMetricReaderOptions.MaxExportBatchSize to limit the
      number of metric points in each exported batch. It can also be configured
      with the OTEL_METRIC_EXPORT_MAX_BATCH_SIZE environment variable.
      (#8053)

    See CHANGELOG for details.

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

    • Fixed unbounded resource serialization buffer growth and incorrect buffer
      reuse after buffer allocation failures.
      (#8069)

    • Fixed exporter option initialization failing when environment variable access
      is denied.
      (#8070)

    • Fixed OTEL_EXPORTER_OTLP_HEADERS (and the Headers option) being decoded
      before it was split into headers, so that a percent-encoded , in a value
      started a new header and encoded leading or trailing whitespace was removed.
      (#8075)

    • Fixed the retry delay of a gRPC response being ignored or misread when a
      length which does not fit in an int was truncated instead of being
      rejected.
      (#8075)

    • Fixed the retry delay of a gRPC response being ignored or misread when a
      field did not have the wire type that its number defines, instead of the
      field being skipped.
      (#8075)

    • Fixed the retry delay of a gRPC response being misread when the retry_delay
      field was repeated, instead of the occurrences being merged.
      (#8075)

    • Fixed the retry delay of a gRPC response being ignored when the
      grpc-status-details-bin trailer was Base64-encoded without padding, as
      emitted by gRPC-Go.
      (#8075)

    • The retry delay in the grpc-status-details-bin trailer of a gRPC response is
      now ignored if the status code in the details contradicts the grpc-status
      of the response.
      (#8078)

    • Attribute values implementing IUtf8SpanFormattable (.NET 10+) that are not
      already handled as a built-in type are now formatted directly into the export
      buffer with TryFormat and exported as string attributes, instead of through
      ToString().
      (#7929)

    • An OutOfMemoryException thrown while converting an attribute value to a
      string is no longer swallowed and the attribute dropped; it now propagates.
      (#7929)

    • Fixed string attribute values truncated by an attribute value length limit
      ending in half of a surrogate pair. The truncated value now ends before the
      pair instead.
      (#7929)

    • Added support for batching the metric points exported by the periodic
      exporting metric reader. Set
      PeriodicExportingMetricReaderOptions.MaxExportBatchSize to limit the
      number of metric points in each exported batch. It can also be configured
      with the OTEL_METRIC_EXPORT_MAX_BATCH_SIZE environment variable.
      (#8053)

    See CHANGELOG for details.

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

    • Fixed exporter option initialization failing when environment variable access
      is denied.
      (#8070)

    • An OutOfMemoryException thrown while converting an attribute value to a
      string is no longer swallowed and the attribute dropped; it now propagates.
      (#7929)

    See CHANGELOG for details.

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

    • Fixed host resource detection throwing SecurityException when configuration
      values cannot be read.
      (#8070)

    • Updated the schema URL of resources created by the host environment resource
      detector to use OpenTelemetry Semantic Conventions version 1.45.0.
      (#8079)

    See CHANGELOG for details.

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

    No notable changes.

    See CHANGELOG for details.

Don't miss a new opentelemetry-dotnet release

NewReleases is sending notifications on new releases.