Skip to content

[SDK] Respect instrumentation suppression in Logs Bridge emission - #7961

Merged
martincostello merged 4 commits into
open-telemetry:mainfrom
Kielek:codex/fix-ant-2026-76dbxwpo
Oct 16, 2026
Merged

martincostello merged 4 commits into
open-telemetry:mainfrom
Kielek:codex/fix-ant-2026-76dbxwpo

Conversation

@Kielek

@Kielek Kielek commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

This fix addresses a ANT-2026-76DBXWPO finding from Anthropic's OSS Scanner.
Project enrollment: anthropics/oss-scanner#117.

Changes

Logger.EmitLog now drops records while instrumentation is suppressed, matching
ILogger. 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

  • CONTRIBUTING guidelines followed (license requirements, successful build/tests, etc.)
  • Tests added/updated
  • CHANGELOG.md file(s) updated for non-trivial changes
  • Changes in public API reviewed (if applicable)
  • AI usage disclosure:
    • No AI used
    • AI-assisted
    • Bulk AI-generated
  • I have the experience and knowledge necessary to understand, review, and validate all content in this PR1

Note

This PR description was generated with OpenAI Codex.

Footnotes

  1. Yes, I can answer maintainer questions about the content of this PR without using AI. ↩

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.
@github-actions github-actions Bot added the pkg:OpenTelemetry Issues related to OpenTelemetry NuGet package label Oct 16, 2026
@Kielek Kielek changed the title Respect instrumentation suppression in Logs Bridge emission [Sdk] Respect instrumentation suppression in Logs Bridge emission Oct 16, 2026
@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Pull request dashboard status

Merged · refreshed 2026-10-16 14:34 UTC

Status above doesn't look right?
  • Anything look wrong? Report it with what you expected; it helps us improve the dashboard.

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.
@Kielek
Kielek marked this pull request as ready for review October 16, 2026 11:58
@Kielek
Kielek requested a review from a team as a code owner October 16, 2026 11:58
@Kielek Kielek added this to the v1.20.1 milestone Oct 16, 2026
@codecov

codecov Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.37%. Comparing base (706492d) to head (2147aa7).
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #7961   +/-   ##
=======================================
  Coverage   92.37%   92.37%           
=======================================
  Files         364      364           
  Lines       21088    21090    +2     
=======================================
+ Hits        19479    19482    +3     
+ Misses       1609     1608    -1     
Flag Coverage Δ
unittests-Project-Experimental 92.50% <100.00%> (+<0.01%) ⬆️
unittests-Project-Stable 92.50% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/OpenTelemetry/Logs/LoggerSdk.cs 100.00% <100.00%> (ø)

... and 3 files with indirect coverage changes

@martincostello
martincostello added this pull request to the merge queue Oct 16, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 16, 2026
@martincostello martincostello changed the title [Sdk] Respect instrumentation suppression in Logs Bridge emission [SDK] Respect instrumentation suppression in Logs Bridge emission Oct 16, 2026
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…
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pkg:OpenTelemetry Issues related to OpenTelemetry NuGet package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants