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

Migrate to Swift 6 #104

Open
edorphy opened this issue Oct 26, 2024 · 2 comments
Open

Migrate to Swift 6 #104

edorphy opened this issue Oct 26, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@edorphy
Copy link

edorphy commented Oct 26, 2024

The SDK should be audited against strict concurrency mode for Swift 6 and be free of warnings and errors.

Please embrace Swift 6 concurrency language features.

Presently, the very first lines of code from the main readme introduce concurrency warnings. I'm sure this is in many places.
Image

https://developer.apple.com/documentation/Swift/AdoptingSwift6
https://www.swift.org/migration/documentation/migrationguide/

@ArielDemarco
Copy link
Collaborator

Hey @edorphy! We're planning on that. We'll be creating a branch to start incorporating Swift 6 features. That said, we don't plan on upgrading the requirements soon (i.e., changing the // swift-tools-version: in Package.swift to 6). Doing so would force consumers of the SDK to upgrade, which is something we prefer to avoid at the moment.

@edorphy
Copy link
Author

edorphy commented Oct 28, 2024

@ArielDemarco

You could explore creating a secondary Package.swift file using the 'version-specific manifest selection' feature of SPM: https://github.com/swiftlang/swift-package-manager/blob/main/Documentation/Usage.md#version-specific-manifest-selection

This would enable adopting customers to embrace and get all of the Swift 6 declaration benefits while allowing other customers to fallback onto an earlier version. With respect to the Swift toolchain version in the repo right now it is specified as 5.7 but releasing an app with Xcode 15 has a minimum Swift version of 5.9. Perhaps you have customers that do ad-hoc releases and older versions of Xcode.

I'll make a separate issue for visionOS support, which would require toolchain 5.9 as a minimum.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants