Swift 6.4 unifies builds across Linux, macOS, Windows

Apple shipped Swift 6.4 on Tuesday, and the headline change is that Swift Build is now the default build engine for the Swift Package Manager (SwiftPM). SwiftPM, a command line automation and dependency management tool Apple created in 2015, previously relied on a build process that differed by platform; Swift Build is a collection of interoperable tools that together handle compilation with the swiftc compiler, linking and testing. With the two merged, a developer's entire build process, whether run through Apple's Xcode IDE or the command line, now goes through exactly the same steps for a Linux, macOS or Windows app. Builds can also be started from VS Code through a new extension published on the Open VSX Registry. The integrated package adds a tool that generates a Software Bill of Materials (SBOM) for each app in either SPDX or CycloneDX format, implementing Swift proposal SE-0509 and listing every dependency for security auditing. SwiftPM works with any git repository as well as private services such as Bitbucket and JFrog Artifactory, and is described as working especially well with the Swift Package Index (SPI), a Swift artifact search service created in 2020 that Apple acquired in June. SPI currently hosts more than 10,400 packages and tests each one for compatibility with different platforms and Swift versions. Swift 6.4 also changes how the LLDB debugger handles modules: instead of embedding an entire module into the debugging file, which bloated it, LLDB now records the exact path to the module and follows a pointer to inspect the original, a more storage-efficient approach. The release additionally brings interoperability improvements with C++, Java, JavaScript and WebAssembly, which gets its own SDK. The unified-toolchain approach echoes Rust's Cargo, Go's command line tooling and Bun for JavaScript, all of which replace a chain of separately invoked tools with one integrated workflow. Swift developers who do not use SwiftPM and Swift Build tend to rely instead on Google's Bazel, Meta's Buck2 or CMake. The 6.4 toolchain can be downloaded from Apple's Install Swift page using the Swiftly command line tool.
Key facts
- Swift 6.4, released Tuesday, makes Swift Build the default build engine for the Swift Package Manager (SwiftPM), created by Apple in 2015.
- Build steps are now identical across Linux, macOS and Windows, whether run through Xcode or the command line, and can also be triggered from VS Code via a new Open VSX Registry extension.
- The integrated package can generate an SBOM per app in SPDX or CycloneDX format under Swift proposal SE-0509.
- The Swift Package Index, which Apple acquired in June, now hosts more than 10,400 packages and tests each for platform and version compatibility.
- LLDB now debugs modules by referencing their exact path instead of embedding the whole module, cutting bloat in debugging files.
Why it matters
Build tooling has long been a weak point for Swift outside Apple's own platforms: developers on Linux and Windows had to contend with a build process that did not fully match the Xcode experience. Making Swift Build the default engine for SwiftPM closes that gap by guaranteeing the same build steps regardless of platform or interface, IDE or command line. The move also puts Swift alongside Rust's Cargo, Go's built-in tooling and Bun for JavaScript, all of which replaced a patchwork of separately invoked tools with one integrated workflow. That pattern has become the expected baseline for a modern language's developer experience.
Who it affects
Swift developers working across Linux, macOS and Windows are the direct audience, since the release is specifically about ending platform-by-platform differences in the build process. VS Code users gain a new extension on the Open VSX Registry to drive builds without leaving the editor. Anyone tracking dependency provenance or software supply chains benefits from the new per-app SBOM tool. Users of the Swift Package Index, which now lists over 10,400 packages, are affected indirectly, since Apple's acquisition of SPI in June and SwiftPM's tight integration with it make the index the de facto Swift package repository. Developers who already rely on Bazel, Buck2 or CMake for their Swift projects sit outside this change.
How to use it
The Swift 6.4 toolchain is downloaded from Apple's Install Swift page using the Swiftly command line tool. Once installed, SwiftPM automatically uses Swift Build to fetch and install a project's dependencies, test them for compatibility, and compile the code into a platform-specific binary; no separate configuration is described for enabling this, since Swift Build is now the default. Developers who prefer VS Code can install the new extension from the Open VSX Registry to run the same build steps from the editor. The SBOM tool built into the integrated package can be used to list every dependency of an app in SPDX or CycloneDX format for auditing purposes.
How solid is it
This is a straight release-notes report from The Register's Joab Jackson, covering Apple's own Swift 6.4 announcement, and the article itself carries no satire markers despite the outlet's usual dry humor in places like the SBOM aside. The central claim, that Swift Build is now SwiftPM's default engine, is quoted directly from the release. The piece does not include independent verification of the promised build-speed improvement, and no benchmark or performance figure accompanies the 'faster build process' claim.
Risks and caveats
No performance numbers back the claim that the Swift Build and SwiftPM pairing produces a faster build process; the article states it without a supporting figure. The exact calendar date of the Swift 6.4 release is not given beyond 'Tuesday', and no year is stated for Apple's acquisition of the Swift Package Index, only 'June'. No adoption or download figures are provided for Swift 6.4 itself, so how quickly developers move to the new default build engine is not established by this report.
“Swift Build is now the default build engine for the Swift Package Manager.”
— Swift 6.4 release notes, as quoted by The Register