Swift 5.10 can enforce full data isolation in concurrent code, preventing threads from reading and writing to the same memory at the same time. Credit: monticello / Shutterstock Apple has released Swift 5.10, an update to the company’s open-source programming language that reaches a major milestone: providing safety against data races via full data isolation in the concurrency model. The improvement prepares the way for the planned Swift 6 release. Binaries for Swift 5.10, introduced March 5, can be found at swift.org for Windows, macOS, and Linux. In explaining the milestone, Apple Swift engineer Holly Borla said an increasingly important source of undefined behavior is concurrent code that inadvertently accesses memory from one thread at the same time that another thread is writing to the same memory. This unsafety is called a data race, which makes concurrent programs exceptionally difficult to write, Borla noted. Swift 5.10 finally accomplishes full data isolation for concurrency after years of active development. The concurrency model was introduced in Swift 5.5 in September 2021. Swift 5.10 enforces full data isolation at compile time when the complete concurrency checking option is enabled, Borla said. This sets the stage for Swift 6, which will offer an opt-in Swift 6 language mode that enforces full data isolation by default. In the meantime, Swift 5.10 will produce data-race warnings in some circumstances where code could be proven safe with additional compiler analysis. A key focus of language development for Swift 6 is improving the usability of strict concurrency checking by mitigating false positive concurrency errors in common patterns proven to be safe, Borla said. Structured concurrency has been cited as a server-side goal for the Swift language. Related content analysis Beyond the usual suspects: 5 fresh data science tools to try today The mid-month report includes quick tips for easier Python installation, a new VS Code-like IDE just for Python and R users, and five newer data science tools you won't want to miss. By Serdar Yegulalp Jul 12, 2024 2 mins Python Programming Languages Software Development analysis Generative AI won’t fix cloud migration You’ve probably heard how generative AI will solve all cloud migration problems. It’s not that simple. Generative AI could actually make it harder and more costly. By David Linthicum Jul 12, 2024 5 mins Generative AI Artificial Intelligence Cloud Computing news HR professionals trust AI recommendations HireVue survey finds 73% of HR professionals trust AI to make candidate recommendations, while 75% of workers are opposed to AI making hiring decisions. By Paul Krill Jul 11, 2024 3 mins Technology Industry Careers how-to Safety off: Programming in Rust with `unsafe` What does it mean to write unsafe code in Rust, and what can you do (and not do) with the 'unsafe' keyword? The facts may surprise you. By Serdar Yegulalp Jul 11, 2024 8 mins Rust Programming Languages Software Development Resources Videos