Skip to content

[automated] Merge branch 'main' => 'net11.0'#25331

Open
github-actions[bot] wants to merge 41 commits intonet11.0from
merge/main-to-net11.0
Open

[automated] Merge branch 'main' => 'net11.0'#25331
github-actions[bot] wants to merge 41 commits intonet11.0from
merge/main-to-net11.0

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented May 5, 2026

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

This PR merges commits made on main by the following committers:

  • rolfbjarne
  • csigs
  • dotnet-maestro[bot]
  • vs-mobiletools-engineering-service2

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.

merge button instructions

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.

git fetch
git checkout main
git pull --ff-only
git checkout net11.0
git pull --ff-only
git merge --no-ff main

# 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/macios HEAD:merge/main-to-net11.0
or if you are using SSH
git push git@github.com:dotnet/macios HEAD:merge/main-to-net11.0

After PR checks are complete push the branch

git push

Instructions for resolving conflicts

⚠️ If there are merge conflicts, you will need to resolve them manually before merging. You can do this using GitHub or 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/main-to-net11.0'. 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/main-to-net11.0 origin/net11.0
git pull https://github.com/dotnet/macios merge/main-to-net11.0
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet/macios HEAD:merge/main-to-net11.0
or if you are using SSH
git fetch
git checkout -b merge/main-to-net11.0 origin/net11.0
git pull git@github.com:dotnet/macios merge/main-to-net11.0
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet/macios HEAD:merge/main-to-net11.0

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.

rolfbjarne and others added 11 commits May 4, 2026 13:11
…25234)

This simplifies the code, since we only have a single property as the source
of truth whether we're building for the simulator or not.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…1: Build ID 14005679 (#25305)

This is the pull request automatically created by the OneLocBuild task in the build process to check-in localized files generated based upon translation source files (.lcl files) handed-back from the downstream localization pipeline. If there are issues in translations, visit https://aka.ms/icxLocBug and log bugs for fixes. The OneLocBuild wiki is https://aka.ms/onelocbuild and the localization process in general is documented at https://aka.ms/AllAboutLoc.
This pull request updates the following dependencies

## From https://github.com/dotnet/xharness

- **Subscription**: [02e03784-16b3-4ced-b02a-3715797fc7da](https://maestro.dot.net/subscriptions?search=02e03784-16b3-4ced-b02a-3715797fc7da)
- **Build**: [20260430.4](https://dev.azure.com/dnceng/internal/_build/results?buildId=2964906) ([312724](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/312724))
- **Date Produced**: May 1, 2026 7:05:11 AM UTC
- **Commit**: [92962e5c46ac08a66ded4c5696209cc60f1a232f](dotnet/xharness@92962e5)
- **Branch**: [main](https://github.com/dotnet/xharness/tree/main)

- **Dependency Updates**:
  - From [11.0.0-prerelease.26224.1 to 11.0.0-prerelease.26230.4][2]
     - Microsoft.DotNet.XHarness.iOS.Shared

[2]: dotnet/xharness@888ef3e...92962e5
…y. (#25307)

It's not necessary to run it on every push to main (which will usually fail if the PR branch was modified, which we always do).
The activation job in the `macios-reviewer` workflow was missing `pull-requests: write` permission, causing the 'Add eyes reaction for immediate feedback' step to fail with a 403 when triggered by `/review` on a PR comment.

This was a known gh-aw bug ([github/gh-aw#28767](github/gh-aw#28767)), fixed in v0.71.2 via [github/gh-aw#28854](github/gh-aw#28854).

This PR recompiles the lock file with gh-aw v0.71.2, which adds `pull-requests: write` to the activation job.

🤖 Pull request created by Copilot

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…uts in CI (#25302)

Wrap the Tls12 test body in a try/catch that calls TestRuntime.IgnoreInCIIfBadNetwork to mark the test as ignored (rather than failed) when transient network issues occur in CI.

Also extend IgnoreInCIIfTimedOut to handle SocketException timeouts, not just WebException timeouts, so that the SocketException thrown by TcpClient is properly recognized.

Fixes #25241

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…20260505064756191 to main (#25325)

LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_20260505064756191 to main with localized lcls
…elpers (#25268)

Multiple XML loading helpers use `DtdProcessing.Parse`, which enables inline DTD processing and opens a vector for entity expansion DoS ("billion laughs"). While `XmlResolver = null` prevents external entity resolution, inline DTDs are still processed. Apple plist files declare a DTD but don't depend on DTD processing for correctness.

This PR changes `DtdProcessing.Parse` to `DtdProcessing.Prohibit` in all affected locations:

- `tools/common/PListExtensions.cs` — 2 occurrences (file and string overloads)
- `src/bgen/Extensions/ExtensionMethods.cs` — 1 occurrence
- `tests/cecil-tests/Helper.cs` — 1 occurrence
- `tests/mtouch/MTouch.cs` — 1 occurrence
- `tests/common/ProductTests.cs` — 1 occurrence

🤖 Pull request created by Copilot

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…html report publish fails. (#25233)

When the "Publish to Artifact Services Drop" step times out or fails, the VSDrops
link in the GitHub comment would point to a non-existent page. Now detect the
failure by setting an output variable when the step does not succeed, and show
"(Publish failed)" in plain text instead of a broken link.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reset patterns:
- global.json
- NuGet.config
- eng/Version.Details.xml
- eng/Version.Details.props
- eng/common/*
@github-actions github-actions Bot requested review from mauroa and rolfbjarne as code owners May 5, 2026 11:36
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

rolfbjarne added 4 commits May 5, 2026 09:25
Fixes the following problem:

1. We compile the api definition, and csc resolves the `cref="Mount"` reference to `cref="M:FSKit.FSVolumeOperations.Mount(FSKit.FSTaskOptions,FSKit.FSVolumeOperationsMountHandler)"`
2. We run the generator, and copy the xml docs from the compiled api definition, which is `cref="M:FSKit.FSVolumeOperations.Mount(FSKit.FSTaskOptions,FSKit.FSVolumeOperationsMountHandler)"`
3. The actual type name is `IFSVolumeOperations` (because the type is a protocol), which means the cref is now pointing to somewhere that doesn't exist.

Fix this by specifying the complete reference in the api definition's xml comment, which csc won't process, and just copy as-is.
@vs-mobiletools-engineering-service2

This comment has been minimized.

@rolfbjarne rolfbjarne enabled auto-merge May 5, 2026 15:03
- Update old Apple documentation URLs to modern developer.apple.com/documentation/ format
  in src/ C# files and docs/api/ XML files
- Remove dead Xamarin links (developer.xamarin.com, docs.xamarin.com)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@vs-mobiletools-engineering-service2

This comment has been minimized.

rolfbjarne and others added 9 commits May 7, 2026 08:01
… step (#24888)

Add a new custom linker step that replaces runtime `Dlfcn.dlsym` calls with
direct native symbol lookups via P/Invokes to `__Internal`. This improves
startup performance and app size, and ensures the native linker can see symbol
references that would otherwise only be resolved at runtime.

Two modes are supported, controlled by the `InlineDlfcnMethods` MSBuild property:

* `strict`: inlines all calls to `ObjCRuntime.Dlfcn` APIs.
* `compatibility`: only inlines calls that reference symbols from `[Field]`
  attributes.

Post-trimming MSBuild targets ensure native code is only generated for symbols
that survive trimming (ILTrim or NativeAOT):

* `_CollectPostILTrimInformation`: scans trimmed assemblies for surviving
  inlined dlfcn P/Invokes, with per-assembly caching for incremental builds.
* `_CollectPostNativeAOTTrimInformation`: reads unresolved symbols from the
  NativeAOT object file or static library and filters for inlined dlfcn symbols.
* `_PostTrimmingProcessing`: generates native C code for surviving symbols and
  adds it to the native link inputs.

Extends `MachO.cs` with LC_SYMTAB parsing to read unresolved symbols from both
Mach-O object files and static libraries.

Contributes towards #17693.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Introduce two new MSBuild properties to simplify platform checks in the build system:

- **`SdkIsDesktop`**: `true` when building for macOS or Mac Catalyst. Replaces `'$(_PlatformName)' == 'macOS' Or '$(_PlatformName)' == 'MacCatalyst'` checks.
- **`SdkIsMobile`**: `true` when building for iOS or tvOS. Replaces `'$(_PlatformName)' == 'iOS' Or '$(_PlatformName)' == 'tvOS'` checks.

These complement the existing `SdkIsSimulator` and `SdkIsDevice` properties (from #25234).

The `SdkIsDevice` definition was also updated to use `SdkIsMobile` instead of raw platform checks.

### Deliberately not updated

- Patterns that also include `watchOS` (bundle structure paths, PkgInfo, etc.)
- `DynamicCodeSupport` (also includes MacCatalyst alongside iOS/tvOS)
- `ComputeRegistrarConstant.targets` (uses `TargetFramework.EndsWith()` patterns)
- Linker/introspection test `.csproj` files (also check tvOS separately)
- `_LibMonoLinkMode`/`_LibXamarinLinkMode` (check macOS and MacCatalyst with distinct behavior)

Both properties are documented in `docs/building-apps/build-properties.md`.

🤖 Pull request created by Copilot

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…entitlements (#25332)

Add the com.apple.developer.payment-pass-provisioning entitlement to the
known entitlements list so that validation properly reports a warning/error
when an app requests this entitlement but the provisioning profile doesn't
grant it. Previously this was an unknown entitlement that only logged a
low-importance message, causing silent install failures on device.

Also add tests verifying the error, warning, and disable modes for this
entitlement validation scenario.

Fixes #25306

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adds a new agentic workflow (`code-radiator`) that merges `main` into active target branches daily at midnight UTC.

**Target branches:** `net[0-9]*.0`, `xcode[0-9]*`, `xcode[0-9]*.[0-9]*` (with activity in the last 30 days).

**Features:**
- Creates or updates merge PRs for each active target branch
- Resolves `eng/Version.Details.{props,xml}` conflicts by picking highest versions
- Resolves `NuGet.config` conflicts by including feeds from both branches
- Excludes conflicting `tests/dotnet/UnitTests/expected/*` files from merge commits
- Merges target branch into PR branch first to pick up new target commits
- For other conflicts: resolves best-effort, adds `do-not-merge` label and requests human review
- Enables automerge for clean merges; skips draft PRs with a comment

🤖 Pull request created by Copilot

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Also these enums are only available for arm64.
…rimmed. (#25354)

This is not the default in .NET 11 (it is in .NET 10), so make it explicit.
@rolfbjarne rolfbjarne requested a review from dalexsoto as a code owner May 7, 2026 12:25
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

…1: Build ID 14036358 (#25356)

This is the pull request automatically created by the OneLocBuild task in the build process to check-in localized files generated based upon translation source files (.lcl files) handed-back from the downstream localization pipeline. If there are issues in translations, visit https://aka.ms/icxLocBug and log bugs for fixes. The OneLocBuild wiki is https://aka.ms/onelocbuild and the localization process in general is documented at https://aka.ms/AllAboutLoc.
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

🔥 [CI Build #a9faacb] Test results 🔥

Test results

❌ Tests failed on VSTS: test results

1 tests crashed, 22 tests failed, 162 tests passed.

Failures

❌ monotouch tests (iOS)

22 tests failed, 0 tests passed.

Failed tests

  • monotouch-test/iOS - simulator/Debug: LaunchTimedOut
  • monotouch-test/iOS - simulator/Debug (CoreCLR): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (CoreCLR, ARM64): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (CoreCLR, x64): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (CoreCLR, Universal): LaunchTimedOut
  • monotouch-test/iOS - simulator/Debug (LinkSdk): LaunchTimedOut
  • monotouch-test/iOS - simulator/Debug (static registrar): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (all optimizations): LaunchTimedOut
  • monotouch-test/iOS - simulator/Debug (ARM64): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (NativeAOT, ARM64): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (trimmable static registrar, NativeAOT, ARM64): LaunchTimedOut
  • monotouch-test/iOS - simulator/Debug (managed static registrar): LaunchTimedOut
  • monotouch-test/iOS - simulator/Debug (trimmable static registrar): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (managed static registrar, all optimizations): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (trimmable static registrar, all optimizations): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (NativeAOT, x64): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (trimmable static registrar, NativeAOT, x64): LaunchTimedOut
  • monotouch-test/iOS - simulator/Debug (interpreter): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (interpreter): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (compat inline dlfcn): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (strict inline dlfcn, link sdk): LaunchTimedOut
  • monotouch-test/iOS - simulator/Release (NativeAOT, .NET 11 defaults): LaunchTimedOut

Html Report (VSDrops) Download

❌ windows tests

🔥 Failed catastrophically on VSTS: test results - windows (no summary found).

Html Report (VSDrops) Download

Successes

✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. (⚠️ Html Report Publish failed ⚠️) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 9 tests passed. Html Report (VSDrops) Download
✅ linker: All 44 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 25 tests passed. (⚠️ Html Report Publish failed ⚠️) Download
✅ monotouch (macOS): All 18 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 22 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. (⚠️ Html Report Publish failed ⚠️) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: a9faacb4655f0719b8e266ab28a654ad14d7ef31 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #7d5b618] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: 7d5b61875758ad6deee6d2caa319cc2fb5742c51 [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #7d5b618] Build passed (Build packages) ✅

Pipeline on Agent
Hash: 7d5b61875758ad6deee6d2caa319cc2fb5742c51 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 7d5b61875758ad6deee6d2caa319cc2fb5742c51 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #7d5b618] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: 7d5b61875758ad6deee6d2caa319cc2fb5742c51 [PR build]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants