Swift 6.4 Released

September 15, 2026

Swift 6.4 is now available. Swift aims to be a great choice across the stack, from apps and servers to systems code, embedded devices, and the browser. This release deepens that support, and makes everyday code easier to write. Highlights include:

  • Swift Build is now the default in Swift Package Manager, so your projects build the same way on Linux, macOS, and Windows.
  • Subprocess reaches 1.0, a stable, cross-platform way to run and interact with other programs from Swift, from command-line tools to streaming processes.
  • Interoperability reaches further, with Swift’s Span now bridging directly with C++20’s std::span, and Swift/Java interop extending its async and callback support.
  • Swift runs faster in the browser, with WebAssembly bridging through JavaScriptKit up to 40 times faster, and the Wasm SDK available directly from Swift.org.
  • Embedded Swift grows more capable, with support for existential types and richer error handling for microcontroller-class targets.
  • Performance improves while maintaining memory safety, with new array types that hold non-copyable elements without copy-on-write overhead, and the new Iterable protocol for iterating without copies.

Simpler and clearer code

Swift 6.4 streamlines your day-to-day programming to make your code simpler and clearer.

  • More natural optional some and any types. Instead of (some Rocket)?, you can simply write some Rocket? (SE-0521).
  • Source-level control over compiler warnings via the new @diagnose attribute (SE-0522).
  • Module selectors to clarify which API to use when multiple libraries conflict (SE-0491).
  • Call async functions in a defer block (SE-0493).
  • withTaskCancellationShield API to ensure cleanup work isn’t cancelled (SE-0504).

Richer core library APIs

The Subprocess library has reached 1.0. Swift 6.4 makes it easier to migrate existing projects to use Swift Testing. Swift now has a documentation site, and the documentation content for the standard library is now open source.

Faster builds, clearer debugging, broader IDE support

Swift Package Manager now uses Swift Build as its default build platform, and includes Software Bill of Materials (SBOM) Generation for Swift Package Manager (SE-0509). The VS Code extension for Swift is now available on the Open VSX Registry, so it works in VS Code, Cursor, Antigravity, Kiro, and other development tools.

Deeper interoperability and platform support

Swift 6.4 bridges C++20’s std::span with Swift’s Span. Java interop extends support for calling async and throwing functions to protocol and callback wrappers.

JavaScriptKit has better performance when bridging to Wasm in Swift 6.4, with safe bridging up to 40 times faster than earlier dynamic bridging. Embedded Swift gains generalized support for existential types.

Faster code that stays safe

Borrow and mutate accessors let you read or update a Span or InlineArray through a property (SE-0507). UniqueBox and UniqueArray provide heap-allocated collections without unnecessary copy-on-write overhead. The Iterable protocol enables looping without copies (SE-0516).

Try out Swift 6.4 today by following the instructions on the Install Swift page, or download the new 6.4 toolchain with Swiftly.