Swift 2.2 Released!
We are very pleased to announce the release of Swift 2.2! This is the first official release of Swift since it was open-sourced on December 3, 2015. Notably, the release includes contributions from 212 non-Apple contributors — changes that span from simple bug fixes to enhancements and alterations to the core language and Swift Standard Library.
Language Changes
Swift 2.2 is a minor language release that is mostly source-compatible with Swift 2.1. It contains the following language changes that went through the Swift’s evolution process:
- SE-0001: Allow (most) keywords as argument labels
- SE-0015: Tuple comparison operators
- SE-0014: Constraining
AnySequence.init
- SE-0011: Replace
typealias
keyword withassociatedtype
for associated type declarations - SE-0021: Naming Functions with Argument Labels
- SE-0022: Referencing the Objective-C selector of a method
- SE-0020: Swift Language Version Build Configuration
Beyond these language changes Swift 2.2 also contains numerous bug fixes, enhancements to diagnostics, and produces even faster-running code.
The Swift Package Manager is still early in development and is not included in this release.
Documentation
An updated version of The Swift Programming Language for Swift 2.2 is now available on Swift.org. It is also available for free on Apple’s iBooks store.
Platforms
Linux (Ubuntu 14.04 and Ubuntu 15.10)
Swift 2.2 includes support for Swift on Linux. The Linux port is still relatively new and in this release does not include the Swift Core Libraries (which will appear in Swift 3). The port does, however, include LLDB and the REPL.
Official binaries for Ubuntu 14.04 and Ubuntu 15.10 are available for download.
Apple (Xcode)
For development on Apple’s platforms, Swift 2.2 ships as part of Xcode 7.3.
Sources
Development on Swift 2.2 was tracked in the swift-2.2-branch
on the following repositories on GitHub:
The tag swift-2.2-RELEASE
designates the specific revisions in those repositories that make up the final version of Swift 2.2.
The swift-2.2-branch
will remain open — but under the same release management process — to accumulate changes for a potential future bug-fix “dot” release.