The Swift Package Index logo.Swift Package Index

Swift 6.4 Support and the Move to Swift Build


Swift Package Index now supports Swift 6.4 for both compatibility builds and package documentation.

The Swift Package Index compatibility matrix showing Swift 6.4 alongside previous versions.

You can read all about Swift 6.4 in the announcement post, but there’s one change worth highlighting here for package authors, as it might affect compatibility. This release of Swift changes the default SwiftPM build system to use Swift Build, meaning all of our 6.4 data comes from builds that use it.

One of the primary goals of Swift Build is to make package builds more consistent across all of Swift’s supported platforms, which should mean you see fewer platform-specific surprises as a package author.

You shouldn’t see significant compatibility regressions caused by the new build system, but with over 12,000 packages in the index, some issues may not have shown up in testing. If any of your packages show failures against Swift 6.4, the quickest way to rule out the build system as the cause is to build them locally using the previous native build system:

swift build --build-system native

If your package builds with --build-system native but fails with the default build system, check the list of known issues in the SwiftPM 6.4 release notes. If your problem isn’t listed there, please report it to the SwiftPM team.

The new build system also includes a couple of other changes that might affect your packages or scripts:

  • Build products generated by SwiftPM have moved. If your scripts rely on build artifact locations, get updated paths with swift build --show-bin-path.
  • An executable product and a library product whose names differ only by case are no longer supported.

Thanks in advance for any bug reports you submit after checking the compatibility of your packages, and enjoy Swift 6.4!


About this blog

The Swift Package Index is a search engine and metadata index for Swift packages. Our main goal is to help you make better decisions about the dependencies you include in your apps and projects. If you're new here, the best place to get started is by searching for packages.