Evolution of the Swift language

During the years Swift has changed a lot. In this post I'm trying to cover the whole evolution of the programming language.

⭐️ Last update: 25/08/19 ⭐️

What's new in Swift?

Learn what's new in Swift with hands-on code examples, all in one place and with no clutter.

Paul Hudson made an amazing site about the changes in the Swift programming language. If you are looking for specific changes in Swift you should definitely visit whatsnewinswift.com! ⭐️

If you are interested in what's going on with Swift nowadays, you should check the Swift evolution webpage. It is generated from all the evolution proposals from github.

Swift 5

Swift 5 was officially release on 25th of March, 2019. You can read the announcement on the official Swift webpage, but the main aim of this release was ABI stability.

The ABI is now declared stable for Swift 5 on Apple platforms. As a result, the Swift libraries are now incorporated into every macOS, iOS, tvOS, and watchOS release going forward. Your apps will be easier to build and smaller because they won’t have to include those libraries.

If you are migrating a project from Swift 3, you might experience some issues with strings, but the overall transition is way better, than it was from version 2 to Swift 3. However the migrator fails this time again, I personally don't think that tool have ever worked for anyone in the history of Swift language.

The transition from Swift 2 was really painful, because of the big changes. If you had a project from the previous year, there was a great chance that you had to refactor the whole thing, mostly because of the breaking naming changes. Obviously the migrator was broken, like in every year.

Swift 3.1

Some small, but really nice additions were introduced for the language, like concrete constrained extensions, and nested generics. Also the availability API was extended with Swift version checkings.

Swift was open sourced at Dec 3rd, 2015, a brand new swift.org website was made for us, the developer blog was updated with a new article for the event. The Swift repository is hosted on github.

Swift Package Manager was introduced as a brand new project for managing Swift libraries, you can read all about the SPM here. You can find the source code of Swift Package Manager on github.

Swift 2.1

Minor upgrade for the language with literals inside the Swift playground. There are a few other things as well, Erica Sadun & Russ Bishop made great summarizing articles.

Swift 2.1 was released with Xcode 7.1 on Oct 21, 2015.

Swift 2.2

This release was - in my opinion - just a preparation for the future. The next major version of Swift has so many changes, that Apple needed a stable version from the language before they can break everything.

Swift 2.3

Long term support for the 2nd major version of Swift. Even Apple has a really short release article for this version. Swift 2.3 was mostly based on the changes from 2.2.

Swift 1

Let's go back to the beginning of everything. The first introduction of Swift was on Jun 2th, 2014 at WWDC, when Craig Federighi told us the big news:

The first version of Swift arrived at Sept 9th, 2014, Apple made a blog post for this big event. In Xcode 6 beta 4 we've finally received access control features for the language. You can read it more about it here. Swiftdoc.org was born.