[FSKit] Update bindings up to Xcode 27.0 Beta 5 - #26433
Conversation
Add the FSVolumeCommonOperations protocol and move the shared volume lifecycle properties and callbacks to it, matching the Xcode 27 beta 5 header. Update FSVolumeHandler to inherit the common protocol, use the renamed activation selectors, and reuse identical callback delegate signatures for redeclared common operations. Match the readonly mount-option APIs and macOS 26.4 availability, remove the resolved xtro todo, refresh the Cecil documentation baseline, and suppress the two intentional preview API setter removals. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 74881862-20a2-4b86-a504-66105e623682
There was a problem hiding this comment.
Pull request overview
Updates the FSKit bindings to align with Xcode 27.0 Beta 5, including protocol refactoring for shared volume lifecycle APIs and corresponding baseline/test-data refreshes.
Changes:
- Introduces
FSVolumeCommonOperationsand moves shared volume lifecycle members fromFSVolumeOperations/FSVolumeHandlerinto the common protocol, including renamed activation selectors. - Updates mount-option APIs to match beta 5 (readonly +
macOS 26.4availability) and adjusts delegate/signature usage accordingly. - Refreshes APICompat suppressions and removes the resolved FSKit xtro todo entry; updates Cecil documentation known-failures list.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| tools/apidiff/suppression-files/macOS.xml | Adds APICompat suppressions for the intentional removal of two preview setters. |
| tests/xtro-sharpie/api-annotations-dotnet/macOS-FSKit.todo | Removes resolved xtro todo entries now that FSKit bindings match the SDK. |
| tests/cecil-tests/Documentation.KnownFailures.txt | Updates known-failures list to reflect the new IFSVolumeCommonOperations surface and signature adjustments. |
| src/fskit.cs | Refactors FSKit volume protocols by introducing FSVolumeCommonOperations, updating FSVolumeHandler inheritance/selectors, and adjusting mount options availability/readonly semantics. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Add path-independent APICompat suppressions for the Xcode 27 preview delegate removals and the two readonly property changes. Document why the suppressions must omit assembly paths so they apply to both stable-package and PR-to-base comparisons. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 74881862-20a2-4b86-a504-66105e623682
This comment has been minimized.
This comment has been minimized.
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
This comment has been minimized.
This comment has been minimized.
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
✅ 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 |
|
/azp run xamarin-macios-sim-pr-tests |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
|
/azp run xamarin-macios-sim-pr-tests |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
|
/azp run xamarin-macios-sim-pr-tests |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
|
/azp run xamarin-macios-sim-pr-tests |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
|
/azp run xamarin-macios-sim-pr-tests |
This comment has been minimized.
This comment has been minimized.
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
/azp run xamarin-macios-sim-pr-tests |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
This comment has been minimized.
This comment has been minimized.
|
/azp run xamarin-macios-sim-pr-tests |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
🚀 [CI Build #d0131c2] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 196 tests passed 🎉 Tests counts✅ 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 |
Summary
FSVolumeCommonOperationsand move shared volume lifecycle APIs to the common protocol.FSVolumeHandlerto inherit the common protocol and bind the renamed activation selectors.Compatibility
The SDK change intentionally removes two preview setters from
IFSVolumeOperationsand three beta-only handler delegate types superseded by the common operation delegates. APICompat suppressions are limited to those five preview removals and apply to both stable-package and PR-to-base comparisons.Validation
make worldbefore and after the binding changesxcode27.0API comparison: passed on all platformsCLLocationButtonctor coverage; all 14 non-ctor fixtures passed separatelyIFSVolumeHandler.Mountis unambiguous