[manual] Merge release/9.0-staging into release/9.0#128183
Open
svick wants to merge 18 commits into
Open
Conversation
dotnet#123661) Backport of dotnet#123485 to release/9.0-staging /cc @liveans Increasing RFC compliance for WebSocket ## Customer Impact RFC compliance ## Regression No ## Testing Manual verification + automated tests ## Risk Low, the change only affects non‑compliant WebSocket clients sending unmasked frames, which is explicitly disallowed by RFC 6455. No behavior change is expected for compliant clients. --------- Co-authored-by: Ahmet İbrahim Aksoy <aaksoy@microsoft.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…t#125603) 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**: [20260318.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2929517) ([306735](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/306735)) - **Date Produced**: March 18, 2026 9:51:17 AM UTC - **Commit**: [607b3de9cf2dbfec6734e686e68d2813b40b2b51](dotnet/xharness@607b3de) - **Branch**: [main](https://github.com/dotnet/xharness/tree/main) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [11.0.0-prerelease.26117.1 to 11.0.0-prerelease.26168.1][3] - Microsoft.DotNet.XHarness.CLI - Microsoft.DotNet.XHarness.TestRunners.Common - Microsoft.DotNet.XHarness.TestRunners.Xunit [3]: dotnet/xharness@0eeaa60...607b3de [DependencyUpdate]: <> (End) [marker]: <> (End:077f423f-1332-4108-a2ea-08dcc66548e6) --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…25715) Backport of dotnet#125544 to release/9.0-staging /cc @akoeplinger @wfurt --------- Co-authored-by: wfurt <tweinfurt@yahoo.com> Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com> Co-authored-by: Marie Píchová <11718369+ManickaP@users.noreply.github.com>
…et#125151) 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 * Copilot * hoyosjs * rbhanda * jozkee * dotnet-maestro[bot] * wfurt * bartonjs ## 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.
… loops (dotnet#126913) Backport of dotnet#126770 to release/9.0-staging /cc @AndyAyersMS ## Customer Impact - [x] Customer reported - [ ] Found internally JIT optimizations can cause certain down-counting loops to bypass a bounds check. Code that normally would throw index out of bounds exceptions on an array store might instead corrupt the heap. In particular the loop must have unknown upper bound and have a shape like: ```c# for (int i = N; i > 0; i--) { a[i] = ...; } ``` and then be invoked in a context where `N` is exactly `a.Length`. The loop exiting predicate must be `>` and not `>=`. In such cases the code will write to `a[N]` which is beyond the extent of `a`. Customer impact is likely low. Correct behavior here is to throw an exception. ## Regression - [x] Yes - [ ] No Introduced in .NET 7 with dotnet#67930. ## Testing Verified fix on repro case. SPMI had 132 method contexts with diffs from the fix change. Inspected a few and most either had redundant guards beforehand or else were only reading from the arrays. ## Risk Low, changes the code that decides at runtime if execution can use a "cloned" loop that omits bounds checks; now we are correctly cautious about running the fully checked loop. Co-authored-by: Andy Ayers <andya@microsoft.com>
Analog of dotnet#126945 to release/9.0-staging. ## Customer Impact - [ ] Customer reported - [X] Found internally ## Regression - [ ] Yes - [X] No ## Testing Standard CI. ## Risk Low, there's no product code change, only minor version upgrade of MsQuic library.
dotnet#123609) This pull request updates the following dependencies [marker]: <> (Begin:85dd9958-87d4-4ed4-addf-58b6aa848692) ## From https://github.com/dotnet/roslyn-analyzers - **Subscription**: [85dd9958-87d4-4ed4-addf-58b6aa848692](https://maestro.dot.net/subscriptions?search=85dd9958-87d4-4ed4-addf-58b6aa848692) - **Build**: [20260125.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2887164) ([298761](https://maestro.dot.net/channel/3884/github:dotnet:roslyn-analyzers/build/298761)) - **Date Produced**: January 25, 2026 8:33:47 AM UTC - **Commit**: [5ef1abb57ce3df89eae65ecadeb1ddbab323ae05](dotnet/roslyn-analyzers@5ef1abb) - **Branch**: [release/9.0.1xx](https://github.com/dotnet/roslyn-analyzers/tree/release/9.0.1xx) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [3.11.0-beta1.26057.1 to 3.11.0-beta1.26075.3][1] - Microsoft.CodeAnalysis.Analyzers - From [9.0.0-preview.26057.1 to 9.0.0-preview.26075.3][1] - Microsoft.CodeAnalysis.NetAnalyzers [1]: dotnet/roslyn-analyzers@5ef1abb...5ef1abb [DependencyUpdate]: <> (End) [marker]: <> (End:85dd9958-87d4-4ed4-addf-58b6aa848692) Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Steve Pfister <steveisok@users.noreply.github.com> Co-authored-by: Larry Ewing <lewing@microsoft.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**: [20260410.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2947989) ([309841](https://maestro.dot.net/channel/3883/github:dotnet:icu/build/309841)) - **Date Produced**: April 10, 2026 11:35:45 AM UTC - **Commit**: [852e53da554204ceeeec22f3d9653fd0745b2d71](dotnet/icu@852e53d) - **Branch**: [dotnet/release/9.0](https://github.com/dotnet/icu/tree/dotnet/release/9.0) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [9.0.0-rtm.25627.1 to 9.0.0-rtm.26210.1][25] - Microsoft.NETCore.Runtime.ICU.Transport [25]: dotnet/icu@cda39b5...852e53d [DependencyUpdate]: <> (End) [marker]: <> (End:5e3f9b88-faad-436c-a580-ac009d20bb33) --------- Co-authored-by: Larry Ewing <lewing@microsoft.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Petr Onderka <petronderka@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
`source-build-reference-packages` repo was renamed to `source-build-assets`. To enable VMR/source-build scenarios this reference needs to be updated. This also updates the version as the new repo produced a new package.
Manual backport/cherry-pick of dotnet#123562 to release/9.0-staging ## Customer Impact - [X] Customer reported - [ ] Found internally Customers have been reporting "memory leaks" on Linux related to CRL processing for quite a while. These "leaks" aren't actual leaks, but an interaction with how OpenSSL processes CRLs (using many small calls to malloc), and glibc memory arenas and small-allocation caching -- glibc holds onto the small allocs from free so it can hand them out again later. Because we handle CRLs by loading them, checking them, and discarding them, a process that does a lot of revocation checks will end up checking the CRL on every thread, and thus can end up with large "reserved" memory for their process. As the size of the CRL goes up, the number of threads goes up, and memory limits come down (e.g. Kubernetes) the reserved memory becomes more of a potential problem. This change (originally introduced for 11 preview 3) changes the CRL processing to use an in-memory bounded MRU cache with GC cooperation. So, a process that repeatedly hits the same endpoints over and over (or even multiple endpoints from the same CA+CRL) ideally only ever has to load the CRL once (unless it expires). Since it isn't freed while still in use, it doesn't contribute to small-allocation accumulation. ## Regression - [ ] Yes - [X] No ## Testing As with the PR into main, most of the tests are existing tests. A new test is included to show cross-process disk cache recovery. ## Risk Medium-Low. The MRU cache isn't just a drop-in layering piece, so the volume of code carries inherent risk. The risk is largely mitigated by a large amount of coverage from unit tests, and manual stress tests against the feature when it was written in main (cycling through a few hundred HTTPS hosts randomly across several threads while doing a large amount of background memory allocation/deallocation). Users experiencing the high RES memory problem on Linux have reported that .NET 11 Preview 3 ameliorated the problem. Otherwise, no feedback has been received regarding the change (implying that it has not _caused_ a problem for anyone). --------- Co-authored-by: Jan Kotas <jkotas@microsoft.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…e/release/9.0-to-release/9.0-staging
…125097) 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**: [20260511.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2971953) ([313780](https://maestro.dot.net/channel/5175/github:dotnet:arcade/build/313780)) - **Date Produced**: May 11, 2026 12:20:02 PM UTC - **Commit**: [6c1a2a69259c3f66af6176c9c70021b3d9989504](dotnet/arcade@6c1a2a6) - **Branch**: [release/9.0](https://github.com/dotnet/arcade/tree/release/9.0) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [9.0.0-beta.26123.3 to 9.0.0-beta.26261.1][8] - 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.26123.3 to 2.9.0-beta.26261.1][8] - Microsoft.DotNet.XUnitAssert - Microsoft.DotNet.XUnitConsoleRunner [8]: dotnet/arcade@29a2184...6c1a2a6 [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: Petr Onderka <petronderka@microsoft.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**: [20260511.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2971930) ([313775](https://maestro.dot.net/channel/3883/github:dotnet:icu/build/313775)) - **Date Produced**: May 11, 2026 11:50:43 AM UTC - **Commit**: [67d0db7e61ed6ba212622a174bed04ef47aa2118](dotnet/icu@67d0db7) - **Branch**: [dotnet/release/9.0](https://github.com/dotnet/icu/tree/dotnet/release/9.0) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [9.0.0-rtm.26210.1 to 9.0.0-rtm.26261.1][4] - Microsoft.NETCore.Runtime.ICU.Transport [4]: dotnet/icu@852e53d...67d0db7 [DependencyUpdate]: <> (End) [marker]: <> (End:5e3f9b88-faad-436c-a580-ac009d20bb33) --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…t#125945) 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**: [20260404.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2943687) ([309231](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/309231)) - **Date Produced**: April 4, 2026 10:33:51 AM UTC - **Commit**: [0668c80ec27851f3c7f1b3e4536110a1d39af587](dotnet/xharness@0668c80) - **Branch**: [main](https://github.com/dotnet/xharness/tree/main) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [11.0.0-prerelease.26168.1 to 11.0.0-prerelease.26204.1][3] - Microsoft.DotNet.XHarness.CLI - Microsoft.DotNet.XHarness.TestRunners.Common - Microsoft.DotNet.XHarness.TestRunners.Xunit [3]: dotnet/xharness@607b3de...0668c80 [DependencyUpdate]: <> (End) [marker]: <> (End:077f423f-1332-4108-a2ea-08dcc66548e6) --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Vitek Karas <10670590+vitek-karas@users.noreply.github.com>
…et#126136) 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.
…et#128153) 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: * svick * dotnet-maestro[bot] * vseanreesermsft * rzikm * alinpahontu2912 * 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.
…otnet#128132) Backport of dotnet#108178 to release/9.0-staging Fixes dotnet#128130 Co-authored-by: Pavel Savara <pavel.savara@gmail.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR merges release/staging updates into release/9.0, covering dependency flow updates, removal of wasm debugger test pipeline integration, a JIT loop cloning fix with regression coverage, and CRL cache changes for Unix X509 chain handling.
Changes:
- Updates SDK/toolset/runtime-assets/xharness/ICU dependency versions.
- Removes wasm debugger test Helix/pipeline plumbing.
- Adds CRL in-memory cache behavior and recovery test coverage, plus a JIT loop cloning regression test.
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.config/dotnet-tools.json |
Updates xharness CLI tool version. |
eng/Version.Details.xml |
Updates dependency versions and source-build dependency metadata. |
eng/Versions.props |
Updates package/toolset/runtime-assets version properties. |
eng/pipelines/common/evaluate-default-paths.yml |
Removes wasm debugger test path subset. |
eng/pipelines/common/templates/wasm-debugger-tests.yml |
Deletes wasm debugger test pipeline template. |
eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml |
Removes wasm debugger test jobs. |
eng/pipelines/runtime.yml |
Removes default wasm debugger test jobs. |
eng/testing/tests.browser.targets |
Removes WasmDebuggerTests as a supported browser test scenario. |
global.json |
Updates SDK and Arcade SDK versions. |
src/coreclr/jit/loopcloning.cpp |
Adjusts loop cloning condition derivation for decreasing loops. |
src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/OpenSslCrlCache.cs |
Adds an in-memory MRU CRL cache and refactors disk/download CRL cache handling. |
src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/OpenSslX509ChainEventSource.cs |
Updates CRL cache event messages and adds in-memory cache events. |
src/libraries/System.Security.Cryptography/tests/X509Certificates/X509FilesystemTests.Unix.cs |
Adds a CRL disk-cache recovery test and event listener helper. |
src/libraries/sendtohelix-browser.targets |
Removes wasm debugger test scenario support. |
src/libraries/sendtohelix.proj |
Removes wasm debugger test scenario project expansion. |
src/libraries/tests.proj |
Stops building wasm debugger test projects and updates sample exclusion logic. |
src/mono/browser/Makefile |
Removes browser wasm debugger Helix targets. |
src/mono/browser/debugger/Wasm.Debugger.Tests/Wasm.Debugger.Tests.csproj |
Removes custom Helix targets file reference. |
src/mono/browser/debugger/Wasm.Debugger.Tests/wasm.helix.targets |
Deletes wasm debugger Helix work item target definitions. |
src/mono/wasi/Makefile |
Removes WASI debugger Helix submission target. |
src/tests/JIT/opt/Cloning/DownCounted.cs |
Adds array/span regression tests for down-counted loop cloning bounds checks. |
src/tests/JIT/opt/Cloning/DownCounted.csproj |
Adds project file for the new JIT regression test. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+109
to
+128
| await File.WriteAllTextAsync(crlFile, crlPem.AsMemory(0, crlPem.Length / 2)).ConfigureAwait(false); | ||
|
|
||
| RemoteExecutor.Invoke( | ||
| static base64Cert => | ||
| { | ||
| using (X509Certificate2 cert = X509CertificateLoader.LoadCertificate(Convert.FromBase64String(base64Cert))) | ||
| using (ChainHolder chainHolder = new ChainHolder()) | ||
| { | ||
| bool valid = chainHolder.Chain.Build(cert); | ||
|
|
||
| return valid ? RemoteExecutor.SuccessExitCode : 0; | ||
| } | ||
| }, | ||
| Convert.ToBase64String(getDotNetCert.RawDataMemory.Span)) | ||
| .Dispose(); | ||
|
|
||
| string pem2 = await File.ReadAllTextAsync(crlFile).ConfigureAwait(false); | ||
|
|
||
| // Rather than assert the CRL didn't change, just check that it's a valid CRL: | ||
| CertificateRevocationListBuilder.LoadPem(pem2, out _); |
| EventId_CrlCacheExpired, | ||
| Level = EventLevel.Verbose, | ||
| Message = "The cached CRL's nextUpdate value ({1:O}) is not after the verification time ({0:O}).")] | ||
| Message = "The CRL cached on disk has a nextUpdate value ({1:O}) that is before the verification time ({0:O}).")] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.