apple / swift-atomics

Low-level atomic operations for Swift
Apache License 2.0
1.08k stars 51 forks source link

Bump minimum required toolchain to Swift 5.6 #67

Closed lorentey closed 1 year ago

lorentey commented 1 year ago

Checklist

lorentey commented 1 year ago

@swift-ci test

lorentey commented 1 year ago

@swift-ci test

stevapple commented 1 year ago

I believe this would break many downstream libraries including NIO (which still supports Swift 5.5). At least we shouldn’t make it though a minor update.

Is there anything we cannot work around?

lorentey commented 1 year ago

This shouldn't affect downstream libraries -- SwiftPM is smart enough to limit updates to the most recent tag that supports the toolchain used: so NIO users on 5.5 will continue to get a 1.0 tag, while 5.6+ users will see 1.1 too.

My thinking in selecting 5.6 as the cutoff point is to emulate NIO's rule of supporting three public Swift releases -- with 5.8 nearing shipment, we'll have 5.6, 5.7 and 5.8 by the time this will get tagged. 🤞

lorentey commented 1 year ago

(The package not remaining on obsolete language versions forever was a crucial consideration when we initially published the package, and it is explicitly called out in the README. If SPM didn't allow for doing this in minor releases, then we wouldn't have published this as a package in the first place. 😄)