Swift 6 introduces a new language mode that detects data races by default, helping eliminate issues across projects. The distinction between Swift 6 compiler and Swift 6 language mode is crucial; the compiler is the first to offer the new language mode. Existing projects will still build in their current language mode (e.g., Swift 4, Swift 5) until explicitly migrated. Migration to the Swift 6 language mode can be done through build settings or package manifest, activating the complete concurrency checking. Data race issues will only arise after migrating to the new language mode, not when initially using the Swift 6 compiler.
This week we had the opportunity to talk to Holly Borla who manages the Swift Compiler Team at Apple. We chat about upcoming Swift 6 changes and why they're a big deal, but also why you shouldn’t worry too much. Of course, all three of us pick packages, too!
Interview with Holly
Packages