We are happy to announce the release of Swift 6.3.3.
Install Swift Toolchain
- Install via Swiftly
swiftly install 6.3.3orswiftly install latest - Download toolchain directly from Install Swift | Swift.org
- Docker images will be available on hub.docker.com/_/swift soon (PR#21752
- Swift toolchain will be available on WinGet soon (PR#395359)
- Xcode 26.6 contains Swift 6.3.3
Release Notes
-
Swift
- Concurrency
- Fixed an issue where
nonisolated(nonsending)isolation was not correctly transferred to specialized and optimizedSILFunctionvariants. This could causeOptimizeHopToExecutorto incorrectly remove a valid backward hop, resulting in a potential runtime crash when a call to anonisolated(nonsending)function was followed by synchronous code that expected the original isolation. (#89693) - Fixed incorrect isolation inference for closures with explicit captures involving
nonisolated(nonsending)declarations, and fixed reabstraction thunk isolation to preventOptimizeHopToExecutorfrom removing valid hop backs. These fixes address regressions reported in #88993 and #87097. (#89267)
- Fixed an issue where
- SILGen / REPL
- Fixed a crash in
swift replwhen using async code. The REPL was attempting to look up the main module (which does not exist in the REPL context) and callinggetMainTypeDecl()on it. (#89359)
- Fixed a crash in
- Demangling
- Fixed
_buildDemanglingForExtendedExistentialto correctly handle demangling tree shapes that includeExistentialMetatypenodes wrapping aConstrainedExistential. (#89351)
- Fixed
- Key Paths (32-bit platforms)
- Fixed a crash when using key paths with subscripts on types that have 16-byte alignment on 32-bit platforms. The
alignmentMaskinComputedArgumentSizewas incorrectly set to0x6000_0000(bits 29–30), overlapping withpaddingMask. The correct value0xC000_0000(bits 30–31) now matchesalignmentShift = 30and mirrors the 64-bit layout. (#89323)
- Fixed a crash when using key paths with subscripts on types that have 16-byte alignment on 32-bit platforms. The
- OpenBSD
- Concurrency
-
Swift Syntax
- Added support for using the
assertMacroExpansionAPI from Swift Testing tests. Previously, this API only supported XCTest, and calling it from Swift Testing would silently produce false positives by never reporting failures. For details about package dependency considerations, see the 603.0.2 release notes. (swiftlang/swift-syntax#3352, #2720)
- Added support for using the