Repository navigation
fix(serialization-json): honor guid converters before fallback parsing - #794
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: dc6ec114-d97b-449a-87ec-0726acf94a51
Fixes #793 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: dc6ec114-d97b-449a-87ec-0726acf94a51
…rsing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: dc6ec114-d97b-449a-87ec-0726acf94a51
There was a problem hiding this comment.
🟡 Changes recommended
Newly added TimeSpan tests reference a missing JsonTimeSpanConverter and don’t match current TimeSpan parsing behavior, so the test project will not build/pass as-is.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR addresses #793 by ensuring JsonParseNode.GetGuidValue honors the configured KiotaJsonSerializationContext (and thus custom JsonConverter<Guid> implementations) before falling back to JsonElement.TryGetGuid, and adds regression coverage for the precedence behavior.
Changes:
- Update
JsonParseNode.GetGuidValue(JsonElement)to attempt GUID deserialization through the Kiota JSON serialization context first, then fall back toTryGetGuid. - Add a regression test proving a custom GUID converter is invoked even for standard
"D"GUID strings. - Add a test-only
JsonGuidPrecedenceConverterused to validate converter precedence.
File summaries
| File | Description |
|---|---|
| tests/serialization/json/JsonParseNodeTests.cs | Adds regression coverage for GUID converter precedence (but also introduces unrelated TimeSpan converter tests). |
| tests/serialization/json/Converters/JsonGuidPrecedenceConverter.cs | Adds a test-only GUID converter used to validate precedence. |
| src/serialization/json/JsonParseNode.cs | Changes GUID parsing order to prefer KiotaJsonSerializationContext deserialization before TryGetGuid. |
Review details
- Files reviewed: 4/4 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: dc6ec114-d97b-449a-87ec-0726acf94a51
Use a reference comparison against the default Guid converter instance so custom Guid converters still take precedence while default contexts keep the TryGetGuid fast path. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: dc6ec114-d97b-449a-87ec-0726acf94a51
There was a problem hiding this comment.
🟡 Changes recommended
The updated GUID parsing path removes the prior context-deserialization fallback when TryGetGuid fails, which changes behavior and can cause previously-parsable GUID strings to become null.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 1
- Review effort level: Lite
There was a problem hiding this comment.
🔵 Needs a closer look
GetGuidValue currently removes the prior context-based deserialization fallback when TryGetGuid fails, which changes existing behavior and conflicts with the stated compatibility requirement.
Review details
Suppressed comments (1)
src/serialization/json/JsonParseNode.cs:331
- GetGuidValue no longer falls back to JsonSerializerContext-based deserialization when JsonElement.TryGetGuid fails (unless a custom Guid converter is detected). This changes prior behavior (previously it would deserialize via _jsonSerializerContext.Guid for non-empty strings), and can return null for Guid string formats that TryGetGuid doesn’t accept or for option-driven Guid handling, violating the PR’s “preserve existing behavior when no custom converter is configured” requirement.
if(HasCustomGuidConverter() && TryGetUsingTypeInfo(jsonElement, _jsonSerializerContext.Guid, out var convertedGuid))
return convertedGuid;
return jsonElement.TryGetGuid(out var guid)
? guid
- Files reviewed: 3/3 changed files
- Comments generated: 0 new
- Review effort level: Lite
Code Coverage OverviewLanguages: C# C# / code-coverage/dotnetThe overall line coverage in commit 0e5fd2d in the Show a line coverage summary of the most impacted files.
Updated |
|
Updated
[FluentAssertions](https://github.com/fluentassertions/fluentassertions)
from 8.10.0 to 8.11.0.
<details>
<summary>Release notes</summary>
_Sourced from [FluentAssertions's
releases](https://github.com/fluentassertions/fluentassertions/releases)._
## 8.11.0
<!-- Release notes generated using configuration in .github/release.yml
at main -->
## What's Changed
### New features
* Add `ThatSatisfy` for methods and properties by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3257
* Add BeSupersetOf, BeProperSubsetOf and BeProperSupersetOf collection
assertions by @dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3271
* Add BeJsonSerializable round-trip assertions by @dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3293
* Support asserting on delegates that return a value task by
@dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3301
### Improvements
* BeEmpty for IEnumerable<T> assertions now lists the first 10 items in…
by @Xceed-DelvaJB in
https://github.com/fluentassertions/fluentassertions/pull/3198
* Clean-up the stack trace further by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3290
* Add HaveLineCount()/NotHaveLineCount() and
ContainLine()/NotContainLine() to StringAssertions by @dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3297
* Add public ValueTypeAssertions<TSubject, TAssertions> base class by
@dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3308
### Fixes
* Fix JsonNodeAssertions.HaveProperty/NotHaveProperty for properties
with explicit null values by @dennisdoomen with @Copilot in
https://github.com/fluentassertions/fluentassertions/pull/3282
* Fix exception on `HaveProperty` on `JsonArray` by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3295
* Fix potential NREs when using AssertionScope (#3178) by
@dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3323
### Documentation
* Fix typos by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3310
* Fix typo in exceptions page by @jpgomezv in
https://github.com/fluentassertions/fluentassertions/pull/3317
### Others
* Simplify GetMinValue/GetMaxValue by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3210
* Revert "Bump coverlet.collector from 6.0.4 to 8.0.1" by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3218
* Update nugets by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3226
* Convert the build pipeline from Nuke to Fallout by @dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3234
* Expose ShouldThrowOnCyclicReference on IEquivalencyValidationContext
by @dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3242
* Prevent pwn-request RCE via the Qodana workflow by @dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3217
* Harden NPM install by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3258
* Pin System.Security.Cryptography.Xml to patched version to fix build
restore failures by @dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3283
* Exclude dependabot PRs from auto-generated release notes by
@dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3294
* Fix Qodana PR scans failing on pull requests from forks by
@dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3299
* Cancel duplicate CI runs when a push triggers both push and
pull_request events by @dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3298
* Fix Qodana-flagged possible multiple enumeration and unused
auto-property warnings by @dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3300
* Document lessons learned from #3291 in agents.md by @dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3307
* Pin SDK to workaround 10.0.400 by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3309
* Stop the Build workflow from running twice on same-repo PRs by
@dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3311
* Update NuGet.Frameworks to workaround Fallout issue by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3318
* Prefer Count > 0 over Any() by @jnyrup in
https://github.com/fluentassertions/fluentassertions/pull/3321
* Correct the arguments passed to `string.Format` on failure by @jnyrup
in https://github.com/fluentassertions/fluentassertions/pull/3325
* Migrate xunit v3 test projects off the VSTest pipeline by
@dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3320
* Include PackageGuard risk report and SBOM in pipeline by
@dennisdoomen in
https://github.com/fluentassertions/fluentassertions/pull/3324
## New Contributors
* @jpgomezv made their first contribution in
https://github.com/fluentassertions/fluentassertions/pull/3317
**Full Changelog**:
https://github.com/fluentassertions/fluentassertions/compare/8.10.0...8.11.0
Commits viewable in [compare
view](https://github.com/fluentassertions/fluentassertions/compare/8.10.0...8.11.0).
</details>
Updated
[Microsoft.AspNetCore.Authentication.JwtBearer](https://github.com/dotnet/dotnet)
from 10.0.11 to 10.0.12.
<details>
<summary>Release notes</summary>
_Sourced from [Microsoft.AspNetCore.Authentication.JwtBearer'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.AspNetCore.Components.WebAssembly.DevServer](https://github.com/dotnet/dotnet)
from 10.0.11 to 10.0.12.
<details>
<summary>Release notes</summary>
_Sourced from [Microsoft.AspNetCore.Components.WebAssembly.DevServer'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.AspNetCore.Identity.EntityFrameworkCore](https://github.com/dotnet/dotnet)
from 10.0.11 to 10.0.12.
<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>
Updated
[Microsoft.EntityFrameworkCore](https://github.com/dotnet/dotnet) from
10.0.11 to 10.0.12.
<details>
<summary>Release notes</summary>
_Sourced from [Microsoft.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>
Updated
[Microsoft.EntityFrameworkCore.Design](https://github.com/dotnet/dotnet)
from 10.0.11 to 10.0.12.
<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.Extensions.DependencyInjection.Abstractions](https://github.com/dotnet/dotnet)
from 10.0.11 to 10.0.12.
<details>
<summary>Release notes</summary>
_Sourced from [Microsoft.Extensions.DependencyInjection.Abstractions'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.HealthChecks.EntityFrameworkCore](https://github.com/dotnet/dotnet)
from 10.0.11 to 10.0.12.
<details>
<summary>Release notes</summary>
_Sourced from
[Microsoft.Extensions.Diagnostics.HealthChecks.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>
Updated
[Microsoft.Extensions.Diagnostics.Testing](https://github.com/dotnet/extensions)
from 10.9.0 to 10.10.0.
<details>
<summary>Release notes</summary>
_Sourced from [Microsoft.Extensions.Diagnostics.Testing's
releases](https://github.com/dotnet/extensions/releases)._
## 10.10.0
This month's release focuses on AI package reliability: closing gaps in
evaluation scoring, hardening OpenAI image-option handling, and removing
the deprecated OpenAI Assistants API support.
## Experimental API Changes
### Removed Experimental APIs
* OpenAI Assistants experimental APIs removed (was experimental under
`OPENAI001`) #7724
## What's Changed
### AI
* Remove OpenAI Assistants API support #7724 by @jozkee (co-authored
by @Copilot)
* Update OpenAI package version to 2.13.0 #7726 by @jozkee
* OpenAI: Avoid null implicit conversions for image options #7727 by
@jozkee (co-authored by @Copilot)
### AI Evaluation
* Fail closed when a quality metric has no valid score #7735 by
@thaildhe172591
* Validate path segments in Azure storage result store and response
cache #7718 by @Lroca88
## Repository Infrastructure Updates
* Add TfxInstaller for publishing #7695 by @peterwaltonwork
* Bump PowerShell from 7.6.4 to 7.6.5 #7702
* [Infrastructure] Update vulnerable npm dependencies #7705 by
@wtgodbe
* Add Node installation for TfxInstaller #7703 by @peterwaltonwork
* Publish VSIX using publish task instead of output #7711 by
@peterwaltonwork
* Bump dotnet-coverage from 18.9.0 to 18.10.0 #7708
* Do not validate extension during publish step #7725 by
@peterwaltonwork
* Add skill for upgrading OpenAI #7728 by @jozkee
* Fix source indexer stage #7694 by @jjonescz
## Acknowledgements
* @Lroca88 made their first contribution in #7718
* @thaildhe172591 made their first contribution in #7735
* @ANcpLua submitted issue #7665 (resolved by #7735)
* @jeffhandley @peterwald @shyamnamboodiripad reviewed pull requests
**Full Changelog**:
https://github.com/dotnet/extensions/compare/v10.9.0...v10.10.0
Commits viewable in [compare
view](https://github.com/dotnet/extensions/compare/v10.9.0...v10.10.0).
</details>
Updated [Microsoft.Extensions.Http](https://github.com/dotnet/dotnet)
from 10.0.11 to 10.0.12.
<details>
<summary>Release notes</summary>
_Sourced from [Microsoft.Extensions.Http'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.Kiota.Bundle](https://github.com/microsoft/kiota-dotnet) from
2.0.0 to 2.1.2.
<details>
<summary>Release notes</summary>
_Sourced from [Microsoft.Kiota.Bundle's
releases](https://github.com/microsoft/kiota-dotnet/releases)._
## 2.1.2
##
[2.1.2](https://github.com/microsoft/kiota-dotnet/compare/v2.1.1...v2.1.2)
(2026-09-08)
### Bug Fixes
* **serialization-json:** honor custom TimeSpan converters
([#795](https://github.com/microsoft/kiota-dotnet/issues/795))
([e22c5ba](https://github.com/microsoft/kiota-dotnet/commit/e22c5ba48d34d2a0927d84a5a83f9d63926dedf1))
* **serialization-json:** honor DateTimeOffset converters
([802e20a](https://github.com/microsoft/kiota-dotnet/commit/802e20af426dbe7fb7629b750a2c1e3713c8647c))
* **serialization-json:** honor guid converters before fallback parsing
([#794](https://github.com/microsoft/kiota-dotnet/issues/794))
([22cc1d3](https://github.com/microsoft/kiota-dotnet/commit/22cc1d30019d69f55d3282f34922d23dfdc2372b))
## 2.1.1
##
[2.1.1](https://github.com/microsoft/kiota-dotnet/compare/v2.1.0...v2.1.1)
(2026-09-04)
### Bug Fixes
* **http:** handle not modified responses
([#787](https://github.com/microsoft/kiota-dotnet/issues/787))
([82e3190](https://github.com/microsoft/kiota-dotnet/commit/82e319072b45132bd9d3a3fe94a1f01953192ea6))
## 2.1.0
##
[2.1.0](https://github.com/microsoft/kiota-dotnet/compare/v2.0.2...v2.1.0)
(2026-08-27)
### Features
* adds support for wildcard host validation
([#779](https://github.com/microsoft/kiota-dotnet/issues/779))
([6a6130e](https://github.com/microsoft/kiota-dotnet/commit/6a6130e5ab977e4771a8777feb35786a31e16e83))
## 2.0.2
##
[2.0.2](https://github.com/microsoft/kiota-dotnet/compare/v2.0.1...v2.0.2)
(2026-07-16)
### Bug Fixes
* **http:** bump System.Text.Json minimum version to 8.0.5 to address
vulnerability
([#744](https://github.com/microsoft/kiota-dotnet/issues/744))
([430c6a9](https://github.com/microsoft/kiota-dotnet/commit/430c6a946fccd1550b49fa3f21f168c3f93c6071))
## 2.0.1
##
[2.0.1](https://github.com/microsoft/kiota-dotnet/compare/v2.0.0...v2.0.1)
(2026-06-26)
### Bug Fixes
* Added net10-browser as a target to enable the BROWSER directive
([#728](https://github.com/microsoft/kiota-dotnet/issues/728))
([4ab20a0](https://github.com/microsoft/kiota-dotnet/commit/4ab20a02eec82ff3cdc31e88c96d790cbe33629c))
Commits viewable in [compare
view](https://github.com/microsoft/kiota-dotnet/compare/v2.0.0...v2.1.2).
</details>
Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest)
from 18.9.0 to 18.10.1.
<details>
<summary>Release notes</summary>
_Sourced from [Microsoft.NET.Test.Sdk's
releases](https://github.com/microsoft/vstest/releases)._
## 18.10.1
## What's Changed
* Isolate code coverage files in published output by @azat-msft in
https://github.com/microsoft/vstest/pull/16476
**Full Changelog**:
https://github.com/microsoft/vstest/compare/v18.10.0...v18.10.1
## 18.10.0
## What's Changed
* Drop Mono fallback, run .NET Framework tests on Windows only by
@nohwnd in https://github.com/microsoft/vstest/pull/16158
* Run Microsoft.Testing.Platform test apps under `vstest.console` and
datacollector by @nohwnd in
https://github.com/microsoft/vstest/pull/16201
* Fix test output eaten by MSBuild terminal logger by @nohwnd in
https://github.com/microsoft/vstest/pull/16223
* Remove the experimental test session feature by @nohwnd in
https://github.com/microsoft/vstest/pull/16231
* Skip a single bad executor instead of failing all executor loading by
@nohwnd in https://github.com/microsoft/vstest/pull/16239
* Assert apartment state instead of using Clipboard in UI tests by
@nohwnd in https://github.com/microsoft/vstest/pull/16270
* Surface test host crashes during protocol negotiation by @nohwnd in
https://github.com/microsoft/vstest/pull/16285
* Pass the inferred target platform to the host in run settings by
@nohwnd in https://github.com/microsoft/vstest/pull/16271
* Report raw invalid IsTargetPlatformInferred value, cover host x64
forcing by @nohwnd in https://github.com/microsoft/vstest/pull/16295
* Disable the MTP testhost by default (#16337) by @nohwnd in
https://github.com/microsoft/vstest/pull/16341
**Full Changelog**:
https://github.com/microsoft/vstest/compare/v18.9.0...v18.10.0
Commits viewable in [compare
view](https://github.com/microsoft/vstest/compare/v18.9.0...v18.10.1).
</details>
Updated [microsoft.openapi.kiota](https://github.com/microsoft/kiota)
from 1.34.1 to 1.35.0.
<details>
<summary>Release notes</summary>
_Sourced from [microsoft.openapi.kiota's
releases](https://github.com/microsoft/kiota/releases)._
## 1.35.0
## Added
- Added model generation for schemas used by OpenAPI 3.1 webhooks.
[#6394](https://github.com/microsoft/kiota/issues/6394)
- Adds support for resolving JSON Schema 2020-12 `$dynamicRef` against
schemas declaring `$dynamicAnchor`, so recursive types (e.g.
`LocalizedCategory.children: LocalizedCategory[]`) generate correctly
instead of degrading to `UntypedNode`. Phase 1 of
[#7815](https://github.com/microsoft/kiota/issues/7815).
- Added binding-aware `$dynamicRef` resolution for `$defs` /
`$dynamicAnchor` contexts, generating distinct concrete models for each
active binding and preserving typed request bodies, responses, and error
responses. Phase 2 of
[#7815](https://github.com/microsoft/kiota/issues/7815).
### Changed
- Go: fixed the factory reference emitted for a model whose name ends in
`able` (e.g. `ProviderUnavailable`): the writer trimmed the suffix as if
it were the model-interface suffix, referencing a
`Create...FromDiscriminatorValue` symbol that is never generated, so the
package did not compile. The suffix is now only trimmed when the type
resolves to the inserted interface.
- Fixed query parameters whose name is escaped (e.g. `export` in
TypeScript) being silently dropped from the request: the original name
is now kept as the serialization name, so TypeScript emits the
`queryParametersMapper` entry mapping the escaped symbol back to its
wire name.
[kiota-typescript#2111](https://github.com/microsoft/kiota-typescript/issues/2111)
- Fixed defaults primitive default-value handling during code generation
for all languages
- Ruby: added composed type (union/intersection) support to the factory,
serializer and deserializer bodies, and stopped emitting composed type
wrappers as inner classes. Un-suppresses the Twitter integration test.
[kiota-abstractions-ruby#73](https://github.com/microsoft/kiota-abstractions-ruby/issues/73)
[#1816](https://github.com/microsoft/kiota/issues/1816)
- Ruby: `initialize` is now a reserved name. An API member called
`initialize` previously generated a second `def initialize`, redefining
the constructor; it is now escaped.
- Ruby: removed the blank line emitted at the start of every generated
class body.
- Ruby: moved the runtime gem dependencies to 0.19.0, the first release
able to serialize a primitive composed type member and to tell which
member a payload holds.
- Ruby: models whose names differ only in where a separator falls (e.g.
`codeScanningVariantAnalysis_status` and
`codeScanningVariantAnalysisStatus`) snake-cased to the same file name,
so one silently overwrote the other and the models barrel required it
twice. Colliding file names are now disambiguated, leaving the generated
type names unchanged. Un-suppresses the GitHub integration test.
[#1816](https://github.com/microsoft/kiota/issues/1816)
- Ruby: fixed flattening of models nested more than one namespace deep.
The separators were emitted into the class name, producing invalid
constants such as `class S.v2.billingMeterEvent`, and the models
namespace was itself renamed part-way through the walk, prefixing every
nested model with a fragment of it (`s_v2_billing_meter_event`).
Un-suppresses the Stripe integration and idempotency tests.
[#1816](https://github.com/microsoft/kiota/issues/1816)
- Fixed plugin manifest generation to omit unsafe `oauth_card_path` file
references that could resolve outside the plugin package.
- Bumped `Microsoft.OpenApi` and `Microsoft.OpenApi.YamlReader` to
3.10.2, and lifted the YAML reader scalar length limit so descriptions
with large scalars (e.g. long markdown descriptions) can still be
parsed.
- Numeric scalar unions with a format (e.g. `type: ["integer",
"string"]` with `format: int32`, as emitted by ASP.NET Core's OpenAPI
3.1 generator under System.Text.Json's default
`JsonNumberHandling.AllowReadingFromString`) now map to the numeric type
instead of degrading to `UntypedNode`.
[#6541](https://github.com/microsoft/kiota/issues/6541)
- Ruby: removed `then` from multiline `unless` and skipped empty `case`
blocks in factory methods to fix RuboCop and SyntaxError offenses.
[kiota-abstractions-ruby#66](https://github.com/microsoft/kiota-abstractions-ruby/issues/66)
[#7856](https://github.com/microsoft/kiota/issues/7856)
- Ruby: fixed enum default values with numeric wire names (e.g. `2.0`)
to use the enum option name instead of the raw value as a Ruby symbol.
[kiota-abstractions-ruby#66](https://github.com/microsoft/kiota-abstractions-ruby/issues/66)
- Ruby: fixed `case/when` indentation and added empty line after
`attr_accessor` to resolve RuboCop offenses in generated code.
[kiota-abstractions-ruby#59](https://github.com/microsoft/kiota-abstractions-ruby/issues/59)
- golang: generated code now always uses LF line endings, so `gofmt` no
longer reports formatting differences when generating on Windows.
- golang: make sure all generated code adheres to golangs coding
standards
- Fixed non-deterministic model class descriptions when a component
schema is referenced from multiple properties with differing
reference-level descriptions.
[#7927](https://github.com/microsoft/kiota/issues/7927)
- Fixed generation of a spurious union type/wrapper for `oneOf` nullable
reference types (e.g. `oneOf: [$ref, {type: null}]` as emitted by
ASP.NET Core 10's OpenAPI 3.1 generator); these now collapse to the
nullable target type, matching the existing `anyOf` behavior.
[#6776](https://github.com/microsoft/kiota/issues/6776)
- TypeScript: fixed generation for primitive binary unions by handling
`ArrayBuffer` as a primitive type, and deduplicated redundant
serialization/deserialization branches when multiple union members map
to the same runtime type (e.g. `binary` and `base64`).
- TypeScript: fixed composed type deserialization for unions that
include Kiota primitive types such as `DateOnly`.
- C#: write `#pragma` to disable CS1591 for properties without
description. [#8095](https://github.com/microsoft/kiota/issues/8095)
- C#: don't create `<see cref="byte[]"/>` xml doc comments
[#8099](https://github.com/microsoft/kiota/issues/8099)
- Required array query parameters with `explode: true` (the OpenAPI
default for query parameters) now use the exploded form expansion
(`{?param*}`) in URL templates so each value repeats the key, instead of
the required syntax `param={param}` which comma joins the values.
Required scalar query parameters keep the required syntax since scalar
expansion is identical either way. Note the tradeoff RFC 6570 forces
here: a required exploded array left unset now disappears from the query
string entirely instead of emitting a bare `param=` pair.
[#8031](https://github.com/microsoft/kiota/issues/8031)
[#4487](https://github.com/microsoft/kiota/issues/4487)
## 1.35.0-preview.202609100001
## Added
### Changed
- Fixed TypeScript request metadata to use string response factories for
UUID values and collections.
- Fixed the generation of a schema used in two roles at once: as the
schema of an error response and as an `allOf` child in the discriminator
mapping of another error schema. The error refiner replaced its `allOf`
base class with the language error base class while the parent's factory
method still returned it as a derived type, so the generated C# and Java
clients did not compile (`CS0029` / `incompatible types`). Such a schema
now keeps its base class and inherits the error base class through its
parent, like every other mapped child.
- Dart: an error model's constructor declared the named `additionalData`
parameter as `required`, but the generated callers never pass it —
inherited error models call a bare `super()` and
`createFromDiscriminatorValue` instantiates the class without arguments
— so a document with a discriminated error hierarchy generated a client
that did not compile. The parameter is now optional and defaults to an
empty map in the initializer list.
- Dart: models whose names differ only in where a separator falls (e.g.
the inline property type `Process_error` and the component schema
`ProcessError`) snake-cased to the same file name, so one silently
overwrote the other and the client did not compile (`Undefined class
'Process_error'`). Colliding file names are now disambiguated, leaving
the generated type names unchanged. Same defect as the one fixed for
Ruby, part of [#7821](https://github.com/microsoft/kiota/issues/7821).
- Name correction now walks the code model in a fixed order. Where two
names correct to the same value only the element reached first can take
it, and the walk followed a dictionary whose order varies between runs,
so the winner, and with it the generated output, differed from one run
to the next. This removes one source of the non-reproducible generation
tracked in [#7997](https://github.com/microsoft/kiota/issues/7997);
other sources remain, so the descriptions suppressed for it stay
suppressed.
- Ruby: a model sharing its name with a sibling namespace had the
disambiguation suffix applied once per reference to it rather than once,
so generation failed with `The element to rename was not found
available_phone_number_countryModelModelModelModel`. The reference pass
was removed: `CodeType.Name` already delegates to the type definition,
so references follow the rename on their own. Un-suppresses the Twilio
integration and idempotency tests.
[kiota-abstractions-ruby#66](https://github.com/microsoft/kiota-abstractions-ruby/issues/66)
- C#: create property "EqualsEscaped" instead of "Equals" for model
properties "equals" to avoid a compiler warning
[#8133](https://github.com/microsoft/kiota/issues/8133)
- A HEAD operation with no response schema generated an executor
returning a `Stream`. The default return type was picked from the
response codes alone, so a HEAD declaring only a `200` fell through to
binary, while one that happened to list `304` returned void by accident.
The request method is now checked first, so a HEAD that falls through to
the default returns void.
[#4245](https://github.com/microsoft/kiota/issues/4245)
Commits viewable in [compare
view](https://github.com/microsoft/kiota/compare/v1.34.1...v1.35.0).
</details>
Updated
[Microsoft.Testing.Extensions.CodeCoverage](https://github.com/microsoft/codecoverage)
from 18.10.0 to 18.11.2.
<details>
<summary>Release notes</summary>
_Sourced from [Microsoft.Testing.Extensions.CodeCoverage's
releases](https://github.com/microsoft/codecoverage/releases)._
No release notes found for this version range.
Commits viewable in [compare
view](https://github.com/microsoft/codecoverage/commits).
</details>
Updated [Moq](https://github.com/moq/moq) from 4.20.72 to 4.21.0.
<details>
<summary>Release notes</summary>
_Sourced from [Moq's releases](https://github.com/moq/moq/releases)._
## 4.21.0
<!-- Release notes generated using configuration in .github/release.yml
at main -->
## What's Changed
### ✨ Implemented enhancements
* Improve performance of It.Is matcher when used with an expression by
compiling only once by @peterder72 in
https://github.com/devlooped/moq/pull/1512
* Updated ctor params to support nullable args by @Asafima in
https://github.com/devlooped/moq/pull/1518
* Performance improvement for Mocking many large classes by @crinksdr
in https://github.com/devlooped/moq/pull/1530
### 🐛 Fixed bugs
* Minor enhancement to avoid null exceptions by @ShirAvneri in
https://github.com/devlooped/moq/pull/1542
* Fix #1648 reliably (lazy ValueTask registration + committed harness
verification) by @kzu in https://github.com/devlooped/moq/pull/1680
### 🔨 Other
* Updated IVerifies.Verifiable method documentation code example by
@Asafima in https://github.com/devlooped/moq/pull/1528
* Bump dependencies by @kzu in
https://github.com/devlooped/moq/pull/1545
* Address build warnings by @kzu in
https://github.com/devlooped/moq/pull/1546
* Enable nullable references in Moq.csproj by @andrewimcclement in
https://github.com/devlooped/moq/pull/1535
* Bump NuGetizer to 1.4.9 by @kzu with @Copilot in
https://github.com/devlooped/moq/pull/1684
## New Contributors
* @peterder72 made their first contribution in
https://github.com/devlooped/moq/pull/1512
* @Asafima made their first contribution in
https://github.com/devlooped/moq/pull/1518
* @crinksdr made their first contribution in
https://github.com/devlooped/moq/pull/1530
* @ShirAvneri made their first contribution in
https://github.com/devlooped/moq/pull/1542
* @andrewimcclement made their first contribution in
https://github.com/devlooped/moq/pull/1535
* @kzu with @Copilot made their first contribution in
https://github.com/devlooped/moq/pull/1684
**Full Changelog**:
https://github.com/devlooped/moq/compare/v4.20.72...v4.21.0
<!-- sponsors -->
<!-- avoid this section by leaving a nosponsors tag -->
## Sponsors
The following sponsors made this release possible: @clarius,
@MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon,
@rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @Jonathan-Hickey,
@KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev,
@ChilliCream, @4OTC, @DominicSchell, @adalon, @torutek,
@mccaffers, @SeikaLogiciel, @wizardness, @eska-gmbh, @geodata-no.
Thanks 💜
<!-- /sponsors -->
Commits viewable in [compare
view](https://github.com/moq/moq/compare/v4.20.72...v4.21.0).
</details>
Updated
[OpenTelemetry.Exporter.OpenTelemetryProtocol](https://github.com/open-telemetry/opentelemetry-dotnet)
from 1.18.0 to 1.19.1.
<details>
<summary>Release notes</summary>
_Sourced from [OpenTelemetry.Exporter.OpenTelemetryProtocol's
releases](https://github.com/open-telemetry/opentelemetry-dotnet/releases)._
## 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.
Commits viewable in [compare
view](https://github.com/open-telemetry/opentelemetry-dotnet/compare/core-1.18.0...core-1.19.1).
</details>
Updated
[OpenTelemetry.Extensions.Hosting](https://github.com/open-telemetry/opentelemetry-dotnet)
from 1.18.0 to 1.19.1.
<details>
<summary>Release notes</summary>
_Sourced from [OpenTelemetry.Extensions.Hosting's
releases](https://github.com/open-telemetry/opentelemetry-dotnet/releases)._
## 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.
Commits viewable in [compare
view](https://github.com/open-telemetry/opentelemetry-dotnet/compare/core-1.18.0...core-1.19.1).
</details>
Updated
[OpenTelemetry.Instrumentation.AspNetCore](https://github.com/open-telemetry/opentelemetry-dotnet-contrib)
from 1.18.0 to 1.19.0.
<details>
<summary>Release notes</summary>
_Sourced from [OpenTelemetry.Instrumentation.AspNetCore's
releases](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/releases)._
## 1.19.0
* NuGet: [OpenTelemetry.Exporter.OneCollector
v1.19.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.OneCollector/1.19.0)
* Updated OpenTelemetry core component version(s) to `1.19.0`.
([#5240](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/5240))
See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet…
Updated [Microsoft.Extensions.Configuration](https://github.com/dotnet/dotnet) from 10.0.11 to 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration'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.Configuration.Abstractions](https://github.com/dotnet/dotnet) from 10.0.11 to 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration.Abstractions'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.Configuration.Binder](https://github.com/dotnet/dotnet) from 10.0.11 to 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration.Binder'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.Configuration.EnvironmentVariables](https://github.com/dotnet/dotnet) from 10.0.11 to 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration.EnvironmentVariables'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.Configuration.Json](https://github.com/dotnet/dotnet) from 10.0.11 to 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration.Json'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.Configuration.UserSecrets](https://github.com/dotnet/dotnet) from 10.0.11 to 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration.UserSecrets'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.Logging.Abstractions](https://github.com/dotnet/dotnet) from 10.0.11 to 10.0.13. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Logging.Abstractions'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.Identity.Client](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet) from 4.88.0 to 4.91.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Identity.Client's releases](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/releases)._ ## 4.91.0 ### New Features - Made the dynamic certificate provider and confidential-client callbacks (`OnMsalServiceFailure`, `OnCompletion`, and `OnBackgroundTokenRefreshCompleted`) generally available, removing the experimental feature opt-in requirement. [#6216](AzureAD/microsoft-authentication-library-for-dotnet#6216) ### Bug Fixes - Fixed built-in mTLS `HttpClient` caching to use certificate object identity, ensuring a new certificate instance with a reacquired private-key handle receives a new handler even when its thumbprint is unchanged. [#6217](AzureAD/microsoft-authentication-library-for-dotnet#6217) - Fixed managed identity `WithForceRefresh(true)` to re-mint the MSI v2 binding certificate before acquiring a new token, while reusing a valid cached attestation token for the current key. [#6215](AzureAD/microsoft-authentication-library-for-dotnet#6215) - Fixed system-browser authentication callbacks in Linux containers by adding opt-in IPv4 port-forwarding support through `MSAL_ALLOW_SYSTEM_BROWSER_PORT_FORWARDING`, disabled by default. [#6186](AzureAD/microsoft-authentication-library-for-dotnet#6186) ## 4.90.1 ### New Features - Added `IMsalWsTrustHttpClientFactory`, allowing custom HTTP client factories to provide redirect-disabled, credential-policy-aware clients for federation metadata (MEX) and WS-Trust requests. Added `MsalError.TooManyRedirects` and `MsalError.WsTrustCrossOriginRedirectNotSupported` for redirect failures. [#6165](AzureAD/microsoft-authentication-library-for-dotnet#6165) ### Bug Fixes - Hardened federation metadata and WS-Trust requests by requiring HTTPS, securely validating redirects, rejecting credential-bearing cross-origin redirects, and limiting redirect chains. [#6165](AzureAD/microsoft-authentication-library-for-dotnet#6165) - Fixed instance discovery so a custom authority port is not forwarded to the global discovery host, while preserving the port when discovery uses the authority host. [#6155](AzureAD/microsoft-authentication-library-for-dotnet#6155) - Fixed KeyGuard attestation to send the tenant ID as the MAA `client_id` metadata value without changing managed-identity client-ID handling or attestation-cache partitioning. [#6200](AzureAD/microsoft-authentication-library-for-dotnet#6200) ### Changes - Updated `Microsoft.Azure.Security.KeyGuardAttestation` from version 1.1.7 to 1.1.8. [#6202](AzureAD/microsoft-authentication-library-for-dotnet#6202) ## 4.90.0 ### Changes - Updated the KeyGuardAttestation package version to 1.1.7. [#6189](AzureAD/microsoft-authentication-library-for-dotnet#6189) ## 4.89.0 ## What's Changed * Add repository guidance for AI agents by @bgavrilMS in AzureAD/microsoft-authentication-library-for-dotnet#6158 * Add Linux Attested Managed Identity Flow documentation by @gladjohn in AzureAD/microsoft-authentication-library-for-dotnet#6149 * Remove internal authority example from API docs by @bgavrilMS in AzureAD/microsoft-authentication-library-for-dotnet#6170 * Update SNI MTLS PoP Token Design documentation by @bgavrilMS in AzureAD/microsoft-authentication-library-for-dotnet#6171 * Add SNI mTLS E2E coverage for a non-exportable VBS-protected certificate by @gladjohn in AzureAD/microsoft-authentication-library-for-dotnet#6167 * Revise mTLS PoP acceptance-test matrix structure by @gladjohn in AzureAD/microsoft-authentication-library-for-dotnet#6161 * Add ICloudConfiguration for cross-cloud metadata resolution by @Avery-Dunn in AzureAD/microsoft-authentication-library-for-dotnet#6104 * Fix IMDSv2 SCHANNEL failures bypassing certificate re-mint retry by @Robbie-Microsoft in AzureAD/microsoft-authentication-library-for-dotnet#6173 * Always record RawStsErrorCode on MsalFailure metric by @ssmelov in AzureAD/microsoft-authentication-library-for-dotnet#6175 * Add MSAL_MI_DISABLE_IMDS_V2 kill switch for managed identity by @Robbie-Microsoft in AzureAD/microsoft-authentication-library-for-dotnet#6178 * Add timeout for managed identity capability discovery by @Robbie-Microsoft in AzureAD/microsoft-authentication-library-for-dotnet#6181 * Pin GitHub Actions to full-length commit SHAs by @danfiedler-msft in AzureAD/microsoft-authentication-library-for-dotnet#6182 ## New Contributors * @danfiedler-msft made their first contribution in AzureAD/microsoft-authentication-library-for-dotnet#6182 **Full Changelog**: AzureAD/microsoft-authentication-library-for-dotnet@4.88.0...4.89.0 Commits viewable in [compare view](AzureAD/microsoft-authentication-library-for-dotnet@4.88.0...4.91.0). </details> Updated [Microsoft.Identity.Client.Extensions.Msal](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet) from 4.88.0 to 4.91.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Identity.Client.Extensions.Msal's releases](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/releases)._ ## 4.91.0 ### New Features - Made the dynamic certificate provider and confidential-client callbacks (`OnMsalServiceFailure`, `OnCompletion`, and `OnBackgroundTokenRefreshCompleted`) generally available, removing the experimental feature opt-in requirement. [#6216](AzureAD/microsoft-authentication-library-for-dotnet#6216) ### Bug Fixes - Fixed built-in mTLS `HttpClient` caching to use certificate object identity, ensuring a new certificate instance with a reacquired private-key handle receives a new handler even when its thumbprint is unchanged. [#6217](AzureAD/microsoft-authentication-library-for-dotnet#6217) - Fixed managed identity `WithForceRefresh(true)` to re-mint the MSI v2 binding certificate before acquiring a new token, while reusing a valid cached attestation token for the current key. [#6215](AzureAD/microsoft-authentication-library-for-dotnet#6215) - Fixed system-browser authentication callbacks in Linux containers by adding opt-in IPv4 port-forwarding support through `MSAL_ALLOW_SYSTEM_BROWSER_PORT_FORWARDING`, disabled by default. [#6186](AzureAD/microsoft-authentication-library-for-dotnet#6186) ## 4.90.1 ### New Features - Added `IMsalWsTrustHttpClientFactory`, allowing custom HTTP client factories to provide redirect-disabled, credential-policy-aware clients for federation metadata (MEX) and WS-Trust requests. Added `MsalError.TooManyRedirects` and `MsalError.WsTrustCrossOriginRedirectNotSupported` for redirect failures. [#6165](AzureAD/microsoft-authentication-library-for-dotnet#6165) ### Bug Fixes - Hardened federation metadata and WS-Trust requests by requiring HTTPS, securely validating redirects, rejecting credential-bearing cross-origin redirects, and limiting redirect chains. [#6165](AzureAD/microsoft-authentication-library-for-dotnet#6165) - Fixed instance discovery so a custom authority port is not forwarded to the global discovery host, while preserving the port when discovery uses the authority host. [#6155](AzureAD/microsoft-authentication-library-for-dotnet#6155) - Fixed KeyGuard attestation to send the tenant ID as the MAA `client_id` metadata value without changing managed-identity client-ID handling or attestation-cache partitioning. [#6200](AzureAD/microsoft-authentication-library-for-dotnet#6200) ### Changes - Updated `Microsoft.Azure.Security.KeyGuardAttestation` from version 1.1.7 to 1.1.8. [#6202](AzureAD/microsoft-authentication-library-for-dotnet#6202) ## 4.90.0 ### Changes - Updated the KeyGuardAttestation package version to 1.1.7. [#6189](AzureAD/microsoft-authentication-library-for-dotnet#6189) ## 4.89.0 ## What's Changed * Add repository guidance for AI agents by @bgavrilMS in AzureAD/microsoft-authentication-library-for-dotnet#6158 * Add Linux Attested Managed Identity Flow documentation by @gladjohn in AzureAD/microsoft-authentication-library-for-dotnet#6149 * Remove internal authority example from API docs by @bgavrilMS in AzureAD/microsoft-authentication-library-for-dotnet#6170 * Update SNI MTLS PoP Token Design documentation by @bgavrilMS in AzureAD/microsoft-authentication-library-for-dotnet#6171 * Add SNI mTLS E2E coverage for a non-exportable VBS-protected certificate by @gladjohn in AzureAD/microsoft-authentication-library-for-dotnet#6167 * Revise mTLS PoP acceptance-test matrix structure by @gladjohn in AzureAD/microsoft-authentication-library-for-dotnet#6161 * Add ICloudConfiguration for cross-cloud metadata resolution by @Avery-Dunn in AzureAD/microsoft-authentication-library-for-dotnet#6104 * Fix IMDSv2 SCHANNEL failures bypassing certificate re-mint retry by @Robbie-Microsoft in AzureAD/microsoft-authentication-library-for-dotnet#6173 * Always record RawStsErrorCode on MsalFailure metric by @ssmelov in AzureAD/microsoft-authentication-library-for-dotnet#6175 * Add MSAL_MI_DISABLE_IMDS_V2 kill switch for managed identity by @Robbie-Microsoft in AzureAD/microsoft-authentication-library-for-dotnet#6178 * Add timeout for managed identity capability discovery by @Robbie-Microsoft in AzureAD/microsoft-authentication-library-for-dotnet#6181 * Pin GitHub Actions to full-length commit SHAs by @danfiedler-msft in AzureAD/microsoft-authentication-library-for-dotnet#6182 ## New Contributors * @danfiedler-msft made their first contribution in AzureAD/microsoft-authentication-library-for-dotnet#6182 **Full Changelog**: AzureAD/microsoft-authentication-library-for-dotnet@4.88.0...4.89.0 Commits viewable in [compare view](AzureAD/microsoft-authentication-library-for-dotnet@4.88.0...4.91.0). </details> Updated [Microsoft.Kiota.Abstractions](https://github.com/microsoft/kiota-dotnet) from 2.1.1 to 2.1.2. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Kiota.Abstractions's releases](https://github.com/microsoft/kiota-dotnet/releases)._ ## 2.1.2 ## [2.1.2](microsoft/kiota-dotnet@v2.1.1...v2.1.2) (2026-09-08) ### Bug Fixes * **serialization-json:** honor custom TimeSpan converters ([#795](microsoft/kiota-dotnet#795)) ([e22c5ba](microsoft/kiota-dotnet@e22c5ba)) * **serialization-json:** honor DateTimeOffset converters ([802e20a](microsoft/kiota-dotnet@802e20a)) * **serialization-json:** honor guid converters before fallback parsing ([#794](microsoft/kiota-dotnet#794)) ([22cc1d3](microsoft/kiota-dotnet@22cc1d3)) Commits viewable in [compare view](microsoft/kiota-dotnet@v2.1.1...v2.1.2). </details> Updated [Microsoft.Kiota.Http.HttpClientLibrary](https://github.com/microsoft/kiota-dotnet) from 2.1.1 to 2.1.2. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Kiota.Http.HttpClientLibrary's releases](https://github.com/microsoft/kiota-dotnet/releases)._ ## 2.1.2 ## [2.1.2](microsoft/kiota-dotnet@v2.1.1...v2.1.2) (2026-09-08) ### Bug Fixes * **serialization-json:** honor custom TimeSpan converters ([#795](microsoft/kiota-dotnet#795)) ([e22c5ba](microsoft/kiota-dotnet@e22c5ba)) * **serialization-json:** honor DateTimeOffset converters ([802e20a](microsoft/kiota-dotnet@802e20a)) * **serialization-json:** honor guid converters before fallback parsing ([#794](microsoft/kiota-dotnet#794)) ([22cc1d3](microsoft/kiota-dotnet@22cc1d3)) Commits viewable in [compare view](microsoft/kiota-dotnet@v2.1.1...v2.1.2). </details> Updated [Microsoft.Kiota.Serialization.Form](https://github.com/microsoft/kiota-dotnet) from 2.1.1 to 2.1.2. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Kiota.Serialization.Form's releases](https://github.com/microsoft/kiota-dotnet/releases)._ ## 2.1.2 ## [2.1.2](microsoft/kiota-dotnet@v2.1.1...v2.1.2) (2026-09-08) ### Bug Fixes * **serialization-json:** honor custom TimeSpan converters ([#795](microsoft/kiota-dotnet#795)) ([e22c5ba](microsoft/kiota-dotnet@e22c5ba)) * **serialization-json:** honor DateTimeOffset converters ([802e20a](microsoft/kiota-dotnet@802e20a)) * **serialization-json:** honor guid converters before fallback parsing ([#794](microsoft/kiota-dotnet#794)) ([22cc1d3](microsoft/kiota-dotnet@22cc1d3)) Commits viewable in [compare view](microsoft/kiota-dotnet@v2.1.1...v2.1.2). </details> Updated [Microsoft.Kiota.Serialization.Json](https://github.com/microsoft/kiota-dotnet) from 2.1.1 to 2.1.2. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Kiota.Serialization.Json's releases](https://github.com/microsoft/kiota-dotnet/releases)._ ## 2.1.2 ## [2.1.2](microsoft/kiota-dotnet@v2.1.1...v2.1.2) (2026-09-08) ### Bug Fixes * **serialization-json:** honor custom TimeSpan converters ([#795](microsoft/kiota-dotnet#795)) ([e22c5ba](microsoft/kiota-dotnet@e22c5ba)) * **serialization-json:** honor DateTimeOffset converters ([802e20a](microsoft/kiota-dotnet@802e20a)) * **serialization-json:** honor guid converters before fallback parsing ([#794](microsoft/kiota-dotnet#794)) ([22cc1d3](microsoft/kiota-dotnet@22cc1d3)) Commits viewable in [compare view](microsoft/kiota-dotnet@v2.1.1...v2.1.2). </details> Updated [Microsoft.Kiota.Serialization.Multipart](https://github.com/microsoft/kiota-dotnet) from 2.1.1 to 2.1.2. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Kiota.Serialization.Multipart's releases](https://github.com/microsoft/kiota-dotnet/releases)._ ## 2.1.2 ## [2.1.2](microsoft/kiota-dotnet@v2.1.1...v2.1.2) (2026-09-08) ### Bug Fixes * **serialization-json:** honor custom TimeSpan converters ([#795](microsoft/kiota-dotnet#795)) ([e22c5ba](microsoft/kiota-dotnet@e22c5ba)) * **serialization-json:** honor DateTimeOffset converters ([802e20a](microsoft/kiota-dotnet@802e20a)) * **serialization-json:** honor guid converters before fallback parsing ([#794](microsoft/kiota-dotnet#794)) ([22cc1d3](microsoft/kiota-dotnet@22cc1d3)) Commits viewable in [compare view](microsoft/kiota-dotnet@v2.1.1...v2.1.2). </details> Updated [Microsoft.Kiota.Serialization.Text](https://github.com/microsoft/kiota-dotnet) from 2.1.1 to 2.1.2. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Kiota.Serialization.Text's releases](https://github.com/microsoft/kiota-dotnet/releases)._ ## 2.1.2 ## [2.1.2](microsoft/kiota-dotnet@v2.1.1...v2.1.2) (2026-09-08) ### Bug Fixes * **serialization-json:** honor custom TimeSpan converters ([#795](microsoft/kiota-dotnet#795)) ([e22c5ba](microsoft/kiota-dotnet@e22c5ba)) * **serialization-json:** honor DateTimeOffset converters ([802e20a](microsoft/kiota-dotnet@802e20a)) * **serialization-json:** honor guid converters before fallback parsing ([#794](microsoft/kiota-dotnet#794)) ([22cc1d3](microsoft/kiota-dotnet@22cc1d3)) Commits viewable in [compare view](microsoft/kiota-dotnet@v2.1.1...v2.1.2). </details> Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 18.9.0 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 microsoft/vstest#16318 * Disable the MTP testhost by default by @nohwnd in microsoft/vstest#16337 * Fix OS-blind apphost probe in MTP bridge on Unix (regression from #16201) by @azat-msft in microsoft/vstest#16336 * Retarget the MTP client onto Microsoft.Testing.Platform.ServerMode.Client.Sources by @nohwnd in microsoft/vstest#16300 * Pass arguments to PowerShell with -File instead of -command by @nohwnd in microsoft/vstest#16363 * Respect console logger verbosity from a settings file by @nohwnd in microsoft/vstest#16044 * Fix backslash normalization in VSTestCLIRunSettings on Unix by @nohwnd in microsoft/vstest#15795 * Docs: fix typo explicitely -> explicitly by @vaibhav8a in microsoft/vstest#16397 * Copy acceptance test diagnostic logs into the test results directory by @nohwnd in microsoft/vstest#16403 ## New Contributors * @vaibhav8a made their first contribution in microsoft/vstest#16397 **Full Changelog**: microsoft/vstest@v18.10.1...v18.11.0 ## 18.10.1 ## What's Changed * Isolate code coverage files in published output by @azat-msft in microsoft/vstest#16476 **Full Changelog**: microsoft/vstest@v18.10.0...v18.10.1 ## 18.10.0 ## What's Changed * Drop Mono fallback, run .NET Framework tests on Windows only by @nohwnd in microsoft/vstest#16158 * Run Microsoft.Testing.Platform test apps under `vstest.console` and datacollector by @nohwnd in microsoft/vstest#16201 * Fix test output eaten by MSBuild terminal logger by @nohwnd in microsoft/vstest#16223 * Remove the experimental test session feature by @nohwnd in microsoft/vstest#16231 * Skip a single bad executor instead of failing all executor loading by @nohwnd in microsoft/vstest#16239 * Assert apartment state instead of using Clipboard in UI tests by @nohwnd in microsoft/vstest#16270 * Surface test host crashes during protocol negotiation by @nohwnd in microsoft/vstest#16285 * Pass the inferred target platform to the host in run settings by @nohwnd in microsoft/vstest#16271 * Report raw invalid IsTargetPlatformInferred value, cover host x64 forcing by @nohwnd in microsoft/vstest#16295 * Disable the MTP testhost by default (#16337) by @nohwnd in microsoft/vstest#16341 **Full Changelog**: microsoft/vstest@v18.9.0...v18.10.0 Commits viewable in [compare view](microsoft/vstest@v18.9.0...v18.11.0). </details> Updated [microsoft.openapi.kiota](https://github.com/microsoft/kiota) from 1.35.0 to 1.36.1. <details> <summary>Release notes</summary> _Sourced from [microsoft.openapi.kiota's releases](https://github.com/microsoft/kiota/releases)._ ## 1.36.1 ## Added ### Changed - Fixed small issues with release pipelines ## 1.36.0 ## Added - Ruby: an error's `message` returns the property the description marks with `x-ms-primary-error-message`, as the other languages do. An error property named `message` is renamed `message_escaped`, like `MessageEscaped` in C#; when it is a string, `message` still returns it. [kiota-ruby#63](microsoft/kiota-ruby#63) ### Changed - Fixed relative description paths when opening or selecting clients in the VS Code Kiota workspace. - Removed the retired lock-search command from the VS Code command palette. Lock-file migration remains available. - Preserve inherited properties when a single `oneOf` or `anyOf` member defines its properties only through `allOf`. Fixes [#6778](microsoft/kiota#6778). - Python: preserve false, zero, empty strings, and empty collections when parsing and serializing union type wrappers. - All language refiners accept a generation logger consistently, retaining configuration-only compatibility constructors hidden from IntelliSense. - Reject plugin-manifest file references whose path components become parent-directory traversal after Windows trims trailing spaces or dots. - Fixed a stack overflow when generating API plugins from descriptions with cyclic `allOf` schemas. - Dart: omit unsupported schema defaults with a generation warning, preserve supported literal and enum property and parameter defaults (including empty strings), initialize query parameters from schema defaults, and keep constructor initialization valid with or without backing stores. - Dart: preserve nullable optional request-builder constructor parameters, including UUIDs and collections, so cloning accepts null arguments without overwriting existing path parameters. - Dart: escape URL templates once at final emission to preserve literal dollar signs and backslashes in constructor defaults and method overrides. - Dart: preserve schema string defaults named `null`, including enum wire values, without treating them as JSON-null sentinels. - Dart: preserve query-parameter defaults inside single-member `allOf` wrappers, retaining outer-default precedence and explicit JSON-null defaults. - Dart: validate parser-backed date, time, and UUID defaults before emission, omitting unsupported values with a generation warning. - Ruby: a union of object types that no discriminator decides, such as a oneOf without a discriminator, now reads the payload into every object member, as TypeScript does, instead of returning an empty wrapper. A union whose discriminator matched no member does the same, and its array member is only read when no other member was picked. Requires the runtime gems at 0.24.0. - Ruby: enum members hold their wire value, so a value such as `incoming-payment` or `read` is sent and read as the description declares it instead of as `IncomingPayment` or `Read`. `Enum[:Name]` now returns the wire value as a string. Requires the runtime gems at 0.24.0. - Go: keep escaped namespace segments lowercase so imports match generated package directories on case-sensitive filesystems. Fixes [#7828](microsoft/kiota#7828). - TypeScript: import response enum objects for request builders reached through path parameters. [#6884](microsoft/kiota#6884) - Resolve enum query parameters wrapped in single-member `allOf` schemas, including enum array items. - Go: cast scalar enum values in union factories and avoid reading an empty discriminator name for undiscriminated unions. Addresses [#7808](microsoft/kiota#7808). - Preserve models for multipart properties with default content types when other properties specify an encoding. [#7342](microsoft/kiota#7342) - Dart: escape enum options named value or values to avoid conflicts with generated and built-in enum members. [#7807](microsoft/kiota#7807) - Ruby: the client's root module has an `eager_load!` method that loads every autoloaded model, for servers that preload before forking. - Ruby: generated files start with `# frozen_string_literal: true`, so string default values handed to user code are frozen. - Ruby: generated string literals are double quoted, the StandardRB convention. - Ruby: namespaces with nothing to autoload no longer get an empty barrel file, and generated files no longer require them (561 fewer files in a GitHub client). - Ruby: a client generated with a multi-segment `--namespace-name`, such as `integration_test.client`, failed to load because its root file was written one directory too deep. - Ruby: namespace barrels register their models and enums with `autoload` instead of requiring them, so a subclass no longer fails to load when its base class file is required first. Other files require the barrel rather than an individual model file, and models now load on first use. A type no barrel autoloads, such as a model named after its namespace, is now required directly: 1,315 constants referenced by a Meraki client never loaded, and a client generated from the current GitHub description failed to load because it required a file that is never written. [#7956](microsoft/kiota#7956) - Ruby: model properties are declared with `attr_accessor`, which removes the thousands of "possibly useless use of a variable" warnings `ruby -w` printed while loading a client. - Ruby: enum hashes are frozen. [kiota-ruby#68](microsoft/kiota-ruby#68) - C#: escape Unicode line and paragraph separators in generated string literals so generated clients remain valid C# source. - External reference allowlist wildcards no longer cross the URI authority boundary, so a wildcard in the scheme or host cannot match text in the path, the user information or the port. - Initialize inherited Dart model fields in constructor initializer lists. - Replace only unresolved binary types with a native stream type, and translate a resolved model by its definition rather than its name, so a model whose schema is named `binary`, `base64` or `base64url` keeps its own name across every language instead of being rendered as the native binary type. Generation no longer fails for C# and Java. - Avoid redundant parsing branches for equivalent binary alternatives in Dart and PHP composed models. - Preserve imports for distinct types from the same namespace when inlining error model inheritance. - Dart: qualify model fields named `node` or `deserializerMap` during deserialization so local variables do not shadow them; escape `override` model members to preserve Dart annotations. Fixes [#7822](microsoft/kiota#7822). - PHP: disambiguate enum constants that normalize to the same name while preserving wire values and existing constant names. - Java: omit unused discriminator-mapping imports for union/intersection wrappers, avoiding imports of nonexistent models while retaining member and inherited-factory imports. - Dart: omit unused discriminator-mapping imports for composed wrappers while preserving member and inherited-factory imports. Addresses [#7821](microsoft/kiota#7821). - Preserve endpoints whose static path segments collide after name sanitization, such as /v1.1 and /v11. [#7143](microsoft/kiota#7143) - Ruby: a path with an escaped suffix, such as `/domains/{domainName}!quote`, generated a request builder method that passed the raw path parameter name where the signature had snake cased it, and referenced the builder class without its namespace. Both raised `NameError` on first use. [#7956](microsoft/kiota#7956) ... (truncated) Commits viewable in [compare view](microsoft/kiota@v1.35.0...v1.36.1). </details> Updated [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit) from 4.0.0 to 4.0.1. <details> <summary>Release notes</summary> _Sourced from [xunit.runner.visualstudio's releases](https://github.com/xunit/visualstudio.xunit/releases)._ ## 4.0.1 Release notes: https://xunit.net/releases/visualstudio/4.0.1 Commits viewable in [compare view](xunit/visualstudio.xunit@4.0.0...4.0.1). </details> Updated [xunit.v3](https://github.com/xunit/xunit) from 4.0.0 to 4.0.2. <details> <summary>Release notes</summary> _Sourced from [xunit.v3's releases](https://github.com/xunit/xunit/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/xunit/xunit/commits). </details> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Steinar Hjellvik <38071413+shjellvik@users.noreply.github.com>



Summary
Validation
dotnet test tests\serialization\json\Microsoft.Kiota.Serialization.Json.Tests.csproj --filter "FullyQualifiedName~JsonParseNodeTests.ParseGuid" --no-restorecurrently fails to build on latest main because JsonParseNodeTests references JsonTimeSpanConverter, but that converter file is not present on this scoped branch/main.