What's New in Swift 6.3 and 6.4
Swift shipped twice this cycle: 6.3 in the spring and 6.4 alongside Xcode 27 at WWDC. Module selectors, async defer, and task cancellation shields are the three changes you'll actually use.
// 8 articles available
Swift shipped twice this cycle: 6.3 in the spring and 6.4 alongside Xcode 27 at WWDC. Module selectors, async defer, and task cancellation shields are the three changes you'll actually use.
SE-0491 introduces the :: operator to disambiguate names that come from different modules. Here is when you actually need it and the gotchas worth knowing.
Swift 6's data-race safety is real, but it has blind spots. Here are the places the compiler can't see, and how to stop treating a clean build as proof your code is thread safe.
SE-0493 finally lets you write defer { await cleanup() } in async functions, without spawning a detached task or threading cleanup logic through every return path.
Swift 6.4's withTaskCancellationShield lets cleanup code run to completion even after a task has been cancelled, without spawning extra unstructured tasks.
Swift 6.2 changes how async functions pick a thread by default. The new @concurrent attribute lets you explicitly opt into background execution when you actually need it.
A practical guide to Swift error handling covering throw/try/catch fundamentals, custom error types, Result, async error patterns, and typed throws introduced in Swift 6.
Swift 6 introduces typed throws, letting you declare exactly which error types a function can throw. Learn how this improves API contracts and enables exhaustive error handling.