Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
5391e9e
[cDAC] Adding IsLeafFrame and GetContext DacDbi APIs (#127195)
rcj1 Apr 28, 2026
9a6034a
JIT: fix Vector{128,256}.ConvertToInt32 use-before-def in gtNewSimdCv…
EgorBo Apr 29, 2026
977f412
Add `Type.GetNullableUnderlyingType()` virtual API (#126905)
AaronRobinsonMSFT Apr 29, 2026
a534a1c
[browser][coreCLR] Support interpreter code resolution on portable en…
pavelsavara Apr 29, 2026
4e8ab2d
Add configurable EventPipe CPU sampling rate via `DOTNET_EventPipeThr…
pavelsavara Apr 29, 2026
25c2c30
[clr-interp] Add initial CoreCLR interpreter func-eval support (#126576)
matouskozak Apr 29, 2026
d101f76
[ios-clr] Enable ResourceAssemblyLoadContext fallback for Apple mobil…
kotlarmilos Apr 29, 2026
126ec7b
JIT: Rename JitDasmWithAddress to JitDisasmWithAddress (#127267)
Copilot Apr 29, 2026
03df392
[QUIC] Do not allocate exception if it might not be used (#127526)
ManickaP Apr 29, 2026
920b310
JIT: Replace PERFSCORE_MEMORY_* macros with PerfScoreMemoryAccessKind…
Copilot Apr 29, 2026
40365cd
[interp] Fix doubled interpreter frames in DAC/DBI stack walks (#126953)
kotlarmilos Apr 29, 2026
b01c08c
Don't get last write time of empty list of files (#127513)
jtschuster Apr 29, 2026
6df7b63
Reinstate LINQ join convenience overloads and fix the build break (#1…
eiriktsarpalis Apr 29, 2026
8acb7c2
Revert "[android] Enable CoreCLR runtime pack production for android-…
simonrozsival Apr 29, 2026
1f616d2
[X64][APX] Fix a few bugs in APX implementation and improve the contr…
Ruihan-Yin Apr 29, 2026
76c4f8b
[ios-clr] Enable StackTrace tests on Apple mobile (#127060)
kotlarmilos Apr 29, 2026
6499da1
JIT: Fully share helper-based suspension tails (#126360)
jakobbotsch Apr 29, 2026
d1163e5
JIT: Accelerate floating->long casts on x86 (#125180)
saucecontrol Apr 29, 2026
8cfe753
[wasm][coreclr] Update the ConvertToInteger tests active issue (#127220)
radekdoulik Apr 29, 2026
13ab273
X25519DiffieHellmanOpenSsl
vcsjones Apr 29, 2026
209f871
Exclude DeadThreads test from GC stress compatible set (#127478)
Copilot Apr 29, 2026
cc5d589
[cDAC] Implement EnumTypeDefs, EnumMethods, GetExportedTypeProps, Fin…
max-charlamb Apr 29, 2026
713491c
[cDAC] Implement EnumerateAssembliesInAppDomain for cDAC (#127540)
Copilot Apr 29, 2026
0f01d22
Fix sporadic AccessViolation in compressed single-file apps on Apple …
elinor-fung Apr 29, 2026
7fe7b6f
Add missing custom attribute marking to ILTrim TokenBased nodes (#127…
Copilot Apr 29, 2026
f2a0ea7
Adjust breaking change workflow based on issues seen (#126607)
ericstj Apr 29, 2026
0b9b47d
Remove unsafe code from DCS utilities (UniqueId, XmlBufferReader) (#1…
EgorBo Apr 30, 2026
eb89df0
[Wasm RyuJIT]: Fix LIR Semantics in Stackifier Output (#127412)
adamperlin Apr 30, 2026
8f854af
[Wasm RyuJit] Call Codegen Fixes for R2R (#126778)
adamperlin Apr 30, 2026
8b7fda5
Add Process.ReadAllLines synchronous API (#127106)
Copilot Apr 30, 2026
c0d836d
Add managed ilasm round-trip testing support (#127096)
jkoritzinsky Apr 30, 2026
3204491
Fix interpreter breakpoint to pass fIsVEH=FALSE to FirstChanceNativeE…
tommcdon Apr 30, 2026
0d16f9b
Update OSR docs for recent changes (#127384)
jakobbotsch Apr 30, 2026
c4244d9
JIT: VN-level (a-x)+x and a-(a-x) folds (#127533)
EgorBo Apr 30, 2026
6732d72
Remove ApplicationContext::GetApplicationName() (#127597)
Copilot Apr 30, 2026
05dd3b0
JIT: Treat store in JTRUE block as the ElseOperation in if-conversion…
BoyBaykiller Apr 30, 2026
c97aac6
[clr-ios] Enable System.Private.Xml tests on CoreCLR (#127464)
kotlarmilos Apr 30, 2026
da9be99
Add JSONL serialization support to System.Text.Json (#127567)
eiriktsarpalis Apr 30, 2026
dd17b6d
Optimize ImmutableHashSet<T>.SetEquals to avoid unnecessary allocatio…
aw0lid Apr 30, 2026
4ff20e6
cDAC: Add GetGCDescSeries contract API and continuation pretty-printi…
Copilot Apr 30, 2026
34c5058
Update skip_reason to clarify cancelled leg scenario (#127479)
Copilot Apr 30, 2026
a5ad3cf
Reduce thread count on 32-bit in GetTotalAllocatedBytes.TestAnotherTh…
Copilot Apr 30, 2026
86eee16
Change unique stack trace GC flag from 0xF to 0x10 (#127612)
jtschuster Apr 30, 2026
4f111f8
Implement XmlSerializer end element handling workaround and tests (#1…
StephenMolloy Apr 30, 2026
0fa45b3
Improve GCHeap::Promote debug validation (#127595)
jkotas Apr 30, 2026
550500a
[cDAC] Use locally-built crossgen2 for dump test debuggees (#127561)
max-charlamb Apr 30, 2026
c77572b
Fix Wasm ArgIterator SizeOfArgStack for methods with only hidden args…
davidwrighton Apr 30, 2026
3dd3c88
Remove corert#2785 BadImageFormatException workaround from ILCompiler…
Copilot Apr 30, 2026
e971c0a
Fix ChaCha20Poly1305 IsSupported test on Azure Linux 4
vcsjones Apr 30, 2026
9ef2b5e
[cDAC] Implement GetModuleSimpleName for cDAC (#127415)
barosiak Apr 30, 2026
013ca46
Split the xarch specific data from register.h into its own file to ma…
tannergooding May 1, 2026
84e5e27
[Wasm RyuJit] Use local's register type when loading it's value (#127…
AndyAyersMS May 1, 2026
0e1b3d9
Change commit message topic to 'container image digests' (#127614)
richlander May 1, 2026
6e51115
[cDAC] Stack walk GC reference scanning and bug fixes (1/5) (#127395)
max-charlamb May 1, 2026
e883467
[NativeAOT] Add cDAC data descriptor infrastructure (#126972)
max-charlamb May 1, 2026
e1703cf
Fix GetUserString DEBUG validation to use length-bounded string const…
max-charlamb May 1, 2026
9a61dfe
Remove an unnecessary switch from GenTree:TryGetUse (#127632)
tannergooding May 1, 2026
c7286d5
Delete FEATURE_AUTO_TRACE (#127631)
Copilot May 1, 2026
676440f
[clr-ios] Advance past owning InterpreterFrame at `StackFrameIterator…
kotlarmilos May 1, 2026
6320fe0
[cDAC] turning a few heap into full dumps (#127491)
rcj1 May 1, 2026
bfaabae
Update DNNEVersion to 2.1.2 (#127549)
am11 May 1, 2026
93e28fa
Disable Collect_Aggressive_LargePages for R2R/CrossGen2 (#127571)
cshung May 1, 2026
8e7e758
Removes unused/unreachable WinRT ContentType plumbing from assembly b…
Copilot May 1, 2026
dc3d5a0
Remove ExInfo::m_hThrowable - use direct pointer for exception object…
max-charlamb May 1, 2026
03ab907
Include requesting assembly chain in assembly load failure exceptions…
Copilot May 1, 2026
0a017ff
JIT: Simplify ifdef for R2R needsIndirectionCellArg condition in morp…
adamperlin May 1, 2026
a52a005
Add runtime-coreclr jit-cfg to CI pipeline monitor (#127627)
Copilot May 1, 2026
3c87c97
JIT: avoid store forward stall for struct params in GS frames (#127487)
AndyAyersMS May 1, 2026
3c0181d
Re-enable OSX runtime-diagnostics legs (#127492)
rcj1 May 1, 2026
200888c
Move built-in array marshalling to managed and make olevariant.cpp Wi…
jkoritzinsky May 1, 2026
13b9f37
Fix SIGBUS crash on ARMv7: use Unsafe.ReadUnaligned in Frozen.Hashing…
Copilot May 1, 2026
e406822
Always add ManagedDataDescriptorProvider to compilationRoots (#127643)
MichalStrehovsky May 1, 2026
bd9e85e
Fix `!m_RedirectContextInUse` assert in `RestoreContextSimulated` on …
Copilot May 1, 2026
ad4354d
Fix NativeAOT GC roots after universal transition (#127640)
MichalStrehovsky May 2, 2026
eb1e2c3
JIT: make funclet order correspond to EH clause order (#127590)
AndyAyersMS May 2, 2026
b745957
Fix NativeAOT hex config parser to handle `0x`/`0X` prefix (#127644)
Copilot May 2, 2026
fcfb4ae
Remove DacDbi GetAppDomainObject API from native and cDAC (#127673)
barosiak May 2, 2026
11a3209
Don't report a interp->native transition when it is done from a pinvo…
BrzVlad May 2, 2026
805d59a
Update fgMorphSmpOp to canonicalize commutative and compare ops at th…
tannergooding May 2, 2026
ebcaacc
[cDAC] DacDbi code-version node APIs for ReJIT/SOS (#126980)
Copilot May 3, 2026
99261f7
[wasm][coreclr] Do not use SetCleanupNeededForFinalizedThread (#127562)
radekdoulik May 3, 2026
fcd092d
Revert "Simplify TrimmerSingleWarn intermediate assembly update using…
sbomer May 3, 2026
b6b7d92
Ensure we preserve vn and produce a canonical tree (#127689)
tannergooding May 4, 2026
9bf1cb9
[Diagnostics]: High-performance EventSource runtime async profiler. (…
lateralusX May 4, 2026
83ebc00
Restore `ExecutionContext` from dispatcher instead of from interprete…
jakobbotsch May 4, 2026
7a98c25
JIT: Use `VisitLocalDefNodes` from `gtTreeHasLocalStore` (#127555)
jakobbotsch May 4, 2026
aa2d370
Fix INT_MIN overflow in RangeCheck::BetweenBounds (#127648)
EgorBo May 4, 2026
2260be1
Fix ImmutableHashSet.SetEquals correctness for mismatched comparers (…
aw0lid May 4, 2026
f0620ea
Fix handling of TypedReference returns in call stubs (#127603)
BrzVlad May 4, 2026
3b81052
Hide Environment.CallEntryPoint in unhandled exception message (#127677)
jkotas May 4, 2026
ec42692
Improve clarity in mobile scanner workflow issues and PRs (#127568)
kotlarmilos May 4, 2026
20fe189
Disable Android arm32 test runs (#127599)
vitek-karas May 4, 2026
f1ca590
[Wasm RyuJIT] Wire up GC info encoding/decoding for Wasm (#126932)
kg May 4, 2026
766f347
Add Linux and Android support for ProcessStartInfo.KillOnParentExit u…
Copilot May 4, 2026
392b6dd
Rename area label from `area-assemblyloading` to `area-AssemblyLoader…
Copilot May 4, 2026
9579562
[cDAC] Changing loader heaps from string-keyed to enum-keyed dict (#1…
rcj1 May 4, 2026
2e59c91
Fix stale lastThrownObjectHandle in DAC GetThreadData during active e…
hoyosjs May 5, 2026
82f64bf
Group Renovate container image digest updates into a single PR (#127748)
mthalman May 5, 2026
4b97fc1
Delete CreateProcessW impl from PAL (#127604)
am11 May 5, 2026
5761661
Enable EventSource in System.Threading.Tasks.Tests (#127744)
MichalStrehovsky May 5, 2026
969ffc7
[RyuJit] Decouple `igNum` from strict layout order (#125554)
SingleAccretion May 5, 2026
55707bf
Reorder static fields in LoggingEventSource to prevent reentrant bug …
hoyosjs May 5, 2026
349228c
Preserve execution aborted state in NativeAOT GC info (#127680)
MichalStrehovsky May 5, 2026
7dbea29
Route async resumption stub fixups through precode fixup handling (#1…
Copilot May 5, 2026
7ab06a3
ProcessTests: redirect stdio and kill entire process tree for shell-s…
tmds May 5, 2026
578b4d2
[mobile] Skip failing Android localhost subdomain DNS tests (#127742)
github-actions[bot] May 5, 2026
004c358
[browser][CoreCLR] Implement `invokeLibraryInitializers` for JS initi…
pavelsavara May 5, 2026
7018450
[wasm][coreclr] Cache calli cookies (#127016)
radekdoulik May 5, 2026
c5a57b0
[Android] In-Proc Crash Reporter (#126916)
mdh1418 May 5, 2026
7cc34e6
Enable in-proc crash reporter on iOS, tvOS, and MacCatalyst
mdh1418 Apr 21, 2026
b226c7d
Populate OSVersion and SystemModel via sysctl on Apple
mdh1418 Apr 21, 2026
ebf0fab
Address PR review feedback for OSVersion/SystemModel sysctl
mdh1418 May 5, 2026
8d141ce
Log managed callstack on signal for iOS, tvOS, and MacCatalyst
mdh1418 May 5, 2026
125a32e
Log managed callstack when chaining to default signal handler
mdh1418 May 5, 2026
1bc643e
Strip PAC from PC when serializing on Apple arm64
mdh1418 May 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/policies/resourceManagement.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ configuration:
- payloadType: Pull_Request
- or:
- labelAdded:
label: area-assemblyloading
label: area-AssemblyLoader
- labelAdded:
label: area-AssemblyLoader-mono
- labelAdded:
Expand Down Expand Up @@ -335,7 +335,7 @@ configuration:
then:
- if:
- hasLabel:
label: area-assemblyloading
label: area-AssemblyLoader
then:
- mentionUsers:
mentionees:
Expand Down
52 changes: 23 additions & 29 deletions .github/skills/breaking-change-doc/Build-IssueComment.ps1
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
# Build-IssueComment.ps1
# Reads a breaking change issue draft markdown file, URL-encodes the title,
# body, and labels, and produces a PR comment markdown file containing:
# - A header
# - The full draft for inline review
# body, and labels, and produces a brief PR comment markdown file containing:
# - A short header with instructions
# - @mentions of the PR assignees so they get notified
# - A clickable link that pre-fills a new issue in dotnet/docs
# - An email reminder
#
# Usage:
# pwsh .github/skills/breaking-change-doc/Build-IssueComment.ps1 `
# -IssueDraftPath issue-draft.md `
# -Title "[Breaking change]: Something changed" `
# -Assignees "@user1 @user2" `
# -OutputPath pr-comment.md
#
# The issue draft file should contain only the issue body markdown (no title).
Expand All @@ -21,6 +22,8 @@ param(
[Parameter(Mandatory = $true)]
[string]$Title,

[string]$Assignees = "",

[string]$OutputPath = "pr-comment.md",

[string]$Labels = "breaking-change,Pri1,doc-idea",
Expand All @@ -46,43 +49,34 @@ $encodedEmailSubject = [Uri]::EscapeDataString("[Breaking Change] $Title")
$issueUrl = "https://github.com/$DocsRepo/issues/new?title=$encodedTitle&body=$encodedBody&labels=$encodedLabels"
$notificationEmailUrl = "mailto:dotnetbcn@microsoft.com?subject=$encodedEmailSubject"

# Build a brief assignee mention line (if any)
$mentionLine = ""
$trimmedAssignees = ""
if (-not [string]::IsNullOrWhiteSpace($Assignees)) {
$trimmedAssignees = $Assignees.Trim()
$mentionLine = "`n`n/cc $trimmedAssignees"
}

$comment = @"
## Breaking Change Documentation

$issueBody
A breaking change draft has been prepared for this PR.

---
:point_right: **[Click here to create the issue in $DocsRepo]($issueUrl)**

After creating the issue, please email a link to it to
[.NET Breaking Change Notifications]($notificationEmailUrl).$mentionLine

> [!NOTE]
> This documentation was generated with AI assistance from Copilot.

:point_right: **[Click here to create the issue in dotnet/docs]($issueUrl)**

After creating the issue, please email a link to it to
[.NET Breaking Change Notifications]($notificationEmailUrl).
"@

# GitHub comment body limit is 65536 characters. If the comment exceeds this,
# replace the inline draft with a short summary pointing at the file.
# GitHub comment body limit is 65536 characters. The comment is now brief,
# but the URL itself can be very long. Warn if the comment exceeds the
# configured comment-length threshold; the URL length is checked separately below.
$maxCommentLength = 65000
if ($comment.Length -gt $maxCommentLength) {
Write-Warning "Comment body ($($comment.Length) chars) exceeds GitHub limit. Truncating inline draft."
$comment = @"
## Breaking Change Documentation

The full draft is too large to display inline. See ``issue-draft.md`` in the
workflow artifacts for the complete content.

---

> [!NOTE]
> This documentation was generated with AI assistance from Copilot.

:point_right: **[Click here to create the issue in dotnet/docs]($issueUrl)**

After creating the issue, please email a link to it to
[.NET Breaking Change Notifications]($notificationEmailUrl).
"@
Write-Warning "Comment body ($($comment.Length) chars) exceeds GitHub limit."
}

$comment | Out-File -FilePath $OutputPath -Encoding UTF8 -NoNewline
Expand Down
30 changes: 23 additions & 7 deletions .github/skills/breaking-change-doc/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Extract the PR number. The source repository is always `dotnet/runtime`.

Use GitHub tools to read comprehensive PR data. Collect **all** of the following:

1. **PR metadata**: title, author, base branch, merge commit SHA, merged-at date, labels, state.
1. **PR metadata**: title, author, assignees, base branch, merge commit SHA, merged-at date, labels, state.
2. **PR body**: the full description.
3. **Changed files**: list of file paths modified.
4. **PR comments and reviews**: read all comments and review comments for context about the change's impact.
Expand Down Expand Up @@ -105,17 +105,22 @@ Run the helper script to determine the .NET version context:
pwsh .github/skills/breaking-change-doc/Get-VersionInfo.ps1 -PrNumber <number>
```

The script outputs JSON with:
**You MUST display the complete script output.** The script outputs JSON that includes:
- `LastTagBeforeMerge` — the closest release tag before the merge commit
- `FirstTagWithChange` — the first tag that contains this commit (or "Not yet released")
- `EstimatedVersion` — human-readable version string like ".NET 11 Preview 3"
- `MergeCommit` — the merge commit SHA
- `MergedAt` — when the PR was merged
- `BaseRef` — the PR base branch used to determine version context

Use `EstimatedVersion` as the version for the breaking change issue.
After running the script, **print the full JSON output** so it is visible in the
workflow log. Then check the JSON:

If the script returns an error, fall back to reading the PR's base branch and recent
tags manually to estimate the version.
- If the JSON contains an `Error` field, report the error and fall back to
reading the PR's base branch and recent tags manually to estimate the version.
- If the JSON does **not** contain an `Error` field, use `EstimatedVersion` as
the version for the breaking change issue. **Do not fall back to manual
detection when the script succeeds.**

---

Expand Down Expand Up @@ -229,21 +234,32 @@ mkdir -p artifacts/docs/breakingChanges

### Build the PR comment file

Run the helper script to produce a PR comment with a URL-encoded issue link:
Run the helper script to produce a PR comment with a URL-encoded issue link.
Pass the PR assignees so they are `@`-mentioned in the comment and receive a
GitHub notification:

```bash
pwsh .github/skills/breaking-change-doc/Build-IssueComment.ps1 \
-IssueDraftPath artifacts/docs/breakingChanges/issue-draft.md \
-Title "<the [Breaking change]: ... title from Step 5>" \
-Assignees "@user1 @user2" \
-OutputPath artifacts/docs/breakingChanges/pr-comment.md
```

Build the `-Assignees` value from the PR's assignee list (from Step 1 metadata),
prefixing each GitHub username with `@` and separating with spaces.

The script:
- URL-encodes the title, body, and labels using `[Uri]::EscapeDataString`
- Builds a clickable `https://github.com/dotnet/docs/issues/new?...` link
- Writes `pr-comment.md` containing the full draft, the link, and an email reminder
- Writes a **brief** `pr-comment.md` with instructions, the link, an email
reminder, and `/cc` mentions of the assignees
- Warns if the URL exceeds browser length limits

The comment intentionally does **not** duplicate the full issue draft. The draft
is available in the `issue-draft.md` workflow artifact and is pre-filled in the
issue creation link.

### Post the comment

When running interactively (not in dry-run mode), post the contents of
Expand Down
2 changes: 2 additions & 0 deletions .github/skills/ci-pipeline-monitor/pipelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ cached mapping table).
| runtime-coreclr pgo | |
| runtime-coreclr libraries-pgo | |
| runtime-coreclr pgostress | |
| runtime-coreclr jit-cfg | Sat-Sun 22:00 UTC | Control flow guard. |

## Cached Definition ID Mapping

Expand All @@ -62,6 +63,7 @@ entries via the AzDO Definitions API, and adds new rows here.
| runtime-coreclr libraries-pgo | 145 | |
| runtime-coreclr superpmi-replay | 150 | |
| runtime-coreclr superpmi-asmdiffs-checked-release | 153 | |
| runtime-coreclr jit-cfg | 155 | |
| runtime-coreclr jitstress-random | 159 | |
| runtime-coreclr libraries-jitstress-random | 160 | |
| runtime-coreclr pgostress | 230 | |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ def main():
# Mark pipelines with 0 test results as inconclusive
for name in zero_result_pipelines:
conn.execute(
"UPDATE pipelines SET result = 'inconclusive', skip_reason = 'Build failed but no test failures detected via Test Results API' WHERE name = ?",
"UPDATE pipelines SET result = 'inconclusive', skip_reason = 'Build failed but no test failures detected via Test Results API, e.g., due to a cancelled leg' WHERE name = ?",
(name,)
)
if zero_result_pipelines:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ with the authoritative [`docs/area-owners.md`](../../../../docs/area-owners.md).
| JIT, code generation, inlining, tiered compilation | `area-CodeGen-coreclr` |
| NativeAOT, ahead-of-time compilation | `area-NativeAOT-coreclr` |
| Crossgen2, R2R, ReadyToRun, R2RDump | `area-ReadyToRun` |
| Assembly loading, AssemblyLoadContext | `area-assemblyloading` |
| Assembly loading, AssemblyLoadContext | `area-AssemblyLoader` |
| Host, `dotnet` executable, hostfxr, hostpolicy, Host model | `area-Host` |
| Interop, COM, P/Invoke, marshalling (runtime) | `area-Interop-coreclr` |
| Single-file deployment | `area-Single-File` |
Expand Down
Loading