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 throwArgumentNullExceptionon
.NET Framework.
(#7983) -
SelfDiagnosticsOptionsis now automatically bound from the
OpenTelemetry:SelfDiagnosticsconfiguration section, when present.
(#8008) -
Fixed a race where collecting a metric with delta temporality concurrently
with the creation of a newMetricPointcould reclaim theMetricPoint
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()), theExportTimeoutMillisecondsof
PeriodicExportingMetricReaderand theExporterTimeoutMillisecondsof
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. TheExportTimeoutMilliseconds
ofPeriodicExportingMetricReadernow also limits exports which are not
started by the reader itself, such as those ofMeterProvider.ForceFlush().
(#7996) -
Fixed a race where collecting a cumulative metric concurrently with the
creation of a newMetricPointcould export aMetricPointthat was not yet
fully initialized, could case aNullReferenceExceptionwhen enumeratingTags.
(#8018) -
Breaking Change Dropped support for
net8.0andnet9.0.
(#6899) -
Add support for .NET 11.0.
(#6899) -
Added support for enabling
ActivitySources from configuration using the
Microsoft.Extensions.Diagnosticstracing APIs introduced in .NET 11 (for
example,services.AddTracing(b => b.AddConfiguration(section))).
Activities from sources enabled this way are processed by the OpenTelemetry
TracerProviderregistered throughAddOpenTelemetry().WithTracing().
Not supported when targetingnet10.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
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
NaNor infinite floating-point values
being exported asTRUNCATED; 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 (withbyte[]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
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.StatusDescriptionor
theotel.status_descriptiontag) 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
toMeterProvider.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.0andnet9.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
NaNor infinite floating-point values
being exported asTRUNCATED; 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 (withbyte[]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.StartingAsyncinstead ofIHostedService.StartAsync
so that telemetry emitted by other hosted services duringStartingAsyncis
captured.ITelemetryHostInitializer.Initialize()is invoked only once per
host start.
(#7998) -
Breaking Change Dropped support for
net8.0andnet9.0.
(#6899) -
Add support for .NET 11.0.
(#6899)
See CHANGELOG for details.
-
-
NuGet: OpenTelemetry.Extensions.Propagators v1.21.0-rc.1
See CHANGELOG for details.