') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Merge branch 'release/8.0-staging' => 'release/8.0' (resolve conflicts) by jkotas · Pull Request #124316 · dotnet/runtime · GitHub
Skip to content

Merge branch 'release/8.0-staging' => 'release/8.0' (resolve conflicts) - #124316

Merged
jkotas merged 24 commits into
dotnet:release/8.0from
jkotas:release/8.0-resolve-confict
Feb 12, 2026
Merged

Merge branch 'release/8.0-staging' => 'release/8.0' (resolve conflicts)#124316
jkotas merged 24 commits into
dotnet:release/8.0from
jkotas:release/8.0-resolve-confict

Conversation

@jkotas

Copy link
Copy Markdown
Member

No description provided.

MihaZupanand others added 24 commits December 9, 2025 21:22
)
This pull request updates the following dependencies
[marker]: <> (Begin:e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
## From https://github.com/dotnet/icu
- **Subscription**:
[e82a8e07-8d2b-4a71-e90f-08dbcfd41ade](https://maestro.dot.net/subscriptions?search=e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
- **Build**:
[20251212.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2859935)
([294543](https://maestro.dot.net/channel/3073/github:dotnet:icu/build/294543))
- **Date Produced**: December 12, 2025 8:16:11 PM UTC
- **Commit**:
[4bfba9f36e8667005d7a40ade385daabce5fc7d5](dotnet/icu@4bfba9f)
- **Branch**:
[dotnet/release/8.0](https://github.com/dotnet/icu/tree/dotnet/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-rtm.25565.1 to 8.0.0-rtm.25612.3][1]
- Microsoft.NETCore.Runtime.ICU.Transport
[1]: dotnet/icu@b565264...4bfba9f
[DependencyUpdate]: <> (End)
[marker]: <> (End:e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…dotnet#122731)
This pull request updates the following dependencies
[marker]: <> (Begin:c0fef358-3848-4a30-a438-08dbcfd61a5a)
## From https://github.com/dotnet/hotreload-utils
- **Subscription**:
[c0fef358-3848-4a30-a438-08dbcfd61a5a](https://maestro.dot.net/subscriptions?search=c0fef358-3848-4a30-a438-08dbcfd61a5a)
- **Build**:
[20251225.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2867020)
([295569](https://maestro.dot.net/channel/3073/github:dotnet:hotreload-utils/build/295569))
- **Date Produced**: December 25, 2025 11:22:01 AM UTC
- **Commit**:
[e7e99065bbd4a7b911d5cfa56b23d873d9675355](dotnet/hotreload-utils@e7e9906)
- **Branch**:
[release/8.0](https://github.com/dotnet/hotreload-utils/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-alpha.0.25574.3 to 8.0.0-alpha.0.25625.3][1]
- Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
[1]:
dotnet/hotreload-utils@cf2f6ad...e7e9906
[DependencyUpdate]: <> (End)
[marker]: <> (End:c0fef358-3848-4a30-a438-08dbcfd61a5a)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…otnet#122735)
This pull request updates the following dependencies
[marker]: <> (Begin:855db5a2-4d17-4346-a439-08dbcfd61a5a)
## From https://github.com/dotnet/runtime-assets
- **Subscription**:
[855db5a2-4d17-4346-a439-08dbcfd61a5a](https://maestro.dot.net/subscriptions?search=855db5a2-4d17-4346-a439-08dbcfd61a5a)
- **Build**:
[20251225.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2867033)
([295573](https://maestro.dot.net/channel/3073/github:dotnet:runtime-assets/build/295573))
- **Date Produced**: December 25, 2025 11:52:55 AM UTC
- **Commit**:
[98185bc6d28f41decb681555c343a62b3c6c165e](dotnet/runtime-assets@98185bc)
- **Branch**:
[release/8.0](https://github.com/dotnet/runtime-assets/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-beta.25565.1 to 8.0.0-beta.25625.3][1]
- 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
[1]:
dotnet/runtime-assets@40ac8f2...98185bc
[DependencyUpdate]: <> (End)
[marker]: <> (End:855db5a2-4d17-4346-a439-08dbcfd61a5a)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
)
This pull request updates the following dependencies
[marker]: <> (Begin:e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
## From https://github.com/dotnet/icu
- **Subscription**:
[e82a8e07-8d2b-4a71-e90f-08dbcfd41ade](https://maestro.dot.net/subscriptions?search=e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
- **Build**:
[20251225.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2867037)
([295579](https://maestro.dot.net/channel/3073/github:dotnet:icu/build/295579))
- **Date Produced**: December 25, 2025 12:12:34 PM UTC
- **Commit**:
[7e1e01ce174204fc50e1b221c59cbd2c7a752441](dotnet/icu@7e1e01c)
- **Branch**:
[dotnet/release/8.0](https://github.com/dotnet/icu/tree/dotnet/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-rtm.25612.3 to 8.0.0-rtm.25625.2][1]
- Microsoft.NETCore.Runtime.ICU.Transport
[1]: dotnet/icu@4bfba9f...7e1e01c
[DependencyUpdate]: <> (End)
[marker]: <> (End:e82a8e07-8d2b-4a71-e90f-08dbcfd41ade)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…dotnet#122654)
Fixes: dotnet#122653
`libopenssl3` is supported and installed by default on all of the
supported distro releases listed at
https://learn.microsoft.com/en-us/dotnet/core/install/linux-sles?tabs=dotnet8
and
https://learn.microsoft.com/en-us/dotnet/core/install/linux-opensuse?tabs=dotnet8
`libopenssl3` is also supported and installed by default on openSUSE
Tumbleweed release. This release does not have any other, older, version
of this library.
…ine YAML files (dotnet#122417)
Adds `fetchTags: false` to Azure Pipelines checkout steps to skip
fetching git tags during repository checkout, reducing network overhead
and improving checkout performance.
## Changes
- Updated 8 YAML files containing 10 total checkout steps in
`eng/pipelines/`:
- Pipeline templates: `base-job.yml`, `xplat-job.yml`, `build-job.yml`
- Stress test pipelines: `http.yml`, `ssl.yml` (2 occurrences each)
- Path evaluation and build jobs: `evaluate-paths-job.yml`,
`global-build-job.yml`
- Official build jobs: `prepare-signed-artifacts.yml`
Note: Changes to `eng/common/` templates were excluded as those are
shared infrastructure files managed separately.
## Example
```yaml
- checkout: self
clean: true
fetchDepth: $(checkoutFetchDepth)
fetchTags: false # Added to skip tag fetching
```
<!-- START COPILOT CODING AGENT SUFFIX -->
<!-- START COPILOT ORIGINAL PROMPT -->
<details>
<summary>Original prompt</summary>
> Update the checkout step in the runtime CI yml to specify fetchTags:
false.
</details>
<!-- START COPILOT CODING AGENT TIPS -->
---
✨ Let Copilot coding agent [set things up for
you](https://github.com/dotnet/runtime/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: elinor-fung <47805090+elinor-fung@users.noreply.github.com>
Co-authored-by: Elinor Fung <elfung@microsoft.com>
…122199)
Backport of dotnet#121351 to
release/8.0-staging
## Customer Impact
Fixes a customer-reported crash in ILLink analyzer in a net8.0 project
that uses C# 14 extension members.
Customer issue: dotnet#120728
```
warning AD0001: Analyzer 'ILLink.RoslynAnalyzer.DynamicallyAccessedMembersAnalyzer' threw an exception of type 'System.InvalidCastException' with message 'Unable to cast object of type 'Microsoft.CodeAnalysis.CSharp.Symbols.PublicModel.NonErrorNamedTypeSymbol' to type 'Microsoft.CodeAnalysis.IMethodSymbol'.'.
```
## Regression
No - crash only happens for language features introduced after .NET 8
was released.
## Testing
Tested locally. We can't add automated testing because this repo doesn't
reference a new enough version of Roslyn to build tests with extension
members.
## Risk
Low, analyzer-only fix, with limited scope.
<hr />
Fixesdotnet#120728
main PR dotnet#121351
# Description
Backports fix for analyzer crash when encountering C# 14 extension
members. The crash occurred because the analyzer assumed
`parameter.ContainingSymbol` is always `IMethodSymbol`, which is false
for extension member parameters where the container is an extension
type.
**Core analyzer changes:**
- Remove `MethodParameterValue` constructors that cast
`parameter.ContainingSymbol` to `IMethodSymbol`
- Require explicit `IMethodSymbol` parameter in `ParameterProxy`
constructor
- Skip analysis for extension members in `GetParameterTargetValue`
(return `TopValue` when `ContainingSymbol` is not `IMethodSymbol`)
- Update `VisitInstanceReference` to use new `ParameterProxy`
constructor (without unrelated static method checks)
**Test infrastructure:**
- Add `Microsoft.Net.Compilers.Toolset` package reference for C# preview
features
- Add workaround in `ResultChecker.cs` to skip validation of
compiler-generated extension member types (`<>E__` prefix)
- Add `ExtensionsDataFlow.cs` test (enabled)
- Add `ExtensionMembersDataFlow.cs` test (disabled until C# 14
available)
**Note:** NativeAOT test changes from original PR excluded as
`ILCompiler.Trimming.Tests` doesn't exist in 8.0.
# Customer Impact
Without this fix, the Roslyn analyzer crashes when analyzing code that
uses or references C# 14 extension members, breaking the build or IDE
experience.
# Regression
No. This is a new feature compatibility fix for C# 14, not a regression
from 8.0 functionality.
# Testing
- All 60 DataFlow analyzer tests pass
- New `ExtensionsDataFlow` test validates fix for regular extension
methods
- ILLink.RoslynAnalyzer builds cleanly
# Risk
Low. Changes are surgical and isolated to extension member handling:
- Early-exit paths for extension members prevent processing unsupported
constructs
- Existing code paths unchanged (all parameters with method containers
work as before)
- Test coverage validates no regressions in standard scenarios
# Package authoring signed off?
N/A - Changes are internal to analyzer implementation, no public API
surface modified.
<!-- START COPILOT CODING AGENT SUFFIX -->
<details>
<summary>Original prompt</summary>
> Backport dotnet#121351 to
release/8.0-staging.
</details>
<!-- START COPILOT CODING AGENT TIPS -->
---
💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sbomer <787361+sbomer@users.noreply.github.com>
Co-authored-by: Sven Boemer <sbomer@gmail.com>
…otnet#120589) (dotnet#122423)
(cherry picked from commit eaafd7c)
(cherry picked from commit 1905046)
---------
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Co-authored-by: Matous Kozak <matouskozak@seznam.cz>
Co-authored-by: Steve Pfister <stpfiste@microsoft.com>
Co-authored-by: Filip Navara <filip.navara@gmail.com>
…ference-packages (dotnet#123243)
This pull request updates the following dependencies
[marker]: <> (Begin:1626bff2-6010-444e-f998-08dbcfd3e5b0)
## From https://github.com/dotnet/source-build-reference-packages
- **Subscription**:
[1626bff2-6010-444e-f998-08dbcfd3e5b0](https://maestro.dot.net/subscriptions?search=1626bff2-6010-444e-f998-08dbcfd3e5b0)
- **Build**:
[20251215.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2861480)
([294695](https://maestro.dot.net/channel/3885/github:dotnet:source-build-reference-packages/build/294695))
- **Date Produced**: December 15, 2025 3:29:24 PM UTC
- **Commit**:
[44b5b62182b48c34c4b6aef28943ec3f3e82f214](dotnet/source-build-assets@44b5b62)
- **Branch**:
[release/8.0](https://github.com/dotnet/source-build-reference-packages/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-alpha.1.25522.3 to 8.0.0-alpha.1.25615.3][1]
- Microsoft.SourceBuild.Intermediate.source-build-reference-packages
[1]:
dotnet/source-build-assets@4491483...44b5b62
[DependencyUpdate]: <> (End)
[marker]: <> (End:1626bff2-6010-444e-f998-08dbcfd3e5b0)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
… update. (dotnet#123547)
Backport of dotnet#120333 to release/8.0-staging
/cc @thaystg
## Customer Impact
- [X] Customer reported
- [ ] Found internally
This change was initially backported to .NET 10 and 9 back in October:
10 - dotnet#120334
9 - dotnet#120335
We didn't think we would need it in .NET 8, but that turned out to not
be the case.
This change fixes a problem with hot reload on blazor webassembly where
two updates are sent to the runtime at the same time and the runtime
asserts. This was previously an unsupported scenario, but recent up
stack changes altered the behavior. The plan is to fix both the up stack
behavior and in runtime as a defense in depth. The reasoning is that one
of the two updates sent to runtime contains no IL. We can look at that
one and safely ignore it.
## Regression
- [ ] Yes
- [X] No
Not in runtime at least. This was not a supported scenario, but was
trigged via a VS level change.
[If yes, specify when the regression was introduced. Provide the PR or
commit if known.]
## Testing
Manual before and after testing
[How was the fix verified? How was the issue missed previously? What
tests were added?]
## Risk
Low
[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: Thays Grazia <thtaglia@microsoft.com>
Co-authored-by: Thays Grazia <thaystg@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…123937)
Update MsQuic version published with dotnet/runtime on Windows.
Backport of dotnet#121198
## Customer Impact
No
## Regression
No
## Testing
Automated tests
## Risk
Low, change only in patch version and we've been running with 2.4.16 in
main and .NET 10 for many months.
…dotnet#123618)
This pull request updates the following dependencies
[marker]: <> (Begin:c0fef358-3848-4a30-a438-08dbcfd61a5a)
## From https://github.com/dotnet/hotreload-utils
- **Subscription**:
[c0fef358-3848-4a30-a438-08dbcfd61a5a](https://maestro.dot.net/subscriptions?search=c0fef358-3848-4a30-a438-08dbcfd61a5a)
- **Build**:
[20260126.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2887725)
([298834](https://maestro.dot.net/channel/3073/github:dotnet:hotreload-utils/build/298834))
- **Date Produced**: January 26, 2026 9:10:24 AM UTC
- **Commit**:
[6074d7872b31463f8b6741589ba543c8d80ce42d](dotnet/hotreload-utils@6074d78)
- **Branch**:
[release/8.0](https://github.com/dotnet/hotreload-utils/tree/release/8.0)
[DependencyUpdate]: <> (Begin)
- **Dependency Updates**:
- From [8.0.0-alpha.0.25625.3 to 8.0.0-alpha.0.26076.2][1]
- Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
[1]:
dotnet/hotreload-utils@e7e9906...6074d78
[DependencyUpdate]: <> (End)
[marker]: <> (End:c0fef358-3848-4a30-a438-08dbcfd61a5a)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Steve Pfister <steveisok@users.noreply.github.com>
…et#122216)
I detected changes in the release/8.0 branch which have not been merged
yet to release/8.0-staging. I'm a robot and am configured to help you
automatically keep release/8.0-staging up to date, so I've opened this
PR.
This PR merges commits made on release/8.0 by the following committers:
* github-actions[bot]
* mmitche
* dotnet-maestro[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/8.0
git pull --ff-only
git checkout release/8.0-staging
git pull --ff-only
git merge --no-ff release/8.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/8.0-to-release/8.0-staging
```
<details>
<summary>or if you are using SSH</summary>
```
git push git@github.com:dotnet/runtime HEAD:merge/release/8.0-to-release/8.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/8.0-to-release/8.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/8.0-to-release/8.0-staging origin/release/8.0-staging
git pull https://github.com/dotnet/runtime merge/release/8.0-to-release/8.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/runtime HEAD:merge/release/8.0-to-release/8.0-staging
```
<details>
<summary>or if you are using SSH</summary>
```
git fetch
git checkout -b merge/release/8.0-to-release/8.0-staging origin/release/8.0-staging
git pull git@github.com:dotnet/runtime merge/release/8.0-to-release/8.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/runtime HEAD:merge/release/8.0-to-release/8.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#124246)
I detected changes in the release/8.0 branch which have not been merged
yet to release/8.0-staging. I'm a robot and am configured to help you
automatically keep release/8.0-staging up to date, so I've opened this
PR.
This PR merges commits made on release/8.0 by the following committers:
* wfurt
* vseanreesermsft
* akoeplinger
* dotnet-maestro[bot]
* github-actions[bot]
* jeffhandley
* bartonjs
* jozkee
## 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/8.0
git pull --ff-only
git checkout release/8.0-staging
git pull --ff-only
git merge --no-ff release/8.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/8.0-to-release/8.0-staging
```
<details>
<summary>or if you are using SSH</summary>
```
git push git@github.com:dotnet/runtime HEAD:merge/release/8.0-to-release/8.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/8.0-to-release/8.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/8.0-to-release/8.0-staging origin/release/8.0-staging
git pull https://github.com/dotnet/runtime merge/release/8.0-to-release/8.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/runtime HEAD:merge/release/8.0-to-release/8.0-staging
```
<details>
<summary>or if you are using SSH</summary>
```
git fetch
git checkout -b merge/release/8.0-to-release/8.0-staging origin/release/8.0-staging
git pull git@github.com:dotnet/runtime merge/release/8.0-to-release/8.0-staging
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/runtime HEAD:merge/release/8.0-to-release/8.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.
---------
Co-authored-by: Mirroring <dnceng-mirroring@microsoft.com>
Co-authored-by: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com>
Co-authored-by: David Cantú <dacantu@microsoft.com>
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Co-authored-by: Sean Reeser <v-seanreeser@microsoft.com>
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
Co-authored-by: Nikola Milosavljevic <nikolam@microsoft.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: elinor-fung <47805090+elinor-fung@users.noreply.github.com>
Co-authored-by: Elinor Fung <elfung@microsoft.com>
Co-authored-by: sbomer <787361+sbomer@users.noreply.github.com>
Co-authored-by: Sven Boemer <sbomer@gmail.com>
Co-authored-by: Andy Gocke <angocke@microsoft.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Co-authored-by: Matous Kozak <matouskozak@seznam.cz>
Co-authored-by: Steve Pfister <stpfiste@microsoft.com>
Co-authored-by: Filip Navara <filip.navara@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
CopilotAI review requested due to automatic review settings February 12, 2026 03:53
@github-actionsgithub-actionsBot added the area-codeflow for labeling automated codeflow label Feb 12, 2026
@jozkeejozkee added Servicing-approved Approved for servicing release NO-SQUASH The PR should not be squashed labels Feb 12, 2026
@jkotas
jkotas merged commit 0006fcc into dotnet:release/8.0Feb 12, 2026
22 of 30 checks passed
@jkotas
jkotas deleted the release/8.0-resolve-confict branch February 12, 2026 03:57

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

Pull request overview

Conflict-resolution merge from release/8.0-staging into release/8.0, bringing along updates to Hot Reload handling, Helix queue selection, and dependency/version alignment.

Changes:

  • Add an early-return guard in Mono Hot Reload delta application to handle “empty updates”.
  • Update Helix iOS/tvOS device queues from OSX.13.* to OSX.15.* in libraries and CoreCLR pipelines.
  • Bump dependency versions in eng/Versions.props and sync corresponding entries in eng/Version.Details.xml.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
src/mono/mono/component/hot_reload.cAdds a guard intended to skip empty hot reload updates.
eng/pipelines/libraries/helix-queues-setup.ymlMoves iOS/tvOS device testing to newer Helix macOS queues.
eng/pipelines/coreclr/templates/helix-queues-setup.ymlSame Helix queue update for CoreCLR template (with an indentation issue).
eng/Versions.propsUpdates Hot Reload generator tool version and MsQuic Schannel package version.
eng/Version.Details.xmlUpdates dependency versions/SHA entries to match the merged branch state.

return;
}

if (dmeta_bytes == 0 && dil_bytes_orig == 0) // we may receive empty updates

CopilotAIFeb 12, 2026

Copy link

Choose a reason for hiding this comment

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

The empty-update guard checks pointer values (dmeta_bytes/dil_bytes_orig) instead of the lengths. Callers like debugger-agent pass non-NULL pointers even for empty MonoArray payloads, so this condition won’t trigger and we’ll hit image_open_dmeta_from_data() with dmeta_length==0, which asserts (status != MONO_IMAGE_OK / dmeta_image == NULL). Consider guarding on dmeta_length/dil_length (and dpdb_length if relevant) and/or validating that any non-zero length has a non-NULL pointer, rather than comparing pointers to 0.

Suggested change
if (dmeta_bytes==0&&dil_bytes_orig==0) // we may receive empty updates
/* we may receive empty updates */
if (dmeta_length==0&&dil_length==0&&dpdb_length==0)

Copilot uses AI. Check for mistakes.
- ${{ if in(parameters.platform, 'tvos_arm64') }}:
- OSX.13.Amd64.AppleTV.Open

- OSX.15.Amd64.AppleTV.Open

CopilotAIFeb 12, 2026

Copy link

Choose a reason for hiding this comment

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

The tvOS device queue entry is indented differently than the other conditional queue lists (extra indentation before the dash). This makes the YAML harder to read and can be error-prone in template expansions; please align the indentation with the iOS devices block above (same nesting level under the conditional).

Suggested change
- OSX.15.Amd64.AppleTV.Open
- OSX.15.Amd64.AppleTV.Open

Copilot uses AI. Check for mistakes.
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-codeflowfor labeling automated codeflowNO-SQUASHThe PR should not be squashedServicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@jkotas@jozkee@MihaZupan@NikolaMilosavljevic@jeffhandley@agocke@steveisok@ManickaP@akoeplinger@rbhanda