I am happy to announce that Preview 1 of Swift 3.0 has just been posted:
Downloads for Linux are available on Swift.org, and Preview 1 is included in Xcode 8 beta 1.
Important Logistics for those working on Swift
With Preview 1 out, a few important logistics will impact those contributing to the Swift project in the next couple days:
Currently building Swift from source only requires the latest GM version of Xcode — currently Xcode 7.3.1. However, because so much of Swift 3 is wrapped up in the new API Design Guidelines (specifically SE-0023 and SE-005, to name a few), a large part of the API naming changes in Swift 3 on Apple's platforms are actually tied to the latest SDKs for OS X, iOS, watchOS, and tvOS. Consequently, we're going to bump the minimum required Xcode to build Swift from source — if you are doing development on a Mac — to the latest Xcode 8 beta.
By updating development to use the latest Apple SDKs, the Swift team at Apple can push back their diff of changes ASAP that has Swift working with the latest Apple SDKs.
Here's the timeline:
On Tuesday (around noon, California time ) we will be upgrading the continuous integration system to use Xcode 8 and the latest SDKs. We expect this will not take much time. Once continuous integration is updated, the Swift team at Apple will push back their diff of master that contains changes to get Swift working with the newer SDKs.
In order to make this transition seamless, we are going to lock the master branch during the time the continuous integration system is being upgraded.
We expect the continuous integration system to be down for a short while, but we are planning for up to four hours to have master locked. We're expecting much shorter than that. We will have proactively upgraded some of the machines prior to taking the whole system down, which is why we are optimistic the window of time should be short in practice.
In addition to Swift 3.0 Preview 1, I also want to announce Swift 2.3:
This is a release of Swift that is pretty much the same as Swift 2.2.1, except for some changes to match with the newer Apple SDKs. We expect the vast majority of Swift 2.2 code to be completely compatible with Swift 2.3. However, because the new SDK includes nullability audits and other improvements that can break source compatibility for Swift code, we increased the version number to reflect the potential for source incompatibility. We will be posting the sources back tomorrow after the continuous integration system has been upgraded to use Xcode 8 on the Mac machines.