-
Notifications
You must be signed in to change notification settings - Fork 554
[release/10.0.1xx] Merge main into release/10.0.1xx. #24448
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[release/10.0.1xx] Merge main into release/10.0.1xx. #24448
Conversation
This is file 2 of 47 files with nullability disabled in Foundation. Also: * Remove redundant availability attributes. * Add xml docs (by Copilot). Contributes towards #17285.
…ave a managed peer yet. Fixes #24111. (#24189) Say we have: 1. A native type with an init method. 2. A managed binding for that native type, but the init method isn't bound. 3. A managed subclass of the managed binding (also without an implementation for the init method). In this case, native code can create a native instance of the subclass, but no managed code is executed, which means there won't be a corresponding managed peer either. This became a problem in our ConformsToProtocol override/implementation, because recently it changed to just return 'false' if we couldn't find a managed peer for a native instance. The fix is to create the managed instance in that case (by doing what we did before: call "Runtime.GetNSObject" on the native handle). Fixes #24111. --------- Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
This is file 3 of 47 files with nullability disabled in Foundation. Also, by Copilot: * Add missing xml comments. * Improve xml comments with proper formatting and see cref attributes. Contributes towards #17285.
…Fixes #24043. (#24181) Since this may result in unintuitive behavior (library projects are built differently than executable projects, so code that works in an executable project may not compile when moved to a library project), an escape hatch was implemented as well. One unintuitive behavior was when building an executable project with a library project from Windows: if the library project needs the remote connection, it would use a different workload, and different remote connection, than the executable project, which just wouldn't work. So we don't enable this new behavior when library projects need the remote connection (which is when bundle resources are precompiled for the library project; aka when `BundleOriginalResources=false` - note that it's enabled by default in .NET 10, so developers must opt in to run into this problem and thus not getting this new behavior). Fixes #24043. --------- Co-authored-by: GitHub Copilot <copilot@github.com> Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
…of the 'coremlc' executable. (#24193)
… are stored. Fixes #24052. (#24198) They're always stored locally. This fixes an issue when building apps with extensions from Windows. There are no tests, because there's another issue that breaks building extensions from Windows (#23516), but the customer validated that the fix works for him, and the fix also makes sense. Fixes #24052.
…ns in known failure strings. This way we don't have to update the known failures every time we bump the assembly versions.
This is file 4 of 47 files with nullability disabled in Foundation. Also (by Copilot): * Improve XML documentation and nullability in NSDirectoryEnumerator. * Remove placeholder 'To be added.' comments and replace with proper documentation. * Remove unnecessary whitespace after triple-slash in XML comments. * Add proper <see cref> attributes for type references. * Add comprehensive documentation for all IEnumerator implementations. * Document exception conditions for Reset and Current properties. Contributes towards #17285.
…OS and Mac Catalyst (#24205)
…ith https://ci.dot.net, so update our usage.
…ion of the 'copySceneKitAssets' executable. Also don't set the PATH or XCODE_DEVELOPER_USR_PATH variables anymore, it's not needed.
We get suggestions in the doc publishing workflow about 'remarks' in enum fields (they're ignored), so avoid this by not having 'remarks' in enum fields.
) 1. This shouldn't ever be necessary. 2. If it were necessary, it should always be necessary. 3. Powershell's exit code handling is 🤯 For reference / amusement / scaring children: https://stackoverflow.com/a/57468523.
We need to use relative paths in learn.microsoft.com links.
…resilient. (#24243) * If there are any unusable simulator runtimes, delete them all. A frequent failure is when a simulator runtime isn't ready because "Unusable - Other Failure: Duplicate of ...", so hopefully this will solve those problems. * Don't pass -buildVersion to 'xcodebuild -downloadPlatform', Apple's tooling doesn't seem able to handle it correctly and gets confused. * Remove a stray 'sleep 60'.
This is file 29 of 47 files with nullability disabled in Foundation. Changes made: - Enabled nullable reference types - Made internal field notificationCenter nullable (NSNotificationCenter?) - Made ObservedData fields nullable to properly reflect optional values - Made method parameters nullable where appropriate (fromObject, keys, aName, anObject) - Replaced ArgumentNullException with ArgumentNullException.ThrowIfNull - Removed 'To be added.' placeholder documentation - Added comprehensive XML documentation for all public methods - Added proper 'see cref' attributes throughout documentation - Removed unnecessary whitespace in XML comments - Improved documentation clarity and consistency - Added missing exception documentation for ArgumentNullException Contributes towards #17285. --------- Co-authored-by: GitHub Copilot <noreply@github.com>
This is file 30 of 47 files with nullability disabled in Foundation. Changes: * Enabled nullable reference types * Removed 'To be added' placeholder comments * Added comprehensive XML documentation for TxtRecordData property * Made TxtRecordData property nullable to match generated code Contributes towards #17285. --------- Co-authored-by: GitHub Copilot <copilot@github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR merges changes from main into release/10.0.1xx to bring Xcode 26.2 support to .NET 10. The changes include version bumps, new Apple API bindings, build system improvements, test enhancements, and DevOps pipeline updates.
Key Changes:
- Update SDK versions from Xcode 26.1 to 26.2
- Add CoreCLR registrar support in build system
- Introduce new APIs for iOS/macOS 26.2 (AuthenticationServices, SafariServices, GameKit, etc.)
- Add linker step to mark APIs for static registrar
- Improve test infrastructure and add new test variations
- Refactor DevOps pipelines for better disk space management
- Enable nullable reference types in several Foundation classes
Reviewed changes
Copilot reviewed 244 out of 245 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tools/common/SdkVersions.cs | Updated SDK versions from 26.1 to 26.2 |
| tools/mtouch/Makefile | Added CoreCLR registrar compilation support |
| tools/dotnet-linker/MarkForStaticRegistrar.cs | New linker step to preserve APIs for static registrar |
| tools/common/StaticRegistrar.cs | Enhanced delegate proxy type resolution |
| tools/common/Target.cs | Added CoreCLR runtime handling |
| src//.cs | Added new Xcode 26.2 API bindings across multiple frameworks |
| tests/common/test-variations.csproj | Improved test variation system with multi-variation support |
| tests/dotnet/UnitTests/*.cs | Enhanced test infrastructure with UseFloatingTargetPlatformVersion |
| tools/devops/automation/templates/common/setup.yml | Centralized disk space checking |
| src/Foundation/*.cs | Enabled nullable reference types in NSValue, NSUrlSession, NSXpcConnection, NSXpcInterface |
No issues were found that require comments. The changes are well-structured, follow the repository conventions, and appropriately update the codebase for Xcode 26.2 support.
Files not reviewed (1)
- tools/mtouch/Errors.designer.cs: Language not supported
🔥 [PR Build #b15a6dd] Build failed (Detect API changes) 🔥Build failed for the job 'Detect API changes' (with job status 'Failed') Pipeline on Agent |
|
🔥 Unable to find the contents for the comment: D:\a\1\s\change-detection\results\gh-comment.md does not exist :fire Pipeline on Agent |
✅ [CI Build #b15a6dd] Build passed (Build packages) ✅Pipeline on Agent |
✅ [CI Build #b15a6dd] Build passed (Build macOS tests) ✅Pipeline on Agent |
💻 [CI Build #b15a6dd] Tests on macOS M1 - Mac Monterey (12) passed 💻✅ All tests on macOS M1 - Mac Monterey (12) passed. Pipeline on Agent |
💻 [CI Build #b15a6dd] Tests on macOS X64 - Mac Sonoma (14) passed 💻✅ All tests on macOS X64 - Mac Sonoma (14) passed. Pipeline on Agent |
💻 [CI Build #b15a6dd] Tests on macOS M1 - Mac Ventura (13) passed 💻✅ All tests on macOS M1 - Mac Ventura (13) passed. Pipeline on Agent |
💻 [CI Build #b15a6dd] Tests on macOS arm64 - Mac Sequoia (15) passed 💻✅ All tests on macOS arm64 - Mac Sequoia (15) passed. Pipeline on Agent |
💻 [CI Build #b15a6dd] Tests on macOS arm64 - Mac Tahoe (26) passed 💻✅ All tests on macOS arm64 - Mac Tahoe (26) passed. 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 #b15a6dd] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 121 tests passed 🎉 Tests counts✅ cecil: All 1 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
This brings Xcode 26.2 support to .NET 10.