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

pre-release3 hours ago

The following changes are from the previous release 1.19.1.

  • NuGet: OpenTelemetry v1.20.0-rc.1

    • Fixed SuppressInstrumentationScope reference counts leaking between inherited asynchronous execution contexts.
      (#7803)

    • Self-diagnostic features are explicitly disabled on browser-based platforms (e.g. Blazor) and are now non-functional. Previously, attempting to enable self-diagnostics on such platforms would result in an exception at runtime.
      (#7799)

    • Added TracerProviderBuilder.ConfigureSampler which receives the resolved Sampler whether set programmatically, via OTEL_TRACES_SAMPLER, or by default, and returns a replacement. Intended for library authors who need to influence sampling without overriding a sampler the application has configured.
      (#7780)

    • Fixed ResourceBuilder.CreateDefault ignoring OTEL_RESOURCE_ATTRIBUTES and OTEL_SERVICE_NAME environment variables when the host IConfiguration does not contain those settings.
      (#7855)

    • Added improved self-diagnostics logging to improve the support experience. The new SelfDiagnosticsOptions class configures a rolling file sink and a console sink through the standard options pipeline. Sinks are off by default.
      (#7588)

    • 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.
      (#7804)

    • 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.
      (#7727)

    • Fixed LogRecord.CategoryName resetting the current Logger's Version to null when set to a new value.
      (#7727)

    • Bounded the internal cache of Logger scopes keyed by instrumentation to avoid unbounded growth.
      (#7727)

    • Fixed the MeterProvider and its IServiceProvider being kept alive after the host is disposed when using Microsoft.Extensions.Diagnostics versions prior to 9.0, which never dispose their MetricsSubscriptionManager (and its underlying MeterListener).
      (#7924)

    • Fixed a race condition between recording a measurement and collecting a histogram with delta temporality that could cause an empty data point (with a count of zero) to be exported in the next collection cycle.
      (#7923)

    • Improved metric collection performance after metric streams are removed by compacting metric storage during collection.
      (#7945)

    See CHANGELOG for details.

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

    • Added Logger.SchemaUrl and a LoggerProvider.GetLogger overload accepting a schema URL parameter using the new LoggerOptions type.
      (#7727)

    • 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). Custom LoggerProvider subclasses that override the previous overload must update to override the new one; the old overload is no longer called.
      (#7727)

    • Optimize performance of BaggagePropagator.Inject on .NET Framework using lookup tables.
      (#7947)

    See CHANGELOG for details.

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

    No notable changes.

    See CHANGELOG for details.

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

    • ConsoleLogRecordExporter now writes an Instrumentation scope (Logger) section (Name, Version, and Schema URL) for each exported LogRecord.
      (#7727)

    See CHANGELOG for details.

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

    No notable changes.

    See CHANGELOG for details.

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

    • Avoid closure allocations when serializing cached metric metadata.
      (#7841)

    • 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).
      (#7799)

    • Suppressed informational HTTP client logs from OTLP exporters by default. See HttpClient logging for configuration overrides.
      (#7743)

    • Avoid logging malformed HTTP request headers in the exporter's diagnostic log.
      (#7858)

    • Avoid buffering the whole compressed request body in memory before sending it on .NET Framework when using HTTP/protobuf with gzip compression.
      (#7879)

    • 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.
      (#7727)

    • Breaking: 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.
      (#7893)

    • Breaking: 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.
      (#7894)

    • Breaking: 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.
      (#7902)

    • 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.
      (#7916)

    See CHANGELOG for details.

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

    No notable changes.

    See CHANGELOG for details.

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

    No notable changes.

    See CHANGELOG for details.

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

    No notable changes.

    See CHANGELOG for details.

Don't miss a new opentelemetry-dotnet release

NewReleases is sending notifications on new releases.