- Docs
- Community
- Packages
- Blog
- Install (6.4.0)
September 15, 2026

Swift 6.4 is now available. Swift intends to beryllium a awesome prime crossed the stack, from apps and servers to systems code, embedded devices, and the browser. This merchandise deepens that support, and makes mundane codification easier to write. Highlights include:
- Swift Build is now the default successful Swift Package Manager, truthful your projects build the aforesaid measurement connected Linux, macOS, and Windows.
- Subprocess reaches 1.0, a stable, cross-platform measurement to tally and interact pinch different programs from Swift, from command-line devices to streaming processes.
- Interoperability reaches further, pinch Swift’s Span now bridging straight pinch C++20’s std::span, and Swift/Java interop extending its async and callback support.
- Swift runs faster successful the browser, pinch WebAssembly bridging done JavaScriptKit up to 40 times faster, and the Wasm SDK disposable straight from Swift.org.
- Embedded Swift grows much capable, pinch support for existential types and richer correction handling for microcontroller-class targets.
- Performance improves while maintaining representation safety, pinch caller array types that clasp non-copyable elements without copy-on-write overhead, and the caller Iterable protocol for iterating without copies.
There’s truthful overmuch more. Read connected for a elaborate guideline to the caller changes, aliases spot the Swift Evolution dashboard for the afloat database of proposals successful Swift 6.4.
Simpler and clearer codification <?xml version="1.0" encoding="utf-8"?>
Swift 6.4 streamlines your day-to-day programming to make your codification simpler and clearer.
- More earthy optional immoderate and immoderate types. When penning an optional immoderate aliases immoderate type, you nary longer person to wrap the type successful parentheses. Instead of (some Rocket)?, you tin simply constitute immoderate Rocket? (SE-0521).
- Source-level power complete compiler warnings. When you request to power the behaviour of warnings successful your project, specified arsenic suppressing warnings aliases promoting them to errors, you tin now specify the informing behaviour straight successful your codification utilizing the caller @diagnose property (SE-0522).
- Clarify which API to usage erstwhile aggregate libraries conflict. When aggregate modules specify the aforesaid API sanction that you want to reference, you tin specify which module you meant to usage done module selectors. If your app imports 2 modules that some supply a type CommonThing, utilizing the :: selector lets you intelligibly specify which of those you intend (SE-0491).
- Call async functions successful a defer block. Any asynchronous codification you constitute successful a defer artifact is awaited and runs to completion earlier it exits (SE-0493).
- Ensure that basal cleanup activity isn’t cancelled. You tin tally a closure that’s shielded from the enclosing task’s cancellation done the withTaskCancellationShield API (SE-0504).
You tin harvester asynchronous calls successful defer blocks and cancellation shields to make judge that cleanup activity ever happens, nary matter really the usability returns:
Improvements to Foundation and the modular room make it easier to usage modern APIs pinch existing types.
For example, ProgressManager added API to supply async/await support (SF-0023), and @Observable types now person fine-grained and continuous alteration notifications (SE-0506).
The Subprocess room — primitively introduced arsenic SF-0007 and released arsenic an initial 0.1 type successful 2025 — has reached 1.0. It provides a cross-platform package to tally and interact pinch subprocesses, built from the crushed up utilizing Swift concurrency. The pursuing example, from Getting Started pinch Subprocess, illustrates moving a process and capturing its output.
Swift 6.4 makes it easier to migrate existing projects to usage Swift Testing. You tin now safely usage XCTAssert successful Swift Testing tests aliases #expect wrong XCTests (ST-0021), and customize the values shown successful grounded expectations utilizing the CustomTestReflectable protocol (ST-0022). swift trial lets you repetition trial cases to attraction and prevention clip (ST-0024) and grounds attachments that conform to the Transferable protocol connected Apple platforms (ST-0023).
Swift now has a archiving site, and the archiving contented for the modular room is now unfastened source.
Swift 6.4 brings a scope of tooling improvements that make mundane improvement smoother, from debugging and building to editor support:
- More robust debugging. Swift 6.4 completes a multi-release overhaul of really the compiler tracks Swift modules successful debug info — LLDB now imports modules done precise dependency search alternatively of ambiguous by-name lookups. Debug builds connected Linux and Windows, and dSYM bundles connected Darwin, shrink importantly since binary Swift modules are nary longer embedded successful them. Read the caller blog station Module Tracking successful Swift Debug Info for a dive into the details.
- Unified build strategy crossed IDEs. Swift Package Manager (SwiftPM) now uses Swift Build arsenic its default build platform, and includes Software Bill of Materials (SBOM) Generation for Swift Package Manager (SE-0509), providing support for generating SBOM documents successful either SPDX aliases CycloneDX format. Read much astir SwiftPM’s updates successful the SwiftPM 6.4 merchandise notes, and study really to make an SBOM astatine Generating Software Bill of Materials (SBOM).
- Broader IDE support for Swift. The VS Code hold for Swift is now available connected the Open VSX Registry, truthful it useful not only successful VS Code, but besides Cursor, Antigravity, Kiro, and different improvement tools. It besides now includes integration pinch Swiftly, making it easier to prime and usage different versions of Swift toolchains pinch your project.
Deeper interoperability and level support <?xml version="1.0" encoding="utf-8"?>
Swift’s interoperability expands its scope crossed much of the stack: from systems-level C++ to Android’s Java runtime, and from WebAssembly (Wasm) successful the browser to Embedded Swift connected microcontrollers.
Language interoperability goes deeper this release.
- C: Pair @c pinch @implementation to usage a Swift usability to supply the implementation for a C header pinch nary abstracted C declaration. Without @implementation, the compiler emits the declaration into the generated header. Either way, @c functions tin get safe wrappers, specified arsenic a usability that uses Span successful spot of a earthy pointer-and-count pair.
- C++: Swift 6.4 bridges C++20’s std::span pinch Swift’s Span, truthful you tin walk a Span to a C++ API that expects a std::span, and person a std::span backmost arsenic a Span, without penning manual conversion codification astatine the boundary.
- Java: The Swift/Java interop project, which lets you telephone Swift from Java and Kotlin, extends its support for calling async and throwing functions to protocol and callback wrappers, adds automatic Runnable mapping for closures, variadic parameter import, and support for Java grounds types.
Swift’s level support deepens arsenic well.
JavaScriptKit has amended capacity erstwhile bridging to Wasm successful Swift 6.4, pinch safe bridging up to 40 times faster than earlier move bridging. The Wasm SDK is disposable from the Install Swift page of Swift.org, truthful compiling Swift for the browser requires nary other setup beyond adding the SDK.
Foundation updates for Swift 6.4 amended FileManager support connected WASI (the WebAssembly System Interface).
Android <?xml version="1.0" encoding="utf-8"?>
Swift connected Android continues to advance. This merchandise of the Swift SDK for Android is built pinch the caller LTS NDK 30, which provides Android readiness attributes some successful the Swift runtime libraries and for your Swift packages utilizing the default NDK. Swift Build now supports Android successful SwiftPM arsenic well, removing the request for a post-install script.
The earlier station Embedded Swift Improvements Coming successful Swift 6.4 covers Embedded Swift’s different improvements successful this merchandise successful much depth, including generalized support for existential types (such arsenic immoderate Protocol), which lets you people definitive heterogeneous collections and propulsion and drawback immoderate Error.
Embedded Swift besides gains a caller EmbeddedRestrictions informing that you tin alteration crossed a full target:
Swift 6.4 makes it easier to debar unnecessary copies of your information while staying memory-safe, extending earlier activity connected Span, non-copyable types, and InlineArray.
- Work pinch values successful representation without copying them. Borrow and mutate accessors fto you publication aliases update a Span aliases InlineArray done a spot (SE-0507), non-copyable types tin now conform to Equatable, Comparable, and Hashable, and caller Ref and MutableRef types springiness you a first-class, storable instrumentality that lets you get aliases mutate 1 worth astatine a clip (SE-0519). Optionals of non-copyable types now activity the aforesaid way, truthful you tin inspect aliases update what’s wrong an Optional without consuming it (SE-0532).
- Build collections and heap-allocated values without unnecessary representation allocation. UniqueBox gives you a smart pointer that uniquely owns a heap value, including non-copyable values, without reference counting (SE-0517). RigidArray and UniqueArray shop non-copyable elements without the copy-on-write allocations you would spot erstwhile utilizing Array. RigidArray provides a fixed-capacity buffer, and UniqueArray provides a buffer that grows dynamically (SE-0527). You tin loop complete elements and get them pinch the Iterable protocol, alternatively of copying each value, which extends beyond what the Sequence protocol supports (SE-0516).
- Access earthy representation safely, without utilizing unsafe-annotated APIs. withTemporaryAllocation provides a scratch buffer that is automatically initialized and cleaned up (SE-0524). A caller safe loading API lets RawSpan and its variants load and shop bytes safely, replacing the unsafe-flagged functions (SE-0525).
Swift 6.4 reflects the contributions of galore group crossed the Swift community, done code, proposals, forum discussions, and feedback. The community’s thoughts and real-world acquisition supply invaluable insights and motivation!
If you’d for illustration to get progressive successful what comes next, the Swift Forums are a awesome spot to start.
Try retired Swift 6.4 coming by pursuing the instructions connected the Install Swift page, aliases download the caller 6.4 toolchain pinch Swiftly.
Authors
Joe Heck useful connected Swift arsenic portion of the Open Source Program Office astatine Apple.
Holly Borla is simply a personnel of the Swift Core Team and Language Steering Group, and the engineering head of the Swift connection squad astatine Apple.
Continue Reading
-
Module Tracking successful Swift Debug Info September 11, 2026
When your Swift programme hits a breakpoint and stops truthful you tin inspect it, the debugger’s look evaluator has to find the nonstop Swift module your codification was built from. Until now, that lookup wasn’t ever precise. The upcoming Swift 6.4 merchandise will see changes, begun successful Swift 6.3, that reside this by updating really the Swift compiler references explicitly-built Swift modules successful debug info.
Read more
English (US) ·
Indonesian (ID) ·