Swift Evolution

Since Apple Swift went open source, we have of course been investigating and staying on top of the evolution of the Swift language, and engaged with the Swift community. We plan to support future language changes to new versions of the Swift language in a timely fashion.

Without promising exact timelines, we'll try to support all core Swift 3.0 language changes for the upcoming "Galaxy Class" release in late 2016, with further refinements in Elements update in early 2017 ("Hokule'a Class"). Of course details depend on the timelines for both Apple's releases and ours.

With the promised stabilization of the Swift ABI moved to version 4.0 or beyond, we will also be looking at support for Swift as a platform rather than a language, allowing the consumption and creation of binaries that work at Apple Swift level on the Cocoa platform, rather than at the Objective-C level. This would be on the roadmap for a release in late 2017.

Elements 8.3.91 provides full compatibility with Swift 2.0 and Swift 2.1, as well as for most of the (not yet finalized at the time of shipping) version 2.2 (See Swift 2.1).

Elements 9.0, currently in beta, contains our work for updating to Swift 3.0, with the status of individual items indicated below.

The lists below are kept in sync with this overview on swift.org.

Changes

Planned changes for Swift 4.0:

  • Stable ABI

Tentative/pending changes for Swift 3.0 (not yet implemented in Apple's Swift):

Confirmed changes for Swift 3.1 (implemented in Apple's Swift):

Confirmed changes for Swift 3.0 (implemented in Apple's Swift):

Changes for Swift 2.2 (finalized):