Swift Tutorial · Swift Basics · Lesson 11 of 30
Swift History & Versions
How Swift went from a secret Apple project to an open-source language for Apple platforms, servers, Linux and Android, the road to ABI stability and data-race safety, and which version to use today.
How Swift started
Chris Lattner began working on Swift at Apple in 2010, aiming for a language that was safer and more modern than Objective-C but could still use the same frameworks. Apple announced it at WWDC on 2 June 2014, and Swift 1.0 shipped with Xcode 6 on 9 September 2014. Apple made Swift open source on 3 December 2015, with a Linux port and a public evolution process.
Timeline of major releases
- Swift 6.4Current
- Async calls in
defer,withTaskCancellationShield,UniqueBoxandUniqueArray; Swift Build is SwiftPM's default build system (6.4.1 followed on 2026-10-12)
- Async calls in
- Swift 6.3Historic
- The
@cattribute, module selectors (Module::name) and the first official Swift SDK for Android
- The
- Swift 6.2Historic
- Approachable concurrency (optional main-actor-by-default),
InlineArrayandSpan, WebAssembly support
- Approachable concurrency (optional main-actor-by-default),
- Swift 6.1Historic
nonisolatedon types and extensions, trailing commas in more places, package traits
- Swift 6.0Historic
- The Swift 6 language mode with compile-time data-race safety, typed throws and Swift Testing
- Swift 5.9Historic
- Macros,
ifandswitchexpressions, and parameter packs
- Macros,
- Swift 5.5Historic
async/await, actors and structured concurrency
- Swift 5.1Historic
- Module stability, property wrappers and opaque
sometypes, the foundations of SwiftUI
- Module stability, property wrappers and opaque
- Swift 5.0Historic
- ABI stability on Apple platforms and the
Resulttype
- ABI stability on Apple platforms and the
- Swift 4.0Historic
Codableand strings as collections
- Swift 3.0Historic
- The API design guidelines and the "great renaming" of Apple APIs
- Swift 2.0Historic
- Error handling with
throws/try,guardand protocol extensions
- Error handling with
- Swift 1.0Historic
- The first release, with Xcode 6
Turning points
- Open source (2015): Swift moved to GitHub and swift.org with an evolution process (SE proposals), and an official Linux toolchain made server-side Swift possible.
- ABI stability (Swift 5, 2019): the Swift runtime became part of Apple's operating systems, so apps no longer bundled it and became smaller.
- SwiftUI (2019): Apple's declarative UI framework, built on Swift features such as result builders and property wrappers.
- Concurrency (5.5, 2021) and data-race safety (6.0, 2024): async/await and actors, then a language mode that rejects data races at compile time; Swift 6.2 made the model easier to adopt.
- Beyond Apple (2020s): Swift runs on Linux, Windows, WebAssembly, embedded devices and, from Swift 6.3, Android.
Which version should I use?
Use the Swift version that ships with the current Xcode for Apple apps (Xcode bundles its own toolchain), and the latest release from swift.org on Linux and Windows. New projects should use the Swift 6 language mode; existing code can move to it module by module.
Further reading: Swift releases · Swift Evolution · The Swift Programming Language
Last reviewed 21 October 2026. Release and support dates come from the official release pages linked above.