Swift 6.4 was released on September 15, 2026, one day after Apple shipped Xcode 27 alongside iOS 27. The Swift.org announcement reads less like a headline feature and more like a long list of things that used to be awkward and now are not. For working developers that is the better kind of release.
Two changes carry the most weight. Asynchronous code now works inside defer blocks. And Swift Build, the open-source build engine, is now the default in Swift Package Manager on Linux, macOS and Windows.
The language changes
A defer block runs cleanup when a function exits, whether it returns or throws. Until now it could not contain await, which meant asynchronous cleanup needed a workaround. Proposal SE-0493 removes that restriction, and Swift.org says completion is guaranteed.
The rest of the language work is about reading and writing less ceremony.
| Proposal | What it does |
|---|---|
| SE-0521 |
some and any types no longer need parentheses in optional position |
| SE-0491 | Module selectors: :: names which module a symbol comes from |
| SE-0522 | A @diagnose attribute for emitting compiler warnings from your own code |
| SE-0493 |
await inside defer
|
| SE-0504 |
withTaskCancellationShield, to protect a region from cancellation |
| SE-0517, SE-0527 |
UniqueBox and UniqueArray, containers for non-copyable elements |
| SE-0516 | An Iterable protocol so for-in works over non-copyable types |
Non-copyable types also gain something they lacked: they can now conform to Equatable, Comparable and Hashable. A non-copyable type is one the compiler refuses to duplicate, used where a value represents a unique resource. Being able to compare and hash them closes a gap that made them hard to use in ordinary code.
The toolchain changes
Swift Build becoming the default matters beyond Apple's platforms. The same engine now drives package builds on Linux and Windows, and the release adds Android support through NDK 30, the current Android native toolkit.
The WebAssembly story moved too. Swift.org says bridging through JavaScriptKit, the library that lets Swift call into a browser's JavaScript, is 40 times faster. Debug builds on Linux and Windows are smaller, and so are dSYM bundles, the files that hold debugging symbols.
Subprocess 1.0 is now stable and cross-platform. It is the library for launching and talking to other processes, and its stability means server-side and tooling code can stop carrying private wrappers for it.
One more item is aimed at compliance teams rather than app developers. Proposal SE-0509 lets the package manager generate a software bill of materials in SPDX or CycloneDX format. A bill of materials is a machine-readable list of every dependency in a build, and regulated buyers increasingly ask for one.
What this means for developers
Start with defer. Search your codebase for cleanup that runs in a Task spawned from a defer block. Look too for do-catch structures that exist only to run an asynchronous close on every exit path. Those are the workarounds SE-0493 retires, and each one you remove is a class of bug you no longer have.
Then treat the Swift Build change as a build-system migration, because that is what it is. If you have a package that behaved differently on Linux than on macOS, rebuild it now and look for warnings you have not seen before. The engine changed underneath you, and a default flip is exactly when a quietly platform-specific assumption surfaces.
The WebAssembly and Android additions are the ones to file for later. A 40x bridging improvement changes what is reasonable to ship in a browser, but only if you were already close to trying. Android support through NDK 30 is the same: not a reason to start a port this week, but a reason the port is now possible.
Finally, if anyone at your company has asked for a bill of materials, SE-0509 gives you one for free. Generate it once, check that the dependency list matches what you believe you ship, and add it to the release pipeline. That is an afternoon, and it answers a question that otherwise arrives as a spreadsheet.
This article was first published on Tech AI Wire.
Also available in
Deutsch · 日本語 · Français · Español · Português
Related on Tech AI Wire
Sources
- Swift 6.4 Released - Swift.org
- Swift 6.4: What's New in Concurrency - SwiftLee
Top comments (0)