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.

Create a free account to save this page, take notes and track your progress. Sign in

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

  1. Swift 6.4Current
    • Async calls in defer, withTaskCancellationShield, UniqueBox and UniqueArray; Swift Build is SwiftPM's default build system (6.4.1 followed on 2026-10-12)
  2. Swift 6.3Historic
    • The @c attribute, module selectors (Module::name) and the first official Swift SDK for Android
  3. Swift 6.2Historic
    • Approachable concurrency (optional main-actor-by-default), InlineArray and Span, WebAssembly support
  4. Swift 6.1Historic
    • nonisolated on types and extensions, trailing commas in more places, package traits
  5. Swift 6.0Historic
    • The Swift 6 language mode with compile-time data-race safety, typed throws and Swift Testing
  6. Swift 5.9Historic
    • Macros, if and switch expressions, and parameter packs
  7. Swift 5.5Historic
    • async/await, actors and structured concurrency
  8. Swift 5.1Historic
    • Module stability, property wrappers and opaque some types, the foundations of SwiftUI
  9. Swift 5.0Historic
    • ABI stability on Apple platforms and the Result type
  10. Swift 4.0Historic
    • Codable and strings as collections
  11. Swift 3.0Historic
    • The API design guidelines and the "great renaming" of Apple APIs
  12. Swift 2.0Historic
    • Error handling with throws/try, guard and protocol extensions
  13. 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.

Was this page helpful?