github open-telemetry/opentelemetry-dotnet core-1.20.1

latest release: coreunstable-1.20.1-beta.1
3 hours ago

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

The following changes are from the previous release 1.20.0.

  • NuGet: OpenTelemetry v1.20.1

    • Fixed a possible race condition on ARM64 when multiple threads record the
      first measurement with no tags, or the first overflow measurement, that could
      cause the measurement to be recorded incorrectly.
      (#7951)

    • Fixed self-diagnostics preamble redaction of quoted or encoded PEM material
      and prefixed JWTs.
      (#7955)

    • Fixed default HTTP client log filtering when registering the OTLP log exporter
      through OpenTelemetryLoggerOptions.
      (#7959)

    • Fixed legacy self-diagnostics logging terminating the process when the log
      file is truncated or the log volume runs out of space.
      (#7956)

    • Experimental (pre-release builds only): Fixed Logger.EmitLog ignoring
      instrumentation suppression, which could cause recursive exports or deadlocks.
      (#7961)

    • Fixed delta double counters losing subsequent measurements after a non-finite
      or large value and idle metric points with a NaN value failing to be reclaimed.
      (#7963)

    • Improve the assignment of values to exponential histogram buckets when the
      value is near a bucket boundary by using a pre-computed lookup table.
      (#7911)

    • 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 which could cause a BatchLogRecordExportProcessor
      on the same provider to export missing or incorrect data.
      (#7965)

    • Fixed a SuppressInstrumentationScope.Enter() reference count never being
      released when the Activity it was entered for is not recorded, which caused
      all subsequent telemetry in that execution context to be suppressed.
      (#7966)

    • Self-diagnostics log files, whether configured through OTEL_DIAGNOSTICS.json
      or SelfDiagnosticsOptions, are now always created as new files.
      (#7968)

    • Self-diagnostics messages written to the sinks configured by
      SelfDiagnosticsOptions are now truncated to 16,384 characters so that the
      memory used by entries waiting to be written is bounded.
      (#7969)

    • The self-diagnostics file sink now creates its log directory and log files
      so that only the owner can access them (0700/0600) on Linux and macOS,
      instead of inheriting the process umask.
      (#7967)

    • Fixed pooled log records retaining completed log data until reused.
      (#7978)

    • Fixed slow metric recording when distinct wide tag values, such as long or
      Guid, share the same built-in hash code.
      (#7979)

    • Fixed ObservableCounter and ObservableUpDownCounter overflow points
      reporting only the last observation instead of the sum for each collection.
      (#7985)

    • Fixed replaced log attributes being exported together with their original
      values when buffering or updating LogRecord.State.
      (#7987)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Api v1.20.1

    • Fixed TracerProvider.GetTracer caching a new tracer for each call with equal
      array-valued scope tags.
      (#7960)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Api.ProviderBuilderExtensions v1.20.1

    No notable changes.

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.Console v1.20.1

    No notable changes.

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.InMemory v1.20.1

    No notable changes.

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.OpenTelemetryProtocol v1.20.1

    • Fixed informational HTTP client logs not being suppressed by default when the
      OTLP log exporter is registered using OpenTelemetryLoggerOptions.AddOtlpExporter.
      (#7959)

    • Breaking: HttpClient instances created by the exporter directly no
      longer follow HTTP redirects. A 3xx response is now treated as a failed
      export. See Configure HttpClient
      to prevent HttpClient created by IHttpClientFactory from following
      redirects.
      (#7958)

    • The value of OTEL_EXPORTER_OTLP_ENDPOINT, or of its signal-specific
      variants, is no longer written to the exporter's diagnostic log when it is
      not a valid URI.
      (#7971)

    • Hardened the experimental disk retry feature.

      • When running on .NET on non-Windows platforms, the retry directory and
        the blob files within it are now created accessible to the current user
        only, including when the directory is recreated after being deleted.
      • Directory size accounting no longer follows subdirectories, avoiding
        a symbolic-link/junction walk.
      • Expired lease-file cleanup now correctly locates the lease timestamp
        delimiter within the file name rather than the whole path.
      • Storage maintenance no longer deletes or renames files with a .blob,
        .tmp or .lock extension that the exporter did not create when the
        retry directory is shared with other files. Only files named the way the
        exporter names its blobs, and the temporary and lease files derived from
        them, are now removed or renamed, and only blobs named that way are now
        retried.
      • Timestamps in blob and lease file names are now always written using the
        Gregorian calendar. Previously, when the current culture used a different
        calendar, files were given timestamps that caused them never to be
        removed or released when the storage was maintained.
      • A stored request whose lease has expired is no longer deleted after it has
        been retried, as it may have since been leased again for another retry.
      • Stored blobs that are empty or that are larger than the maximum size of
        the storage are no longer read. When running on .NET, stored blobs that
        are symbolic links are also no longer read.
        (#7857)
    • Only the first 4 KiB of the body of an unsuccessful response is now read and
      written to the exporter's diagnostic log, instead of up to
      MaxResponseSizeBytes.
      (#7969)

    • Fixed reading the body of a failed export response for the exporter's
      diagnostic log not being bounded by the export timeout.
      (#7970)

    • Fixed the body of a failed export response never being written to the
      exporter's diagnostic log when running on .NET Framework.
      (#7970)

    • Fixed attributes whose value is converted with ToString() (for example
      enums, Uri or StringValues) being dropped as unsupported, and for metric
      data points omitted from every later export, when the export buffer had to
      be resized while the attribute was being written.
      (#7973)

    • Breaking: Fixed telemetry stored by the experimental disk retry feature
      for one exporter being resent by another exporter for the same signal to its
      own endpoint and with its own headers. Disk retry storage is now additionally
      separated by a subdirectory derived from the exporter's Protocol,
      Endpoint and Headers. Telemetry stored on disk by earlier versions is
      not resent.
      (#7972)

    • Exponential histogram bucket counts are now serialized in the packed
      encoding, which reduces the size of the exported payload.
      (#7897)

    • Fixed inline certificate or private key material being included in OTLP
      diagnostic events and exceptions when supplied instead of a file path.
      (#7981)

    • Fixed early metric collections permanently omitting resource attributes from
      subsequent exports while the MeterProvider is being built.
      (#7984)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.Zipkin v1.20.1

    • The value of OTEL_EXPORTER_ZIPKIN_ENDPOINT is no longer written to the
      exporter's diagnostic log when it is not a valid URI.
      (#7971)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Extensions.Hosting v1.20.1

    No notable changes.

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Extensions.Propagators v1.20.1

    No notable changes.

    See CHANGELOG for details.

Don't miss a new opentelemetry-dotnet release

NewReleases is sending notifications on new releases.