[CoreMedia] Update bindings up to Xcode 27.0 Beta 3 - #26121
Conversation
Bind the new Apple Log 2 transfer function, MacRoman and ISO Latin 1 metadata base data types, and the SMPTE 2094-50 metadata identifier across iOS, tvOS, macOS, and Mac Catalyst. Append the new smart-enum values to preserve existing managed ordinals and binary compatibility. Keep the related conforming-data constant in the shared xtro ignore list with its intentionally unbound family, remove the resolved platform todo files, and refresh the Cecil documentation baseline. Validation: - make world - clean xtro generation, classification, and sanity - clean Cecil test suite - iOS, tvOS, macOS, and Mac Catalyst introspection - filtered AppSizeTest suite Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8281873d-a780-4257-aaae-6f9a597a1d88
There was a problem hiding this comment.
Pull request overview
Updates the CoreMedia bindings and related test baselines to match new symbols in Xcode 27.0 Beta 3, ensuring the managed API surface stays current while preserving smart-enum ordinal stability across Apple platforms.
Changes:
- Added new CoreMedia smart-enum members for Apple Log 2, MacRoman/ISO Latin 1 metadata base data types, and the SMPTE 2094-50 metadata identifier with iOS/tvOS/macOS/Mac Catalyst 27.0 availability.
- Moved
kCMMetadataDataType_QuickTimeMetadataSMPTE2094_50into the shared CoreMedia xtro ignore list alongside the intentionally unboundkCMMetadataDataType_*family, and removed now-resolved per-platform CoreMedia.todofiles. - Refreshed the Cecil documentation known-failures baseline for the newly introduced fields.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/coremedia.cs | Adds new CoreMedia smart-enum members with 27.0 availability, appended to preserve existing ordinals. |
| tests/xtro-sharpie/api-annotations-dotnet/common-CoreMedia.ignore | Documents intentional unbinding and adds the SMPTE2094-50 QuickTime metadata data type to the shared ignore list. |
| tests/cecil-tests/Documentation.KnownFailures.txt | Adds documentation known-failure entries for the new CoreMedia fields. |
| tests/xtro-sharpie/api-annotations-dotnet/iOS-CoreMedia.todo | Removes resolved CoreMedia missing-field entries (file deleted). |
| tests/xtro-sharpie/api-annotations-dotnet/tvOS-CoreMedia.todo | Removes resolved CoreMedia missing-field entries (file deleted). |
| tests/xtro-sharpie/api-annotations-dotnet/macOS-CoreMedia.todo | Removes resolved CoreMedia missing-field entries (file deleted). |
| tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-CoreMedia.todo | Removes resolved CoreMedia missing-field entries (file deleted). |
✅ 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 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
🚀 [CI Build #6e72015] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 191 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
kCMMetadataDataType_QuickTimeMetadataSMPTE2094_50in the shared xtro ignore list with the intentionally unboundkCMMetadataDataType_*family and registry APIs.API updates
CMFormatDescriptionLogTransferFunction.AppleLog2CMMetadataBaseDataType.MacRomanCMMetadataBaseDataType.IsoLatin1CMMetadataIdentifier.ITUT_T35MetadataSMPTE2094_50All new managed members are available on iOS 27.0, tvOS 27.0, macOS 27.0, and Mac Catalyst 27.0.
Validation
make worldAppSizeTest: 0 failed, 16 expected beta-Xcode skips