Repository navigation
[SDK] Respect instrumentation suppression in Logs Bridge emission - #7961
Merged
martincostello merged 4 commits intoOct 16, 2026
Merged
Conversation
Drop Logger.EmitLog calls while instrumentation is suppressed, consistently with ILogger. Add regression coverage for both EmitLog overloads and bounded re-entrant exports, including failed exports. Discovered by Anthropic's OSS Scanner, as bug ANT-2026-76DBXWPO.
Pull request dashboard statusMerged · refreshed 2026-10-16 14:34 UTC Status above doesn't look right?
|
Complete the experimental Logs Bridge changelog using the existing pre-release-only prefix and the real fix PR link, open-telemetry#7961. Discovered by Anthropic's OSS Scanner, as bug ANT-2026-76DBXWPO.
martincostello
approved these changes
Oct 16, 2026
Kielek
marked this pull request as ready for review
October 16, 2026 11:58
martincostello
enabled auto-merge
October 16, 2026 12:02
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7961 +/- ##
=======================================
Coverage 92.37% 92.37%
=======================================
Files 364 364
Lines 21088 21090 +2
=======================================
+ Hits 19479 19482 +3
+ Misses 1609 1608 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
martincostello
approved these changes
Oct 16, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to a conflict with the base branch
Oct 16, 2026
This was referenced Oct 23, 2026
Open
Open
github-actions Bot
pushed a commit
to rombolshak/ahlcg
that referenced
this pull request
Oct 23, 2026
…701) Pinned [Microsoft.AspNetCore.Identity.EntityFrameworkCore](https://github.com/dotnet/dotnet) at 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.AspNetCore.Identity.EntityFrameworkCore's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Pinned [Microsoft.AspNetCore.OpenApi](https://github.com/dotnet/dotnet) at 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.AspNetCore.OpenApi's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.EntityFrameworkCore.Design](https://github.com/dotnet/dotnet) from 10.0.12 to 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.EntityFrameworkCore.Design's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.EntityFrameworkCore.InMemory](https://github.com/dotnet/dotnet) from 10.0.12 to 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.EntityFrameworkCore.InMemory's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Diagnostics.Testing](https://github.com/dotnet/extensions) from 10.10.0 to 10.11.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Diagnostics.Testing's releases](https://github.com/dotnet/extensions/releases)._ ## 10.11.0 # .NET Extensions 10.11.0 This release adds optional scope capture for buffered logs and updates experimental HTTP latency enrichment APIs. It also includes fixes for AI streaming and function invocation, evaluation reports, HybridCache invalidation, and logging. ## Experimental API Changes ### New Experimental APIs * Optional logging-scope capture for global and per-request log buffering through `GlobalLogBufferingOptions.IncludeScopes` and `PerRequestLogBufferingOptions.IncludeScopes` (`EXTEXP0003`) #7813 ### Breaking Changes to Experimental APIs * Incoming HTTP latency log enrichment: `AddHttpLatencyTelemetry` is renamed to `AddHttpServerLatencyTelemetry` and moves from `HttpLatencyTelemetryServiceCollectionExtensions` to `HttpLoggingServiceCollectionExtensions`. It remains experimental under `EXTEXP0013` in this release. #7730 ## What's Changed ### AI * Yield final image when streaming with HostedImageGenerationTool #7774 by @iamAdarshh * Make the default tool-rejection message state that the decision is final #7784 by @manjunathshiva * AI: Remove obsolete OpenAI JsonPatch workaround #7815 by @jozkee (co-authored by @Copilot) * Ignore empty model IDs in streaming responses #7816 by @valkiara * Honor FunctionInvocationContext.Terminate when the function throws #7801 by @gjz22 * Fix ChatResponseUpdate.Clone dropping ContinuationToken #7699 by @dfedoryshchev * Decode non-base64 data URIs in DataContent to the octets they encode #7798 by @Laurianti ### AI Evaluation * [M.E.AI.Evaluation.Reporting] Fix context and metric interpretation visualization #7738 by @grafanaKibana * Fix tokenizer attaching punctuation to number tokens #7766 by @tahakocal * Order iteration results numerically #7769 by @tahakocal * Score GLEU against the best matching reference #7768 by @tahakocal ### Telemetry and Observability * Optionally preserve logging scopes in buffered log records #7813 by @evgenyfedorov2 (co-authored by @Copilot) * Fix OOM from unbounded enumeration of ExtendedLogger tag joiners #7819 by @evgenyfedorov2 (co-authored by @Copilot) * Fix log buffering race by removing the rule selector cache #7803 by @evgenyfedorov2 (co-authored by @Copilot) ### ASP.NET Core Extensions * Rename AddHttpLatencyTelemetry to AddHttpServerLatencyTelemetry (API-approved shape) #7730 by @EasyL0ver (co-authored by @Copilot) * Fix ArgumentNullException in per-request log buffering at the end of a request #7811 by @evgenyfedorov2 (co-authored by @Copilot) ### AI Project Templates * Align aichatweb local vector-store keys with Guid record keys #7804 by @jongalloway (co-authored by @adamsitnik @Copilot) ### Caching ... (truncated) ## 10.10.1 This release fixes two OpenAI integration issues: a TypeLoadException on tool-carrying Responses API calls and a streaming crash against third-party OpenAI-compatible endpoints, by upgrading the OpenAI SDK to 2.14.0. ## Packages in this release | Package | Version | |---------|---------| | Microsoft.Extensions.AI.OpenAI | `10.10.1` | | Microsoft.Extensions.AI.Abstractions | `10.10.1` | ## What's Changed ### AI * Upgrade OpenAI SDK to 2.14.0 #7761 by @zxyao145 ## Acknowledgements * @zxyao145 made their first contribution in #7761 * @zxyao145 submitted issue #7760 (resolved by #7761) * @jozkee @wtgodbe reviewed pull requests **Full Changelog**: https://github.com/dotnet/extensions/compare/v10.10.0...v10.10.1 Commits viewable in [compare view](https://github.com/dotnet/extensions/compare/v10.10.0...v10.11.0). </details> Pinned [Microsoft.Extensions.Http.Resilience](https://github.com/dotnet/extensions) at 10.11.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Http.Resilience's releases](https://github.com/dotnet/extensions/releases)._ ## 10.11.0 # .NET Extensions 10.11.0 This release adds optional scope capture for buffered logs and updates experimental HTTP latency enrichment APIs. It also includes fixes for AI streaming and function invocation, evaluation reports, HybridCache invalidation, and logging. ## Experimental API Changes ### New Experimental APIs * Optional logging-scope capture for global and per-request log buffering through `GlobalLogBufferingOptions.IncludeScopes` and `PerRequestLogBufferingOptions.IncludeScopes` (`EXTEXP0003`) #7813 ### Breaking Changes to Experimental APIs * Incoming HTTP latency log enrichment: `AddHttpLatencyTelemetry` is renamed to `AddHttpServerLatencyTelemetry` and moves from `HttpLatencyTelemetryServiceCollectionExtensions` to `HttpLoggingServiceCollectionExtensions`. It remains experimental under `EXTEXP0013` in this release. #7730 ## What's Changed ### AI * Yield final image when streaming with HostedImageGenerationTool #7774 by @iamAdarshh * Make the default tool-rejection message state that the decision is final #7784 by @manjunathshiva * AI: Remove obsolete OpenAI JsonPatch workaround #7815 by @jozkee (co-authored by @Copilot) * Ignore empty model IDs in streaming responses #7816 by @valkiara * Honor FunctionInvocationContext.Terminate when the function throws #7801 by @gjz22 * Fix ChatResponseUpdate.Clone dropping ContinuationToken #7699 by @dfedoryshchev * Decode non-base64 data URIs in DataContent to the octets they encode #7798 by @Laurianti ### AI Evaluation * [M.E.AI.Evaluation.Reporting] Fix context and metric interpretation visualization #7738 by @grafanaKibana * Fix tokenizer attaching punctuation to number tokens #7766 by @tahakocal * Order iteration results numerically #7769 by @tahakocal * Score GLEU against the best matching reference #7768 by @tahakocal ### Telemetry and Observability * Optionally preserve logging scopes in buffered log records #7813 by @evgenyfedorov2 (co-authored by @Copilot) * Fix OOM from unbounded enumeration of ExtendedLogger tag joiners #7819 by @evgenyfedorov2 (co-authored by @Copilot) * Fix log buffering race by removing the rule selector cache #7803 by @evgenyfedorov2 (co-authored by @Copilot) ### ASP.NET Core Extensions * Rename AddHttpLatencyTelemetry to AddHttpServerLatencyTelemetry (API-approved shape) #7730 by @EasyL0ver (co-authored by @Copilot) * Fix ArgumentNullException in per-request log buffering at the end of a request #7811 by @evgenyfedorov2 (co-authored by @Copilot) ### AI Project Templates * Align aichatweb local vector-store keys with Guid record keys #7804 by @jongalloway (co-authored by @adamsitnik @Copilot) ### Caching ... (truncated) ## 10.10.1 This release fixes two OpenAI integration issues: a TypeLoadException on tool-carrying Responses API calls and a streaming crash against third-party OpenAI-compatible endpoints, by upgrading the OpenAI SDK to 2.14.0. ## Packages in this release | Package | Version | |---------|---------| | Microsoft.Extensions.AI.OpenAI | `10.10.1` | | Microsoft.Extensions.AI.Abstractions | `10.10.1` | ## What's Changed ### AI * Upgrade OpenAI SDK to 2.14.0 #7761 by @zxyao145 ## Acknowledgements * @zxyao145 made their first contribution in #7761 * @zxyao145 submitted issue #7760 (resolved by #7761) * @jozkee @wtgodbe reviewed pull requests **Full Changelog**: https://github.com/dotnet/extensions/compare/v10.10.0...v10.10.1 Commits viewable in [compare view](https://github.com/dotnet/extensions/compare/v10.10.0...v10.11.0). </details> Pinned [Microsoft.Extensions.ServiceDiscovery](https://github.com/dotnet/extensions) at 10.11.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.ServiceDiscovery's releases](https://github.com/dotnet/extensions/releases)._ ## 10.11.0 # .NET Extensions 10.11.0 This release adds optional scope capture for buffered logs and updates experimental HTTP latency enrichment APIs. It also includes fixes for AI streaming and function invocation, evaluation reports, HybridCache invalidation, and logging. ## Experimental API Changes ### New Experimental APIs * Optional logging-scope capture for global and per-request log buffering through `GlobalLogBufferingOptions.IncludeScopes` and `PerRequestLogBufferingOptions.IncludeScopes` (`EXTEXP0003`) #7813 ### Breaking Changes to Experimental APIs * Incoming HTTP latency log enrichment: `AddHttpLatencyTelemetry` is renamed to `AddHttpServerLatencyTelemetry` and moves from `HttpLatencyTelemetryServiceCollectionExtensions` to `HttpLoggingServiceCollectionExtensions`. It remains experimental under `EXTEXP0013` in this release. #7730 ## What's Changed ### AI * Yield final image when streaming with HostedImageGenerationTool #7774 by @iamAdarshh * Make the default tool-rejection message state that the decision is final #7784 by @manjunathshiva * AI: Remove obsolete OpenAI JsonPatch workaround #7815 by @jozkee (co-authored by @Copilot) * Ignore empty model IDs in streaming responses #7816 by @valkiara * Honor FunctionInvocationContext.Terminate when the function throws #7801 by @gjz22 * Fix ChatResponseUpdate.Clone dropping ContinuationToken #7699 by @dfedoryshchev * Decode non-base64 data URIs in DataContent to the octets they encode #7798 by @Laurianti ### AI Evaluation * [M.E.AI.Evaluation.Reporting] Fix context and metric interpretation visualization #7738 by @grafanaKibana * Fix tokenizer attaching punctuation to number tokens #7766 by @tahakocal * Order iteration results numerically #7769 by @tahakocal * Score GLEU against the best matching reference #7768 by @tahakocal ### Telemetry and Observability * Optionally preserve logging scopes in buffered log records #7813 by @evgenyfedorov2 (co-authored by @Copilot) * Fix OOM from unbounded enumeration of ExtendedLogger tag joiners #7819 by @evgenyfedorov2 (co-authored by @Copilot) * Fix log buffering race by removing the rule selector cache #7803 by @evgenyfedorov2 (co-authored by @Copilot) ### ASP.NET Core Extensions * Rename AddHttpLatencyTelemetry to AddHttpServerLatencyTelemetry (API-approved shape) #7730 by @EasyL0ver (co-authored by @Copilot) * Fix ArgumentNullException in per-request log buffering at the end of a request #7811 by @evgenyfedorov2 (co-authored by @Copilot) ### AI Project Templates * Align aichatweb local vector-store keys with Guid record keys #7804 by @jongalloway (co-authored by @adamsitnik @Copilot) ### Caching ... (truncated) ## 10.10.1 This release fixes two OpenAI integration issues: a TypeLoadException on tool-carrying Responses API calls and a streaming crash against third-party OpenAI-compatible endpoints, by upgrading the OpenAI SDK to 2.14.0. ## Packages in this release | Package | Version | |---------|---------| | Microsoft.Extensions.AI.OpenAI | `10.10.1` | | Microsoft.Extensions.AI.Abstractions | `10.10.1` | ## What's Changed ### AI * Upgrade OpenAI SDK to 2.14.0 #7761 by @zxyao145 ## Acknowledgements * @zxyao145 made their first contribution in #7761 * @zxyao145 submitted issue #7760 (resolved by #7761) * @jozkee @wtgodbe reviewed pull requests **Full Changelog**: https://github.com/dotnet/extensions/compare/v10.10.0...v10.10.1 Commits viewable in [compare view](https://github.com/dotnet/extensions/compare/v10.10.0...v10.11.0). </details> Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 18.10.1 to 18.11.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.NET.Test.Sdk's releases](https://github.com/microsoft/vstest/releases)._ ## 18.11.0 <!-- Release notes generated using configuration in .github/release.yml at rel/18.11 --> ## What's Changed * Fix TRX logger mangling astral-plane (non-BMP) characters by @azat-msft in https://github.com/microsoft/vstest/pull/16318 * Disable the MTP testhost by default by @nohwnd in https://github.com/microsoft/vstest/pull/16337 * Fix OS-blind apphost probe in MTP bridge on Unix (regression from #16201) by @azat-msft in https://github.com/microsoft/vstest/pull/16336 * Retarget the MTP client onto Microsoft.Testing.Platform.ServerMode.Client.Sources by @nohwnd in https://github.com/microsoft/vstest/pull/16300 * Pass arguments to PowerShell with -File instead of -command by @nohwnd in https://github.com/microsoft/vstest/pull/16363 * Respect console logger verbosity from a settings file by @nohwnd in https://github.com/microsoft/vstest/pull/16044 * Fix backslash normalization in VSTestCLIRunSettings on Unix by @nohwnd in https://github.com/microsoft/vstest/pull/15795 * Docs: fix typo explicitely -> explicitly by @vaibhav8a in https://github.com/microsoft/vstest/pull/16397 * Copy acceptance test diagnostic logs into the test results directory by @nohwnd in https://github.com/microsoft/vstest/pull/16403 ## New Contributors * @vaibhav8a made their first contribution in https://github.com/microsoft/vstest/pull/16397 **Full Changelog**: https://github.com/microsoft/vstest/compare/v18.10.1...v18.11.0 Commits viewable in [compare view](https://github.com/microsoft/vstest/compare/v18.10.1...v18.11.0). </details> Pinned [Microsoft.OpenApi](https://github.com/Microsoft/OpenAPI.NET) at 2.13.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.OpenApi's releases](https://github.com/Microsoft/OpenAPI.NET/releases)._ ## 2.13.0 ## [2.13.0](https://github.com/microsoft/OpenAPI.NET/compare/v2.12.2...v2.13.0) (2026-10-19) ### Features * **document:** add GetOperationById to search operations across path… ([#3025](https://github.com/microsoft/OpenAPI.NET/issues/3025)) ([#3074](https://github.com/microsoft/OpenAPI.NET/issues/3074)) ([75d6cea](https://github.com/microsoft/OpenAPI.NET/commit/75d6ceafe7d9898dc415c7d7508e994687401f69)) ### Bug Fixes * components-key validation timeouts under load ([#3108](https://github.com/microsoft/OpenAPI.NET/issues/3108)) ([#3112](https://github.com/microsoft/OpenAPI.NET/issues/3112)) ([5369417](https://github.com/microsoft/OpenAPI.NET/commit/5369417d0baee7783c4f1bf8a95e03a4ae43422b)) * **openapi:** omit null response descriptions ([1344a43](https://github.com/microsoft/OpenAPI.NET/commit/1344a43fb823fea5b48d78e2aca4e3a1eff9221a)) Commits viewable in [compare view](https://github.com/Microsoft/OpenAPI.NET/compare/v2.12.2...v2.13.0). </details> Pinned [OpenTelemetry.Exporter.OpenTelemetryProtocol](https://github.com/open-telemetry/opentelemetry-dotnet) at 1.20.1. <details> <summary>Release notes</summary> _Sourced from [OpenTelemetry.Exporter.OpenTelemetryProtocol's releases](https://github.com/open-telemetry/opentelemetry-dotnet/releases)._ ## 1.20.1 For highlights and announcements pertaining to this release see: [Release Notes > 1.20.1](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1201). The following changes are from the previous release [1.20.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.20.0). * NuGet: [OpenTelemetry v1.20.1](https://www.nuget.org/packages/OpenTelemetry/1.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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7951)) * Fixed self-diagnostics preamble redaction of quoted or encoded PEM material and prefixed JWTs. ([#7955](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7955)) * Fixed default HTTP client log filtering when registering the OTLP log exporter through `OpenTelemetryLoggerOptions`. ([#7959](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7959)) * Fixed legacy self-diagnostics logging terminating the process when the log file is truncated or the log volume runs out of space. ([#7956](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7956)) * **Experimental (pre-release builds only):** Fixed `Logger.EmitLog` ignoring instrumentation suppression, which could cause recursive exports or deadlocks. ([#7961](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7911)) * Fixed `LogRecord`s 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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7966)) * Self-diagnostics log files, whether configured through `OTEL_DIAGNOSTICS.json` or `SelfDiagnosticsOptions`, are now always created as new files. ([#7968](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7968)) ... (truncated) ## 1.20.1-rc.1 The following changes are from the previous release [1.20.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.20.0). * NuGet: [OpenTelemetry v1.20.1-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.20.1-rc.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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7951)) * Fixed self-diagnostics preamble redaction of quoted or encoded PEM material and prefixed JWTs. ([#7955](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7955)) * Fixed default HTTP client log filtering when registering the OTLP log exporter through `OpenTelemetryLoggerOptions`. ([#7959](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7959)) * Fixed legacy self-diagnostics logging terminating the process when the log file is truncated or the log volume runs out of space. ([#7956](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7956)) * **Experimental (pre-release builds only):** Fixed `Logger.EmitLog` ignoring instrumentation suppression, which could cause recursive exports or deadlocks. ([#7961](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7911)) * Fixed `LogRecord`s 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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7966)) * Self-diagnostics log files, whether configured through `OTEL_DIAGNOSTICS.json` or `SelfDiagnosticsOptions`, are now always created as new files. ([#7968](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7968)) * Self-diagnostics messages written to the sinks configured by `SelfDiagnosticsOptions` are now truncated to 16,384 characters so that the ... (truncated) ## 1.20.1-beta.1 The following changes are from the previous release [1.20.0-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.20.0-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.20.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.20.1-beta.1) * Fixed scrape responses being handed to the server in a single write, which made the server buffer a full copy of the response for each client that did not read it until the request completed or timed out. Responses are now written in bounded slices so the server's back-pressure applies. ([#7957](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7957)) * Fixed startup scrapes permanently omitting `target_info` and configured resource constant labels from subsequent scrape responses. ([#7984](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7984)) * Updated OpenTelemetry core component version(s) to `1.20.1`. ([#7990](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7990)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.1-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener v1.20.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.20.1-beta.1) * Fixed scrape responses being handed to the server in a single write, which on Linux and macOS made the listener allocate and hold a full copy of the response for each client that did not read it until the request completed or timed out. Responses are now written in bounded slices. ([#7957](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7957)) * Fixed scrape requests that announce a request body holding a thread pool thread after their response had been sent on Linux and macOS for as long as the client kept trickling in the body. The connection is now closed after responding to a request with a body instead of being kept alive. ([#7962](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7962)) * Fixed startup scrapes permanently omitting `target_info` and configured resource constant labels from subsequent scrape responses. ([#7984](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7984)) * Updated OpenTelemetry core component version(s) to `1.20.1`. ([#7990](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7990)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.1-beta.1/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Shims.OpenTracing v1.20.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Shims.OpenTracing/1.20.1-beta.1) * Updated OpenTelemetry core component version(s) to `1.20.1`. ([#7990](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7990)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.1-beta.1/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md) for details. ## 1.20.0 For highlights and announcements pertaining to this release see: [Release Notes > 1.20.0](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1200). The following changes are from the previous release [1.19.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.1). * NuGet: [OpenTelemetry v1.20.0](https://www.nuget.org/packages/OpenTelemetry/1.20.0) * Fixed `SuppressInstrumentationScope` reference counts leaking between inherited asynchronous execution contexts. ([#7803](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7780)) * Fixed `ResourceBuilder.CreateDefault` ignoring `OTEL_RESOURCE_ATTRIBUTES` and `OTEL_SERVICE_NAME` environment variables when the host `IConfiguration` does not contain those settings. ([#7855](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7727)) * Fixed `LogRecord.CategoryName` resetting the current `Logger`'s `Version` to `null` when set to a new value. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7727)) * Bounded the internal cache of `Logger` scopes keyed by instrumentation to avoid unbounded growth. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7923)) * Improved metric collection performance after metric streams are removed by compacting metric storage during collection. ([#7945](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7945)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.20.0/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.20.0](https://www.nuget.org/packages/OpenTelemetry.Api/1.20.0) * Added `Logger.SchemaUrl` and a `LoggerProvider.GetLogger` overload accepting a schema URL parameter using the new `LoggerOptions` type. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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. ... (truncated) ## 1.20.0-rc.1 The following changes are from the previous release [1.19.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.1). * NuGet: [OpenTelemetry v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.20.0-rc.1) * Fixed `SuppressInstrumentationScope` reference counts leaking between inherited asynchronous execution contexts. ([#7803](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7780)) * Fixed `ResourceBuilder.CreateDefault` ignoring `OTEL_RESOURCE_ATTRIBUTES` and `OTEL_SERVICE_NAME` environment variables when the host `IConfiguration` does not contain those settings. ([#7855](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7727)) * Fixed `LogRecord.CategoryName` resetting the current `Logger`'s `Version` to `null` when set to a new value. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7727)) * Bounded the internal cache of `Logger` scopes keyed by instrumentation to avoid unbounded growth. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7923)) * Improved metric collection performance after metric streams are removed by compacting metric storage during collection. ([#7945](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7945)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.20.0-rc.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.20.0-rc.1) * Added `Logger.SchemaUrl` and a `LoggerProvider.GetLogger` overload accepting a schema URL parameter using the new `LoggerOptions` type. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7727)) ... (truncated) ## 1.20.0-beta.1 The following changes are from the previous release [1.19.1-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.19.1-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.20.0-beta.1) * A scrape request whose connection is aborted, or whose `X-Prometheus-Scrape-Timeout-Seconds` deadline elapses, now stops waiting for an in-progress metrics collection instead of continuing to wait for it to finish. The collection itself is not cancelled and continues running in the background. ([#7856](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7856)) * Updated OpenTelemetry core component version(s) to `1.20.0`. ([#7950](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7950)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.20.0-beta.1) * Updated OpenTelemetry core component version(s) to `1.20.0`. ([#7950](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7950)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Shims.OpenTracing v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Shims.OpenTracing/1.20.0-beta.1) * Updated OpenTelemetry core component version(s) to `1.20.0`. ([#7950](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7950)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md) for details. ## 1.19.1 For highlights and announcements pertaining to this release see: [Release Notes > 1.19.1](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1191). The following changes are from the previous release [1.19.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.0). * NuGet: [OpenTelemetry v1.19.1](https://www.nuget.org/packages/OpenTelemetry/1.19.1) * Fixed `NotSupportedException` thrown when building a `TracerProvider` or `MeterProvider` with a large number of wildcard source/meter patterns on `net8.0`, and a related `OutOfMemoryException` that could occur when many such providers were built over the lifetime of a process. ([#7788](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7788)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Exporter.Console/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.InMemory v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.InMemory/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Exporter.InMemory/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.OpenTelemetryProtocol v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.OpenTelemetryProtocol/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Zipkin v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Zipkin/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Extensions.Hosting v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Extensions.Hosting/1.19.1) No notable changes. ... (truncated) ## 1.19.1-rc.1 The following changes are from the previous release [1.19.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.0). * NuGet: [OpenTelemetry v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.19.1-rc.1) * Fixed `NotSupportedException` thrown when building a `TracerProvider` or `MeterProvider` with a large number of wildcard source/meter patterns on `net8.0`, and a related `OutOfMemoryException` that could occur when many such providers were built over the lifetime of a process. ([#7788](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7788)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Exporter.Console/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.InMemory v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.InMemory/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Exporter.InMemory/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.OpenTelemetryProtocol v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.OpenTelemetryProtocol/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Zipkin v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Zipkin/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Extensions.Hosting v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Extensions.Hosting/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Extensions.Hosting/CHANGELOG.md) for details. ... (truncated) ## 1.19.1-beta.1 The following changes are from the previous release [1.19.0-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.19.0-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.19.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.19.1-beta.1) * Updated OpenTelemetry core component version(s) to `1.19.1`. ([#7796](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7796)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.1-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener v1.19.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.19.1-beta.1) * Updated OpenTelemetry core component version(s) to `1.19.1`. ([#7796](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7796)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.1-beta.1/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Shims.OpenTracing v1.19.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Shims.OpenTracing/1.19.1-beta.1) * Updated OpenTelemetry core component version(s) to `1.19.1`. ([#7796](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7796)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.1-beta.1/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md) for details. ## 1.19.0 For highlights and announcements pertaining to this release see: [Release Notes > 1.19.0](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1190). The following changes are from the previous release [1.18.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.18.0). * NuGet: [OpenTelemetry v1.19.0](https://www.nuget.org/packages/OpenTelemetry/1.19.0) * Added Schema URL to internally created `Resource` instances. ([#7726](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7726)) * Reduced allocations when formatting self-diagnostics events with up to three parameters. ([#7730](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7730)) * Added `AlwaysRecordSampler`. ([#7695](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7695)) * Fixed `CircularBufferBuckets` so the first delta histogram insertion after a reset does not result in an unnecessary scale reduction. ([#7749](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7749)) * Improved wildcard source/meter name matching to avoid excessive matching time at runtime. ([#7760](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7760)) * Fixed lazy logger provider builds after a failure from reusing partially initialized provider state. ([#7761](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7761)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.19.0](https://www.nuget.org/packages/OpenTelemetry.Api/1.19.0) * Reduced allocations when creating log record attributes from an array. ([#7699](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7699)) * Reduced allocations when setting baggage through the `params` overload. ([#7697](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7697)) * Reduced allocations when constructing `SpanAttributes` from an array. ([#7698](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7698)) * Fixed parsing of an inbound `tracestate` header whose member value trimmed to an empty value that previously threw an `IndexOutOfRangeException` internally and could silently truncate the tracestate. ([#7756](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7756)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.19.0](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.19.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.19.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.19.0) ... (truncated) ## 1.19.0-rc.1 The following changes are from the previous release [1.18.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.18.0). * NuGet: [OpenTelemetry v1.19.0-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.19.0-rc.1) * Added Schema URL to internally created `Resource` instances. ([#7726](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7726)) * Reduced allocations when formatting self-diagnostics events with up to three parameters. ([#7730](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7730)) * Added `AlwaysRecordSampler`. ([#7695](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7695)) * Fixed `CircularBufferBuckets` so the first delta histogram insertion after a reset does not result in an unnecessary scale reduction. ([#7749](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7749)) * Improved wildcard source/meter name matching to avoid excessive matching time at runtime. ([#7760](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7760)) * Fixed lazy logger provider builds after a failure from reusing partially initialized provider state. ([#7761](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7761)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0-rc.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.19.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.19.0-rc.1) * Reduced allocations when creating log record attributes from an array. ([#7699](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7699)) * Reduced allocations when setting baggage through the `params` overload. ([#7697](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7697)) * Reduced allocations when constructing `SpanAttributes` from an array. ([#7698](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7698)) * Fixed parsing of an inbound `tracestate` header whose member value trimmed to an empty value that previously threw an `IndexOutOfRangeException` internally and could silently truncate the tracestate. ([#7756](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7756)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0-rc.1/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.19.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.19.0-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0-rc.1/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.19.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.19.0-rc.1) * Extended key/value list attribute handling to cover additional dictionary shapes (`IEnumerable<KeyValuePair<string, string?>>` and `IDictionary`). These attributes will be serialized as JSON objects. ([#7679](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7679)) ... (truncated) ## 1.19.0-beta.1 The following changes are from the previous release [1.18.0-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.18.0-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.19.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.19.0-beta.1) * **Breaking Change** The `PrometheusTranslationStrategy` enum was renamed to `PrometheusAspNetCoreTranslationStrategy`. ([#7751](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7751)) * Fixed OpenMetrics `_created` series being emitted for metric points with a default start time. ([#7754](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7754)) * Prometheus text/OpenMetrics escaping of label values, label names and help text is now more efficient. ([#7758](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7758)) * A scrape request whose connection is aborted, or whose `X-Prometheus-Scrape-Timeout-Seconds` deadline elapses, now stops waiting for an in-progress metrics collection instead of continuing to wait for it to finish. The collection itself is not cancelled and continues running in the background. ([#7757](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7757)) * Updated OpenTelemetry core component version(s) to `1.19.0`. ([#7785](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7785)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener v1.19.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.19.0-beta.1) * **Breaking Change** The `PrometheusTranslationStrategy` enum was renamed to `PrometheusHttpListenerTranslationStrategy`. ([#7751](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7751)) * Fixed OpenMetrics `_created` series being emitted for metric points with a default start time. ([#7754](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7754)) * Prometheus text/OpenMetrics escaping of label values, label names and help text is now more efficient. ([#7758](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7758)) * Added `PrometheusHttpListenerOptions.ScrapeResponseTimeoutMilliseconds` (default `60000`) which bounds how long a scrape request waits for its response. `X-Prometheus-Scrape-Timeout-Seconds` request header values may only shorten this limit. The limit bounds the request's wait only: a metrics collection already running when it is reached is not cancelled and continues running in the background. ([#7757](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7757)) * Updated OpenTelemetry core component version(s) to `1.19.0`. ([#7785](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7785)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Shims.OpenTracing v1.19.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Shims.OpenTracing/1.19.0-beta.1) * Updated OpenTelemetry core component version(s) to `1.19.0`. ([#7785](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7785)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.0-beta.1/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md) for details. ## 1.18.0 For highlights and announcements pertaining to this release see: [Release Notes > 1.18.0](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1180). The following changes are from the previous release [1.17.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.17.0). * NuGet: [OpenTelemetry v1.18.0](https://www.nuget.org/packages/OpenTelemetry/1.18.0) * Fixed self-diagnostics log lines being silently dropped when an event message or parameter contained enough 3-byte UTF-8 characters to overflow the internal buffer estimate. Such content is now truncated. ([#7543](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7543)) * Fixed activity creation throwing when multiple tracer providers return a sampler attribute with the same key. ([#7558](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7558)) * Added the `otel.sdk.processor.log.processed` SDK self-observability metric. ([#7486](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7486)) * Added the `otel.sdk.processor.span.processed` SDK self-observability metric. ([#7598](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7598)) * `BatchActivityExportProcessor` and `SimpleActivityExportProcessor` no longer forward spans to the exporter once `Shutdown` has been called, and `BatchActivityExportProcessor.Shutdown` now waits for in-flight `OnEnd` calls to finish enqueueing before flushing. ([#7598](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7598)) * Fix logger, meter and tracer providers leaking background threads if an exception is thrown by their constructor after resource creation. ([#7615](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7615)) * `CircularBufferBuckets.Copy` optimized to use bulk array copies. ([#7670](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7670)) * Restored configured `MaxScale` after delta exponential histogram collection. ([#7671](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7671)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.18.0](https://www.nuget.org/packages/OpenTelemetry.Api/1.18.0) * Avoid formatting exceptions and creating exception attributes when `RecordException` is called on a span that is not recorded. ([#7669](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7669)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.18.0](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.18.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.18.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.18.0) * Added support for serializing attribute values that are key/value lists (`IEnumerable<KeyValuePair<string, object?>>`). These attributes will be serialized as JSON objects. ([#7015](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7015)) ... (truncated) ## 1.18.0-rc.1 The following changes are from the previous release [1.17.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.17.0). * NuGet: [OpenTelemetry v1.18.0-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.18.0-rc.1) * Fixed self-diagnostics log lines being silently dropped when an event message or parameter contained enough 3-byte UTF-8 characters to overflow the internal buffer estimate. Such content is now truncated. ([#7543](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7543)) * Fixed activity creation throwing when multiple tracer providers return a sampler attribute with the same key. ([#7558](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7558)) * Added the `otel.sdk.processor.log.processed` SDK self-observability metric. ([#7486](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7486)) * Added the `otel.sdk.processor.span.processed` SDK self-observability metric. ([#7598](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7598)) * `BatchActivityExportProcessor` and `SimpleActivityExportProcessor` no longer forward spans to the exporter once `Shutdown` has been called, and `BatchActivityExportProcessor.Shutdown` now waits for in-flight `OnEnd` calls to finish enqueueing before flushing. ([#7598](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7598)) * Fix logger, meter and tracer providers leaking background threads if an exception is thrown by their constructor after resource creation. ([#7615](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7615)) * `CircularBufferBuckets.Copy` optimized to use bulk array copies. ([#7670](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7670)) * Restored configured `MaxScale` after delta exponential histogram collection. ([#7671](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7671)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0-rc.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.18.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.18.0-rc.1) * Avoid formatting exceptions and creating exception attributes when `RecordException` is called on a span that is not recorded. ([#7669](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7669)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0-rc.1/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.18.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.18.0-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0-rc.1/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.18.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.18.0-rc.1) * Added support for serializing attribute values that are key/value lists (`IEnumerable<KeyValuePair<string, object?>>`). These attributes will be serialized as JSON objects. ([#7015](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7015)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0-rc.1/src/OpenTelemetry.Exporter.Console/CHANGELOG.md) for details. ... (truncated) ## 1.18.0-beta.1 The following changes are from the previous release [1.17.0-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.17.0-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.18.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.18.0-beta.1) * Fix concurrent scrapes returning an empty response under contention. Now the exporter will return an HTTP 500 error instead. ([#7571](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7571)) * Waiting for concurrent scrapes to finish before collecting no longer blocks, which could stall concurrent scrapes being waited on. ([#7571](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7571)) * Fixed the interaction between `PrometheusAspNetCoreOptions.TranslationStrategy` and content negotiation. The configured strategy is now applied before content negotiation, instead of the negotiated escaping scheme replacing the strategy's, and the `Content-Type` header now reports the escaping scheme that was applied rather than the one that was negotiated. ([#7610](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7610)) * Fixed metric values and histogram bucket bounds being written with 17 significant digits instead of their shortest round-trippable representation. ([#7589](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7589)) * Fixed the canonical representation used for histogram `le` and summary `quantile` label values falling back to 17 significant digits incorrectly. ([#7589](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7589)) * Fixed a race where a slow scrape could return an HTTP 200 instead of 408. ([#7615](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7615)) * Updated OpenTelemetry core component version(s) to `1.18.0`. ([#7674](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7674)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.18.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener v1.18.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.18.0-beta.1) * Fix concurrent scrapes returning an empty response under contention. Now the exporter will return an HTTP 500 error instead. ([#7571](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7571)) * Waiting for concurrent scrapes to finish before collecting no longer blocks, which could stall concurrent scrapes being waited on. ([#7571](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7571)) * A scrape which is still collecting when the listener is disposed now returns an HTTP 503 response. ([#7587](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7587)) * Shutting down the listener no longer waits indefinitely for its request processing loop to stop, and no longer throws if the loop faulted. ([#7587](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7587)) * Fixed the interaction between `PrometheusHttpListenerOptions.TranslationStrategy` and content negotiation. The configured strategy is now applied before content negotiation, instead of the negotiated escaping scheme replacing the strategy's, and the `Content-Type` header now reports the escaping scheme that was applied rather than the one that was negotiated. ([#7610](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7610)) * Fixed metric values and histogram bucket bounds being written with 17 significant digits instead of their shortest round-trippable representation. ([#7589](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7589)) * Fixed the canonical representation used for histogram `le` and summary `quantile` label values falling back to 17 significant digits incorrectly. ([#7589](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7589)) ... (truncated) Commits viewable in [compare view](https://github.com/open-telemetry/opentelemetry-dotnet/compare/core-1.17.0...... _Description has been truncated_ Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabo…
This was referenced Oct 23, 2026
windcoldchen
pushed a commit
to windcoldchen/otel-victoriametrics-dotnet-demo
that referenced
this pull request
Oct 23, 2026
…o 1.20.1 (#15) Updated [OpenTelemetry.Exporter.OpenTelemetryProtocol](https://github.com/open-telemetry/opentelemetry-dotnet) from 1.11.1 to 1.20.1. <details> <summary>Release notes</summary> _Sourced from [OpenTelemetry.Exporter.OpenTelemetryProtocol's releases](https://github.com/open-telemetry/opentelemetry-dotnet/releases)._ ## 1.20.1 For highlights and announcements pertaining to this release see: [Release Notes > 1.20.1](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1201). The following changes are from the previous release [1.20.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.20.0). * NuGet: [OpenTelemetry v1.20.1](https://www.nuget.org/packages/OpenTelemetry/1.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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7951)) * Fixed self-diagnostics preamble redaction of quoted or encoded PEM material and prefixed JWTs. ([#7955](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7955)) * Fixed default HTTP client log filtering when registering the OTLP log exporter through `OpenTelemetryLoggerOptions`. ([#7959](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7959)) * Fixed legacy self-diagnostics logging terminating the process when the log file is truncated or the log volume runs out of space. ([#7956](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7956)) * **Experimental (pre-release builds only):** Fixed `Logger.EmitLog` ignoring instrumentation suppression, which could cause recursive exports or deadlocks. ([#7961](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7911)) * Fixed `LogRecord`s 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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7966)) * Self-diagnostics log files, whether configured through `OTEL_DIAGNOSTICS.json` or `SelfDiagnosticsOptions`, are now always created as new files. ([#7968](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7968)) ... (truncated) ## 1.20.1-rc.1 The following changes are from the previous release [1.20.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.20.0). * NuGet: [OpenTelemetry v1.20.1-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.20.1-rc.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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7951)) * Fixed self-diagnostics preamble redaction of quoted or encoded PEM material and prefixed JWTs. ([#7955](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7955)) * Fixed default HTTP client log filtering when registering the OTLP log exporter through `OpenTelemetryLoggerOptions`. ([#7959](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7959)) * Fixed legacy self-diagnostics logging terminating the process when the log file is truncated or the log volume runs out of space. ([#7956](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7956)) * **Experimental (pre-release builds only):** Fixed `Logger.EmitLog` ignoring instrumentation suppression, which could cause recursive exports or deadlocks. ([#7961](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7911)) * Fixed `LogRecord`s 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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7966)) * Self-diagnostics log files, whether configured through `OTEL_DIAGNOSTICS.json` or `SelfDiagnosticsOptions`, are now always created as new files. ([#7968](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7968)) * Self-diagnostics messages written to the sinks configured by `SelfDiagnosticsOptions` are now truncated to 16,384 characters so that the ... (truncated) ## 1.20.1-beta.1 The following changes are from the previous release [1.20.0-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.20.0-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.20.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.20.1-beta.1) * Fixed scrape responses being handed to the server in a single write, which made the server buffer a full copy of the response for each client that did not read it until the request completed or timed out. Responses are now written in bounded slices so the server's back-pressure applies. ([#7957](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7957)) * Fixed startup scrapes permanently omitting `target_info` and configured resource constant labels from subsequent scrape responses. ([#7984](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7984)) * Updated OpenTelemetry core component version(s) to `1.20.1`. ([#7990](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7990)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.1-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener v1.20.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.20.1-beta.1) * Fixed scrape responses being handed to the server in a single write, which on Linux and macOS made the listener allocate and hold a full copy of the response for each client that did not read it until the request completed or timed out. Responses are now written in bounded slices. ([#7957](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7957)) * Fixed scrape requests that announce a request body holding a thread pool thread after their response had been sent on Linux and macOS for as long as the client kept trickling in the body. The connection is now closed after responding to a request with a body instead of being kept alive. ([#7962](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7962)) * Fixed startup scrapes permanently omitting `target_info` and configured resource constant labels from subsequent scrape responses. ([#7984](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7984)) * Updated OpenTelemetry core component version(s) to `1.20.1`. ([#7990](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7990)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.1-beta.1/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Shims.OpenTracing v1.20.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Shims.OpenTracing/1.20.1-beta.1) * Updated OpenTelemetry core component version(s) to `1.20.1`. ([#7990](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7990)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.1-beta.1/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md) for details. ## 1.20.0 For highlights and announcements pertaining to this release see: [Release Notes > 1.20.0](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1200). The following changes are from the previous release [1.19.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.1). * NuGet: [OpenTelemetry v1.20.0](https://www.nuget.org/packages/OpenTelemetry/1.20.0) * Fixed `SuppressInstrumentationScope` reference counts leaking between inherited asynchronous execution contexts. ([#7803](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7780)) * Fixed `ResourceBuilder.CreateDefault` ignoring `OTEL_RESOURCE_ATTRIBUTES` and `OTEL_SERVICE_NAME` environment variables when the host `IConfiguration` does not contain those settings. ([#7855](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7727)) * Fixed `LogRecord.CategoryName` resetting the current `Logger`'s `Version` to `null` when set to a new value. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7727)) * Bounded the internal cache of `Logger` scopes keyed by instrumentation to avoid unbounded growth. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7923)) * Improved metric collection performance after metric streams are removed by compacting metric storage during collection. ([#7945](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7945)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.20.0/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.20.0](https://www.nuget.org/packages/OpenTelemetry.Api/1.20.0) * Added `Logger.SchemaUrl` and a `LoggerProvider.GetLogger` overload accepting a schema URL parameter using the new `LoggerOptions` type. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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. ... (truncated) ## 1.20.0-rc.1 The following changes are from the previous release [1.19.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.1). * NuGet: [OpenTelemetry v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.20.0-rc.1) * Fixed `SuppressInstrumentationScope` reference counts leaking between inherited asynchronous execution contexts. ([#7803](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7780)) * Fixed `ResourceBuilder.CreateDefault` ignoring `OTEL_RESOURCE_ATTRIBUTES` and `OTEL_SERVICE_NAME` environment variables when the host `IConfiguration` does not contain those settings. ([#7855](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7727)) * Fixed `LogRecord.CategoryName` resetting the current `Logger`'s `Version` to `null` when set to a new value. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7727)) * Bounded the internal cache of `Logger` scopes keyed by instrumentation to avoid unbounded growth. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7923)) * Improved metric collection performance after metric streams are removed by compacting metric storage during collection. ([#7945](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7945)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.20.0-rc.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.20.0-rc.1) * Added `Logger.SchemaUrl` and a `LoggerProvider.GetLogger` overload accepting a schema URL parameter using the new `LoggerOptions` type. ([#7727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/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](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7727)) ... (truncated) ## 1.20.0-beta.1 The following changes are from the previous release [1.19.1-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.19.1-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.20.0-beta.1) * A scrape request whose connection is aborted, or whose `X-Prometheus-Scrape-Timeout-Seconds` deadline elapses, now stops waiting for an in-progress metrics collection instead of continuing to wait for it to finish. The collection itself is not cancelled and continues running in the background. ([#7856](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7856)) * Updated OpenTelemetry core component version(s) to `1.20.0`. ([#7950](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7950)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.20.0-beta.1) * Updated OpenTelemetry core component version(s) to `1.20.0`. ([#7950](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7950)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Shims.OpenTracing v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Shims.OpenTracing/1.20.0-beta.1) * Updated OpenTelemetry core component version(s) to `1.20.0`. ([#7950](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7950)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md) for details. ## 1.19.1 For highlights and announcements pertaining to this release see: [Release Notes > 1.19.1](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1191). The following changes are from the previous release [1.19.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.0). * NuGet: [OpenTelemetry v1.19.1](https://www.nuget.org/packages/OpenTelemetry/1.19.1) * Fixed `NotSupportedException` thrown when building a `TracerProvider` or `MeterProvider` with a large number of wildcard source/meter patterns on `net8.0`, and a related `OutOfMemoryException` that could occur when many such providers were built over the lifetime of a process. ([#7788](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7788)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Exporter.Console/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.InMemory v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.InMemory/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Exporter.InMemory/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.OpenTelemetryProtocol v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.OpenTelemetryProtocol/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Zipkin v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Zipkin/1.19.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Extensions.Hosting v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Extensions.Hosting/1.19.1) No notable changes. ... (truncated) ## 1.19.1-rc.1 The following changes are from the previous release [1.19.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.0). * NuGet: [OpenTelemetry v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.19.1-rc.1) * Fixed `NotSupportedException` thrown when building a `TracerProvider` or `MeterProvider` with a large number of wildcard source/meter patterns on `net8.0`, and a related `OutOfMemoryException` that could occur when many such providers were built over the lifetime of a process. ([#7788](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7788)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Exporter.Console/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.InMemory v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.InMemory/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Exporter.InMemory/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.OpenTelemetryProtocol v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.OpenTelemetryProtocol/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Zipkin v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Zipkin/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Extensions.Hosting v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Extensions.Hosting/1.19.1-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.1-rc.1/src/OpenTelemetry.Extensions.Hosting/CHANGELOG.md) for details. ... (truncated) ## 1.19.1-beta.1 The following changes are from the previous release [1.19.0-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.19.0-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.19.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.19.1-beta.1) * Updated OpenTelemetry core component version(s) to `1.19.1`. ([#7796](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7796)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.1-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener v1.19.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.19.1-beta.1) * Updated OpenTelemetry core component version(s) to `1.19.1`. ([#7796](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7796)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.1-beta.1/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Shims.OpenTracing v1.19.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Shims.OpenTracing/1.19.1-beta.1) * Updated OpenTelemetry core component version(s) to `1.19.1`. ([#7796](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7796)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.1-beta.1/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md) for details. ## 1.19.0 For highlights and announcements pertaining to this release see: [Release Notes > 1.19.0](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1190). The following changes are from the previous release [1.18.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.18.0). * NuGet: [OpenTelemetry v1.19.0](https://www.nuget.org/packages/OpenTelemetry/1.19.0) * Added Schema URL to internally created `Resource` instances. ([#7726](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7726)) * Reduced allocations when formatting self-diagnostics events with up to three parameters. ([#7730](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7730)) * Added `AlwaysRecordSampler`. ([#7695](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7695)) * Fixed `CircularBufferBuckets` so the first delta histogram insertion after a reset does not result in an unnecessary scale reduction. ([#7749](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7749)) * Improved wildcard source/meter name matching to avoid excessive matching time at runtime. ([#7760](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7760)) * Fixed lazy logger provider builds after a failure from reusing partially initialized provider state. ([#7761](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7761)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.19.0](https://www.nuget.org/packages/OpenTelemetry.Api/1.19.0) * Reduced allocations when creating log record attributes from an array. ([#7699](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7699)) * Reduced allocations when setting baggage through the `params` overload. ([#7697](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7697)) * Reduced allocations when constructing `SpanAttributes` from an array. ([#7698](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7698)) * Fixed parsing of an inbound `tracestate` header whose member value trimmed to an empty value that previously threw an `IndexOutOfRangeException` internally and could silently truncate the tracestate. ([#7756](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7756)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.19.0](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.19.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.19.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.19.0) ... (truncated) ## 1.19.0-rc.1 The following changes are from the previous release [1.18.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.18.0). * NuGet: [OpenTelemetry v1.19.0-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.19.0-rc.1) * Added Schema URL to internally created `Resource` instances. ([#7726](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7726)) * Reduced allocations when formatting self-diagnostics events with up to three parameters. ([#7730](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7730)) * Added `AlwaysRecordSampler`. ([#7695](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7695)) * Fixed `CircularBufferBuckets` so the first delta histogram insertion after a reset does not result in an unnecessary scale reduction. ([#7749](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7749)) * Improved wildcard source/meter name matching to avoid excessive matching time at runtime. ([#7760](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7760)) * Fixed lazy logger provider builds after a failure from reusing partially initialized provider state. ([#7761](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7761)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0-rc.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.19.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.19.0-rc.1) * Reduced allocations when creating log record attributes from an array. ([#7699](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7699)) * Reduced allocations when setting baggage through the `params` overload. ([#7697](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7697)) * Reduced allocations when constructing `SpanAttributes` from an array. ([#7698](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7698)) * Fixed parsing of an inbound `tracestate` header whose member value trimmed to an empty value that previously threw an `IndexOutOfRangeException` internally and could silently truncate the tracestate. ([#7756](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7756)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0-rc.1/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.19.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.19.0-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.19.0-rc.1/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.19.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.19.0-rc.1) * Extended key/value list attribute handling to cover additional dictionary shapes (`IEnumerable<KeyValuePair<string, string?>>` and `IDictionary`). These attributes will be serialized as JSON objects. ([#7679](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7679)) ... (truncated) ## 1.19.0-beta.1 The following changes are from the previous release [1.18.0-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.18.0-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.19.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.19.0-beta.1) * **Breaking Change** The `PrometheusTranslationStrategy` enum was renamed to `PrometheusAspNetCoreTranslationStrategy`. ([#7751](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7751)) * Fixed OpenMetrics `_created` series being emitted for metric points with a default start time. ([#7754](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7754)) * Prometheus text/OpenMetrics escaping of label values, label names and help text is now more efficient. ([#7758](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7758)) * A scrape request whose connection is aborted, or whose `X-Prometheus-Scrape-Timeout-Seconds` deadline elapses, now stops waiting for an in-progress metrics collection instead of continuing to wait for it to finish. The collection itself is not cancelled and continues running in the background. ([#7757](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7757)) * Updated OpenTelemetry core component version(s) to `1.19.0`. ([#7785](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7785)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener v1.19.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.19.0-beta.1) * **Breaking Change** The `PrometheusTranslationStrategy` enum was renamed to `PrometheusHttpListenerTranslationStrategy`. ([#7751](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7751)) * Fixed OpenMetrics `_created` series being emitted for metric points with a default start time. ([#7754](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7754)) * Prometheus text/OpenMetrics escaping of label values, label names and help text is now more efficient. ([#7758](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7758)) * Added `PrometheusHttpListenerOptions.ScrapeResponseTimeoutMilliseconds` (default `60000`) which bounds how long a scrape request waits for its response. `X-Prometheus-Scrape-Timeout-Seconds` request header values may only shorten this limit. The limit bounds the request's wait only: a metrics collection already running when it is reached is not cancelled and continues running in the background. ([#7757](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7757)) * Updated OpenTelemetry core component version(s) to `1.19.0`. ([#7785](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7785)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Shims.OpenTracing v1.19.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Shims.OpenTracing/1.19.0-beta.1) * Updated OpenTelemetry core component version(s) to `1.19.0`. ([#7785](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7785)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.19.0-beta.1/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md) for details. ## 1.18.0 For highlights and announcements pertaining to this release see: [Release Notes > 1.18.0](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1180). The following changes are from the previous release [1.17.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.17.0). * NuGet: [OpenTelemetry v1.18.0](https://www.nuget.org/packages/OpenTelemetry/1.18.0) * Fixed self-diagnostics log lines being silently dropped when an event message or parameter contained enough 3-byte UTF-8 characters to overflow the internal buffer estimate. Such content is now truncated. ([#7543](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7543)) * Fixed activity creation throwing when multiple tracer providers return a sampler attribute with the same key. ([#7558](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7558)) * Added the `otel.sdk.processor.log.processed` SDK self-observability metric. ([#7486](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7486)) * Added the `otel.sdk.processor.span.processed` SDK self-observability metric. ([#7598](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7598)) * `BatchActivityExportProcessor` and `SimpleActivityExportProcessor` no longer forward spans to the exporter once `Shutdown` has been called, and `BatchActivityExportProcessor.Shutdown` now waits for in-flight `OnEnd` calls to finish enqueueing before flushing. ([#7598](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7598)) * Fix logger, meter and tracer providers leaking background threads if an exception is thrown by their constructor after resource creation. ([#7615](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7615)) * `CircularBufferBuckets.Copy` optimized to use bulk array copies. ([#7670](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7670)) * Restored configured `MaxScale` after delta exponential histogram collection. ([#7671](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7671)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.18.0](https://www.nuget.org/packages/OpenTelemetry.Api/1.18.0) * Avoid formatting exceptions and creating exception attributes when `RecordException` is called on a span that is not recorded. ([#7669](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7669)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.18.0](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.18.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.18.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.18.0) * Added support for serializing attribute values that are key/value lists (`IEnumerable<KeyValuePair<string, object?>>`). These attributes will be serialized as JSON objects. ([#7015](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7015)) ... (truncated) ## 1.18.0-rc.1 The following changes are from the previous release [1.17.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.17.0). * NuGet: [OpenTelemetry v1.18.0-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.18.0-rc.1) * Fixed self-diagnostics log lines being silently dropped when an event message or parameter contained enough 3-byte UTF-8 characters to overflow the internal buffer estimate. Such content is now truncated. ([#7543](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7543)) * Fixed activity creation throwing when multiple tracer providers return a sampler attribute with the same key. ([#7558](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7558)) * Added the `otel.sdk.processor.log.processed` SDK self-observability metric. ([#7486](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7486)) * Added the `otel.sdk.processor.span.processed` SDK self-observability metric. ([#7598](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7598)) * `BatchActivityExportProcessor` and `SimpleActivityExportProcessor` no longer forward spans to the exporter once `Shutdown` has been called, and `BatchActivityExportProcessor.Shutdown` now waits for in-flight `OnEnd` calls to finish enqueueing before flushing. ([#7598](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7598)) * Fix logger, meter and tracer providers leaking background threads if an exception is thrown by their constructor after resource creation. ([#7615](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7615)) * `CircularBufferBuckets.Copy` optimized to use bulk array copies. ([#7670](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7670)) * Restored configured `MaxScale` after delta exponential histogram collection. ([#7671](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7671)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0-rc.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.18.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.18.0-rc.1) * Avoid formatting exceptions and creating exception attributes when `RecordException` is called on a span that is not recorded. ([#7669](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7669)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0-rc.1/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.18.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.18.0-rc.1) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0-rc.1/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.18.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.18.0-rc.1) * Added support for serializing attribute values that are key/value lists (`IEnumerable<KeyValuePair<string, object?>>`). These attributes will be serialized as JSON objects. ([#7015](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7015)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.18.0-rc.1/src/OpenTelemetry.Exporter.Console/CHANGELOG.md) for details. ... (truncated) ## 1.18.0-beta.1 The following changes are from the previous release [1.17.0-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.17.0-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.18.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.18.0-beta.1) * Fix concurrent scrapes returning an empty response under contention. Now the exporter will return an HTTP 500 error instead. ([#7571](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7571)) * Waiting for concurrent scrapes to finish before collecting no longer blocks, which could stall concurrent scrapes being waited on. ([#7571](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7571)) * Fixed the interaction between `PrometheusAspNetCoreOptions.TranslationStrategy` and content negotiation. The configured strategy is now applied before content negotiation, instead of the negotiated escaping scheme replacing the strategy's, and the `Content-Type` header now reports the escaping scheme that was applied rather than the one that was negotiated. ([#7610](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7610)) * Fixed metric values and histogram bucket bounds being written with 17 significant digits instead of their shortest round-trippable representation. ([#7589](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7589)) * Fixed the canonical representation used for histogram `le` and summary `quantile` label values falling back to 17 significant digits incorrectly. ([#7589](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7589)) * Fixed a race where a slow scrape could return an HTTP 200 instead of 408. ([#7615](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7615)) * Updated OpenTelemetry core component version(s) to `1.18.0`. ([#7674](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7674)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.18.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener v1.18.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.18.0-beta.1) * Fix concurrent scrapes returning an empty response under contention. Now the exporter will return an HTTP 500 error instead. ([#7571](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7571)) * Waiting for concurrent scrapes to finish before collecting no longer blocks, which could stall concurrent scrapes being waited on. ([#7571](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7571)) * A scrape which is still collecting when the listener is disposed now returns an HTTP 503 response. ([#7587](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7587)) * Shutting down the listener no longer waits indefinitely for its request processing loop to stop, and no longer throws if the loop faulted. ([#7587](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7587)) * Fixed the interaction between `PrometheusHttpListenerOptions.TranslationStrategy` and content negotiation. The configured strategy is now applied before content negotiation, instead of the negotiated escaping scheme replacing the strategy's, and the `Content-Type` header now reports the escaping scheme that was applied rather than the one that was negotiated. ([#7610](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7610)) * Fixed metric values and histogram bucket bounds being written with 17 significant digits instead of their shortest round-trippable representation. ([#7589](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7589)) * Fixed the canonical representation used for histogram `le` and summary `quantile` label values falling back to 17 significant digits incorrectly. ([#7589](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7589)) ... (truncated) ## 1.17.0 For highlights and announcements pertaining to this release see: [Release Notes > 1.17.0](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1170). The following changes are from the previous release [1.17.0-rc.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.17.0-rc.1). * NuGet: [OpenTelemetry v1.17.0](https://www.nuget.org/packages/OpenTelemetry/1.17.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.17.0](https://www.nuget.org/packages/OpenTelemetry.Api/1.17.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.17.0](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.17.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.17.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.17.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0/src/OpenTelemetry.Exporter.Console/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.InMemory v1.17.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.InMemory/1.17.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0/src/OpenTelemetry.Exporter.InMemory/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.OpenTelemetryProtocol v1.17.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.OpenTelemetryProtocol/1.17.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Zipkin v1.17.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Zipkin/1.17.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Extensions.Hosting v1.17.0](https://www.nuget.org/packages/OpenTelemetry.Extensions.Hosting/1.17.0) No notable changes. ... (truncated) ## 1.17.0-rc.1 The following changes are from the previous release [1.16.0](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.16.0). * NuGet: [OpenTelemetry v1.17.0-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.17.0-rc.1) * Fixed a metric point reclaim data race on CPU ARM architectures. ([#7401](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7401)) * The library is now marked as trim and AOT compatible. ([#7441](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7441)) * Replaced the vendored copy of `EnvironmentVariablesConfigurationProvider` with a direct `Microsoft.Extensions.Configuration.EnvironmentVariables` package dependency. Consumers gain automatic pickup of upstream bug fixes and security patches; no public API or behavioural change. ([#7146](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7146)) * Added a verbose `OpenTelemetry-Sdk` self-diagnostics event that is emitted when an activity is dropped because its local (in-process) parent is not recorded. ([#7427](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7427)) * Added support for a Schema URL on `Resource` instances. ([#7472](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7472)) * Fixed a metric storage leak that occurred when meters and instruments were repeatedly created and disposed. ([#7466](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7466)) * Added `ExcludedTagKeys` property to `MetricStreamConfiguration` to support excluding specific tag keys from metric streams. ([#7373](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7373)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.17.0-rc.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.17.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.17.0-rc.1) * Fixed `TraceContextPropagator` to normalize empty `tracestate` header values to `null` when extracting trace context. ([#7407](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7407), [#7433](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7433)) * The library is now marked as trim and AOT compatible. ([#7441](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7441)) * **Experimental (pre-release builds only):** Updated `EnvironmentVariableCarrier.Get` to read only the normalized environment variable name, following the updated [environment variable carrier specification](https://github.com/open-telemetry/opentelemetry-specification/pull/5144). Non-normalized carrier keys are no longer matched, even when they would normalize to the requested key. ... (truncated) ## 1.17.0-beta.1 The following changes are from the previous release [1.16.0-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.16.0-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.17.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.17.0-beta.1) * Added a verbose-level diagnostic event for ignored metrics. ([#7429](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7429)) * The library is now marked as trim and AOT compatible. ([#7441](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7441)) * Fix double unit suffixes in metric names when using OpenMetrics. ([#7454](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7454)) * Fix incorrect handling of leading digits in metric names for OpenMetrics. ([#7454](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7454)) * Add `PrometheusAspNetCoreOptions.ScopeInfoEnabled` property to enable or disable scope labels in Prometheus metrics. Defaults to `true`. ([#7436](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7436)) * Added support for the `dots` and `values` Prometheus UTF-8 name escaping schemes when negotiated via the `Accept` header. ([#7439](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7439)) * Add `PrometheusAspNetCoreOptions.TargetInfoEnabled` property to enable or disable the `target_info` metric in Prometheus metrics. Defaults to `true`. ([#7438](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7438)) * Added support for the `allow-utf-8` Prometheus UTF-8 name escaping scheme when negotiated via the `Accept` header. ([#7440](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7440)) * Add `PrometheusAspNetCoreOptions.ResourceConstantLabels` property to select resource attributes to add to each metric as constant labels. Defaults to `null` (no resource attributes are added as metric labels). ([#7471](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7471)) * Add `PrometheusAspNetCoreOptions.MaxScrapeResponseSizeBytes` to configure the maximum size of a scrape response. The default is now ~166 MiB. ([#7487](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7487)) * A scrape whose serialized output exceeds the maximum scrape response size limit now responds with HTTP 500. ([#7487](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7487)) * Fixed the Prometheus text exposition format emitting redundant comments. ([#7491](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7491)) * Made `Accept` header content negotiation consistent with the `PrometheusHttpListener` endpoint. ... (truncated) ## 1.16.0 For highlights and announcements pertaining to this release see: [Release Notes > 1.16.0](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#1160). The following changes are from the previous release [1.16.0-rc.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.16.0-rc.1). * NuGet: [OpenTelemetry v1.16.0](https://www.nuget.org/packages/OpenTelemetry/1.16.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.16.0](https://www.nuget.org/packages/OpenTelemetry.Api/1.16.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0/src/OpenTelemetry.Api/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api.ProviderBuilderExtensions v1.16.0](https://www.nuget.org/packages/OpenTelemetry.Api.ProviderBuilderExtensions/1.16.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0/src/OpenTelemetry.Api.ProviderBuilderExtensions/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Console v1.16.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Console/1.16.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0/src/OpenTelemetry.Exporter.Console/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.InMemory v1.16.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.InMemory/1.16.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0/src/OpenTelemetry.Exporter.InMemory/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.OpenTelemetryProtocol v1.16.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.OpenTelemetryProtocol/1.16.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Exporter.Zipkin v1.16.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Zipkin/1.16.0) No notable changes. See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Extensions.Hosting v1.16.0](https://www.nuget.org/packages/OpenTelemetry.Extensions.Hosting/1.16.0) No notable changes. ... (truncated) ## 1.16.0-rc.1 The following changes are from the previous release [1.15.3](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.15.3). * NuGet: [OpenTelemetry v1.16.0-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.16.0-rc.1) * Stop validating View-provided metric stream `Name` against the instrument name syntax, per [spec clarification](https://github.com/open-telemetry/opentelemetry-specification/pull/5094). ([#7300](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7300)) * Fix incorrect validation of `OTEL_BSP_*` and `OTEL_BLRP_*` environment variables. ([#7187](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7187)) * Fix observable instrument callbacks running once per reader instead of once per collection cycle. ([#7188](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7188)) * Added exception safety for user-supplied `ExemplarReservoir` implementations. Exceptions thrown from `Offer` are now caught and logged rather than propagating out of `Counter.Add`/`Histogram.Record`. ([#7277](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7277)) * Update `OpenTelemetrySdkEventSource` to support the W3C randomness flag. ([#7301](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7301)) * Added `ObservedTimestamp` property to `LogRecord`. ([#6979](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6979)) * **Breaking Change** Explicit histogram boundaries no longer allow more than 10 million values. ([#7165](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7165)) * Fixed a circular reference which could cause a `LoggerProvider` to fail to resolve when one of its dependencies depends on `ILogger` or `ILoggerFactory`. As part of this fix the `LoggerProvider` resolved from dependency injection is now created lazily when the first logger is created rather than when `ILoggerProvider` or `ILoggerFactory` is resolved. A consequence is that any invalid configuration now surfaces when the first log record is written instead of when the logging services are resolved. ([#7308](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7308)) See [CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.16.0-rc.1/src/OpenTelemetry/CHANGELOG.md) for details. * NuGet: [OpenTelemetry.Api v1.16.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.16.0-rc.1) * **Experimental (pre-release builds only):** Add support for using environment variables as context propagation carriers. ([#7174](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7174)) * Fix `BaggagePropagator` to correctly follow Key and Value Encoding rules as per ... (truncated) ## 1.16.0-beta.1 The following changes are from the previous release [1.15.3-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.15.3-beta.1). * NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore v1.16.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.16.0-beta.1) * Fixed scrape response cache freshness using monotonic time so it is not affected by NTP system clock adjustments. ([#7253](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7253)) * **Breaking Change** Removed `DisableTimestamp` property from `PrometheusAspNetCoreOptions`. ([#7176](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7176)) * Fixed the serialization of `NaN`, `PositiveInfinity`, and `NegativeInfinity` values in Prometheus metrics to be compliant with the specification. ([#7179](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7179)) * Fixed loss of precision when serializing `double` and `float` values in Prometheus metrics to be compliant with the specification by using 17 significant digits to represent such values. ([#7179](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7179)) * Fix non-ASCII characters in metric names and unit strings not being sanitized correctly during Prometheus serialization. ([#7184](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7184)) * Fix case where reader tracking could be reset while readers were still active. ([#7190](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7190)) * Improve `Accept` header handling for format negotiation so OpenMetrics is selected correctly by considering whitespace and `q` weights. ([#7208](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7208)) * Emit OpenMetrics exemplars for counters and histogram buckets. ([#7222](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7222)) * Fix incorrect handling of untyped metrics when using OpenMetrics format. ([#7219](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7219)) * Fix Prometheus/OpenMetrics serialization to emit metric and label names containing `_` instead of dropping them and prefixing leading digits. Invalid characters are replaced with `_` instead of being dropped. ([#7209](https://github.com/open-telemetry/opentelemetry-dotnet/pull/7209)) *... _Description has been truncated_ Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Oct 23, 2026
chore(deps): Bump Microsoft.AspNetCore.Authentication.JwtBearer and 11 others
grabreu/shared-todo#27
Open
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 fix addresses a ANT-2026-76DBXWPO finding from Anthropic's OSS Scanner.
Project enrollment: anthropics/oss-scanner#117.
Changes
Logger.EmitLognow drops records while instrumentation is suppressed, matchingILogger. Logs emitted from inside an export no longer re-enter the log pipeline,which could otherwise recurse or deadlock when a simple exporter fails.
Regression tests cover both Bridge API overloads, normal logging after suppression
ends, and bounded re-entrant exports returning success or failure. All four tests
fail on the unchanged SDK and pass with this fix on net10.0, net9.0, net8.0, and
net472.
The full affected SDK test suite passes on all four frameworks: 6,426 passed,
eight existing skips, and zero failures. The Release solution build passes with
zero warnings and errors. Full solution format verification exits 0 with
workspace reference-load warnings; focused changed-file whitespace verification
passes. Full source sanity passes in a canonical LF source snapshot; the raw
Windows checkout check flags pre-existing CRLF files and generated artifacts.
No public API changes.
Merge requirement checklist
CHANGELOG.mdfile(s) updated for non-trivial changesNote
This PR description was generated with OpenAI Codex.
Footnotes
Yes, I can answer maintainer questions about the content of this PR without using AI. ↩