Announcing Swift 6.3.3

We are happy to announce the release of Swift 6.3.3.

Install Swift Toolchain

Release Notes

  • Swift

    • Concurrency
      • Fixed an issue where nonisolated(nonsending) isolation was not correctly transferred to specialized and optimized SILFunction variants. This could cause OptimizeHopToExecutor to incorrectly remove a valid backward hop, resulting in a potential runtime crash when a call to a nonisolated(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 prevent OptimizeHopToExecutor from removing valid hop backs. These fixes address regressions reported in #88993 and #87097. (#89267)
    • SILGen / REPL
      • Fixed a crash in swift repl when using async code. The REPL was attempting to look up the main module (which does not exist in the REPL context) and calling getMainTypeDecl() on it. (#89359)
    • Demangling
      • Fixed _buildDemanglingForExtendedExistential to correctly handle demangling tree shapes that include ExistentialMetatype nodes wrapping a ConstrainedExistential. (#89351)
    • 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 alignmentMask in ComputedArgumentSize was incorrectly set to 0x6000_0000 (bits 29–30), overlapping with paddingMask. The correct value 0xC000_0000 (bits 30–31) now matches alignmentShift = 30and mirrors the 64-bit layout. (#89323)
    • OpenBSD
      • Fixed module names on OpenBSD for amd64/x86_64 to use the correct x86_64 spelling. (#89302)
      • Fixed a build-script tar invocation to correctly apply the BSD-specific special-case, which had previously been skipped for OpenBSD. (#89303)
  • Swift Syntax

    • Added support for using the assertMacroExpansion API 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)
11 Likes