This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

How many packages are compatible with Swift 6? Find out which packages are Ready for Swift 6!

Ready for Swift 6

Swift 6 brings with it the ability to check your code for concurrency and data race issues. If switched on, the Swift compiler will produce errors where you could have data races.

For help migrating your code, see the Swift 6 language mode migration guide or the Swift 6 release blog post

To track the progress of the Swift package ecosystem, the Swift Package Index is running regular package compatibility checks across all packages in the index.

Total packages compatible with Swift 6

Total Swift 6 concurrency errors

Frequently asked questions

Q: What does “compatible” mean in the chart of compatible packages?

A: We define compatibility in the same way we do on package pages. If any build of the package completes successfully on any of our tested platforms (macOS via SwiftPM, macOS via XcodeBuild, iOS, visionOS, watchOS, tvOS, or Linux) then that build is deemed compatible with the Swift version.


Q: What does “total concurrency errors” mean?

A: Swift 6 introduces complete concurrency checking, a compiler feature that checks your code for data-race safety. The number of concurrency errors reflects how many issues the compiler detected relating to these concurrency or data-race checks. The total errors chart plots the total number of these errors summed across all packages.


Q: What packages are in the “all packages” data set?

A: We are not testing every package in the index. Instead, we are testing packages that are under some kind of active development. For this test, we define “all packages” in the chart to be any package having at least one commit to their repository in the last year. We took a snapshot of active packages on the 19th of March 2024, and the “all packages” data set includes 3,393 packages. The data set also excludes any new packages added after the 19th March.


Q: What packages are in the “Apple packages” and “SSWG incubated packages” data sets?

A: It’s interesting to look at some slices of curated package lists in addition to overall compatibility. Apple should be leading from the front, so the “Apple packages” data set is all packages authored by Apple, again with the same criteria as above applied. Nothing newer than March 19th and nothing without commits in the last year. The SSWG incubated data set is the same idea but sourced from the Swift Server Workgroup incubated packages list.

This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.