What are the Swift 6 breaking changes?
Generated on 8/2/2024
1 search
Swift 6 introduces several breaking changes and new features. Here are some of the key updates:
-
Swift 6 Language Mode:
- Data Race Safety: Swift 6 introduces a new language mode that provides compile-time data race safety. This mode is opt-in, allowing developers to adopt it module by module (Platforms State of the Union).
- Incremental Adoption: You can migrate to Swift 6 incrementally, one module at a time, without needing to wait for your dependencies to migrate (Platforms State of the Union).
-
Non-Copyable Types:
- Swift 6 introduces non-copyable types, which suppress the default copyability of Swift types. This is useful for scenarios requiring unique ownership, such as managing system resources like files (What’s new in Swift).
-
Concurrency Improvements:
- Swift 6 includes significant improvements to concurrency, such as complete concurrency checking and enhanced data race checking (What’s new in Swift).
-
Embedded Swift:
- A new language subset called Embedded Swift is introduced, which can run on highly constrained systems like operating system kernels and microcontrollers (What’s new in Swift).
-
Swift Testing:
- An all-new testing framework named Swift Testing is introduced, which offers expressive APIs to simplify writing tests (Platforms State of the Union).
For a detailed overview of these changes, you can refer to the session What’s new in Swift.
What’s new in Swift
Join us for an update on Swift. We’ll briefly go through a history of Swift over the past decade, and show you how the community has grown through workgroups, expanded the package ecosystem, and increased platform support. We’ll introduce you to a new language mode that achieves data-race safety by default, and a language subset that lets you run Swift on highly constrained systems. We’ll also explore some language updates including noncopyable types, typed throws, and improved C++ interoperability.
What’s new in SwiftUI
Learn how you can use SwiftUI to build great apps for any Apple platform. Explore a fresh new look and feel for tabs and documents on iPadOS. Improve your window management with new windowing APIs, and gain more control over immersive spaces and volumes in your visionOS apps. We’ll also take you through other exciting refinements that help you make expressive charts, customize and layout text, and so much more.
Platforms State of the Union
Discover the newest advancements on Apple platforms.
Migrate your app to Swift 6
Experience Swift 6 migration in action as we update an existing sample app. Learn how to migrate incrementally, module by module, and how the compiler helps you identify code that’s at risk of data races. Discover different techniques for ensuring clear isolation boundaries and eliminating concurrent access to shared mutable state.