-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Bump minimum iOS/tvOS version from 12.2 to 13.0 and MacCatalyst from 15.0 to 15.2 #122436
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
Conversation
Co-authored-by: akoeplinger <1376924+akoeplinger@users.noreply.github.com>
Co-authored-by: akoeplinger <1376924+akoeplinger@users.noreply.github.com>
|
@copilot I found one more instance of 12.2 in src\coreclr\crossgen-corelib.proj. This file can be refactored to not use AppleMinOSVersion but instead just use the properties from Directory.Build.props since it's only used internally in the repo. There are also more in these two files, but they were already using 13.0. Those can't use the properties from Directory.Build.props since they ship outside of the repo.
Please update the two files files and then add of the paths to Directory.Build.props so we don't forget them next time |
|
@copilot ignore the custom setup instructions, you don't need to build for the task. just modify the files |
…roperties and update documentation Co-authored-by: akoeplinger <1376924+akoeplinger@users.noreply.github.com>
Updated in commit ac2157b. The crossgen-corelib.proj file now uses |
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 pull request bumps the minimum iOS and tvOS version from 12.2 to 13.0 to enable simplified implementation of SHA-3 and other hash algorithms using Apple's CryptoKit framework, which was introduced in iOS 13. The change updates version numbers across 8 files and refactors one file to use centralized version properties instead of hardcoded values.
Key changes:
- Updated minimum iOS/tvOS version from 12.2 to 13.0 in Directory.Build.props and across all native build scripts, task files, and CoreCLR components
- Refactored src/coreclr/crossgen-corelib.proj to use properties from Directory.Build.props instead of hardcoded version numbers, improving maintainability
- Updated documentation to include external files that need synchronization
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| Directory.Build.props | Updated iOS/tvOS minimum version properties to 13.0 and expanded documentation to list external files |
| eng/native/build-commons.sh | Updated CMAKE_OSX_DEPLOYMENT_TARGET to 13.0 for iOS/tvOS simulator and device builds |
| src/native/libs/build-native.sh | Updated CMAKE_OSX_DEPLOYMENT_TARGET to 13.0 for iOS/tvOS simulator and device builds |
| src/tasks/AppleAppBuilder/Xcode.cs | Updated CMAKE_OSX_DEPLOYMENT_TARGET to 13.0 for non-macOS platforms |
| src/tasks/MobileBuildTasks/Apple/AppleProject.cs | Updated default minimum OS version to 13.0 for non-macCatalyst platforms |
| src/tasks/Crossgen2Tasks/Microsoft.NET.CrossGen.targets | Updated AppleMinOSVersion to 13.0 for iOS/tvOS platforms |
| src/coreclr/tools/Common/Compiler/ObjectWriter/MachObjectWriter.cs | Updated MinimumPlatformVersion hex value to 0x0D_00_00 (13.0.0) for iOS/tvOS platforms |
| src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Unix.targets | Updated AppleMinOSVersion to 13.0 for iOS/tvOS platforms |
| src/coreclr/crossgen-corelib.proj | Refactored to use version properties from Directory.Build.props, splitting iOS and tvOS into separate conditions |
Directory.Build.props
Outdated
| - src/mono/msbuild/common/MonoAOTCompiler.props | ||
| - src/tasks/AppleAppBuilder/Xcode.cs | ||
| - src/tasks/MobileBuildTasks/Apple/AppleProject.cs | ||
| - src/tasks/Crossgen2Tasks/Microsoft.NET.CrossGen.targets (external) |
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.
It is not clear what "(external)" means here
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.
Delete it?
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.
it decided to add that based on my explanation that these targets are used/shipped outside of the repo (i.e. can't use the properties from the root Directory.Build.props). let me remove it
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.
We should add a note here that we need to update the Crossgen targets in the dotnet/sdk repo.
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.
@jkoritzinsky how are these copies kept in sync? maybe we should automate that rather than needing to remember
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.
I'll add the note in a separate PR so we can unblock other PRs
external isn't useful and Microsoft.NETCore.Native.Unix.targets was duplicated
|
/ba-g known infra timeouts on tvOS |
* Mac Catalyst 15.0 is macOS 12.0, which is the min macOS version, so this way the min Mac Catalyst version matches the min macOS version. * Most of the bump to 15.2 was done in dotnet#122436, but that pull request doesn't explain why. * However, it seems to stem from dotnet#122010, which bumps to 15.2 in one place, to work around a linker warning, because we were compiling for 15.2 somewhere. * Compiling for 15.2 started in dotnet#101342, which seems like a mistake, because: * The pull request description says it's bumping to 15.0, not 15.2 * A comment for the line in question says it's 15.0, not 15.2. * My guess is that it's a typo, becuse the min iOS version was bumped to iOS 12.2, and thus a half-corrected copy-paste ended up bumping Mac Catalyst to 15.2 instead of 15.0 in one place. * https://github.com/dotnet/runtime/pull/101342/changes#diff-194ced50b86c5e2b046ca63ed5a07b792fbd198c4b234a5c187be5d5ff0d398fR252
All iOS and tvOS minimum version references have been updated from 12.2 to 13.0 across 8 files. The crossgen-corelib.proj file now uses properties from Directory.Build.props instead of hardcoded values. Documentation updated to track all files that need synchronization.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.