Skip to content

[net11.0] Merge main into net11.0.#25739

Merged
rolfbjarne merged 29 commits into
net11.0from
dev/rolf/bump-main-in-net11.0-2026-06-18
Jun 19, 2026
Merged

[net11.0] Merge main into net11.0.#25739
rolfbjarne merged 29 commits into
net11.0from
dev/rolf/bump-main-in-net11.0-2026-06-18

Conversation

@rolfbjarne

Copy link
Copy Markdown
Member

No description provided.

rolfbjarne and others added 28 commits June 17, 2026 07:48
## Summary

- update `MSBuild.StructuredLogger` from `2.2.158` to `2.2.243`
- pick the smallest verified bump that fixes the local binlog parser crash

## Why

Local Apple test binlogs can record an empty `CurrentUICulture=` event under `LANG=C.UTF-8`.

With `MSBuild.StructuredLogger` `2.2.158`, the reader synthesizes `PropertyReassignment` messages from localized string resources, but those resources are only initialized after a non-empty culture event. When the binlog reaches the first `PropertyReassignment`, `Strings.PropertyReassignment` can still be null, which crashes parsing with `ArgumentNullException("format")` instead of reporting the actual build result.

`2.2.243` already contains the upfront string initialization that avoids that failure, so the same local binlogs parse successfully without needing a larger package jump.

## Validation

- built `tests/dotnet/UnitTests/DotNetUnitTests.csproj` on current `main`
- re-ran the standalone binlog repro against a previously failing successful local Apple binlog and `2.2.243` parsed property reassignments successfully

This PR is recreated from #25674 (because our CI won't build from forks).

---------

Co-authored-by: vitek-karas <10670590+vitek-karas@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…20260603175250477 to main (#25633)

LEGO: Pull request from lego/hb_5df43909-4a19-4f55-bc3f-9ea8fccf3c82_20260603175250477 to main with localized lcls
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**: [20260529.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2987132) ([316341](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/316341))
- **Date Produced**: May 29, 2026 3:33:16 PM UTC
- **Commit**: [2cee83bf4841d72c9734a343f3003aeabdd46edf](dotnet/xharness@2cee83b)
- **Branch**: [main](https://github.com/dotnet/xharness/tree/main)

- **Dependency Updates**:
  - From [11.0.0-prerelease.26264.1 to 11.0.0-prerelease.26279.1][1]
     - Microsoft.DotNet.XHarness.iOS.Shared

[1]: dotnet/xharness@51ca379...2cee83b
This pull request updates the following dependencies

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

- **Subscription**: [da09b56a-0fb1-439a-b894-def14d2ec0a4](https://maestro.dot.net/subscriptions?search=da09b56a-0fb1-439a-b894-def14d2ec0a4)
- **Build**: [20260612.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2998757) ([318480](https://maestro.dot.net/channel/10307/github:dotnet:dotnet/build/318480))
- **Date Produced**: June 12, 2026 12:29:31 PM UTC
- **Commit**: [e4cee613b82457afd92ddfce82a67dcaaa227a84](dotnet/dotnet@e4cee61)
- **Branch**: [release/10.0.4xx](https://github.com/dotnet/dotnet/tree/release/10.0.4xx)

- **Dependency Updates**:
  - From [10.0.0-beta.26281.104 to 10.0.0-beta.26312.103][5]
     - Microsoft.DotNet.Arcade.Sdk
     - Microsoft.DotNet.Build.Tasks.Feed
     - Microsoft.DotNet.SharedFramework.Sdk
  - From [10.0.400-preview.0.26281.104 to 10.0.400-preview.0.26312.103][5]
     - Microsoft.NET.Sdk
  - From [10.0.400-preview.26281.104 to 10.0.400-preview.26312.103][5]
     - Microsoft.TemplateEngine.Authoring.Tasks

[5]: dotnet/dotnet@aec9216...e4cee61
Improve XML documentation for the `SystemConfigurationException` type:

- Remove "To be added." placeholder entries
- Add meaningful `<param>` and `<value>` descriptions
- Simplify `<see cref>` references (remove redundant namespace qualifiers)
- Reorder XML doc elements to standard order (summary, value, param)
- Remove empty `<remarks>` nodes

🤖 Pull request created by Copilot

---------

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

Fix real typos in API names by introducing correctly-spelled alternatives and deprecating the old misspelled names.

## Approach

For **binding methods/properties**, the old name keeps `[Export]` to preserve virtual dispatch (no breaking API changes), and the new name uses `[Wrap]`. In `XAMCORE_5_0` only the correctly spelled name will remain with `[Export]`.

For **enum values**, the old value is `[Obsolete]` with `[EditorBrowsable(Never)]` and will be removed in `XAMCORE_5_0`.

For **delegate methods with `[EventArgs]`**, only a `#if XAMCORE_5_0` rename is possible (the binding generator requires EventArgs on all delegate methods).

For **manual code** (non-generated), the correctly-spelled method is the implementation; the old misspelled name is a thin wrapper marked `[Obsolete]`.

## Fixed typos

| Old name | New name | Type |
|----------|----------|------|
| StandarizePath | StandardizePath | method |
| ReplaceOcurrences | ReplaceOccurrences | method |
| DequeueNotificationsMatchingcoalesceMask | DequeueNotificationsMatchingCoalesceMask | method |
| SkipDescendents | SkipDescendants | method |
| SetParamDescriptorforKeyword | SetParamDescriptorForKeyword | method |
| SetAttributeDescriptorforKeyword | SetAttributeDescriptorForKeyword | method |
| InsertDescriptoratIndex | InsertDescriptorAtIndex | method |
| SetDescriptorforKeyword | SetDescriptorForKeyword | method |
| WilllDownloadToUrl | WillDownloadToUrl | method |
| SetImageforSearchBarIcon | SetImageForSearchBarIcon | method |
| SetPositionAdjustmentforSearchBarIcon | SetPositionAdjustmentForSearchBarIcon | method |
| GetNumberofItems | GetNumberOfItems | method |
| TitleWidthConstraintedToSize | TitleWidthConstrainedToSize | method |
| IndexOfItemWithTargetandAction | IndexOfItemWithTargetAndAction | method |
| TryToPerformwith | TryToPerformWith | method |
| ConvertRectfromBacking | ConvertRectFromBacking | method |
| UpdateSpellingPanelWithGrammarl | UpdateSpellingPanelWithGrammarString | method |
| SetIconforFile | SetIconForFile | method |
| SetAttributesforExportedKey | SetAttributesForExportedKey | method |
| SortedArrayFromArraycollationStringSelector | SortedArrayFromArrayCollationStringSelector | method |
| DenimonatorExpression | DenominatorExpression | property |
| GpsDifferental | GpsDifferential | property |
| ExhangeDataMaximumSize | ExchangeDataMaximumSize | property |
| RightCallpoutOffset | RightCalloutOffset | property |
| RoundToOddHermitean | RoundToOddHermitian | property |
| CommitedLoad | CommittedLoad | delegate (XAMCORE_5_0) |
| ReplacementValueForAttributevalue | ReplacementValueForAttributeValue | delegate (XAMCORE_5_0) |
| UpdatedCharacterteristicValue | UpdatedCharacteristicValue | delegate (XAMCORE_5_0) |
| SetBaseWritingDirectionforRange | SetBaseWritingDirection | abstract (XAMCORE_5_0) |
| NLContextualEmebeddingKey | NLContextualEmbeddingKey | enum type (XAMCORE_5_0) |
| ExifSubsecTimeOrginal | (already obsoleted) | field |
| WarichuPunctiation | WarichuPunctuation | enum value |
| TrackableArae | TrackableArea | enum value |
| DissapearingItemDefault | DisappearingItemDefault | enum value |
| OcclussionAttenuation | OcclusionAttenuation | enum value |
| FourtyMHz | FortyMHz | enum value |
| ProcAppactive | ProcAppActive | enum value |
| FromIdentityCertificatesPersistance | Create | static method |
| PropogateAttachments | PropagateAttachments | method |
| SetLocalEventsFilterDuringSupressionState | SetLocalEventsFilterDuringSuppressionState | method |
| GetLocalEventsFilterDuringSupressionState | GetLocalEventsFilterDuringSuppressionState | method |
| LocalEventsSupressionInterval | LocalEventsSuppressionInterval | property |
| GpsDifferentalKey | GpsDifferentialKey | field |
| Various others | (see enum fixes) | enum values |

## Other changes

- Rewrote the introspection `TypoTest` to use a word-level dedup approach (faster and more reliable)
- Documented all remaining allowed typos with comments explaining why they are valid
- Wrapped typos that are fixed only in `XAMCORE_5_0` with `#if !XAMCORE_5_0` in the allowed list

Fixes #25397

🤖 Pull request created by Copilot

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The no-xcode-build target (used on Linux) was unconditionally adding
registrar generation targets for all platforms. When some platforms are
disabled (e.g. only iOS is enabled), the prerequisite DLLs don't exist
and make fails with 'No rule to make target'.

Wrap each group of RunRegistrar eval calls with the corresponding
INCLUDE_IOS/INCLUDE_TVOS/INCLUDE_MACCATALYST/INCLUDE_MAC guards so
only enabled platforms have their registrar rules defined.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Extract the static optimization methods from OptimizeGeneratedCodeHandler into
a new standalone OptimizeGeneratedCode class. The handler class now only contains
the linker-specific scaffolding and delegates to the new class.

This makes the optimization logic reusable without depending on the linker's
ExceptionalMarkHandler base class.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Refactor the big switch statement in the LinkerConfiguration constructor into
a GetConfigurator() method that returns a dictionary of (Load, Save) delegate
pairs for each configuration key. This enables both reading configuration from
file and writing/serializing the current configuration state.

Also add a Save() method that uses the configurator to write out the current
configuration state.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… AppBundleRewriter.

Move FindNSObjectConstructor, FindINativeObjectConstructor,
ImplementConstructNSObjectFactoryMethod, ImplementConstructINativeObjectFactoryMethod,
and AddTypeInterfaceImplementation from ManagedRegistrarLookupTablesStep to
AppBundleRewriter, and update all call sites accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…er steps.

Create an 'assembly-preparer' tool that performs assembly pre-processing (currently done by custom linker steps) as a standalone build step, gated behind the opt-in `PrepareAssemblies=true` MSBuild property.

Key changes:

* New `tools/assembly-preparer/` library with scaffolding that emulates a subset of ILLink's API (this makes it easy to reuse the code for existing custom trimmer step by just running the same steps in the new assembly-preparer tool instead).
* New `PrepareAssemblies` MSBuild task and `_PrepareAssemblies` target in Xamarin.Shared.targets.
* When `PrepareAssemblies=true`, most custom linker steps/mark handlers are disabled in the trimmer pipeline (conditions added to Xamarin.Shared.Sdk.targets).
* Refactor `LinkerConfiguration.cs` with `#if ASSEMBLY_PREPARER` to support both linker and assembly-preparer contexts.
* New test project `tests/assembly-preparer/` with tests for the assembly preparation steps.
* Add xharness test variation for running with assembly-preparer enabled.
* New `tools/ap-launcher/` to invoke the tool from the command line; this is useful during debugging.

Contributes towards #17693.
…er steps. (#25652)

Create an 'assembly-preparer' tool that performs assembly pre-processing
(currently done by custom linker steps) as a standalone build step, gated
behind the opt-in `PrepareAssemblies=true` MSBuild property.

Key changes:

* New `tools/assembly-preparer/` library with scaffolding that emulates a
  subset of ILLink's API (this makes it easy to reuse the code for existing
  custom trimmer step by just running the same steps in the new
  assembly-preparer tool instead).
* New `PrepareAssemblies` MSBuild task and `_PrepareAssemblies` target in
  Xamarin.Shared.targets.
* When `PrepareAssemblies=true`, most custom linker steps/mark handlers are
  disabled in the trimmer pipeline (conditions added to
  Xamarin.Shared.Sdk.targets).
* Refactor `LinkerConfiguration.cs` with `#if ASSEMBLY_PREPARER` to support
  both linker and assembly-preparer contexts.
* New test project `tests/assembly-preparer/` with tests for the assembly
  preparation steps.
* Add xharness test variation for running with assembly-preparer enabled.
* New `tools/ap-launcher/` to invoke the tool from the command line; this is
  useful during debugging.

Contributes towards #17693.
Improve XML documentation for the `StatusCodeError` type:

- Remove "To be added." placeholder entries
- Add meaningful `<param>` and `<returns>` descriptions
- Simplify `<see cref>` references (remove redundant namespace qualifiers)
- Reorder XML doc elements to standard order (summary, param, returns)
- Remove empty `<remarks>` nodes

🤖 Pull request created by Copilot

---------

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

## Summary

Replaces all httpbin.org dependencies in monotouch-test with an in-proc HTTP server (`HttpbinTestServer`), eliminating external network flakiness from these tests.

## Changes

- **New file: `HttpbinTestServer.cs`** — A lightweight `HttpListener`-based server that implements all httpbin.org endpoints used by tests: `/get`, `/post`, `/cookies`, `/cookies/set`, `/redirect/{n}`, `/redirect-to`, `/basic-auth`, `/digest-auth`, `/gzip`, `/html`, `/status/{code}`.
- **Updated `NetworkResources.cs`** — `Httpbin.Url` now points to the local server instead of `https://httpbin.org`. Removed httpbin from `HttpsUrls` array since the local server is HTTP-only.
- **Removed CI-ignore patterns** — Tests that now hit the local server no longer need `IgnoreInCI`/`IgnoreInCIIfBadNetwork`/`Assert.Inconclusive` workarounds. Tests still using external URLs (microsoft.com, badssl.com) retain their CI-ignore patterns.
- **SSL tests unchanged** — Tests requiring real HTTPS (SSL certificate validation) still use `NetworkResources.MicrosoftUrl`.

🤖 Pull request created by Copilot

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… 0a80b038bcc0d76b2f26c7f22062942de75779e6 to 5f63985fe82894604956e653d43c161ebbc1b576 (#25716)

Bumps
[dotnet/arcade/.github/workflows/inter-branch-merge-base.yml](https://github.com/dotnet/arcade)
from 0a80b038bcc0d76b2f26c7f22062942de75779e6 to
5f63985fe82894604956e653d43c161ebbc1b576.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…1: Build ID 14406892 (#25725)

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.
…1: Build ID 14405986 (#25724)

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.
…warning filter (#25731)

Replace Environment.GetEnvironmentVariable("HOME") with a '/.*' regex
pattern so the filter matches regardless of the actual home directory path.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 18, 2026 16:06
@rolfbjarne rolfbjarne requested a review from dalexsoto as a code owner June 18, 2026 16:06

Copilot AI 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

This branch-merge brings main changes into net11.0, notably introducing the new assembly-preparer tool and wiring it into MSBuild (via a new PrepareAssemblies task/target), alongside a large set of API typo-fix shims gated by XAMCORE_5_0 and multiple test/CI updates.

Changes:

  • Add the assembly-preparer tool (plus ap-launcher) and integrate it into the build (MSBuild task + targets + signing/solution wiring + CI labels/variations).
  • Introduce an in-proc HttpbinTestServer and update relevant networking tests to reduce external dependency.
  • Add many API spelling/typo corrections with XAMCORE_5_0 conditionals and back-compat shims ([Obsolete] + [EditorBrowsable(Never)] wrappers).

Reviewed changes

Copilot reviewed 193 out of 194 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/inter-branch-merge-flow.yml Updates arcade workflow reference used for inter-branch merge automation.
Directory.Build.props Updates MSBuildStructuredLogger package version.
dotnet/Workloads/SignList.xml Adds assembly-preparer binaries to signing list.
eng/Version.Details.props Updates XHarness shared package version.
macios/Localize/loc/ja/macios/msbuild/Xamarin.Localization.MSBuild/MSBStrings.resx.lcl Localization updates (new MSBuild string entries).
macios/Localize/loc/ru/macios/msbuild/Xamarin.Localization.MSBuild/MSBStrings.resx.lcl Localization updates (new MSBuild string entries).
macios/Localize/loc/tr/macios/msbuild/Xamarin.Localization.MSBuild/MSBStrings.resx.lcl Localization updates (new MSBuild string entries).
macios/Localize/loc/zh-Hans/macios/msbuild/Xamarin.Localization.MSBuild/MSBStrings.resx.lcl Localization updates (new MSBuild string entries).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.cs.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.de.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.es.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.fr.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.it.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.ja.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.ko.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.pl.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.pt-BR.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.ru.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.tr.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.zh-Hans.resx Adds translated MSBuild resource entry (E7178).
macios/msbuild/Xamarin.Localization.MSBuild/TranslatedAssemblies/MSBStrings.zh-Hant.resx Adds translated MSBuild resource entry (E7178).
macios/tools/mtouch/TranslatedAssemblies/Errors.cs.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.de.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.es.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.fr.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.it.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.ja.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.ko.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.pl.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.pt-BR.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.ru.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.tr.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.zh-Hans.resx Adds translated mtouch error string (MX1504).
macios/tools/mtouch/TranslatedAssemblies/Errors.zh-Hant.resx Adds translated mtouch error string (MX1504).
msbuild/.vscode/tasks.json Adds VS Code task for building MSBuild components via make.
msbuild/ILMerge.targets Ensures assembly-preparer is included in ILMerge merged assemblies list.
msbuild/Xamarin.Localization.MSBuild/MSBStrings.resx Adds MSBuild string for console usage in tasks (E7178).
msbuild/Xamarin.MacDev.Tasks.slnx Includes assembly-preparer project in the MSBuild solution file.
msbuild/Xamarin.MacDev.Tasks/ConsoleToTaskWriter.cs Adds console redirection/guard to enforce MSBuild logging usage in tasks.
msbuild/Xamarin.MacDev.Tasks/ErrorHelper.msbuild.cs Removes now-redundant MSBuild-specific ErrorHelper implementation.
msbuild/Xamarin.MacDev.Tasks/LoggingExtensions.cs Adds overloads to log warnings/errors/messages with file/line metadata.
msbuild/Xamarin.MacDev.Tasks/Tasks/PrepareAssemblies.cs New MSBuild task that runs assembly-preparer over publish assemblies.
msbuild/Xamarin.MacDev.Tasks/Tasks/XamarinBuildTask.cs Adjusts DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE environment value.
msbuild/Xamarin.MacDev.Tasks/Tasks/XamarinTask.cs Updates task logging to route ProductException diagnostics correctly.
msbuild/Xamarin.MacDev.Tasks/Xamarin.MacDev.Tasks.csproj Adds reference to assembly-preparer; adjusts TFMs for DesignTimeBuild.
msbuild/Xamarin.Shared/Xamarin.Shared.targets Adds _PrepareAssemblies target and wires PrepareAssemblies task into publish flow.
src/AppKit/Enums.cs Fixes enum member typos with XAMCORE_5_0 compatibility shims.
src/AudioUnit/AUEnums.cs Fixes enum member typo with compatibility shim.
src/CoreGraphics/CGEnums.cs Fixes CGPdfTagType typo with compatibility shim.
src/CoreGraphics/CGEventSource.cs Fixes method/property typos with compatibility shims.
src/CoreLocation/CLEnums.cs Fixes doc comment typo.
src/CoreVideo/CVBuffer.cs Fixes method typo with compatibility shim.
src/CoreWlan/Enums.cs Fixes enum member typo with compatibility shim.
src/Darwin/KernelNotification.cs Fixes enum member typo with compatibility shim.
src/Foundation/NSMetadataItem.cs Adds correctly spelled GPS differential API and marks misspelling obsolete.
src/Foundation/NSUrlCredential.cs Renames factory method to Create and adds obsolete wrapper for old name.
src/HomeKit/HMEnums.cs Fixes enum member typo with compatibility shim.
src/NaturalLanguage/Enums.cs Fixes enum name typo behind XAMCORE_5_0.
src/Network/NWConnectionGroup.cs Fixes method typo and adds obsolete wrapper.
src/ObjCRuntime/Registrar.core.cs Adjusts null/empty checks under NET vs legacy builds.
src/ObjCRuntime/Registrar.cs Adjusts null/empty checks under NET vs legacy builds.
src/PrintCore/Defs.cs Fixes enum member typo and adds compatibility shim.
src/SystemConfiguration/StatusCodeError.cs Improves XML docs for status code description API.
src/SystemConfiguration/SystemConfigurationException.cs Improves XML docs and references.
src/accessibility.cs Fixes binding typo behind XAMCORE_5_0 and adds obsolete wrapper.
src/appkit.cs Fixes multiple binding method typos behind XAMCORE_5_0 with wrappers.
src/authenticationservices.cs Fixes binding typo with wrapper under !XAMCORE_5_0.
src/avfoundation.cs Fixes binding typo behind XAMCORE_5_0 and adds wrapper under !XAMCORE_5_0.
src/corebluetooth.cs Fixes binding typo behind XAMCORE_5_0.
src/coreimage.cs Fixes binding typo behind XAMCORE_5_0 with wrapper under !XAMCORE_5_0.
src/corespotlight.cs Fixes binding typo behind XAMCORE_5_0 with wrapper under !XAMCORE_5_0.
src/gamekit.cs Fixes binding typo behind XAMCORE_5_0 with wrapper under !XAMCORE_5_0.
src/imageio.cs Adds correct GPSDifferential field and obsoletes misspelling under !XAMCORE_5_0.
src/imagekit.cs Fixes binding typo behind XAMCORE_5_0 with wrapper under !XAMCORE_5_0.
src/mapkit.cs Fixes binding property typo behind XAMCORE_5_0 with wrapper under !XAMCORE_5_0.
src/metalperformanceshadersgraph.cs Fixes binding property typo behind XAMCORE_5_0 with wrapper under !XAMCORE_5_0.
src/mlcompute.cs Fixes enum member typo behind XAMCORE_5_0 with wrapper under !XAMCORE_5_0.
src/uikit.cs Fixes multiple binding typos behind XAMCORE_5_0 with wrappers under !XAMCORE_5_0.
src/webkit.cs Fixes delegate method typo behind XAMCORE_5_0.
tests/assembly-preparer/BaseClass.cs Adds test harness for compiling code and running assembly-preparer against it.
tests/assembly-preparer/GlobalUsings.cs Adds global usings for assembly-preparer tests.
tests/assembly-preparer/InlineDlfcnMethodsStepTests.cs Adds unit tests for InlineDlfcnMethods behavior under assembly-preparer.
tests/assembly-preparer/Makefile Adds make targets to build/run assembly-preparer tests.
tests/assembly-preparer/MarkIProtocolHandlerTests.cs Adds unit tests validating protocol preservation behavior under different registrars.
tests/assembly-preparer/PreserveBlockCodeHandlerTests.cs Adds unit tests for block handler DynamicDependency injection.
tests/assembly-preparer/PreserveSmartEnumConversionsTest.cs Adds unit tests for smart-enum conversion DynamicDependency injection.
tests/assembly-preparer/assembly-preparer-tests.csproj Adds NUnit test project for assembly-preparer.
tests/assembly-preparer/assembly-preparer.slnx Adds solution file for assembly-preparer tests.
tests/common/Configuration.cs Adds helpers to locate BCL/reference/implementation assemblies for new test scenarios.
tests/common/DotNet.cs Extends ExecutionResult to include duration (used by performance tests).
tests/common/test-variations.csproj Adds prepare-assemblies test variation support.
tests/dotnet/UnitTests/PerformanceTests.cs Adds performance test comparing builds with/without PrepareAssemblies (gated by env var).
tests/dotnet/UnitTests/TestBaseClass.cs Allows resolving certain test projects (like monotouch-test) via platform-specific paths.
tests/linker/link all/dotnet/shared.csproj Adds HttpbinTestServer + suppresses MT2003 warning in args.
tests/linker/link sdk/dotnet/shared.csproj Adds HttpbinTestServer to linker tests.
tests/linker/trimmode link/dotnet/shared.csproj Adds HttpbinTestServer to linker tests.
tests/monotouch-test/CoreGraphics/PdfTagTypeTest.cs Updates test to use corrected enum name.
tests/monotouch-test/Foundation/UrlSessionTest.cs Makes some URL session tests rely on HttpbinTestServer for stability.
tests/monotouch-test/System.Net.Http/NSUrlSessionHandlerTest.cs Tightens assertions for httpbin-based tests (now in-proc).
tests/monotouch-test/System.Net.Http/NetworkResources.cs Switches httpbin endpoints to in-proc HttpbinTestServer.
tests/monotouch-test/System.Net.Http/HttpbinTestServer.cs Adds in-process httpbin-like server implementation.
tests/xharness/Harness.cs Adds assembly-preparer test project to unit test list and labels.
tests/xharness/Jenkins/TestVariationsFactory.cs Adds PrepareAssemblies-related variations for relevant test suites.
tests/xharness/TestLabel.cs Adds new test label assembly-processing.
tools/.vscode/tasks.json Adds VS Code task for building tools via make.
tools/Makefile Adds assembly-preparer to tools build subdirs.
tools/ap-launcher/.gitignore Adds build stamp ignore.
tools/ap-launcher/.vscode/tasks.json Adds VS Code build task for ap-launcher.
tools/ap-launcher/Makefile Adds make-based build for ap-launcher.
tools/ap-launcher/Program.cs Implements ap-launcher CLI used to debug assembly-preparer.
tools/ap-launcher/README.md Documents ap-launcher purpose.
tools/ap-launcher/ap-launcher.csproj Adds ap-launcher project referencing assembly-preparer.
tools/ap-launcher/ap-launcher.slnx Adds solution file for ap-launcher + tests.
tools/assembly-preparer/.gitignore Ignores generated .csproj.inc file(s).
tools/assembly-preparer/.vscode/tasks.json Adds VS Code build task for assembly-preparer.
tools/assembly-preparer/DynamicallyAccessedMemberTypes.cs Adds netstandard2.0 shim for DynamicallyAccessedMemberTypes.
tools/assembly-preparer/GlobalUsings.cs Adds global usings for assembly-preparer compilation.
tools/assembly-preparer/IAssemblyPreparerLog.cs Defines logging abstraction for assembly-preparer integration.
tools/assembly-preparer/Makefile Adds make-based build/test harness for assembly-preparer.
tools/assembly-preparer/NetStandardExtensions.cs Adds netstandard2.0 shims for newer BCL APIs used by latest C# features.
tools/assembly-preparer/README.md Documents goals/design principles for assembly-preparer.
tools/assembly-preparer/Scaffolding/AnnotationStore.cs Adds scaffolding implementation for annotation storage/override scanning.
tools/assembly-preparer/Scaffolding/AssemblyAction.cs Adds scaffolding enum for assembly actions.
tools/assembly-preparer/Scaffolding/BaseStep.cs Adds scaffolding base step to mimic linker step model.
tools/assembly-preparer/Scaffolding/IStep.cs Adds scaffolding interface for steps.
tools/assembly-preparer/Scaffolding/LinkContext.cs Adds scaffolding LinkContext used by assembly-preparer steps.
tools/assembly-preparer/Scaffolding/Target.cs Adds scaffolding Target type placeholder.
tools/assembly-preparer/System_Diagnostics_UnreachableException.cs Adds netstandard2.0 shim for UnreachableException.
tools/assembly-preparer/System_Range.cs Adds netstandard2.0 shim for Range to support newer compiler features.
tools/assembly-preparer/assembly-preparer.slnx Adds solution file for assembly-preparer.
tools/common/Application.cs Refactors registrar mode enum out; adds PrepareAssemblies-related flags and logging routing.
tools/common/Assembly.cs Removes embedded NormalizedStringComparer; adjusts framework assembly detection and PDB loading guard.
tools/common/CoreResolver.cs Adds required using (Xamarin.Utils) for updated code paths.
tools/common/DerivedLinkContext.cs Adds helper to fetch product assembly with new MX1504 error.
tools/common/Driver.cs Makes default verbosity file key depend on tool name.
tools/common/ErrorHelper.tools.cs Exposes warning-level map retrieval.
tools/common/IToolLog.cs Changes logging API to use ProductException for tool diagnostics and adds warning logging.
tools/common/Make.common Ensures generated SdkVersions/ProductConstants are part of all-local.
tools/common/Makefile Adds makefile for tools/common generated artifacts.
tools/common/NormalizedStringComparer.cs Extracts normalization comparer into reusable helper.
tools/common/NullableAttributes.cs Adds netstandard-compatible nullable-related attributes used by newer compiler features.
tools/common/Optimizations.cs Fixes variable usage in NativeAOT optimization warning path.
tools/common/RegistrarMode.cs Introduces shared RegistrarMode enum (moved from Application).
tools/common/StaticRegistrar.cs Disables certain logic when building for ASSEMBLY_PREPARER.
tools/common/cache.cs Adds cache name for assembly-preparer mode.
tools/common/error.cs Adds API to query warning level for an error code.
tools/create-dotnet-linker-launch-json/Program.cs Extends tool to emit launch.json for ap-launcher and improves path handling (with noted issues).
tools/dotnet-linker/ApplyPreserveAttributeBase.cs Gates linker-step implementation under ASSEMBLY_PREPARER.
tools/dotnet-linker/ApplyPreserveAttributeStep.cs Tweaks XML descriptor behavior for ASSEMBLY_PREPARER mode.
tools/dotnet-linker/BackingFieldDelayHandler.cs Switches to OptimizeGeneratedCode helpers.
tools/dotnet-linker/Compat.cs Updates GetAssembly nullability.
tools/dotnet-linker/DotNetGlobals.cs Adds global System.Linq using.
tools/dotnet-linker/DotNetResolver.cs Adjusts resolution cache behavior under ASSEMBLY_PREPARER.
tools/dotnet-linker/MarkIProtocolHandler.cs Adjusts registrar access and adds DynamicDependency injection behavior for ASSEMBLY_PREPARER.
tools/dotnet-linker/OptimizeGeneratedCodeStep.cs Switches to OptimizeGeneratedCode implementation.
tools/dotnet-linker/Steps/ExceptionalMarkHandler.cs Adds abr accessor and gates Profile property under ASSEMBLY_PREPARER.
tools/dotnet-linker/Steps/InlineDlfcnMethodsStep.cs Simplifies namespace selection logic.
tools/dotnet-linker/Steps/PreserveBlockCodeHandler.cs Adds Cecil.Cil/Rocks usings needed by implementation changes.
tools/dotnet-linker/Steps/SetBeforeFieldInitStep.cs Adds ASSEMBLY_PREPARER-specific implementation and refactors type processing.
tools/dotnet-linker/dotnet-linker.csproj Adds shared NormalizedStringComparer/RegistrarMode and OptimizeGeneratedCode to dotnet-linker build.
tools/devops/automation/run-post-ci-build-vs-insertion.yml Sets DOTNET_* vars to reduce network calls.
tools/devops/automation/templates/common/configure.yml Adds a new test configuration label: assembly-processing.
tools/devops/automation/templates/release/vs-insertion-prep.yml Uses isolated NuGet.config to avoid public feed probing for darc tool update.
tools/devops/automation/templates/variables/common.yml Sets DOTNET_* vars to reduce network calls.
tools/linker/CoreTypeMapStep.cs Fixes nullability and uses LinkContext.Resolve in one path.
tools/linker/MarkNSObjects.cs Gates MarkNSObjects step under ASSEMBLY_PREPARER.
tools/linker/MobileExtensions.cs Switches attribute query to use Any() to avoid multiple enumeration patterns.
tools/linker/MonoTouch.Tuner/Extensions.cs Adds LinkContext alias under certain build symbols.
tools/linker/ObjCExtensions.cs Adjusts IsNSObject resolution for ASSEMBLY_PREPARER mode.
tools/linker/RegistrarRemovalTrackingStep.cs Switches to OptimizeGeneratedCode API.
tools/mtouch/Errors.designer.cs Adds MX1504 designer entry.
tools/mtouch/Errors.resx Adds MX1504 error string.
tools/mtouch/Makefile Makes registrar builds conditional on INCLUDE_* platform defines.
tools/mtouch/mtouch.cs Updates application creation signature.
tools/mtouch/mtouch.csproj Links in new shared common files (NormalizedStringComparer/RegistrarMode).
tools/tools.slnx Adds assembly-preparer project to tools solution.
Files not reviewed (1)
  • tools/mtouch/Errors.designer.cs: Generated file

Comment on lines +65 to +72
var originalBinlogPath = records
.Select (r => r.Args)
.OfType<BuildMessageEventArgs> ()
.Where (r => r.SenderName == "BinaryLogger" && r.Message?.StartsWith ("BinLogFilePath=") == true)
.Select (v => v.Message?.Substring ("BinLogFilePath=".Length) ?? "")
.SingleOrDefault ();
var originalBinlogDirectory = Path.GetDirectoryName (originalBinlogPath)!;

Comment on lines +153 to +155
if (!string.IsNullOrEmpty (makeReproPath))
launcherArgs.Add ("--make-repro=" + makeReproPath);
if (!string.IsNullOrEmpty (optionsFile))
Comment on lines +3434 to +3436
Condition="'$(PrepareAssemblies)' == 'true'"
Inputs="@(_AssembliesToPrepare)"
Outputs="@(_AssembliesToPrepare->'$(PreparedAssembliesDirectory)%(Filename)%(Extension)')"
@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 rolfbjarne removed the request for review from mauroa June 18, 2026 16:45
@rolfbjarne rolfbjarne enabled auto-merge June 18, 2026 16:45
@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

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

Pipeline on Agent
Hash: 7f9541d48da8f3aa2364191864bbbd2c708f9191 [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

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

Pipeline on Agent
Hash: 7f9541d48da8f3aa2364191864bbbd2c708f9191 [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: 7f9541d48da8f3aa2364191864bbbd2c708f9191 [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

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

Pipeline on Agent
Hash: 7f9541d48da8f3aa2364191864bbbd2c708f9191 [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🚀 [CI Build #7f9541d] Test results 🚀

Test results

✅ All tests passed on VSTS: test results.

🎉 All 280 tests passed 🎉

Tests counts

✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download
✅ 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 (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 9 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ linker (iOS): All 31 tests passed. Html Report (VSDrops) Download
✅ linker (MacCatalyst): All 31 tests passed. Html Report (VSDrops) Download
✅ linker (macOS): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (tvOS): All 31 tests passed. Html Report (VSDrops) Download
✅ monotouch (iOS): All 27 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 31 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 24 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ monotouch (tvOS): All 27 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ windows: All 3 tests passed. Html Report (VSDrops) 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. [attempt 2] Html Report (VSDrops) Download

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: 7f9541d48da8f3aa2364191864bbbd2c708f9191 [PR build]

@rolfbjarne rolfbjarne merged commit 56f018b into net11.0 Jun 19, 2026
54 checks passed
@rolfbjarne rolfbjarne deleted the dev/rolf/bump-main-in-net11.0-2026-06-18 branch June 19, 2026 11:08
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.

5 participants