[release/10.0.1xx] Merge remote-tracking branch main into release/10.0.1xx#25047
[release/10.0.1xx] Merge remote-tracking branch main into release/10.0.1xx#25047dalexsoto merged 347 commits intorelease/10.0.1xxfrom
Conversation
* Enable nullability (#nullable enable).
* Add nullable annotations (EventHandler?, UIControl?) for fields that can be null after Dispose.
* Use inline 'out var' declarations for TryGetValue calls.
* Improve XML documentation comments: remove 'To be added.' placeholders, fix typos ('oN' -> 'on'), fix grammar ('The value has changed' -> 'Raised when the value has changed'), add 'see cref' references to UIControlEvent enum values and methods, remove extra whitespace, fix incomplete sentences, remove empty remarks elements.
Contributes towards #17285.
---------
Co-authored-by: Copilot <copilot@github.com>
This pull request updates the following dependencies ## From https://github.com/dotnet/macios - **Subscription**: [c0371266-dd6f-4959-822b-decc72d2d668](https://maestro.dot.net/subscriptions?search=c0371266-dd6f-4959-822b-decc72d2d668) - **Build**: [20260203.16](https://dev.azure.com/devdiv/DevDiv/_build/results?buildId=13228387) ([300108](https://maestro.dot.net/channel/3884/github:dotnet:macios/build/300108)) - **Date Produced**: February 3, 2026 9:39:55 PM UTC - **Commit**: [a95a445](a95a445) - **Branch**: [release/9.0.1xx](https://github.com/dotnet/macios/tree/release/9.0.1xx) - **Dependency Updates**: - From [26.0.9785 to 26.0.9786][1] - Microsoft.iOS.Sdk.net9.0_26.0 - Microsoft.MacCatalyst.Sdk.net9.0_26.0 - Microsoft.macOS.Sdk.net9.0_26.0 - Microsoft.tvOS.Sdk.net9.0_26.0 [1]: 6406450...a95a445
The api-diff pipeline is triggered via ResourceTrigger, so BUILD_REASON is not PullRequest and PR metadata may be absent. The configure step in VSTS.psm1 treated some runs as PR builds using BuildReason and a branch check, then unconditionally called GitHub PR APIs, which failed when no PR id was resolved. Align PR detection with parse_pr_labels.ps1: use the parent build reason (fallback to current BUILD_REASON) and only treat Manual/IndividualCI builds as PRs when the parent branch name is 'merge'. This avoids misclassifying pipeline-triggered CI runs, prevents empty ChangeId lookups, and keeps CI behavior (tags/labels) consistent with the intended non‑PR path.
This pull request updates the following dependencies ## From https://github.com/dotnet/dotnet - **Subscription**: [5d99045a-81d4-48fe-aebf-cf1c5a46584b](https://maestro.dot.net/subscriptions?search=5d99045a-81d4-48fe-aebf-cf1c5a46584b) - **Build**: [20260204.4](https://dev.azure.com/dnceng/internal/_build/results?buildId=2895321) ([300231](https://maestro.dot.net/channel/8856/github:dotnet:dotnet/build/300231)) - **Date Produced**: February 4, 2026 2:43:43 PM UTC - **Commit**: [20147765f76aa0f620a8759e7365cab61a47f03d](dotnet/dotnet@2014776) - **Branch**: [release/10.0.2xx](https://github.com/dotnet/dotnet/tree/release/10.0.2xx) - **Dependency Updates**: - From [10.0.0-beta.26102.104 to 10.0.0-beta.26104.104][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.SharedFramework.Sdk - From [10.0.200-preview.0.26102.104 to 10.0.200-preview.0.26104.104][1] - Microsoft.NET.Sdk - From [10.0.200-preview.26102.104 to 10.0.200-preview.26104.104][1] - Microsoft.TemplateEngine.Authoring.Tasks [1]: dotnet/dotnet@c719613...2014776
…ng a system .NET. (#24631) This means we need to improve our installation code to work on Windows. This fixes a problem where we're unable to sign our .NET 11 builds, because part of the signing code requires .NET 11, but there's no .NET 11 that UseDotNet@2 task can install yet (because the UseDotNet@2 task can apparently only install published builds). So instead always use our local version of .NET.
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**: [20260205.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2896253) ([300412](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/300412)) - **Date Produced**: February 5, 2026 11:03:49 AM UTC - **Commit**: [bfbac237157e59cdbd19334325b2af80bd6e9828](dotnet/xharness@bfbac23) - **Branch**: [main](https://github.com/dotnet/xharness/tree/main) - **Dependency Updates**: - From [11.0.0-prerelease.26064.3 to 11.0.0-prerelease.26105.1][1] - Microsoft.DotNet.XHarness.iOS.Shared [1]: dotnet/xharness@31e0b8e...bfbac23
…n all platforms. (#24636) It shows up in desktop provisioning profiles, so it's not only allowed on mobile platforms.
This is file 10 of 30 files with nullability disabled in UIKit. * Enable nullability (#nullable enable). * Remove redundant [SupportedOSPlatform] attributes (groups of 3 without version numbers and no [UnsupportedOSPlatform] or [ObsoletedOSPlatform] attributes). * Add nullable annotations (string?, NSString?, NSCharacterSet?, UIFontTraits?, NSDictionary[]?, UIFontDescriptor[]?). * Inline XML documentation from external files (UIFontAttributes.xml, UIFontDescriptor.xml) and remove inlined entries. * Delete docs/api/UIKit/UIFontAttributes.xml (all content inlined). * Improve XML documentation comments: remove 'To be added.' placeholders, fix formatting, add missing docs, add 'see cref' references, remove empty <value> and <remarks> elements, remove duplicate <remarks> elements, fix element ordering. * Add more unit tests. Contributes towards #17285. --------- Co-authored-by: GitHub Copilot <noreply@github.com>
* Enable nullability. * Call the equivalent CFArray.StringArrayFromHandle to reuse existing (and faster) code. * Since a better alternative exists (CFArray.StringArrayFromHandle), remove this method in XAMCORE_5_0. Contributes towards #17285.
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**: [20260207.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2898171) ([300760](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/300760)) - **Date Produced**: February 8, 2026 12:45:20 AM UTC - **Commit**: [bfbac237157e59cdbd19334325b2af80bd6e9828](dotnet/xharness@bfbac23) - **Branch**: [main](https://github.com/dotnet/xharness/tree/main) - **Dependency Updates**: - From [11.0.0-prerelease.26105.1 to 11.0.0-prerelease.26107.1][1] - Microsoft.DotNet.XHarness.iOS.Shared [1]: dotnet/xharness@bfbac23...bfbac23
This is file 9 of 30 files with nullability disabled in UIKit. * Enable nullability (#nullable enable). * Add nullable return types (UIFont?) for methods that can return null. * Add nullable parameter types (UIFont?, object?) for equality operators and Equals. * Simplify null checks in equality operators (remove unnecessary casts). * Inline XML documentation from docs/api/UIKit/UIFont.xml include directive. * Remove inlined content from docs/api/UIKit/UIFont.xml. * Improve XML documentation comments: remove 'To be added.' placeholders, remove empty value/returns/remarks elements, fix formatting (remove extra whitespace), add proper descriptions for all parameters/returns, add 'see cref' references, add exception documentation. * Add XML documentation for UIFontWeightExtensions class and GetWeight method. Contributes towards #17285. --------- Co-authored-by: Copilot <copilot@github.com>
This pull request updates the following dependencies ## From https://github.com/dotnet/dotnet - **Subscription**: [5d99045a-81d4-48fe-aebf-cf1c5a46584b](https://maestro.dot.net/subscriptions?search=5d99045a-81d4-48fe-aebf-cf1c5a46584b) - **Build**: [20260206.2](https://dev.azure.com/dnceng/internal/_build/results?buildId=2897129) ([300611](https://maestro.dot.net/channel/8856/github:dotnet:dotnet/build/300611)) - **Date Produced**: February 6, 2026 1:53:24 PM UTC - **Commit**: [c8bc46f9ed494cfc09ab38965d72b6a29d50a90d](dotnet/dotnet@c8bc46f) - **Branch**: [release/10.0.2xx](https://github.com/dotnet/dotnet/tree/release/10.0.2xx) - **Dependency Updates**: - From [10.0.0-beta.26104.104 to 10.0.0-beta.26106.102][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.SharedFramework.Sdk - From [10.0.200-preview.0.26104.104 to 10.0.200-preview.0.26106.102][1] - Microsoft.NET.Sdk - From [10.0.200-preview.26104.104 to 10.0.200-preview.26106.102][1] - Microsoft.TemplateEngine.Authoring.Tasks [1]: dotnet/dotnet@2014776...c8bc46f
…g all packages to download. (#24647) Hopefully fixes this random build error: /Users/builder/azdo/_work/1/a/change-detection/tmp/src/macios/dotnet/package/Microsoft.tvOS.Runtime.tvos/package.csproj : error : Could not resolve SDK "Microsoft.DotNet.SharedFramework.Sdk". Exactly one of the probing messages below indicates why we could not resolve the SDK. Investigate and resolve that message to correctly specify the SDK. /Users/builder/azdo/_work/1/a/change-detection/tmp/src/macios/dotnet/package/Microsoft.tvOS.Runtime.tvos/package.csproj : error : SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" returned null. /Users/builder/azdo/_work/1/a/change-detection/tmp/src/macios/dotnet/package/Microsoft.tvOS.Runtime.tvos/package.csproj : error : Failed to resolve SDK 'Microsoft.DotNet.SharedFramework.Sdk/10.0.0-beta.26102.104'. Package restore was successful but a package with the ID of "Microsoft.DotNet.SharedFramework.Sdk" was not installed. /Users/builder/azdo/_work/1/a/change-detection/tmp/src/macios/dotnet/package/Microsoft.tvOS.Runtime.tvos/package.csproj : error MSB4236: The SDK 'Microsoft.DotNet.SharedFramework.Sdk/10.0.0-beta.26102.104' specified could not be found.
This pull request updates the following dependencies ## From https://github.com/dotnet/macios - **Subscription**: [c0371266-dd6f-4959-822b-decc72d2d668](https://maestro.dot.net/subscriptions?search=c0371266-dd6f-4959-822b-decc72d2d668) - **Build**: [20260209.3](https://dev.azure.com/devdiv/DevDiv/_build/results?buildId=13265869) ([300932](https://maestro.dot.net/channel/3884/github:dotnet:macios/build/300932)) - **Date Produced**: February 9, 2026 12:13:48 PM UTC - **Commit**: [222ab50](222ab50) - **Branch**: [release/9.0.1xx](https://github.com/dotnet/macios/tree/release/9.0.1xx) - **Dependency Updates**: - From [26.0.9786 to 26.0.9787][1] - Microsoft.iOS.Sdk.net9.0_26.0 - Microsoft.MacCatalyst.Sdk.net9.0_26.0 - Microsoft.macOS.Sdk.net9.0_26.0 - Microsoft.tvOS.Sdk.net9.0_26.0 [1]: a95a445...222ab50
This pull request updates the following dependencies ## From https://github.com/dotnet/dotnet - **Subscription**: [5d99045a-81d4-48fe-aebf-cf1c5a46584b](https://maestro.dot.net/subscriptions?search=5d99045a-81d4-48fe-aebf-cf1c5a46584b) - **Build**: [20260209.5](https://dev.azure.com/dnceng/internal/_build/results?buildId=2899328) ([301019](https://maestro.dot.net/channel/8856/github:dotnet:dotnet/build/301019)) - **Date Produced**: February 9, 2026 9:22:51 PM UTC - **Commit**: [d49805f26e70023549ead379596f94401432db49](dotnet/dotnet@d49805f) - **Branch**: [release/10.0.2xx](https://github.com/dotnet/dotnet/tree/release/10.0.2xx) - **Dependency Updates**: - From [10.0.0-beta.26106.102 to 10.0.0-beta.26109.105][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.SharedFramework.Sdk - From [10.0.200-preview.0.26106.102 to 10.0.200-preview.0.26109.105][1] - Microsoft.NET.Sdk - From [10.0.200-preview.26106.102 to 10.0.200-preview.26109.105][1] - Microsoft.TemplateEngine.Authoring.Tasks [1]: dotnet/dotnet@c8bc46f...d49805f
This is file 11 of 30 files with nullability disabled in UIKit. * Enable nullability (#nullable enable). * Add nullable annotations (UIImage?, CGContext?, NSDictionary?, CGPDFInfo?). * Fix null reference return in UIImage.Scale methods caused by nullable GetImageFromCurrentImageContext return type. * Improve XML documentation comments: remove 'To be added.' placeholders, fix formatting, add missing docs for BeginImageContextWithOptions, EndPDFContext, and other members, add 'see cref' references, remove empty <value> and <remarks> elements, fix element ordering (summary before param), correct PDF context method remarks to reference EndPDFContext instead of EndImageContext. Contributes towards #17285. --------- Co-authored-by: GitHub Copilot <noreply@github.com>
… all platforms. (#24624)
This pull request updates the following dependencies ## From https://github.com/dotnet/dotnet - **Subscription**: [5d99045a-81d4-48fe-aebf-cf1c5a46584b](https://maestro.dot.net/subscriptions?search=5d99045a-81d4-48fe-aebf-cf1c5a46584b) - **Build**: [20260210.10](https://dev.azure.com/dnceng/internal/_build/results?buildId=2900172) ([301163](https://maestro.dot.net/channel/8856/github:dotnet:dotnet/build/301163)) - **Date Produced**: February 10, 2026 4:23:15 PM UTC - **Commit**: [24f66fec875855c1e7bcddebf0703b2fcab1ee3e](dotnet/dotnet@24f66fe) - **Branch**: [release/10.0.2xx](https://github.com/dotnet/dotnet/tree/release/10.0.2xx) - **Dependency Updates**: - From [10.0.0-beta.26109.105 to 10.0.0-beta.26110.110][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.SharedFramework.Sdk - From [10.0.200-preview.0.26109.105 to 10.0.200-preview.0.26110.110][1] - Microsoft.NET.Sdk - From [10.0.200-preview.26109.105 to 10.0.200-preview.26110.110][1] - Microsoft.TemplateEngine.Authoring.Tasks [1]: dotnet/dotnet@d49805f...24f66fe
This pull request updates the following dependencies ## From https://github.com/dotnet/macios - **Subscription**: [c0371266-dd6f-4959-822b-decc72d2d668](https://maestro.dot.net/subscriptions?search=c0371266-dd6f-4959-822b-decc72d2d668) - **Build**: [20260210.6](https://dev.azure.com/devdiv/DevDiv/_build/results?buildId=13276479) ([301139](https://maestro.dot.net/channel/3884/github:dotnet:macios/build/301139)) - **Date Produced**: February 10, 2026 12:37:49 PM UTC - **Commit**: [45f29c7](45f29c7) - **Branch**: [release/9.0.1xx](https://github.com/dotnet/macios/tree/release/9.0.1xx) - **Dependency Updates**: - From [26.0.9787 to 26.0.9788][1] - Microsoft.iOS.Sdk.net9.0_26.0 - Microsoft.MacCatalyst.Sdk.net9.0_26.0 - Microsoft.macOS.Sdk.net9.0_26.0 - Microsoft.tvOS.Sdk.net9.0_26.0 [1]: 222ab50...45f29c7
…24671) This is file 12 of 30 files with nullability disabled in UIKit. * Enable nullability (#nullable enable). * Remove redundant [SupportedOSPlatform] attributes (groups of 3 without version numbers and no [UnsupportedOSPlatform] or [ObsoletedOSPlatform] attributes). * Use ArgumentNullException.ThrowIfNull() instead of manual null checks. * Add nullable annotations (NSError?). * Improve XML documentation comments: remove 'To be added.' placeholders, remove empty remarks, reorder XML elements, fix whitespace, add missing docs, simplify 'see cref' references. Contributes towards #17285. --------- Co-authored-by: GitHub Copilot <noreply@github.com>
) This is file 13 of 30 files with nullability disabled in UIKit. * Enable nullability (#nullable enable). * Remove unused 'using System.Drawing' directive. * Add nullable annotations to properties returning reference types from dictionary lookups (UIImage?, NSUrl?, PHLivePhoto?, PHAsset?, NSDictionary?, string?). * Cast delegate setters to NSObject? for nullable correctness. * Improve XML documentation comments: remove 'To be added.' placeholders, add missing docs for ReferenceUrl and PHAsset, add 'see cref' references, use 'Gets' / 'Gets or sets' consistently, fix formatting. Contributes towards #17285. --------- Co-authored-by: GitHub Copilot <noreply@github.com>
…24675) This is file 14 of 30 files with nullability disabled in UIKit. * Enable nullability (#nullable enable). * Make 'state' parameter nullable (object?) in Post and Send to match the base SynchronizationContext signature. Contributes towards #17285. --------- Co-authored-by: GitHub Copilot <noreply@github.com>
This is file 15 of 30 files with nullability disabled in UIKit. * Enable nullability (#nullable enable). * Make Equals parameter nullable (object?) to match base class signature. * Improve XML documentation comments: remove 'To be added.' placeholders, add missing docs for constructor and equality operators, add 'see cref' references, fix formatting and element order, use consistent phrasing. Contributes towards #17285. --------- Co-authored-by: GitHub Copilot <noreply@github.com>
This is file 18 of 30 files with nullability disabled in UIKit. * Enable nullability (#nullable enable). * Make PopoverBackgroundViewType nullable (Type?) since the getter can return null when no background view class is set. * Improve XML documentation comments: remove empty value element, remove 'To be added.' placeholders, use 'Gets or sets' phrasing, fix formatting. Contributes towards #17285.
This is file 17 of 30 files with nullability disabled in UIKit. * Enable nullability (#nullable enable). * Make Model property and backing field nullable (UIPickerViewModel?) since the field is null before the property is set. * Remove 'private' access modifier from field (follows codebase convention). * Improve XML documentation comments: remove 'To be added.' placeholders, use 'Gets or sets' phrasing, add 'see cref' references. Contributes towards #17285. --------- Co-authored-by: GitHub Copilot <noreply@github.com>
The dotnet/dotnet dependency update (#24989) introduced new DLLs in the tools/msbuild/net10.0/ directory of the SDK NuGet packages. These DLLs were not listed in SignList.xml, causing the 'Sign Package Contents' task to fail in the xamarin-macios-ci pipeline (build 13640795). Add 18 DLLs as Skip entries since they come pre-signed from the dotnet/dotnet unified build. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Not sure when it started working, so choosing a conservative OS version.
…#25024) Apple removed the QuotaExceeded (106) enum value from native HomeKit headers in Xcode 26.4. Since error enum members cannot have availability attributes (enforced by cecil NoAvailabilityOnError test), keep the value for backward compatibility and add platform-specific xtro ignore entries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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**: [20260325.14](https://dev.azure.com/dnceng/internal/_build/results?buildId=2935767) ([307775](https://maestro.dot.net/channel/9626/github:dotnet:dotnet/build/307775)) - **Date Produced**: March 25, 2026 9:18:24 PM UTC - **Commit**: [57e1a4aefb30d2a330b8dcbb80b2c911b081d738](dotnet/dotnet@57e1a4a) - **Branch**: [release/10.0.3xx](https://github.com/dotnet/dotnet/tree/release/10.0.3xx) - **Dependency Updates**: - From [10.0.0-beta.26174.106 to 10.0.0-beta.26175.114][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.SharedFramework.Sdk - From [10.0.300-preview.0.26174.106 to 10.0.300-preview.0.26175.114][1] - Microsoft.NET.Sdk - From [10.0.300-preview.26174.106 to 10.0.300-preview.26175.114][1] - Microsoft.TemplateEngine.Authoring.Tasks [1]: dotnet/dotnet@913bfee...57e1a4a
…y. (#25035) And fix any resulting issues.
… property with the correct implementation. (#25034) VersionTuple.IsEmpty is incorrect, so use an extension property with the correct implementation until we get the fixed version from ClangSharp.
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**: [20260323.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2933637) ([307459](https://maestro.dot.net/channel/2/github:dotnet:xharness/build/307459)) - **Date Produced**: March 24, 2026 9:15:00 AM UTC - **Commit**: [e5857fbbc3f1d39d2776af5a5e3235c9ff485afa](dotnet/xharness@e5857fb) - **Branch**: [main](https://github.com/dotnet/xharness/tree/main) - **Dependency Updates**: - From [11.0.0-prerelease.26169.1 to 11.0.0-prerelease.26173.1][1] - Microsoft.DotNet.XHarness.iOS.Shared [1]: dotnet/xharness@b0c8bf6...e5857fb
If copilot is right, the compiler will also tell us, so copilot's comment will be unnecessary noise. Which it will also be if copilot is wrong.
…ramework a type belongs to. (#25039) By default a type's namespace is the Objective-C framework it belongs to, but this isn't always right (we make mistakes, Apple can move types between frameworks, etc.), so add an attribute that can specify this if it doesn't match the namespace.
Speech is API_UNAVAILABLE(tvos) in the Xcode 26.4 SDK headers. Move the tvOS-Speech.todo entries to tvOS-Speech.ignore since these APIs are not available on tvOS. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
✅ [CI Build #1f64d34] Build passed (Build packages) ✅Pipeline on Agent |
✅ [PR Build #1f64d34] Build passed (Detect API changes) ✅Pipeline on Agent |
|
🔥 Failed to compare API and create generator diff 🔥 Error: The system requirements for the hash to compare against (6542b70) are different than for the current hash. Comparison is currently not supported in this scenario. Pipeline on Agent |
✅ [CI Build #1f64d34] Build passed (Build macOS tests) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
🚀 [CI Build #1f64d34] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 156 tests passed 🎉 Tests counts✅ cecil: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
Bring Xcode 26.4 Support into release/10.0.1xx