Skip to content

[manual] Merge release/9.0-staging into release/9.0 - #133988

Merged
ViveliDuCh merged 21 commits into
dotnet:release/9.0from
ViveliDuCh:9.0-staging-merge
Sep 15, 2026
Merged

ViveliDuCh merged 21 commits into
dotnet:release/9.0from
ViveliDuCh:9.0-staging-merge

Conversation

@ViveliDuCh

Copy link
Copy Markdown
Member

No description provided.

github-actions Bot and others added 21 commits August 12, 2026 11:14
…ts (dotnet#132118)

Backport of dotnet#131955 to release/9.0-staging

/cc @mrek-msft @Copilot

## Customer Impact

- [ ] Customer reported
- [ ] Found internally

[Select one or both of the boxes. Describe how this issue impacts
customers, citing the expected and actual behaviors and scope of the
issue. If customer-reported, provide the issue number.]

## Regression

- [ ] Yes
- [ ] No

[If yes, specify when the regression was introduced. Provide the PR or
commit if known.]

## Testing

[How was the fix verified? How was the issue missed previously? What
tests were added?]

## Risk

[High/Medium/Low. Justify the indication by mentioning how risks were
measured and addressed.]

**IMPORTANT**: If this backport is for a servicing release, please
verify that:

- For .NET 8 and .NET 9: The PR target branch is `release/X.0-staging`,
not `release/X.0`.
- For .NET 10+: The PR target branch is `release/X.0` (no `-staging`
suffix).

## Package authoring no longer needed in .NET 9

**IMPORTANT**: Starting with .NET 9, you no longer need to edit a NuGet
package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older
versions.

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: eiriktsarpalis <2813363+eiriktsarpalis@users.noreply.github.com>
)

This pull request updates the following dependencies

[marker]: <> (Begin:5e3f9b88-faad-436c-a580-ac009d20bb33)
## From https://github.com/dotnet/icu
- **Subscription**:
[5e3f9b88-faad-436c-a580-ac009d20bb33](https://maestro.dot.net/subscriptions?search=5e3f9b88-faad-436c-a580-ac009d20bb33)
- **Build**:
[20260818.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=3050632)
([327525](https://maestro.dot.net/channel/3883/github:dotnet:icu/build/327525))
- **Date Produced**: August 18, 2026 9:48:57 AM UTC
- **Commit**:
[b5d4ef3905750a52e02bb4336aa28eaf6d9ccbbd](dotnet/icu@b5d4ef3)
- **Branch**:
[dotnet/release/9.0](https://github.com/dotnet/icu/tree/dotnet/release/9.0)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [9.0.0-rtm.26407.5 to 9.0.0-rtm.26418.3][3]
     - Microsoft.NETCore.Runtime.ICU.Transport

[3]: dotnet/icu@9adc457...b5d4ef3

[DependencyUpdate]: <> (End)


[marker]: <> (End:5e3f9b88-faad-436c-a580-ac009d20bb33)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…32196)

This pull request updates the following dependencies

[marker]: <> (Begin:b609d3b5-ab6f-473c-9ce1-f266baef16fc)
## From https://github.com/dotnet/cecil
- **Subscription**:
[b609d3b5-ab6f-473c-9ce1-f266baef16fc](https://maestro.dot.net/subscriptions?search=b609d3b5-ab6f-473c-9ce1-f266baef16fc)
- **Build**:
[20260818.4](https://dev.azure.com/dnceng/internal/_build/results?buildId=3050655)
([327519](https://maestro.dot.net/channel/3883/github:dotnet:cecil/build/327519))
- **Date Produced**: August 18, 2026 9:20:45 AM UTC
- **Commit**:
[5850baac30805f358b113f0b12966ce234023725](dotnet/cecil@5850baa)
- **Branch**:
[release/9.0](https://github.com/dotnet/cecil/tree/release/9.0)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [0.11.5-alpha.26404.3 to 0.11.5-alpha.26418.4][2]
     - Microsoft.SourceBuild.Intermediate.cecil
     - Microsoft.DotNet.Cecil

[2]: dotnet/cecil@eebca36...5850baa

[DependencyUpdate]: <> (End)


[marker]: <> (End:b609d3b5-ab6f-473c-9ce1-f266baef16fc)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…t#132384)

This pull request updates the following dependencies

[marker]: <> (Begin:077f423f-1332-4108-a2ea-08dcc66548e6)
## From https://github.com/dotnet/xharness
- **Subscription**:
[077f423f-1332-4108-a2ea-08dcc66548e6](https://maestro.dot.net/subscriptions?search=077f423f-1332-4108-a2ea-08dcc66548e6)
- **Build**:
[20260813.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=3047095)
([326983](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/326983))
- **Date Produced**: August 13, 2026 2:34:21 PM UTC
- **Commit**:
[f10844a1593bd12a5b59046798831ead3eeef2e0](dotnet/xharness@f10844a)
- **Branch**: [main](https://github.com/dotnet/xharness/tree/main)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [11.0.0-prerelease.26370.1 to 11.0.0-prerelease.26413.1][1]
     - Microsoft.DotNet.XHarness.CLI
     - Microsoft.DotNet.XHarness.TestRunners.Common
     - Microsoft.DotNet.XHarness.TestRunners.Xunit

[1]: dotnet/xharness@65e5795...f10844a

[DependencyUpdate]: <> (End)


[marker]: <> (End:077f423f-1332-4108-a2ea-08dcc66548e6)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…132447)

This pull request updates the following dependencies

[marker]: <> (Begin:60694bfc-fbc6-40d6-af1a-4c5dac51a701)
## From https://github.com/dotnet/roslyn
- **Subscription**:
[60694bfc-fbc6-40d6-af1a-4c5dac51a701](https://maestro.dot.net/subscriptions?search=60694bfc-fbc6-40d6-af1a-4c5dac51a701)
- **Build**:
[20260817.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=3049659)
([327380](https://maestro.dot.net/channel/4906/github:dotnet:roslyn/build/327380))
- **Date Produced**: August 17, 2026 9:41:52 AM UTC
- **Commit**:
[6daa7d78d6d38698bcdb78579b083a4bf7abcb0d](dotnet/roslyn@6daa7d7)
- **Branch**:
[release/dev17.12](https://github.com/dotnet/roslyn/tree/release/dev17.12)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [4.12.0-3.26274.2 to 4.12.0-3.26417.1][1]
     - Microsoft.SourceBuild.Intermediate.roslyn
     - Microsoft.CodeAnalysis
     - Microsoft.CodeAnalysis.CSharp
     - Microsoft.Net.Compilers.Toolset

[1]: dotnet/roslyn@0118715...6daa7d7

[DependencyUpdate]: <> (End)


[marker]: <> (End:60694bfc-fbc6-40d6-af1a-4c5dac51a701)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
)

This pull request updates the following dependencies

[marker]: <> (Begin:5e3f9b88-faad-436c-a580-ac009d20bb33)
## From https://github.com/dotnet/icu
- **Subscription**:
[5e3f9b88-faad-436c-a580-ac009d20bb33](https://maestro.dot.net/subscriptions?search=5e3f9b88-faad-436c-a580-ac009d20bb33)
- **Build**:
[20260819.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=3051736)
([327713](https://maestro.dot.net/channel/3883/github:dotnet:icu/build/327713))
- **Date Produced**: August 19, 2026 9:59:36 AM UTC
- **Commit**:
[95c53f5781a311c8fe5e2a55c24ed2ab18f89a45](dotnet/icu@95c53f5)
- **Branch**:
[dotnet/release/9.0](https://github.com/dotnet/icu/tree/dotnet/release/9.0)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [9.0.0-rtm.26418.3 to 9.0.0-rtm.26419.1][1]
     - Microsoft.NETCore.Runtime.ICU.Transport

[1]: dotnet/icu@b5d4ef3...95c53f5

[DependencyUpdate]: <> (End)


[marker]: <> (End:5e3f9b88-faad-436c-a580-ac009d20bb33)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…132110)

This pull request updates the following dependencies

[marker]: <> (Begin:943c2154-7e47-4fed-bb40-3e772747daf7)
## From https://github.com/dotnet/arcade
- **Subscription**:
[943c2154-7e47-4fed-bb40-3e772747daf7](https://maestro.dot.net/subscriptions?search=943c2154-7e47-4fed-bb40-3e772747daf7)
- **Build**:
[20260820.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=3053001)
([327905](https://maestro.dot.net/channel/5175/github:dotnet:arcade/build/327905))
- **Date Produced**: August 20, 2026 4:39:32 PM UTC
- **Commit**:
[1236e274211c2405924a61dcb3a92a0ae99f91c8](dotnet/arcade@1236e27)
- **Branch**:
[release/9.0](https://github.com/dotnet/arcade/tree/release/9.0)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [9.0.0-beta.26406.11 to 9.0.0-beta.26420.3][4]
     - Microsoft.SourceBuild.Intermediate.arcade
     - Microsoft.DotNet.Arcade.Sdk
     - Microsoft.DotNet.Build.Tasks.Archives
     - Microsoft.DotNet.Build.Tasks.Feed
     - Microsoft.DotNet.Build.Tasks.Installers
     - Microsoft.DotNet.Build.Tasks.Packaging
     - Microsoft.DotNet.Build.Tasks.TargetFramework
     - Microsoft.DotNet.Build.Tasks.Templating
     - Microsoft.DotNet.Build.Tasks.Workloads
     - Microsoft.DotNet.CodeAnalysis
     - Microsoft.DotNet.GenAPI
     - Microsoft.DotNet.GenFacades
     - Microsoft.DotNet.Helix.Sdk
     - Microsoft.DotNet.PackageTesting
     - Microsoft.DotNet.RemoteExecutor
     - Microsoft.DotNet.SharedFramework.Sdk
     - Microsoft.DotNet.VersionTools.Tasks
     - Microsoft.DotNet.XliffTasks
     - Microsoft.DotNet.XUnitExtensions
  - From [2.9.0-beta.26406.11 to 2.9.0-beta.26420.3][4]
     - Microsoft.DotNet.XUnitAssert
     - Microsoft.DotNet.XUnitConsoleRunner

[4]: dotnet/arcade@f3bffca...1236e27

[DependencyUpdate]: <> (End)


[marker]: <> (End:943c2154-7e47-4fed-bb40-3e772747daf7)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: MichalZ <188900745+mrek-msft@users.noreply.github.com>
…et#132254)

I detected changes in the release/9.0 branch which have not been merged
yet to release/9.0-staging. I'm a robot and am configured to help you
automatically keep release/9.0-staging up to date, so I've opened this
PR.

This PR merges commits made on release/9.0 by the following committers:

* dotnet-bot

## Instructions for merging from UI

This PR will not be auto-merged. When pull request checks pass, complete
this PR by creating a merge commit, *not* a squash or rebase commit.

<img alt="merge button instructions"
src="https://i.imgur.com/GepcNJV.png" width="300" />

If this repo does not allow creating merge commits from the GitHub UI,
use command line instructions.

## Instructions for merging via command line

Run these commands to merge this pull request from the command line.

``` sh
git fetch
git checkout release/9.0
git pull --ff-only
git checkout release/9.0-staging
git pull --ff-only
git merge --no-ff release/9.0

# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

<details>
<summary>or if you are using SSH</summary>

```
git push git@github.com:dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

</details>


After PR checks are complete push the branch
```
git push
```

## Instructions for resolving conflicts

:warning: If there are merge conflicts, you will need to resolve them
manually before merging. You can do this [using GitHub][resolve-github]
or using the [command line][resolve-cli].

[resolve-github]:
https://help.github.com/articles/resolving-a-merge-conflict-on-github/
[resolve-cli]:
https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/

## Instructions for updating this pull request

Contributors to this repo have permission update this pull request by
pushing to the branch 'merge/release/9.0-to-release/9.0-staging'. This
can be done to resolve conflicts or make other changes to this pull
request before it is merged.
The provided examples assume that the remote is named 'origin'. If you
have a different remote name, please replace 'origin' with the name of
your remote.

```
git fetch
git checkout -b merge/release/9.0-to-release/9.0-staging origin/release/9.0-staging
git pull https://github.com/dotnet/runtime merge/release/9.0-to-release/9.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

<details>
    <summary>or if you are using SSH</summary>

```
git fetch
git checkout -b merge/release/9.0-to-release/9.0-staging origin/release/9.0-staging
git pull git@github.com:dotnet/runtime merge/release/9.0-to-release/9.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

</details>

Contact .NET Core Engineering (dotnet/dnceng) if you have questions or
issues.
Also, if this PR was generated incorrectly, help us fix it. See
https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.
…ng oversized Content-Length cases to managed implementation (dotnet#132652)

Backport of dotnet#132321 to release/9.0-staging

/cc @akoeplinger @alinpahontu2912

## Customer Impact

- [ ] Customer reported
- [ ] Found internally

[Select one or both of the boxes. Describe how this issue impacts
customers, citing the expected and actual behaviors and scope of the
issue. If customer-reported, provide the issue number.]

## Regression

- [ ] Yes
- [ ] No

[If yes, specify when the regression was introduced. Provide the PR or
commit if known.]

## Testing

[How was the fix verified? How was the issue missed previously? What
tests were added?]

## Risk

[High/Medium/Low. Justify the indication by mentioning how risks were
measured and addressed.]

**IMPORTANT**: If this backport is for a servicing release, please
verify that:

- For .NET 8 and .NET 9: The PR target branch is `release/X.0-staging`,
not `release/X.0`.
- For .NET 10+: The PR target branch is `release/X.0` (no `-staging`
suffix).

## Package authoring no longer needed in .NET 9

**IMPORTANT**: Starting with .NET 9, you no longer need to edit a NuGet
package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older
versions.

Co-authored-by: Stefan-Alin Pahontu <56953855+alinpahontu2912@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Irem Yuksel <113098562+iremyux@users.noreply.github.com>
Copilot-Session: bcc5e304-cc27-44b0-aac3-b9eada42d13f
…132649)

This pull request updates the following dependencies

[marker]: <> (Begin:60694bfc-fbc6-40d6-af1a-4c5dac51a701)
## From https://github.com/dotnet/roslyn
- **Subscription**:
[60694bfc-fbc6-40d6-af1a-4c5dac51a701](https://maestro.dot.net/subscriptions?search=60694bfc-fbc6-40d6-af1a-4c5dac51a701)
- **Build**:
[20260823.8](https://dev.azure.com/dnceng/internal/_build/results?buildId=3055111)
([328235](https://maestro.dot.net/channel/4906/github:dotnet:roslyn/build/328235))
- **Date Produced**: August 23, 2026 10:46:19 AM UTC
- **Commit**:
[66541625d45561161a206b6aad528b9c95c43259](dotnet/roslyn@6654162)
- **Branch**:
[release/dev17.12](https://github.com/dotnet/roslyn/tree/release/dev17.12)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [4.12.0-3.26417.1 to 4.12.0-3.26423.8][2]
     - Microsoft.SourceBuild.Intermediate.roslyn
     - Microsoft.CodeAnalysis
     - Microsoft.CodeAnalysis.CSharp
     - Microsoft.Net.Compilers.Toolset

[2]: dotnet/roslyn@6daa7d7...6654162

[DependencyUpdate]: <> (End)


[marker]: <> (End:60694bfc-fbc6-40d6-af1a-4c5dac51a701)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…132679)

This pull request updates the following dependencies

[marker]: <> (Begin:943c2154-7e47-4fed-bb40-3e772747daf7)
## From https://github.com/dotnet/arcade
- **Subscription**:
[943c2154-7e47-4fed-bb40-3e772747daf7](https://maestro.dot.net/subscriptions?search=943c2154-7e47-4fed-bb40-3e772747daf7)
- **Build**:
[20260823.5](https://dev.azure.com/dnceng/internal/_build/results?buildId=3055308)
([328252](https://maestro.dot.net/channel/5175/github:dotnet:arcade/build/328252))
- **Date Produced**: August 23, 2026 6:34:17 PM UTC
- **Commit**:
[d9d97de241d6e2bc5cce12d9e7f54e8d19ca67dc](dotnet/arcade@d9d97de)
- **Branch**:
[release/9.0](https://github.com/dotnet/arcade/tree/release/9.0)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [9.0.0-beta.26420.3 to 9.0.0-beta.26423.5][1]
     - Microsoft.SourceBuild.Intermediate.arcade
     - Microsoft.DotNet.Arcade.Sdk
     - Microsoft.DotNet.Build.Tasks.Archives
     - Microsoft.DotNet.Build.Tasks.Feed
     - Microsoft.DotNet.Build.Tasks.Installers
     - Microsoft.DotNet.Build.Tasks.Packaging
     - Microsoft.DotNet.Build.Tasks.TargetFramework
     - Microsoft.DotNet.Build.Tasks.Templating
     - Microsoft.DotNet.Build.Tasks.Workloads
     - Microsoft.DotNet.CodeAnalysis
     - Microsoft.DotNet.GenAPI
     - Microsoft.DotNet.GenFacades
     - Microsoft.DotNet.Helix.Sdk
     - Microsoft.DotNet.PackageTesting
     - Microsoft.DotNet.RemoteExecutor
     - Microsoft.DotNet.SharedFramework.Sdk
     - Microsoft.DotNet.VersionTools.Tasks
     - Microsoft.DotNet.XliffTasks
     - Microsoft.DotNet.XUnitExtensions
  - From [2.9.0-beta.26420.3 to 2.9.0-beta.26423.5][1]
     - Microsoft.DotNet.XUnitAssert
     - Microsoft.DotNet.XUnitConsoleRunner

[1]: dotnet/arcade@1236e27...d9d97de

[DependencyUpdate]: <> (End)


[marker]: <> (End:943c2154-7e47-4fed-bb40-3e772747daf7)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…t#132683)

This pull request updates the following dependencies

[marker]: <> (Begin:077f423f-1332-4108-a2ea-08dcc66548e6)
## From https://github.com/dotnet/xharness
- **Subscription**:
[077f423f-1332-4108-a2ea-08dcc66548e6](https://maestro.dot.net/subscriptions?search=077f423f-1332-4108-a2ea-08dcc66548e6)
- **Build**:
[20260819.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=3051693)
([327705](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/327705))
- **Date Produced**: August 19, 2026 8:47:15 AM UTC
- **Commit**:
[8dd9b8e6004e22c7b120af0631f0809865ff2088](dotnet/xharness@8dd9b8e)
- **Branch**: [main](https://github.com/dotnet/xharness/tree/main)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [11.0.0-prerelease.26413.1 to 11.0.0-prerelease.26419.1][1]
     - Microsoft.DotNet.XHarness.CLI
     - Microsoft.DotNet.XHarness.TestRunners.Common
     - Microsoft.DotNet.XHarness.TestRunners.Xunit

[1]: dotnet/xharness@f10844a...8dd9b8e

[DependencyUpdate]: <> (End)


[marker]: <> (End:077f423f-1332-4108-a2ea-08dcc66548e6)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…132872)

This pull request updates the following dependencies

[marker]: <> (Begin:943c2154-7e47-4fed-bb40-3e772747daf7)
## From https://github.com/dotnet/arcade
- **Subscription**:
[943c2154-7e47-4fed-bb40-3e772747daf7](https://maestro.dot.net/subscriptions?search=943c2154-7e47-4fed-bb40-3e772747daf7)
- **Build**:
[20260831.8](https://dev.azure.com/dnceng/internal/_build/results?buildId=3062499)
([329601](https://maestro.dot.net/channel/5175/github:dotnet:arcade/build/329601))
- **Date Produced**: September 1, 2026 12:37:14 AM UTC
- **Commit**:
[ee364d8268f86d6a2ab859f6cc82ca6f9d20b31c](dotnet/arcade@ee364d8)
- **Branch**:
[release/9.0](https://github.com/dotnet/arcade/tree/release/9.0)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [9.0.0-beta.26423.5 to 9.0.0-beta.26431.8][3]
     - Microsoft.SourceBuild.Intermediate.arcade
     - Microsoft.DotNet.Arcade.Sdk
     - Microsoft.DotNet.Build.Tasks.Archives
     - Microsoft.DotNet.Build.Tasks.Feed
     - Microsoft.DotNet.Build.Tasks.Installers
     - Microsoft.DotNet.Build.Tasks.Packaging
     - Microsoft.DotNet.Build.Tasks.TargetFramework
     - Microsoft.DotNet.Build.Tasks.Templating
     - Microsoft.DotNet.Build.Tasks.Workloads
     - Microsoft.DotNet.CodeAnalysis
     - Microsoft.DotNet.GenAPI
     - Microsoft.DotNet.GenFacades
     - Microsoft.DotNet.Helix.Sdk
     - Microsoft.DotNet.PackageTesting
     - Microsoft.DotNet.RemoteExecutor
     - Microsoft.DotNet.SharedFramework.Sdk
     - Microsoft.DotNet.VersionTools.Tasks
     - Microsoft.DotNet.XliffTasks
     - Microsoft.DotNet.XUnitExtensions
  - From [2.9.0-beta.26423.5 to 2.9.0-beta.26431.8][3]
     - Microsoft.DotNet.XUnitAssert
     - Microsoft.DotNet.XUnitConsoleRunner

[3]: dotnet/arcade@d9d97de...ee364d8

[DependencyUpdate]: <> (End)


[marker]: <> (End:943c2154-7e47-4fed-bb40-3e772747daf7)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Backport of dotnet#133097 to release/9.0-staging.

Fixes dotnet#133096.

## Customer Impact

- [ ] Customer reported
- [X] Found internally

Customers would be unable to establish QUIC or HTTP/3 connections on
Linux without providing the target host name (to verify against the
server certificate).

## Regression

- [X] Yes
- [ ] No

Regression by updating MsQuic (optional dependency to light-up QUIC
support)

## Testing

Affected tests succeed on CI.

## Risk

Low, change is small and well understood.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…ENTIALS in QUIC (dotnet#133078)

Backport of dotnet#132832 to release/9.0

/cc @rzikm

## Customer Impact

- [ ] Customer reported
- [x] Found internally

A recent update in MsQuic changed an error code returned when
applicaiton attempted to use certificates with ephemeral keys
(Windows-only concept where keys are not persisted in a key store,
Schannel, the TLS provider on Windows does not work with such
certificates).

This causes to a hard-to-diagnose exception being surfaced to .NET
application. This change:
- fixes the error detection so that more helpful diagnostic exception is
surfaced
- fixes test failures to de-noise CI.

## Regression

- [X] Yes
- [ ] No

Regression was introduced by updating MsQuic to the latest version.

## Testing

verified in CI.

## Risk

Low, the fix is contained and well understood.

Co-authored-by: Radek Zikmund <32671551+rzikm@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Backport of dotnet#133027 to release/9.0-staging

/cc @jozkee

## Customer Impact

- [ ] Customer reported
- [x] Found internally

## Regression

- [x] Yes - affecting .NET 9+
- [ ] No

## Testing

Regression tests added; .NET runtime CI is passing.

## Risk

Low. The fix extends the existing byte-by-byte comparison to cases where
the incoming name fits within the key prefix but the cached name does
not.

**IMPORTANT**: If this backport is for a servicing release, please
verify that:

- For .NET 8 and .NET 9: The PR target branch is `release/X.0-staging`,
not `release/X.0`.
- For .NET 10+: The PR target branch is `release/X.0` (no `-staging`
suffix).

## Package authoring no longer needed in .NET 9

**IMPORTANT**: Starting with .NET 9, you no longer need to edit a NuGet
package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older
versions.

Co-authored-by: David Cantú <dacantu@microsoft.com>
…et#133102)

I detected changes in the release/9.0 branch which have not been merged
yet to release/9.0-staging. I'm a robot and am configured to help you
automatically keep release/9.0-staging up to date, so I've opened this
PR.

This PR merges commits made on release/9.0 by the following committers:

* vseanreesermsft

## Instructions for merging from UI

This PR will not be auto-merged. When pull request checks pass, complete
this PR by creating a merge commit, *not* a squash or rebase commit.

<img alt="merge button instructions"
src="https://i.imgur.com/GepcNJV.png" width="300" />

If this repo does not allow creating merge commits from the GitHub UI,
use command line instructions.

## Instructions for merging via command line

Run these commands to merge this pull request from the command line.

``` sh
git fetch
git checkout release/9.0
git pull --ff-only
git checkout release/9.0-staging
git pull --ff-only
git merge --no-ff release/9.0

# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

<details>
<summary>or if you are using SSH</summary>

```
git push git@github.com:dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

</details>


After PR checks are complete push the branch
```
git push
```

## Instructions for resolving conflicts

:warning: If there are merge conflicts, you will need to resolve them
manually before merging. You can do this [using GitHub][resolve-github]
or using the [command line][resolve-cli].

[resolve-github]:
https://help.github.com/articles/resolving-a-merge-conflict-on-github/
[resolve-cli]:
https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/

## Instructions for updating this pull request

Contributors to this repo have permission update this pull request by
pushing to the branch 'merge/release/9.0-to-release/9.0-staging'. This
can be done to resolve conflicts or make other changes to this pull
request before it is merged.
The provided examples assume that the remote is named 'origin'. If you
have a different remote name, please replace 'origin' with the name of
your remote.

```
git fetch
git checkout -b merge/release/9.0-to-release/9.0-staging origin/release/9.0-staging
git pull https://github.com/dotnet/runtime merge/release/9.0-to-release/9.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

<details>
    <summary>or if you are using SSH</summary>

```
git fetch
git checkout -b merge/release/9.0-to-release/9.0-staging origin/release/9.0-staging
git pull git@github.com:dotnet/runtime merge/release/9.0-to-release/9.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

</details>

Contact .NET Core Engineering (dotnet/dnceng) if you have questions or
issues.
Also, if this PR was generated incorrectly, help us fix it. See
https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.
)

This pull request updates the following dependencies

[marker]: <> (Begin:5e3f9b88-faad-436c-a580-ac009d20bb33)
## From https://github.com/dotnet/icu
- **Subscription**:
[5e3f9b88-faad-436c-a580-ac009d20bb33](https://maestro.dot.net/subscriptions?search=5e3f9b88-faad-436c-a580-ac009d20bb33)
- **Build**:
[20260907.4](https://dev.azure.com/dnceng/internal/_build/results?buildId=3068613)
([330778](https://maestro.dot.net/channel/3883/github:dotnet:icu/build/330778))
- **Date Produced**: September 7, 2026 11:44:06 AM UTC
- **Commit**:
[9e37504e53c5d4dfa132694995ba54944174eaf6](dotnet/icu@9e37504)
- **Branch**:
[dotnet/release/9.0](https://github.com/dotnet/icu/tree/dotnet/release/9.0)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [9.0.0-rtm.26419.1 to 9.0.0-rtm.26457.4][1]
     - Microsoft.NETCore.Runtime.ICU.Transport

[1]: dotnet/icu@95c53f5...9e37504

[DependencyUpdate]: <> (End)


[marker]: <> (End:5e3f9b88-faad-436c-a580-ac009d20bb33)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
)

This pull request updates the following dependencies

[marker]: <> (Begin:5e3f9b88-faad-436c-a580-ac009d20bb33)
## From https://github.com/dotnet/icu
- **Subscription**:
[5e3f9b88-faad-436c-a580-ac009d20bb33](https://maestro.dot.net/subscriptions?search=5e3f9b88-faad-436c-a580-ac009d20bb33)
- **Build**:
[20260908.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=3069443)
([330907](https://maestro.dot.net/channel/3883/github:dotnet:icu/build/330907))
- **Date Produced**: September 8, 2026 9:30:41 AM UTC
- **Commit**:
[e38cd61cc00b753af76ed9d31a7acbeabc6a3238](dotnet/icu@e38cd61)
- **Branch**:
[dotnet/release/9.0](https://github.com/dotnet/icu/tree/dotnet/release/9.0)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [9.0.0-rtm.26457.4 to 9.0.0-rtm.26458.1][1]
     - Microsoft.NETCore.Runtime.ICU.Transport

[1]: dotnet/icu@9e37504...e38cd61

[DependencyUpdate]: <> (End)


[marker]: <> (End:5e3f9b88-faad-436c-a580-ac009d20bb33)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…et#133620)

I detected changes in the release/9.0 branch which have not been merged
yet to release/9.0-staging. I'm a robot and am configured to help you
automatically keep release/9.0-staging up to date, so I've opened this
PR.

This PR merges commits made on release/9.0 by the following committers:

* ViveliDuCh
* dotnet-bot
* vseanreesermsft
* iremyux

## Instructions for merging from UI

This PR will not be auto-merged. When pull request checks pass, complete
this PR by creating a merge commit, *not* a squash or rebase commit.

<img alt="merge button instructions"
src="https://i.imgur.com/GepcNJV.png" width="300" />

If this repo does not allow creating merge commits from the GitHub UI,
use command line instructions.

## Instructions for merging via command line

Run these commands to merge this pull request from the command line.

``` sh
git fetch
git checkout release/9.0
git pull --ff-only
git checkout release/9.0-staging
git pull --ff-only
git merge --no-ff release/9.0

# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

<details>
<summary>or if you are using SSH</summary>

```
git push git@github.com:dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

</details>


After PR checks are complete push the branch
```
git push
```

## Instructions for resolving conflicts

:warning: If there are merge conflicts, you will need to resolve them
manually before merging. You can do this [using GitHub][resolve-github]
or using the [command line][resolve-cli].

[resolve-github]:
https://help.github.com/articles/resolving-a-merge-conflict-on-github/
[resolve-cli]:
https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/

## Instructions for updating this pull request

Contributors to this repo have permission update this pull request by
pushing to the branch 'merge/release/9.0-to-release/9.0-staging'. This
can be done to resolve conflicts or make other changes to this pull
request before it is merged.
The provided examples assume that the remote is named 'origin'. If you
have a different remote name, please replace 'origin' with the name of
your remote.

```
git fetch
git checkout -b merge/release/9.0-to-release/9.0-staging origin/release/9.0-staging
git pull https://github.com/dotnet/runtime merge/release/9.0-to-release/9.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

<details>
    <summary>or if you are using SSH</summary>

```
git fetch
git checkout -b merge/release/9.0-to-release/9.0-staging origin/release/9.0-staging
git pull git@github.com:dotnet/runtime merge/release/9.0-to-release/9.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/runtime HEAD:merge/release/9.0-to-release/9.0-staging
```

</details>

Contact .NET Core Engineering (dotnet/dnceng) if you have questions or
issues.
Also, if this PR was generated incorrectly, help us fix it. See
https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.
@ViveliDuCh
ViveliDuCh requested review from a team and a lite review from Copilot September 15, 2026 19:57
@ViveliDuCh ViveliDuCh added NO-SQUASH The PR should not be squashed Servicing-approved Approved for servicing release labels Sep 15, 2026
@github-actions github-actions Bot added the area-codeflow for labeling automated codeflow label Sep 15, 2026
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The release merge spans runtime behavior, tests, dependencies, and tooling and warrants final human review.

Pull request overview

Merges release/9.0-staging into release/9.0, including runtime fixes, test adjustments, and dependency updates.

Changes:

  • Fixes System.Text.Json property-cache collisions.
  • Adjusts QUIC SNI and ephemeral-certificate handling.
  • Updates tests, dependencies, and XHarness tooling.
File summaries
File Description
src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/CacheTests.cs Adds cache-collision regression coverage.
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Metadata/PropertyRef.cs Corrects property-name equality checks.
src/libraries/System.Security.Cryptography.Xml/tests/EncryptedXmlTests.cs Disables known timing-sensitive tests.
src/libraries/System.Net.Quic/src/System/Net/Quic/QuicConnection.cs Handles absent SNI values safely.
src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/MsQuicConfiguration.cs Detects additional ephemeral-key failures.
src/libraries/System.Net.HttpListener/tests/InvalidClientRequestTests.cs Limits implementation-specific request cases.
eng/Versions.props Updates dependency versions.
eng/Version.Details.xml Synchronizes dependency versions and commits.
.config/dotnet-tools.json Updates XHarness CLI.
Review details
  • Files reviewed: 9/9 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@ViveliDuCh

Copy link
Copy Markdown
Member Author

/ba-g unrelated infra/flakiness and a known issue tracked by #134011

@ViveliDuCh
ViveliDuCh merged commit 7078c76 into dotnet:release/9.0 Sep 15, 2026
288 of 303 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-codeflow for labeling automated codeflow NO-SQUASH The PR should not be squashed Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants