Swift 6.4 is now available, aiming to deepen support across the full software stack from apps and servers to systems code, embedded devices, and the browser.

According to the official release announcement, a major highlight is that Swift Build is now the default in Swift Package Manager, enabling projects to build the same way on Linux, macOS, and Windows. The Subprocess library has reached version 1.0, providing a stable, cross-platform way to run and interact with other programs from Swift, built from the ground up using Swift concurrency.
Interoperability improvements include Swift’s Span now bridging directly with C++20’s std::span, eliminating manual conversion code at language boundaries. Swift/Java interop extends support for calling async and throwing functions to protocol and callback wrappers, with automatic Runnable mapping for closures and variadic parameter import.
Performance gains are significant for WebAssembly, with safe bridging through JavaScriptKit up to 40 times faster than earlier dynamic bridging. The Wasm SDK is now available directly from Swift.org, requiring no additional setup beyond adding the SDK. Embedded Swift grows more capable with support for existential types and richer error handling for microcontroller-class targets.
Language features simplify everyday programming. Optional some and any types no longer require parentheses wrapping, and a new @diagnose attribute provides source-level control over compiler warnings. Module selectors clarify which API to use when multiple libraries define the same name. Async functions can now be called in defer blocks, ensuring cleanup work completes before function exit.
Tooling improvements include more robust debugging through LLDB’s precise dependency tracking instead of ambiguous by-name lookups, significantly shrinking debug builds on Linux and Windows. The VS Code extension for Swift is now available on the Open VSX Registry, supporting Cursor, Antigravity, Kiro, and other development tools, with integration to Swiftly for managing different Swift toolchain versions.
Foundation and standard library improvements add async/await support to ProgressManager, and @Observable types now have fine-grained and continuous change notifications. Swift Testing migration is simplified, allowing safe use of XCTAssert in Swift Testing tests and #expect within XCTests, with new capabilities for repeating test cases and recording attachments.
Key facts
- Swift Build is now the default in Swift Package Manager for consistent builds across Linux, macOS, and Windows
- Subprocess library reached 1.0 as a stable, cross-platform library for running and interacting with other programs
- WebAssembly bridging through JavaScriptKit runs up to 40 times faster than earlier dynamic bridging
- Optional some and any types no longer require parentheses wrapping in source code
- Async functions can now be called in defer blocks to ensure cleanup work completes
- VS Code extension for Swift is now available on Open VSX Registry for use in multiple IDEs
