Swift 6, the newest model of the general-purpose language developed by Apple, is now out there. The language replace options concurrency enhancements, together with prolonged security ensures for information races. Linux and Home windows help and a brand new testing library are additionally featured.
Revealed September 16, the replace might be downloaded from Swift.org. For the language and customary library, a brand new opt-in language mode extends security ensures by diagnosing potential information races in code as compiler errors. Information-race security checks beforehand have been out there as warnings in Swift 5.10, launched March 5. Moreover, there are fewer false positives on Swift warnings as a consequence of an improved Sendable
inference and new compiler evaluation for transferring mutable state from one actor to a different. Model 6 additionally features a synchronization library for low-level concurrency APIs, together with atomic operations and a mutex API. These and different updates in Swift 6 mark the beginning of a journey to make data-race security dramatically simpler, in keeping with the announcement posted on September 17.
For Linux and Home windows, Swift 6 unifies the implementation of Basis, for accessing information sorts, collections, and working methods, throughout all platforms. MacOS and iOS have used the Swift implementation of Basis since Swift 5.9, launched final 12 months. Swift 6 brings these enhancements to Home windows and Linux. For Linux, Swift 6 provides official testing and help for Debian and Fedora, together with Ubuntu 24.04. Absolutely statically linked executables are additionally supplied for Linux. And, for Home windows, pre-built toolchains can be found for the arm64 structure, bringing improved compiler efficiency for Home windows on Arm hosts. Additionally in Swift 6, the bundle supervisor parallelizes builds throughout a number of cores on Home windows by default, which may enhance efficiency on a 10-core machine by as a lot as 10 instances, in keeping with the announcement.