Skip to content
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

Bump minimum Apple OS versions #101342

Merged
merged 6 commits into from
Apr 23, 2024
Merged

Conversation

akoeplinger
Copy link
Member

As defined in the ".NET 9 - Supported OS versions" document: https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md

  • macOS 12.0
  • iOS/iOSSimulator 12.2
  • tvOS/tvOSSimulator 12.2
  • MacCatalyst 15.0 (== macOS 12.0)

Fixes #91736

As defined in the ".NET 9 - Supported OS versions" document: https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md

- macOS 12.0
- iOS/iOSSimulator 12.2
- tvOS/tvOSSimulator 12.2
- MacCatalyst 15.0 (== macOS 12.0)

Fixes dotnet#91736
@dotnet-issue-labeler dotnet-issue-labeler bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Apr 20, 2024
@akoeplinger akoeplinger requested review from filipnavara and removed request for marek-safar and MichalStrehovsky April 20, 2024 21:42
@akoeplinger akoeplinger added area-Infrastructure and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Apr 20, 2024
…r/MachObjectWriter.cs

Co-authored-by: Filip Navara <filip.navara@gmail.com>
@filipnavara
Copy link
Member

Looks like pal_signverify.c will need to silence a couple of deprecation warnings in the DSA code (SecTransformSetAttribute / SecTransformExecute). We already have a pattern for it elsewhere in the code:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
OSStatus status = SecKeychainItemCopyKeychain(item, pKeychainOut);
#pragma clang diagnostic pop

There's no replacement for these APIs for this specific security algorithm, so the only other alternative is to drop the support entirely which is out of scope for this PR.

@akoeplinger
Copy link
Member Author

akoeplinger commented Apr 21, 2024

Thanks, will add the suppression.

We're also seeing this in the maccatalyst build:

src/native/libs/System.Security.Cryptography.Native.Apple/pal_ssl.c(466,34): error G61EDB71E: (NETCORE_ENGINEERING_TELEMETRY=Build) 'SecTrustGetCertificateAtIndex' is deprecated: first deprecated in macCatalyst 15.0

@filipnavara
Copy link
Member

The SecTrustGetCertificateAtIndex deprecation would need a new code path to use SecTrustCopyCertificateChain. To make that efficient we would likely need to rewrite the managed -> native interface. I guess it makes sense to suppress the deprecation and file an issue for a follow up work. I guess either I, or perhaps @vcsjones, can take a crack at it.

@akoeplinger
Copy link
Member Author

Thanks, pushed the suppression and filed #101349

I also got an error when building locally with Xcode 15 from the new linker about -bind_at_load being deprecated for macOS (looks like it checks the min OS target since we didn't hit this before) so I also added a check to not pass that flag for the new linker.

@vcsjones
Copy link
Member

I guess either I, or perhaps @vcsjones, can take a crack at it.

There are a number of deprecation suppressions we can tackle with the iOS version bump. I already have a branch to start this, so I can include this.

Copy link
Member

@ivanpovazan ivanpovazan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
Just a small comment: I noticed that the table in https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md is not in sync with these changes e.g., MacCatalyst version is specified as 12.0+

@akoeplinger
Copy link
Member Author

... is not in sync with these changes e.g., MacCatalyst version is specified as 12.0+

Yeah this was accidentally overwritten: dotnet/core#9279

@akoeplinger akoeplinger merged commit 0a220d5 into dotnet:main Apr 23, 2024
157 of 163 checks passed
@akoeplinger akoeplinger deleted the bump-apple-versions branch April 23, 2024 13:23
matouskozak pushed a commit to matouskozak/runtime that referenced this pull request Apr 30, 2024
As defined in the ".NET 9 - Supported OS versions" document: https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md

- macOS 12.0
- iOS/iOSSimulator 12.2
- tvOS/tvOSSimulator 12.2
- MacCatalyst 15.0 (== macOS 12.0)

Fixes dotnet#91736
michaelgsharp pushed a commit to michaelgsharp/runtime that referenced this pull request May 9, 2024
As defined in the ".NET 9 - Supported OS versions" document: https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md

- macOS 12.0
- iOS/iOSSimulator 12.2
- tvOS/tvOSSimulator 12.2
- MacCatalyst 15.0 (== macOS 12.0)

Fixes dotnet#91736
@github-actions github-actions bot locked and limited conversation to collaborators May 24, 2024
@bartonjs bartonjs added the cryptographic-docs-impact Issues impacting cryptographic docs. Cleared and reused after documentation is updated each release. label Aug 15, 2024
@bartonjs bartonjs added the tracking This issue is tracking the completion of other related issues. label Aug 28, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Infrastructure cryptographic-docs-impact Issues impacting cryptographic docs. Cleared and reused after documentation is updated each release. tracking This issue is tracking the completion of other related issues.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bump iOS/tvOS minimum supported version to 12.2
5 participants