Repository navigation
Bump opentelemetry-dotnet monorepo to 1.21.0 - #3720
Merged
costellobot[bot] merged 1 commit intoNov 11, 2026
Merged
Conversation
| datasource | package | from | to | | ---------- | -------------------------------------------- | ----------- | ------ | | nuget | OpenTelemetry.Exporter.OpenTelemetryProtocol | 1.21.0-rc.2 | 1.21.0 | | nuget | OpenTelemetry.Extensions.Hosting | 1.21.0-rc.2 | 1.21.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
costellobot
Bot
deleted the
renovate/nuget/opentelemetry-dotnet-monorepo
branch
November 11, 2026 14:43
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.21.0-rc.2→1.21.01.21.0-rc.2→1.21.0Release Notes
open-telemetry/opentelemetry-dotnet (OpenTelemetry.Exporter.OpenTelemetryProtocol)
v1.21.0Release details: 1.21.0
net8.0andnet9.0. The supported.NET targets are now
net10.0,net11.0,net462andnetstandard2.0.ActivitySources fromconfiguration using the
Microsoft.Extensions.Diagnosticstracing APIs(for example,
services.AddTracing(b => b.AddConfiguration(section))).Activities from sources enabled this way are processed by the OpenTelemetry
TracerProviderregistered throughAddOpenTelemetry().WithTracing().This is not supported when targeting
net10.0.OTLP exporter with the experimental disk retry feature enabled now throws an
UnauthorizedAccessExceptionif the retry directory could be changed byanother user. The retry directory must be owned by the current user and must
not be writable by its group or by other users, and each directory and
symbolic link in its path must be owned by the current user or by root and
must not be writable by its group or by other users unless it has the sticky
bit set (such as
/tmp). These checks can be disabled by settingOTEL_DOTNET_EXPERIMENTAL_OTLP_DISK_RETRY_CHECK_PERMISSIONStofalse.OTEL_DIAGNOSTICS.jsonnow writes rollingotel-dotnet-*.logfiles in the standard entry format instead of a circular{executable}.{pid}.logfile.FileSizeis split evenly across two retainedfiles,
FormatMessageis now ignored, and writes are asynchronous and maydrop entries when the bounded queue fills. Sinks configured through
providers, including those enabled through environment variables, override
the JSON configuration with a warning event. The preamble of each file now
includes configuration warnings and a redacted environment snapshot.
Activity.StatusDescriptionor the
otel.status_descriptiontag) exported by the OTLP exporter is nowtruncated to the configured span attribute value length limit (for example
OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT) instead of being exported in full.EnvironmentVariableCarrierAPIs previously covered byOTEL1005are nowstable. Carrier snapshots now preserve environment variable names, preventing
extraction from non-normalized aliases and collisions with normalized names,
and follow the platform's case-sensitivity rules.
PeriodicExportingMetricReader. SetPeriodicExportingMetricReaderOptions.MaxExportBatchSize(or theOTEL_METRIC_EXPORT_MAX_BATCH_SIZEenvironment variable) to split the metricpoints of each collection into batches of at most that many metric points.
Sampler.Shutdownand the overridableSampler.OnShutdownso samplerscan release resources.
TracerProvidernow callsShutdownon its samplerwhen it is shut down or disposed, and
ParentBasedSamplerandAlwaysRecordSamplercallShutdownon the samplers they delegate to.SelfDiagnosticsOptionsis now automatically bound from theOpenTelemetry:SelfDiagnosticsconfiguration section, when present.OpenTelemetryLoggerOptionsis now bound from theLogging:OpenTelemetryconfiguration section using the configuration binding source generator
instead of reflection, making it fully trim and Native AOT compatible.
IHostedLifecycleService.StartingAsyncinstead ofIHostedService.StartAsyncso that telemetry emitted by other hosted services during
StartingAsynciscaptured.
environment resource detector to use OpenTelemetry Semantic Conventions
version
1.45.0.System.Diagnostics.DiagnosticSourcedependency to11.0.0forall target frameworks.
Acceptheader negotiation in the Prometheusexporters.
IUtf8SpanFormattable(.NET 10+) are nowformatted directly into the OTLP export buffer instead of through
ToString().MetricReader.Collect()(for example byMeterProvider.ForceFlush()), theExportTimeoutMillisecondsofPeriodicExportingMetricReaderand theExporterTimeoutMillisecondsofBatchExportProcessor<T>are now made available to the exporter. The OTLPexporter now cancels an export when the shorter of these timeouts and
OtlpExporterOptions.TimeoutMillisecondselapses, counting the time taken toserialize the telemetry, and fixed in-memory retries exceeding the export
timeout when a retried request stalls.
byte[]-valued tags and attributes, array-valued tags containingNaNor infinite values, nested arrays and maps, and arrays of string-valued
key/value pairs being exported incorrectly by the Console, OTLP, Zipkin and
Prometheus exporters. They are now exported as specified (for example
byte[]values are Base64-encoded and arrays and maps are JSON-encodedinstead of being written as a .NET type name).
# UNITline whose unitis not an underscore-separated suffix of the metric family name, which
caused Prometheus to reject the whole response. The line is now omitted.
metric named like a sample generated for another metric, which caused
Prometheus to reject the whole response. Such series and metrics are now
dropped and a warning event is written.
different response format within the
ScrapeResponseCacheDurationMillisecondswindow.until
ScrapeResponseTimeoutMillisecondselapses.a new
MetricPointcould lose the measurement or export the same seriestwice in a single collection.
creation of a new
MetricPointcould export aMetricPointthat was not yetfully initialized, causing a
NullReferenceExceptionwhen enumeratingTags.a reset.
legacy activity, or metric view patterns from matching, and a name with a
trailing line feed matching a wildcard pattern which does not end in a
wildcard.
OTEL_RESOURCE_ATTRIBUTESvalues being decoded as form data, whichchanged a
+to a space. Values are now only percent-decoded.exporters and host resource detection when environment variable access is
denied.
older target frameworks.
PeriodicExportingMetricReaderexporting a collection which was stillin progress after its exporter had been shut down, and not making its final
collection when
Shutdown()was called before its background task hadstarted running on platforms where threading is not available.
OTEL_EXPORTER_OTLP_HEADERS(and theHeadersoption) being decodedbefore it was split into headers, so that a percent-encoded
,in a valuestarted a new header and encoded leading or trailing whitespace was removed.
oversized lengths, fields with an unexpected wire type, repeated fields and
unpadded Base64
grpc-status-details-bintrailers, and it is now ignored whenthe status code in the details contradicts the
grpc-statusof the response.reuse after buffer allocation failures.
ending in half of a surrogate pair. The truncated value now ends before the
pair instead.
OutOfMemoryExceptionthrown while converting an attribute value to astring is no longer swallowed and the attribute dropped; it now propagates.
its pump thread was exiting could throw
ArgumentNullExceptionon .NETFramework.
OTEL_RESOURCE_ATTRIBUTESvalue in theself-diagnostics environment snapshot when it contained empty entries.
Configuration
📅 Schedule: (in timezone Europe/London)
* 5-21 * * MON-FRI)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.