[xcode26.4] Merge remote-tracking branch main into xcode26.4#24910
[xcode26.4] Merge remote-tracking branch main into xcode26.4#24910
Conversation
This pull request updates the following dependencies ## From https://github.com/dotnet/dotnet - **Subscription**: [30303172-6f12-44a9-887a-ea8520fce068](https://maestro.dot.net/subscriptions?search=30303172-6f12-44a9-887a-ea8520fce068) - **Build**: [20260311.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2923915) ([305713](https://maestro.dot.net/channel/9626/github:dotnet:dotnet/build/305713)) - **Date Produced**: March 11, 2026 12:48:21 PM UTC - **Commit**: [6eb2f3d82a8f1298c6e9e5f7f23482656ba25d04](dotnet/dotnet@6eb2f3d) - **Branch**: [release/10.0.3xx](https://github.com/dotnet/dotnet/tree/release/10.0.3xx) - **Dependency Updates**: - From [10.0.0-beta.26160.113 to 10.0.0-beta.26161.103][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.SharedFramework.Sdk - From [10.0.300-preview.26160.113 to 10.0.300-preview.0.26161.103][1] - Microsoft.NET.Sdk - From [10.0.300-preview.26160.113 to 10.0.300-preview.26161.103][1] - Microsoft.TemplateEngine.Authoring.Tasks [1]: dotnet/dotnet@37ac471...6eb2f3d
…NSObject type has been loaded. (#24875) The GC calls 'is_class_finalization_aware', and this might happen before the managed NSObject type has been loaded, so make sure the method copes with this scenario. This becomes more frequent with 'dotnet watch' / Hot Reload, because these features run code before Runtime.Initialize, also making it more probable that a GC will happen that early.
…source header (#24883) Add a new --deepsplit CLI option that generates one .cs file per source header instead of a single ApiDefinition.cs. This makes it easier to navigate large framework bindings and map generated C# types back to their original Objective-C headers. The implementation adds a DeepSplitMassager that extracts the source header filename from each declaration's Clang annotation via Cursor.TryGetPresumedLoc, creates a DocumentSyntaxTree per unique header basename, and distributes declarations accordingly. Struct and enum declarations are consolidated in StructsAndEnums.cs. Declarations without source location info fall back to ApiDefinition.cs. Example: binding FBSDKCoreKit with --deepsplit produces 194 files (FBSDKAccessToken.cs, FBSDKGraphRequest.cs, etc.) instead of a single 7,688-line ApiDefinition.cs. Fixes #23024. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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**: [20260311.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2924125) ([305731](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/305731)) - **Date Produced**: March 11, 2026 4:30:21 PM UTC - **Commit**: [2ceb56d52379a8f2a684bbb7a90436aa401a7420](dotnet/xharness@2ceb56d) - **Branch**: [main](https://github.com/dotnet/xharness/tree/main) - **Dependency Updates**: - From [11.0.0-prerelease.26160.2 to 11.0.0-prerelease.26161.3][1] - Microsoft.DotNet.XHarness.iOS.Shared [1]: dotnet/xharness@c32a777...2ceb56d
* Improve nullability annotations for FromArrayNative<T> (accept NSArray?, return T[]?). * Rewrite FromArrayNative<T> to use ArrayFromHandleDropNullElements. * Update CAKeyFrameAnimation.GetValuesAs to return T[]?. * Fix SecSharedCredential.RequestSharedWebCredential to handle nullability correctly. * Update XML docs for SecSharedCredential.RequestSharedWebCredential. * Add tests for SecSharedCredential.RequestSharedWebCredential. Contributes towards #17285. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…workflow (#24876) Add workflow_dispatch trigger so the workflow can be run manually from the GitHub Actions UI on any branch, including PR branches. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fix a couple of places where transient strings weren't disposed. And to make sure this doesn't happen again, add a new Roslyn analyzer (RBI0042) that reports an error when transient strings are declared as local variables without the 'using' keyword. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…1: Build ID 13567384 (#24901) 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**: [20260316.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2928089) ([306403](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/306403)) - **Date Produced**: March 16, 2026 10:28:21 PM UTC - **Commit**: [581c6a9cd9ad947ab638bd1c81557e5eb9f0b89d](dotnet/xharness@581c6a9) - **Branch**: [main](https://github.com/dotnet/xharness/tree/main) - **Dependency Updates**: - From [11.0.0-prerelease.26164.3 to 11.0.0-prerelease.26166.1][1] - Microsoft.DotNet.XHarness.iOS.Shared [1]: dotnet/xharness@6fe0045...581c6a9
This pull request updates the following dependencies ## From https://github.com/dotnet/dotnet - **Subscription**: [30303172-6f12-44a9-887a-ea8520fce068](https://maestro.dot.net/subscriptions?search=30303172-6f12-44a9-887a-ea8520fce068) - **Build**: [20260316.9](https://dev.azure.com/dnceng/internal/_build/results?buildId=2928041) ([306420](https://maestro.dot.net/channel/9626/github:dotnet:dotnet/build/306420)) - **Date Produced**: March 17, 2026 12:07:37 AM UTC - **Commit**: [e116d98b2087d751e7a13818cb2c14ea64af3ba3](dotnet/dotnet@e116d98) - **Branch**: [release/10.0.3xx](https://github.com/dotnet/dotnet/tree/release/10.0.3xx) - **Dependency Updates**: - From [10.0.0-beta.26165.106 to 10.0.0-beta.26166.109][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.SharedFramework.Sdk - From [10.0.300-preview.0.26165.106 to 10.0.300-preview.0.26166.109][1] - Microsoft.NET.Sdk - From [10.0.300-preview.26165.106 to 10.0.300-preview.26166.109][1] - Microsoft.TemplateEngine.Authoring.Tasks [1]: dotnet/dotnet@695853e...e116d98
) * Improve nullability annotations for ArrayFromHandleFunc<T> (return T?[]?). * Add an ArrayFromHandleDropNullElements overload with Converter and NSNullBehavior parameters. * Update DictionaryContainer.GetArray and GetArrayOfDictionariesValue to use ArrayFromHandleDropNullElements. * Update NSUrlSessionConfiguration.ProxyConfigurations to use NonNullArrayFromHandleDropNullElements. * Update PdfAnnotation.QuadrilateralPoints to return CGPoint[]? and use ArrayFromHandle. * Update XML docs for ArrayFromHandleFunc, ProxyConfigurations and QuadrilateralPoints. Contributes towards #17285. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…kefile fragments for csproj anymore. (#24890) There's no need, because just running 'dotnet' runs our local .NET now.
) Parallel make (e.g. 'make all -j8', 'make world') has been hanging for a while at the end of the build. This is a long-standing issue (#13355) that has been patched three times (#15407, #21315, #22300) without fully fixing the root cause. The problem: when using parallel make, GNU Make uses a jobserver with pipe-based file descriptors to coordinate sub-makes. The dotnet CLI can start background build servers (MSBuild server, Roslyn/VBCSCompiler) that inherit these file descriptors but never close them. Make then waits for those file descriptors to close (which won't happen until the servers exit - which they typically do about 10 minutes without activity), thinking there are still active jobs. The previous workaround attempted to shut down and force-kill dotnet processes after the build via a 'shutdown-build-server' target. This approach was unreliable because: - The shutdown ran from a double-colon all-hook:: rule with no prerequisites, so with -j it could execute in parallel with (or before) the actual build, killing nothing. - Build servers started by later subdirectories (e.g. tests/) after the dotnet/ shutdown were never killed. - The process-matching regex pattern might not match all server processes. Ideally this would be fixed in when launching the build servers, by making them not inherit handles. Unfortunately this is currently not possible: dotnet/runtime#13943 (although this might change in a not so distant future: dotnet/runtime#123959) The workaround: disable build servers entirely via environment variables in Make.config: - DOTNET_CLI_USE_MSBUILD_SERVER=0: prevents the MSBuild server https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-server https://github.com/dotnet/msbuild/blob/main/documentation/MSBuild-Server.md - UseSharedCompilation=false: prevents the Roslyn compiler server (VBCSCompiler) dotnet/roslyn#27975 - MSBUILDDISABLENODEREUSE=1: prevents MSBuild node reuse https://github.com/dotnet/msbuild/wiki/MSBuild-Tips-&-Tricks This eliminates the root cause - no background servers means no inherited file descriptors means no hang. The shutdown-build-server target and its invocations are removed as they are no longer needed. Additionally, 'make world' now prints the installed workloads at the end of the build for visibility. Build without changes: > make world 2149.57s user 258.32s system 107% cpu 37:30.19 total Build with changes: > make world 2242.74s user 286.38s system 354% cpu 11:52.55 total Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
✅ [PR Build #7afea30] Build passed (Detect API changes) ✅Pipeline on Agent |
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
✅ [CI Build #7afea30] Build passed (Build packages) ✅Pipeline on Agent |
✅ [CI Build #7afea30] Build passed (Build macOS tests) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
🔥 [CI Build #7afea30] Test results 🔥Test results❌ Tests failed on VSTS: test results 1 tests crashed, 0 tests failed, 155 tests passed. Failures❌ 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 macOS tests✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
No description provided.