Skip to content

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

Merged
svick merged 10 commits into
dotnet:release/9.0from
ViveliDuCh:9.0-staging-merge
Oct 13, 2026
Merged

svick merged 10 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 10 commits September 17, 2026 16:21
Disabled tests for dotnet#134002. The actual fix would likely not meet the
back port bar for .NET 8, so let's disable the tests on Android.


Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: vcsjones <361677+vcsjones@users.noreply.github.com>
…BEL (dotnet#129535)

Backport of dotnet#129531 to release/9.0-staging.

/cc @davidwrighton

## Customer Impact

- [ ] Customer reported
- [x] Found internally

Without this fix, macOS x64 assembly labels can be emitted as ordinary
symbols instead of local labels. That can let the linker carve up
functions incorrectly, leading to incorrect runtime behavior.

## Regression

- [ ] Yes
- [x] No

No known recent regression; this fixes existing assembly label authoring
for macOS x64.

## Testing

This backport changes `src/coreclr/vm/amd64/Context.S` and
`src/coreclr/vm/amd64/virtualcallstubamd64.S`. No new test was added
because this is an assembly-label/linker-behavior fix. The source PR and
this backport PR rely on CI coverage for the affected release branch.

## Risk

Low. The change is limited to converting internal assembly labels and
branches to LOCAL_LABEL(...) in macOS x64 CoreCLR assembly code,
preserving control flow while avoiding externally visible labels.

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

- The PR target branch is 
elease/X.0-staging, not 
elease/X.0.

## 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.

> [!NOTE]
> This PR description was generated by GitHub Copilot.
)

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**:
[20260919.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=3081418)
([332872](https://maestro.dot.net/channel/3883/github:dotnet:icu/build/332872))
- **Date Produced**: September 19, 2026 6:20:11 PM UTC
- **Commit**:
[f6dff8344dc891bc3e0e6b8ec913cbf157bdfa9f](dotnet/icu@f6dff83)
- **Branch**:
[dotnet/release/9.0](https://github.com/dotnet/icu/tree/dotnet/release/9.0)

[DependencyUpdate]: <> (Begin)

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

[3]: dotnet/icu@e38cd61...f6dff83

[DependencyUpdate]: <> (End)


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

---------

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

We were publishing additional files from IntermediateArtifacts.

> [!NOTE]
> AI-generated with GitHub Copilot.

Co-authored-by: Viviana Dueñas <50237907+ViveliDuCh@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 6cb7cfc2-f69c-4385-b165-1f6e8c17271d
…npaired IN_MOVED_FROM (dotnet#134335)

## Customer Impact

- [x] Customer reported  (dotnet#133420)

The customer built a version-control system on .NET and relies on
`FileSystemWatcher` to detect changes in users’ working trees.
On Linux, a merge that moves directories on both sides can silently stop
the watcher, disabling change detection for every workspace open in the
process with no error or indication that the watcher has failed.
Expected: the watcher continues reporting changes or raises an Error so
the application can recover.

## Regression

- [x] Yes

Most likely Introduced by dotnet#9130 in .NET 9. It's **not reproducible with
.NET 11**, because `FileSystemWatcher` got rewritten.

## Testing

Verified using the customer-provided repro app from the issue.

No automated regression test was added because it would be flaky and
since this component got rewritten in .NET 11, it's very unlikely for us
to regress this code path in servicing branch.

## Risk

Low. The change is a single-line, minimal-diff fix (`return false` →
`break`)
confined to one `foreach` loop inside the Linux inotify event-processing
state
machine. It only affects the narrow error/cleanup path for an unmatched
`IN_MOVED_FROM` event on a previously-watched subdirectory; the rest of
the
control flow (watch removal, event dispatch, loop state reset) is
unchanged.


Fixes dotnet#133420

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: adamsitnik <6011991+adamsitnik@users.noreply.github.com>
…currency for NCrypt handles (dotnet#135437)

Backport of dotnet#130804 to release/9.0-staging

/cc @bartonjs @vcsjones

## Customer Impact

- [X] Customer reported
- [X] Found internally

The invalid state was detected by an assert in a CI run, in
dotnet#130760, but customer reports of
ObjectDisposedException being thrown from these classes during
finalization appear to be the same problem.

In the worst case, the customer impact is the aforementioned exception
during finalization, which tears down the process.

The invalid state is entered into by a race condition that can only be
encountered when two threads simultaneously use a key object for the
first time. Parallel access once the first use completes is/was not
subject to the race.

## Regression

- [ ] Yes
- [X] No

The logic hasn't changed since .NET Core 1.0.

## Testing

The change includes a test that does aggressive parallelization.

## Risk

Low. It is a simple lock addition around the code susceptible to the
race.

Co-authored-by: Kevin Jones <kevin@vcsjones.com>
…et#134013)

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

## 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**:
[20261009.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=3100733)
([335875](https://maestro.dot.net/channel/3883/github:dotnet:icu/build/335875))
- **Date Produced**: October 9, 2026 12:40:50 PM UTC
- **Commit**:
[4b5609920f97434d2100323e5dc47ad9c9f58dac](dotnet/icu@4b56099)
- **Branch**:
[dotnet/release/9.0](https://github.com/dotnet/icu/tree/dotnet/release/9.0)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [9.0.0-rtm.26469.2 to 9.0.0-rtm.26509.1][6]
     - Microsoft.NETCore.Runtime.ICU.Transport

[6]: dotnet/icu@f6dff83...4b56099

[DependencyUpdate]: <> (End)


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

---------

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

This pull request updates the following dependencies

[marker]: <> (Begin:e06e39ae-771e-498d-7895-08dcbc301dc2)
## From https://github.com/dotnet/runtime-assets
- **Subscription**:
[e06e39ae-771e-498d-7895-08dcbc301dc2](https://maestro.dot.net/subscriptions?search=e06e39ae-771e-498d-7895-08dcbc301dc2)
- **Build**:
[20260923.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=3085163)
([333510](https://maestro.dot.net/channel/3883/github:dotnet:runtime-assets/build/333510))
- **Date Produced**: September 23, 2026 10:09:10 AM UTC
- **Commit**:
[ac1dbd1987d7ca08b7347ef51130b7d69f6cf58c](dotnet/runtime-assets@ac1dbd1)
- **Branch**:
[release/9.0](https://github.com/dotnet/runtime-assets/tree/release/9.0)

[DependencyUpdate]: <> (Begin)

- **Dependency Updates**:
  - From [9.0.0-beta.26404.4 to 9.0.0-beta.26473.1][3]
     - Microsoft.DotNet.CilStrip.Sources
     - System.ComponentModel.TypeConverter.TestData
     - System.Data.Common.TestData
     - System.Drawing.Common.TestData
     - System.Formats.Tar.TestData
     - System.IO.Compression.TestData
     - System.IO.Packaging.TestData
     - System.Net.TestData
     - System.Private.Runtime.UnicodeData
     - System.Runtime.Numerics.TestData
     - System.Runtime.TimeZoneData
     - System.Security.Cryptography.X509Certificates.TestData
     - System.Text.RegularExpressions.TestData
     - System.Windows.Extensions.TestData

[3]:
dotnet/runtime-assets@1246663...ac1dbd1

[DependencyUpdate]: <> (End)


[marker]: <> (End:e06e39ae-771e-498d-7895-08dcbc301dc2)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…Tests depth-proportional wait budgets (dotnet#135632)

Fixes dotnet#118977 <!-- Issue Number -->

main PR dotnet#135608 <!-- Link to PR if any that fixed this in the main
branch. -->

Backport to `release/9.0-staging`.

/cc @ViveliDuCh @pcshrosbree

# Description

<!-- Give a brief summary of the issue and how the pull request is
fixing it. -->

The same `WaitChain`/`WaitAsyncChain` timeout failure seen in main also
occurred in `release/9.0`. Scale each wait budget by the number of
nested processes it covers.

# Customer Impact

<!-- What is the impact to customers of not taking this fix? -->

- [ ] Customer reported
- [x] Found internally

Intermittent CI test failures; no product behavior change.

# Regression

<!-- Is this fixing a problem that was introduced in the most recent
release, ie., fixing a regression? -->

- [ ] Yes
- [x] No

Existing test timeout issue; no known product regression.

# Testing

<!-- What kind of testing has been done with the fix. -->

dotnet#135608 reports both chain tests passing on Windows x86, Linux x64, and
macOS arm64. No additional local tests run for this backport; CI is
still in progress and currently has failures.

# Risk

<!-- Please assess the risk of taking this fix. Provide details backing
up your assessment. -->

Low: test-only timeout adjustment. Assertions and product code are
unchanged.

Co-authored-by: Peter Shrosbree <peter.shrosbree@gmail.com>
@ViveliDuCh
ViveliDuCh requested review from a team October 13, 2026 06:07
@ViveliDuCh ViveliDuCh added NO-SQUASH The PR should not be squashed Servicing-approved Approved for servicing release labels Oct 13, 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.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @bartonjs, @vcsjones, @dotnet/area-system-security
See info in area-owners.md if you want to be subscribed.

@svick

svick commented Oct 13, 2026

Copy link
Copy Markdown
Member

/ba-g only known errors and dead letter

@svick
svick merged commit d013014 into dotnet:release/9.0 Oct 13, 2026
242 of 252 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-System.Security 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