Repository navigation
Conversation
Add the sign-language accessibility media characteristic as a new smart-enum value without changing existing values. Use 27.2 introduction versions on iOS, tvOS, macOS and Mac Catalyst as requested. Document its accessibility meaning. Deprecate DetectsCustomRoutes on both iOS and Mac Catalyst 27.2 in favor of AVSystemRouting. Remove all four resolved AVFoundation xtro todo files after all-platform classification passes. The user-directed availability amendment sets only metadata introduced by this commit to 27.2, including the tvOS field introduction and both deprecation versions. It supersedes earlier SDK-derived 27.0/27.1 values without modifying pre-existing availability attributes. Reviewed with GPT-6.1 Sol (max), Claude Sonnet 5.5 (max), Gemini 4 Argon (high), and Grok 4.7 (xhigh), including a fresh scope review for the amendment. The revised tree was rebuilt and installed with make world; clean xtro sanity and cecil passed (124 passed, 4 skipped). Full introspection passed on iOS 27.2 (43), tvOS 27.2 (42), and macOS (32). All 15 isolated Mac Catalyst fixtures/safe constructor checks passed (38 tests). Full Mac Catalyst introspection remains blocked by an unrelated CLLocationButton TCC privacy abort, previously reproduced after another make world; no test exclusions were added. Desktop 27.2-only checks remain gated on the macOS 27.0.1 host. The clean app-size run skipped all 16 cases under the existing fixture ignore. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Expose AVCaptureDeviceDescriptor, AVCaptureDeviceDirectionMap, AVCaptureDeviceDirectionCoordinator, and the coordinator change-handler delegate on Mac Catalyst 27.2 as requested. Preserve the pre-existing iOS 27.1 availability, macOS/tvOS exclusions, existing selectors, nullability, and strongly typed capture-device/media-type conversions. Remove the Mac Catalyst AVKit todo after fresh classification resolves all three missing types and nine selectors. No manual bindings or test suppressions are introduced. The user-directed availability amendment updates only the four Mac Catalyst attributes added by this commit from 27.1 to 27.2. The existing iOS 27.1 annotations predate this work and are intentionally unchanged. All four requested model reviews approved the bindings and the scoped amendment: GPT-6.1 Sol max, Claude Sonnet 5.5 max, Gemini 4 Argon high, and Grok 4.7 xhigh. The revised tree was validated with make world, clean all-platform xtro sanity, cecil (124 passed, 4 skipped), and sequential full introspection on iOS 27.2 (43 passed), tvOS 27.2 (42 passed), and macOS (32 passed). All 15 isolated Mac Catalyst fixtures/safe constructor checks passed (38 tests), while the full suite remains blocked by the confirmed unrelated CLLocationButton TCC abort. Catalyst 27.2-only runtime checks are gated on this host with iOSSupportVersion 27.0; do not interpret filtered passes as validation of those unavailable symbols. The clean app-size run skipped all 16 cases under its existing fixture ignore. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bind the expanded-interface tracking-authorization request on iOS and Mac Catalyst 27.2 without changing the existing request overload. Preserve the optional additional-information action and required authorization-status completion, and generate the Task-based overload from the final completion block. Exclude macOS and tvOS as declared by the SDK. Document both callback and async APIs, including the usage-description requirement and NotDetermined completion when additional information is selected without recording an authorization decision. Verify generated nullable-action marshaling and Task<ATTrackingManagerAuthorizationStatus> signatures, and remove both resolved xtro todo files. Reviewed with GPT-6.1 Sol max, Claude Sonnet 5.5 max, Gemini 4 Argon high, and Grok 4.7 xhigh. Validation: make world, fresh all-platform xtro sanity, cecil (124 passed, 4 skipped), full sequential iOS 27.2/tvOS 27.2/macOS introspection (43/42/32 passed), and 15 isolated Mac Catalyst fixtures/safe constructor checks (38 passed). Full Catalyst introspection remains blocked by the unrelated CLLocationButton TCC privacy abort; Catalyst 27.2 symbols are gated on host iOSSupportVersion 27.0. No authorization prompt was invoked and no test exclusions were added. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bind ASAuthorizationProviderExtensionLoginConfiguration.ServerNonceExpirationTime on macOS 27.2. Preserve the native non-null NSNumber object contract and copy ownership without guessing numeric units or a scalar representation. Inherit the existing iOS, tvOS, and Mac Catalyst exclusions and document the property. Remove the macOS AuthenticationServices todo after fresh xtro resolves both getter and setter selectors. Verify the generated property carries macos27.2 plus all inherited platform exclusions. All four requested model reviews approved the change. Validation: make world; fresh all-platform xtro sanity; cecil (124 passed, 4 skipped); sequential full iOS 27.2, tvOS 27.2 and macOS introspection (43/42/32 passed); isolated Mac Catalyst regression fixtures (38 passed). This macOS-only 27.2 property cannot be runtime-validated on the macOS 27.0.1 host, and mobile runs are regression coverage only. Full Catalyst introspection is independently blocked by the confirmed CLLocationButton TCC abort. No test suppressions or manual bindings were added. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add BASizeCalculationMethod with native signed NSInteger backing and Logical/Allocated values. Bind BAAssetPackManager.GetLocalVersion with a native-sized signed result and nullable NSError output, preserving the native -1 error sentinel. Bind GetLocalSize with a named completion delegate carrying the signed 64-bit installation size and nullable error, and generate the Task<long> overload with standard NSErrorException propagation. Document the enum, delegate, methods and async result. Apply iOS, tvOS, macOS and Mac Catalyst 27.2 availability to each new surface. Remove all four todo files after all 12 entries are resolved. Approved by all four requested model/reasoning reviews. Validation: make world; fresh all-platform xtro sanity; cecil (124 passed, 4 skipped); full sequential iOS 27.2/tvOS 27.2/macOS introspection (43/42/32 passed). All 15 isolated Catalyst fixtures/safe constructor checks passed (38 tests); one launch was killed before test execution and recovered after another make world plus clean test build, with signing verified. Full Catalyst remains blocked by the independent CLLocationButton TCC abort. New desktop 27.2 APIs are gated on this older host; no test exclusions were introduced. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bind CIRawFilter.DownloadAllResources as a class method on iOS, tvOS, macOS and Mac Catalyst 27.2. Preserve the non-null NSProgress return, double timeout, required completion block and nullable NSError callback using the existing shared completion delegate. Generate Task-based overloads with and without an out NSProgress result. Document the callback queue, timeout units, cancellation/progress tracking, and both async shapes using XmlDocsWithOutParameter; cecil documentation passes without expanding the known-failures baseline. Remove all four resolved CoreImage todo files after fresh classification. Reviewed with GPT-6.1 Sol max, Claude Sonnet 5.5 max, Gemini 4 Argon high, and Grok 4.7 xhigh; verified the generator documentation option against its implementation and existing Cinematic bindings. Validation: make world; fresh all-platform xtro sanity; cecil (124 passed, 4 skipped); sequential full iOS 27.2/tvOS 27.2/macOS introspection (43/42/32 passed) and isolated Catalyst checks (38 passed). Desktop 27.2 checks are gated on the older host; full Catalyst remains blocked by the independent CLLocationButton TCC abort. No downloads were initiated and no test exclusions were added. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Expose CMMotionManager.AuthorizationStatus as the native read-only class property on iOS and Mac Catalyst 27.2, using the existing signed CMAuthorizationStatus enum. Keep the getter unavailable on tvOS and macOS and preserve all existing motion APIs. Document the new member and update the directly related CMMotionManager type remarks, which previously said no authorization-status API existed. Keep the legacy query example for older systems. Remove both todo files after fresh classification resolves their sole selectors. All four requested model reviews completed. Validation: make world; fresh all-platform xtro sanity; cecil (124 passed, 4 skipped, including docs and cref checks); sequential full iOS 27.2/tvOS 27.2/macOS introspection (43/42/32 passed); isolated Mac Catalyst fixtures/safe constructor checks (38 passed). Only the iOS 27.2 runtime exercises this new selector locally: Catalyst 27.2 is gated on host support version 27.0, and full Catalyst introspection remains independently blocked by the CLLocationButton TCC abort. No test exclusions or manual bindings were added. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add HKHeartRateRecoveryTestType.StepTest with native value 4, preserving the signed native enum and existing values 1 through 3. Document that the step-test protocol predicts heart rate recovery. Apply the member-specific iOS, macOS and Mac Catalyst 27.2 introduction versions from HKMetadataEnums.h, because the generated Sharpie enum omits per-member availability. Keep tvOS excluded through the parent enum. Confirm generated bindings retain the summary, value and all three supported-platform versions, and delete the three resolved todo files. All four requested model reviews approved the change. Validation: make world; fresh xtro classification/sanity on the affected platforms; cecil (124 passed, 4 skipped); sequential full iOS 27.2/tvOS 27.2/macOS introspection regression runs (43/42/32 passed) and isolated Mac Catalyst checks (38 passed). The numeric value and metadata are validated statically, not by a new native operation. Desktop 27.2 runtime gating and the independent Catalyst CLLocationButton TCC full-suite blocker remain disclosed. No manual wrapper or test exclusions were added. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Bind SWCollaborationView.ShowsParticipantCount as the native read/write BOOL property on iOS, macOS and Mac Catalyst 27.2, inheriting the existing tvOS exclusion. Document that it controls the collaboration button participant-count display and defaults to true. Preserve the native getter showsParticipantCount and setter setShowsParticipantCount: without custom getter naming or manual wrappers. Remove the three todo files after fresh xtro classification resolves all six selectors. Approved by all four requested model/reasoning reviews. Validation: make world; fresh all-platform xtro sanity; cecil (124 passed, 4 skipped); sequential full iOS 27.2/tvOS 27.2/macOS introspection (43/42/32 passed) and isolated Mac Catalyst fixtures/safe constructor checks (38 passed). The new selector is runtime-checked on the iOS 27.2 simulator; desktop 27.2 APIs are gated on this older host, and full Catalyst introspection remains independently blocked by the CLLocationButton TCC privacy abort. No test suppressions were added. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Expose the existing arrangement, split/overlay arrangement, hinge, reserved-region, vertical-bar, bar-axis and camera-scene APIs on tvOS and Mac Catalyst 27.2 as requested. Update all 36 relevant availability sites, including the hinge callback dependency, while preserving their pre-existing iOS 27.1 annotations, existing signatures and numeric enum values. Preserve the six native per-value tvOS exclusions rather than excluding entire enums. Add UINavigationItemTitleAlignment, UITraitNavigationTitleAlignment and UITraitCollection.NavigationTitleAlignment on iOS, tvOS and Mac Catalyst 27.2. Bind UINavigationItem.TitleAlignment only on iOS and Mac Catalyst. Add the two default-extent UIViewLayoutRegion bar factories on iOS 27.2 only: the tvOS and Catalyst SDK headers physically omit those declarations despite the iOS availability macro. Retain the existing extent-taking factories at iOS 27.1 and expose them on tvOS and Mac Catalyst 27.2. Keep the actual systemTraitsAffectingVerticalBarEdge selector; xtro category normalization explains the apparent UITraitCollectionEdge name in its todo rather than requiring a phantom native selector. Document all new explicit APIs and add only the four inherited UITraitNavigationTitleAlignment static properties to the existing UIKit documentation baseline. Fresh xtro resolves all 199 UIKit entries and deletes all three todo files, completing all 248 original entries across ten frameworks. The user-directed availability amendment changes only the 72 tvOS/Mac Catalyst version tokens introduced by this commit from 27.1 to 27.2. The preserved iOS 27.1 metadata predates this work; no attributes in earlier commits are changed. All four requested model/reasoning reviews approved the binding matrix, completeness and scoped amendment. The revised tree was validated with make world, clean all-platform xtro sanity, clean cecil (124 passed, 4 skipped), sequential full iOS 27.2/tvOS 27.2/macOS introspection (43/42/32 passed), and all 15 isolated Catalyst fixture/safe constructor checks (38 passed). New Catalyst 27.2 APIs remain gated on host support version 27.0; full Catalyst introspection is independently blocked by the confirmed CLLocationButton TCC abort. No runtime test suppressions or manual bindings were added. The clean app-size run skipped all 16 cases under its existing fixture ignore. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🔵 Needs a closer look
Native bindings and expanded platform availability require Xcode 27.2 SDK, runtime, and CI validation before human approval.
No open issues 🎉
What changed in this PR
Updates the .NET 10 Apple platform baseline to Xcode 27.2 Beta 3 and adds corresponding API bindings.
Changes:
- Updates Xcode provisioning, package versions, and supported platform versions.
- Adds new APIs and expands platform availability.
- Updates documentation and documentation-test expectations.
| File | Description |
|---|---|
| tools/devops/automation/templates/variables/common.yml | Selects the Beta Xcode channel. |
| tools/common/SdkVersions.cs | Updates SDK and deployment version constants. |
| tests/cecil-tests/Documentation.KnownFailures.txt | Adds new trait documentation exceptions. |
| src/UIKit/UIEnums.cs | Adds title alignment and expands availability. |
| src/uikit.cs | Adds UIKit bindings and expands availability. |
| src/sharedwithyou.cs | Adds participant-count visibility control. |
| src/HealthKit/Enums.cs | Adds the StepTest value. |
| src/coremotion.cs | Exposes motion authorization status. |
| src/coreimage.cs | Adds bulk RAW resource downloading. |
| src/backgroundassets.cs | Adds local asset version and size queries. |
| src/avkit.cs | Expands capture API availability to Mac Catalyst. |
| src/avfoundation.cs | Adds a media characteristic and deprecation annotations. |
| src/authenticationservices.cs | Adds server nonce expiration configuration. |
| src/apptrackingtransparency.cs | Adds expanded tracking authorization options. |
| Make.versions | Updates platform package versions. |
| Make.config | Updates Xcode provisioning and build baselines. |
| docs/api/CoreMotion/CMMotionManager.xml | Documents authorization-status availability. |
| builds/Versions-tvOS.plist.in | Adds tvOS 27.2 support metadata. |
| builds/Versions-macOS.plist.in | Adds macOS 27.2 support metadata. |
| builds/Versions-MacCatalyst.plist.in | Adds Mac Catalyst 27.2 support and mapping. |
| builds/Versions-iOS.plist.in | Adds iOS 27.2 support metadata. |
Review effort: Balanced
|
Warning: The system requirements for the hash to compare against (f03b497�(B) are different than for the current hash. Skipping API/generator comparison.�(B ✅ API diff vs stableNET (empty diffs)Pipeline on Agent |
🔥 [CI Build #1f31fc2] Test results 🔥Test results❌ Tests failed on VSTS: test results 0 tests crashed, 3 tests failed, 199 tests passed. Failures❌ introspection tests2 tests failed, 4 tests passed.Failed tests
Html Report (VSDrops) Download ❌ monotouch tests (iOS)1 tests failed, 18 tests passed.Failed tests
Html Report (VSDrops) Download Successes✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
|
Is the idea to keep this PR open until Xcode 27.2 becomes stable, and then merge it? |
Preview PR for review, commit by commit