Download Swift

Releases

Swift 5.7.1

Date: November 1, 2022
Tag: swift-5.7.1-RELEASE

Platform Architecture Docker Tag
Xcode 14 1 Universal Debugging Symbols Unavailable

Ubuntu 18.04

x86_64 Signature (x86_64) 5.7.1-bionic

Ubuntu 20.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.7.1-focal

Ubuntu 22.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.7.1-jammy

CentOS 7

x86_64 Signature (x86_64) 5.7.1-centos7

Amazon Linux 2

x86_64 Signature (x86_64) aarch64 Signature (aarch64) Coming Soon

Windows 101

x86_64 Signature (x86_64) Unavailable

RPM

Swift 5.7.1 RPMs for Amazon Linux 2 and CentOS 7 for experimental use only. Please provide your feedback.

Use the instructions below for RPM installation:

Amazon Linux 2

$ curl https://download.swift.org/experimental-use-only/repo/amazonlinux/releases/2/swiftlang.repo > /etc/yum.repos.d/swiftlang.repo
$ amazon-linux-extras install epel
$ yum install swiftlang

CentOS 7

$ curl https://download.swift.org/experimental-use-only/repo/centos/releases/7/swiftlang.repo > /etc/yum.repos.d/swiftlang.repo
$ yum install epel-release
$ yum install swiftlang

1 Swift 5.7.1 is available as part of Xcode 14.1.
2 Swift 5.7.1 Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.x

Swift 5.7

Date: September 12, 2022
Tag: swift-5.7-RELEASE
Platform Architecture Docker Tag
Xcode 14 1 Universal Debugging Symbols Unavailable

Ubuntu 18.04

x86_64 Signature (x86_64) 5.7-bionic

Ubuntu 20.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.7-focal

Ubuntu 22.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.7-jammy

CentOS 7

x86_64 Signature (x86_64) 5.7-centos7

Amazon Linux 2

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.7-amazonlinux2

Windows 101

x86_64 Signature (x86_64) Unavailable
1 Swift 5.7 is available as part of Xcode 14.
2 Swift 5.7 Windows 10 toolchain is provided by [Saleem Abdulrasool](https://github.com/compnerd). Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.6.3

Date: September 2, 2022
Tag: swift-5.6.3-RELEASE
Platform Architecture Docker Tag
Xcode 13.3 1 Universal Debugging Symbols Unavailable

Ubuntu 18.04

x86_64 Signature (x86_64) Coming Soon

Ubuntu 20.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) Coming Soon

CentOS 7

x86_64 Signature (x86_64) Coming Soon

Amazon Linux 2

x86_64 Signature (x86_64) aarch64 Signature (aarch64) Coming Soon

Windows 101

x86_64 Signature (x86_64) Unavailable
1 Swift 5.6.3 contains Linux and Windows changes only, Swift 5.6 is available as part of Xcode 13.3.
2 Swift 5.6.3 Windows 10 toolchain is provided by [Saleem Abdulrasool](https://github.com/compnerd). Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.6.2

Date: June 15, 2022
Tag: swift-5.6.2-RELEASE
Platform Architecture Docker Tag
Xcode 13.3 1 Universal Debugging Symbols Unavailable

Ubuntu 18.04

x86_64 Signature (x86_64) 5.6.2-bionic

Ubuntu 20.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.6.2-focal

CentOS 7

x86_64 Signature (x86_64) 5.6.2-centos7

Amazon Linux 2

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.6.2-amazonlinux2

Windows 101

x86_64 Signature (x86_64) Unavailable
1 Swift 5.6.2 contains Linux and Windows changes only, Swift 5.6 is available as part of Xcode 13.3.
2 Swift 5.6.2 Windows 10 toolchain is provided by [Saleem Abdulrasool](https://github.com/compnerd). Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.6.1

Date: April 8, 2022
Tag: swift-5.6.1-RELEASE
Platform Architecture Docker Tag
Xcode 13.3 1 Universal Debugging Symbols Unavailable

Ubuntu 18.04

x86_64 Signature (x86_64) 5.6.1-bionic

Ubuntu 20.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.6.1-focal

CentOS 7

x86_64 Signature (x86_64) 5.6.1-centos7

Amazon Linux 2

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.6.1-amazonlinux2

Windows 101

x86_64 Signature (x86_64) Unavailable
1 Swift 5.6.1 contains Linux and Windows changes only, Swift 5.6 is available as part of Xcode 13.3.
2 Swift 5.6.1 Windows 10 toolchain is provided by [Saleem Abdulrasool](https://github.com/compnerd). Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.6

Date: March 14, 2022
Tag: swift-5.6-RELEASE
Platform Architecture Docker Tag
Xcode 13.3 1 Universal Debugging Symbols Unavailable

Ubuntu 18.04

x86_64 Signature (x86_64) 5.6-bionic

Ubuntu 20.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.6-focal

CentOS 7

x86_64 Signature (x86_64) 5.6-centos7

CentOS 8

x86_64 Signature (x86_64) aarch64 Signature (aarch64) Unavailable

Amazon Linux 2

x86_64 Signature (x86_64) aarch64 Signature (aarch64) 5.6-amazonlinux2

Windows 101

x86_64 Signature (x86_64) Unavailable
1 Swift 5.6 is available as part of Xcode 13.3.
2 Swift 5.6 Windows 10 toolchain is provided by [Saleem Abdulrasool](https://github.com/compnerd). Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.5.3

Date: February 9, 2022
Tag: swift-5.5.3-RELEASE
Platform Toolchain Docker Tag
Xcode 13.2 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.5.3-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.5.3-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.5.3-focal
CentOS 7 Toolchain PGP Signature 5.5.3-centos7
CentOS 8 Toolchain PGP Signature Unavailable
Amazon Linux 2 Toolchain PGP Signature 5.5.3-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.5.3 contains Linux and Windows changes only, Swift 5.5.2 is available as part of Xcode 13.2.
2 Swift 5.5.3 Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.5.2

Date: December 13, 2021
Tag: swift-5.5.2-RELEASE
Platform Toolchain Docker Tag
Xcode 13.2 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.5.2-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.5.2-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.5.2-focal
CentOS 7 Toolchain PGP Signature 5.5.2-centos7
CentOS 8 Toolchain PGP Signature 5.5.2-centos8
Amazon Linux 2 Toolchain PGP Signature 5.5.2-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.5.2 is available as part of Xcode 13.2.
2 Swift 5.5.2 Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.5.1

Date: October 25, 2021
Tag: swift-5.5.1-RELEASE
Platform Toolchain Docker Tag
Xcode 13.1 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.5.1-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.5.1-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.5.1-focal
CentOS 7 Toolchain PGP Signature 5.5.1-centos7
CentOS 8 Toolchain PGP Signature 5.5.1-centos8
Amazon Linux 2 Toolchain PGP Signature 5.5.1-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.5.1 is available as part of Xcode 13.
2 Swift 5.5.1 Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.5

Date: September 20, 2021
Tag: swift-5.5-RELEASE
Platform Toolchain Docker Tag
Xcode 13 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.5-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.5-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.5-focal
CentOS 7 Toolchain PGP Signature 5.5-centos7
CentOS 8 Toolchain PGP Signature 5.5-centos8
Amazon Linux 2 Toolchain PGP Signature 5.5-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.5 is available as part of Xcode 13.
2 Swift 5.5 Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.4.3

Date: September 9, 2021
Tag: swift-5.4.3-RELEASE
Platform Toolchain Docker Tag
Xcode 12.5.1 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.4.3-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.4.3-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.4.3-focal
CentOS 7 Toolchain PGP Signature 5.4.3-centos7
CentOS 8 Toolchain PGP Signature 5.4.3-centos8
Amazon Linux 2 Toolchain PGP Signature 5.4.3-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.4.3 contains Linux and Windows changes only, Swift 5.4.2 is available as part of Xcode 12.5.1.
2 Swift 5.4.3 Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.4.2

Date: June 28, 2021
Tag: swift-5.4.2-RELEASE
Platform Toolchain Docker Tag
Xcode 12.5.1 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.4.2-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.4.2-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.4.2-focal
CentOS 7 Toolchain PGP Signature 5.4.2-centos7
CentOS 8 Toolchain PGP Signature 5.4.2-centos8
Amazon Linux 2 Toolchain PGP Signature 5.4.2-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.4.2 is available as part of [Xcode 12.5.1](https://itunes.apple.com/app/xcode/id497799835).
2 Swift 5.4.2 Windows 10 toolchain is provided by [Saleem Abdulrasool](https://github.com/compnerd). Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.4.1

Date: May 25, 2021
Tag: swift-5.4.1-RELEASE
Platform Toolchain Docker Tag
Xcode 12.5 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.4.1-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.4.1-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.4.1-focal
CentOS 7 Toolchain PGP Signature 5.4.1-centos7
CentOS 8 Toolchain PGP Signature 5.4.1-centos8
Amazon Linux 2 Toolchain PGP Signature 5.4.1-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.4.1 contains Linux and Windows changes only, Swift 5.4 is available as part of Xcode 12.5.
2 Swift 5.4.1 Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.4

Date: April 26, 2021
Tag: swift-5.4-RELEASE
Platform Toolchain Docker Tag
Xcode 12.5 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.4-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.4-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.4-focal
CentOS 7 Toolchain PGP Signature 5.4-centos7
CentOS 8 Toolchain PGP Signature 5.4-centos8
Amazon Linux 2 Toolchain PGP Signature 5.4-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.4 is available as part of Xcode 12.5.
2 Swift 5.3.3 Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.3.3

Date: January 28, 2021
Tag: swift-5.3.3-RELEASE
Platform Toolchain Docker Tag
Xcode 12.3 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.3.3-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.3.3-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.3.3-focal
CentOS 7 Toolchain PGP Signature 5.3.3-centos7
CentOS 8 Toolchain PGP Signature 5.3.3-centos8
Amazon Linux 2 Toolchain PGP Signature 5.3.3-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.3.3 contains Linux and Windows changes only, Swift 5.3.2 is available as part of Xcode 12.3.
2 Swift 5.3.3 Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.3.2

Date: December 14, 2020
Tag: swift-5.3.2-RELEASE
Platform Toolchain Docker Tag
Xcode 12.3 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.3.2-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.3.2-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.3.2-focal
CentOS 7 Toolchain PGP Signature 5.3.2-centos7
CentOS 8 Toolchain PGP Signature 5.3.2-centos8
Amazon Linux 2 Toolchain PGP Signature 5.3.2-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.3.2 is available as part of Xcode 12.3.
2 Swift 5.3.2 Windows 10 toolchain is provided by [Saleem Abdulrasool](https://github.com/compnerd). Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.3.1

Date: November 12, 2020
Tag: swift-5.3.1-RELEASE
Platform Toolchain Docker Tag
Xcode 12.2 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.3.1-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.3.1-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.3.1-focal
CentOS 7 Toolchain PGP Signature 5.3.1-centos7
CentOS 8 Toolchain PGP Signature 5.3.1-centos8
Amazon Linux 2 Toolchain PGP Signature 5.3.1-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.3.1 is available as part of Xcode 12.2
2 Swift 5.3.1 Windows 10 toolchain is provided by [Saleem Abdulrasool](https://github.com/compnerd). Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.3

Date: September 16, 2020
Tag: swift-5.3-RELEASE
Platform Toolchain Docker Tag
Xcode 12 1 Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.3-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.3-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.3-focal
CentOS 7 Toolchain PGP Signature 5.3-centos7
CentOS 8 Toolchain PGP Signature 5.3-centos8
Amazon Linux 2 Toolchain PGP Signature 5.3-amazonlinux2
Windows 10 2 Toolchain PGP Signature Unavailable
1 Swift 5.3 is available as part of Xcode 12.
2 Swift 5.3 Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Swift 5.2.5

Date: August 05, 2020
Tag: swift-5.2.5-RELEASE
Platform Toolchain Docker Tag
Xcode 11.5* Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.2.5-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.2.5-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.2.5-focal
CentOS 7 Toolchain PGP Signature 5.2.5-centos7
CentOS 8 Toolchain PGP Signature 5.2.5-centos8
Amazon Linux 2 Toolchain PGP Signature 5.2.5-amazonlinux2
*Swift 5.2.5 is Linux only change, Swift 5.2.4 is available as part of [Xcode 11.5](https://itunes.apple.com/app/xcode/id497799835).

Swift 5.2.4

Date: May 20, 2020
Tag: swift-5.2.4-RELEASE
Platform Toolchain Docker Tag
Xcode 11.5* Toolchain Debugging Symbols Unavailable
Ubuntu 16.04 Toolchain PGP Signature 5.2.4-xenial
Ubuntu 18.04 Toolchain PGP Signature 5.2.4-bionic
Ubuntu 20.04 Toolchain PGP Signature 5.2.4-focal
CentOS 8 Toolchain PGP Signature 5.2.4-centos8
Amazon Linux 2 Toolchain PGP Signature 5.2.4-amazonlinux2
*Swift 5.2.4 is available as part of [Xcode 11.5](https://itunes.apple.com/app/xcode/id497799835).

Swift 5.2.3

Date: April 29, 2020
Tag: swift-5.2.3-RELEASE
Platform Toolchain Docker Tag
Xcode 11.4.1* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.2.3-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.2.3-xenial
*Swift 5.2.3 is Linux only change, Swift 5.2.2 is available as part of Xcode 11.4.1.

Swift 5.2.2

Date: April 15, 2020
Tag: swift-5.2.2-RELEASE
Platform Toolchain Docker Tag
Xcode 11.4.1* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.2.2-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.2.2-xenial
*Swift 5.2.2 is available as part of Xcode 11.4.1.

Swift 5.2.1

Date: March 30, 2020
Tag: swift-5.2.1-RELEASE
Platform Toolchain Docker Tag
Xcode 11.4* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.2.1-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.2.1-xenial
*Swift 5.2.1 is Linux only change, Swift 5.2 is available as part of Xcode 11.4.

Swift 5.2

Date: March 24, 2020
Tag: swift-5.2-RELEASE
Platform Toolchain Docker Tag
Xcode 11.4* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.2-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.2-xenial
*Swift 5.2 is available as part of Xcode 11.4.

Swift 5.1.5

Date: March 9, 2020
Tag: swift-5.1.5-RELEASE
Platform Toolchain Docker Tag
Xcode 11.3* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.1.5-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.1.5-xenial
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 5.1.5 is Linux only change, Swift 5.1.3 is available as part of Xcode 11.3.

Swift 5.1.4

Date: January 31, 2020
Tag: swift-5.1.4-RELEASE
Platform Toolchain Docker Tag
Xcode 11.3* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.1.4-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.1.4-xenial
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 5.1.4 is Linux only change, Swift 5.1.3 is available as part of Xcode 11.3.

Swift 5.1.3

Date: December 13, 2019
Tag: swift-5.1.3-RELEASE
Platform Toolchain Docker Tag
Xcode 11.3* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.1.3-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.1.3-xenial
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 5.1.3 is available as part of Xcode 11.3.

Swift 5.1.2

Date: November 7, 2019
Tag: swift-5.1.2-RELEASE
Platform Toolchain Docker Tag
Xcode 11.2* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.1.2-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.1.2-xenial
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 5.1.2 is available as part of Xcode 11.2.

Swift 5.1.1

Date: October 11, 2019
Tag: swift-5.1.1-RELEASE
Platform Toolchain Docker Tag
Xcode 11.0* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.1.1-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.1.1-xenial
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 5.1.1 is Linux only change, Swift 5.1 is available as part of Xcode 11.

Swift 5.1

Date: September 19, 2019
Tag: swift-5.1-RELEASE
Platform Toolchain Docker Tag
Xcode 11.0* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.1-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.1-xenial
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 5.1 is available as part of Xcode 11.

Swift 5.0.3

Date: August 30, 2019
Tag: swift-5.0.3-RELEASE
Platform Toolchain Docker Tag
Xcode 10.2.1* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.0.3-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.0.3-xenial
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 5.0.3 is Linux only change, Swift 5.0.1 is available as part of Xcode 10.2.1.

Swift 5.0.2

Date: July 15, 2019
Tag: swift-5.0.2-RELEASE
Platform Toolchain Docker Tag
Xcode 10.2.1* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.0.2-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.0.2-xenial
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 5.0.2 is Linux only change, Swift 5.0.1 is available as part of Xcode 10.2.1.

Swift 5.0.1

Date: April 18, 2019
Tag: swift-5.0.1-RELEASE
Platform Toolchain Docker Tag
Xcode 10.2.1* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.0.1-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.0.1-xenial
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 5.0.1 is available as part of Xcode 10.2.1.

Swift 5.0

Date: March 25, 2019
Tag: swift-5.0-RELEASE
Platform Toolchain Docker Tag
Xcode 10.2* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature 5.0-bionic
Ubuntu 16.04 Toolchain PGP Signature 5.0-xenial
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 5.0 is available as part of Xcode 10.2.
Swift 4.x

Swift 4.2.4

Date: March 29, 2019
Tag: swift-4.2.4-RELEASE
Platform Toolchain Docker Tag
Xcode 10.1* Toolchain Debugging Symbols Unavailable
Ubuntu 18.04 Toolchain PGP Signature Unavailable
Ubuntu 16.04 Toolchain PGP Signature 4.2.4
Ubuntu 14.04 Toolchain PGP Signature Unavailable
*Swift 4.2.4 is Linux only change, Swift 4.2.1 is available as part of Xcode 10.1.

Swift 4.2.3

Download Date
Xcode 10.1* Toolchain Debugging Symbols
Ubuntu 18.04 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.2.3 is Linux only change, Swift 4.2.1 is available as part of Xcode 10.1.

Swift 4.2.2

Download Date
Xcode 10.1* Toolchain Debugging Symbols
Ubuntu 18.04 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.2.2 is Linux only change, Swift 4.2.1 is available as part of Xcode 10.1.

Swift 4.2.1

Download Date
Xcode 10.1* Toolchain Debugging Symbols
Ubuntu 18.04 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.2.1 is available as part of Xcode 10.1.

Swift 4.2

Download Date
Xcode 10.0* Toolchain Debugging Symbols
Ubuntu 18.04 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.2 is available as part of Xcode 10.

Swift 4.1.3

Download Date
Xcode 9.4* Toolchain Debugging Symbols
Ubuntu 16.10 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.1.3 is Linux only change, Swift 4.1.2 is available as part of Xcode 9.4.

Swift 4.1.2

Download Date
Xcode 9.4* Toolchain Debugging Symbols
Ubuntu 16.10 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.1.2 is available as part of Xcode 9.4.

Swift 4.1.1

Download Date
Xcode 9.3* Toolchain Debugging Symbols
Ubuntu 16.10 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.1.1 is Linux only change, Swift 4.1 is available as part of Xcode 9.3.

Swift 4.1

Download Date
Xcode 9.3* Toolchain Debugging Symbols
Ubuntu 16.10 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.1 is available as part of Xcode 9.3.

Swift 4.0.3

Download Date
Xcode 9.2* Toolchain Debugging Symbols
Ubuntu 16.10 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.0.3 is available as part of Xcode 9.2.

Swift 4.0.2

Download Date
Xcode 9.1* Toolchain Debugging Symbols
Ubuntu 16.10 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.0.2 is available as part of Xcode 9.1.

Swift 4.0

Download Date
Xcode 9.0* Toolchain Debugging Symbols
Ubuntu 16.10 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 4.0 is available as part of Xcode 9.0.
Swift 3.x

Swift 3.1.1

Download Date
Xcode 8.3.2* Toolchain Debugging Symbols
Ubuntu 16.10 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 3.1.1 is available as part of Xcode 8.3.2.

Swift 3.1

Download Date
Xcode 8.3* Toolchain Debugging Symbols
Ubuntu 16.10 Signature
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 3.1 is available as part of Xcode 8.3.

Swift 3.0.2

Download Date
Xcode 8.2* Toolchain Debugging Symbols
Ubuntu 16.04 Signature
Ubuntu 14.04 Signature
*Swift 3.0.2 is available as part of Xcode 8.2.

Swift 3.0.1

Download Date
Xcode 8.1* Toolchain Debugging Symbols
Ubuntu 16.04 Signature
Ubuntu 15.10 Signature
Ubuntu 14.04 Signature
*Swift 3.0.1 is available as part of Xcode 8.1.

Swift 3.0

Download Date
Xcode 8* Toolchain Debugging Symbols
Ubuntu 15.10 Signature
Ubuntu 14.04 Signature
*Swift 3.0 is available as part of Xcode 8.
Swift 2.x

Swift 2.2.1

Download Date
Xcode 7.3.1*
Ubuntu 15.10 Signature
Ubuntu 14.04 Signature
*Swift 2.2.1 is available as part of Xcode 7.3.1.

Swift 2.2

Download Date
Xcode 7.3*
Ubuntu 15.10 Signature
Ubuntu 14.04 Signature
*Swift 2.2 is available as part of Xcode 7.3 release.

Snapshots

Trunk Development (main)

Development Snapshots are prebuilt binaries that are automatically created from mainline development branches. These snapshots are not official releases. They have gone through automated unit testing, but they have not gone through the full testing that is performed for official releases.

Download Date Architecture Docker Tag

Xcode

Universal Debugging Symbols Unavailable

Ubuntu 18.04

x86_64 Signature (x86_64) nightly-bionic

Ubuntu 20.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) nightly-focal

Ubuntu 22.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) nightly-jammy

CentOS 7

x86_64 Signature (x86_64) nightly-centos7

Amazon Linux 2

x86_64 Signature (x86_64) aarch64 Signature (aarch64) nightly-amazonlinux2

Windows 101

x86_64 Signature (x86_64) Unavailable

1 Swift Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Older Snapshots Xcode
Download
November 14, 2022 Debugging Symbols
November 12, 2022 Debugging Symbols
November 11, 2022 Debugging Symbols
November 3, 2022 Debugging Symbols
November 2, 2022 Debugging Symbols
November 1, 2022 Debugging Symbols
October 31, 2022 Debugging Symbols
October 27, 2022 Debugging Symbols
October 24, 2022 Debugging Symbols
October 22, 2022 Debugging Symbols
Ubuntu 18.04
Download
November 14, 2022 Signature
November 12, 2022 Signature
November 11, 2022 Signature
November 3, 2022 Signature
November 2, 2022 Signature
November 1, 2022 Signature
October 31, 2022 Signature
October 27, 2022 Signature
October 24, 2022 Signature
October 22, 2022 Signature
Ubuntu 20.04
Download
November 14, 2022 Signature
November 12, 2022 Signature
November 11, 2022 Signature
November 3, 2022 Signature
November 2, 2022 Signature
November 1, 2022 Signature
October 31, 2022 Signature
October 27, 2022 Signature
October 24, 2022 Signature
October 22, 2022 Signature
Ubuntu 22.04
Download
November 14, 2022 Signature
November 12, 2022 Signature
November 11, 2022 Signature
November 3, 2022 Signature
November 2, 2022 Signature
November 1, 2022 Signature
October 31, 2022 Signature
October 27, 2022 Signature
October 24, 2022 Signature
October 22, 2022 Signature
CentOS 7
Download
November 14, 2022 Signature
November 12, 2022 Signature
November 11, 2022 Signature
November 3, 2022 Signature
November 2, 2022 Signature
November 1, 2022 Signature
October 31, 2022 Signature
October 27, 2022 Signature
October 24, 2022 Signature
October 22, 2022 Signature
CentOS 8
Download
March 13, 2022 Signature
March 9, 2022 Signature
February 25, 2022 Signature
February 22, 2022 Signature
February 21, 2022 Signature
February 3, 2022 Signature
January 9, 2022 Signature
January 6, 2022 Signature
December 23, 2021 Signature
December 6, 2021 Signature
Amazon Linux 2
Download
November 14, 2022 Signature
November 12, 2022 Signature
November 11, 2022 Signature
November 3, 2022 Signature
November 2, 2022 Signature
November 1, 2022 Signature
October 31, 2022 Signature
October 27, 2022 Signature
October 24, 2022 Signature
October 22, 2022 Signature
Windows 10
Download
October 16, 2022 Signature
October 12, 2022 Signature
October 11, 2022 Signature
October 9, 2022 Signature
October 8, 2022 Signature
October 4, 2022 Signature
October 3, 2022 Signature
September 24, 2022 Signature
September 6, 2022 Signature
August 15, 2022 Signature

Swift 5.7 Development

Swift 5.7 Snapshots are prebuilt binaries that are automatically created from release/5.7 branch. These snapshots are not official releases. They have gone through automated unit testing, but they have not gone through the full testing that is performed for official releases.

Download Date Architecture Docker Tag

Xcode

Universal Debugging Symbols Unavailable

Ubuntu 18.04

x86_64 Signature (x86_64) nightly-5.7-bionic

Ubuntu 20.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) nightly-5.7-focal

Ubuntu 22.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) nightly-5.7-jammy

CentOS 7

x86_64 Signature (x86_64) nightly-5.7-centos7

Amazon Linux 2

x86_64 Signature (x86_64) aarch64 Signature (aarch64) nightly-5.7-amazonlinux2

Windows 101

x86_64 Signature (x86_64) Unavailable

1 Swift Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Older Snapshots Xcode
Download
August 30, 2022 Debugging Symbols
August 27, 2022 Debugging Symbols
August 2, 2022 Debugging Symbols
July 23, 2022 Debugging Symbols
July 17, 2022 Debugging Symbols
July 12, 2022 Debugging Symbols
July 5, 2022 Debugging Symbols
June 26, 2022 Debugging Symbols
June 22, 2022 Debugging Symbols
June 13, 2022 Debugging Symbols
Ubuntu 18.04
Download
August 30, 2022 Signature
August 27, 2022 Signature
August 2, 2022 Signature
July 23, 2022 Signature
July 17, 2022 Signature
July 12, 2022 Signature
July 5, 2022 Signature
June 26, 2022 Signature
June 22, 2022 Signature
June 13, 2022 Signature
Ubuntu 20.04
Download
August 30, 2022 Signature
August 27, 2022 Signature
August 2, 2022 Signature
July 23, 2022 Signature
July 17, 2022 Signature
July 12, 2022 Signature
July 5, 2022 Signature
June 26, 2022 Signature
June 22, 2022 Signature
June 13, 2022 Signature
Ubuntu 22.04
Download
August 30, 2022 Signature
CentOS 7
Download
August 30, 2022 Signature
August 27, 2022 Signature
August 2, 2022 Signature
July 23, 2022 Signature
July 17, 2022 Signature
July 12, 2022 Signature
July 5, 2022 Signature
June 26, 2022 Signature
June 22, 2022 Signature
June 13, 2022 Signature
Amazon Linux 2
Download
August 30, 2022 Signature
August 27, 2022 Signature
August 2, 2022 Signature
July 23, 2022 Signature
July 17, 2022 Signature
July 12, 2022 Signature
July 5, 2022 Signature
June 26, 2022 Signature
June 22, 2022 Signature
June 13, 2022 Signature
Windows 10
Download
July 5, 2022 Signature
June 22, 2022 Signature
June 13, 2022 Signature
June 4, 2022 Signature
May 18, 2022 Signature
April 25, 2022 Signature
April 22, 2022 Signature

Swift 5.6 Development

Swift 5.6 Snapshots are prebuilt binaries that are automatically created from release/5.6 branch. These snapshots are not official releases. They have gone through automated unit testing, but they have not gone through the full testing that is performed for official releases.

Download Date Architecture Docker Tag

Xcode

Universal Debugging Symbols Unavailable

Ubuntu 18.04

x86_64 Signature (x86_64) nightly-5.6-bionic

Ubuntu 20.04

x86_64 Signature (x86_64) aarch64 Signature (aarch64) nightly-5.6-focal

CentOS 7

x86_64 Signature (x86_64) nightly-5.6-centos7

CentOS 8

x86_64 Signature (x86_64) aarch64 Signature (aarch64) nightly-5.6-centos8

Amazon Linux 2

x86_64 Signature (x86_64) aarch64 Signature (aarch64) nightly-5.6-amazonlinux2

Windows 101

x86_64 Signature (x86_64) Unavailable

1 Swift Windows 10 toolchain is provided by Saleem Abdulrasool. Saleem is the platform champion for the Windows port of Swift and this is an official build from the Swift project.

Older Snapshots Xcode
Download
March 2, 2022 Debugging Symbols
February 11, 2022 Debugging Symbols
February 10, 2022 Debugging Symbols
February 9, 2022 Debugging Symbols
February 7, 2022 Debugging Symbols
January 11, 2022 Debugging Symbols
January 9, 2022 Debugging Symbols
Ubuntu 18.04
Download
March 2, 2022 Signature
February 11, 2022 Signature
February 10, 2022 Signature
February 9, 2022 Signature
February 7, 2022 Signature
January 11, 2022 Signature
January 8, 2022 Signature
Ubuntu 20.04
Download
March 2, 2022 Signature
February 11, 2022 Signature
February 10, 2022 Signature
February 9, 2022 Signature
February 7, 2022 Signature
January 11, 2022 Signature
January 9, 2022 Signature
CentOS 7
Download
March 2, 2022 Signature
February 11, 2022 Signature
February 10, 2022 Signature
February 9, 2022 Signature
February 7, 2022 Signature
January 11, 2022 Signature
January 9, 2022 Signature
CentOS 8
Download
March 2, 2022 Signature
February 11, 2022 Signature
February 10, 2022 Signature
February 9, 2022 Signature
February 7, 2022 Signature
January 11, 2022 Signature
January 9, 2022 Signature
Amazon Linux 2
Download
March 2, 2022 Signature
February 11, 2022 Signature
February 10, 2022 Signature
February 9, 2022 Signature
February 7, 2022 Signature
January 11, 2022 Signature
January 9, 2022 Signature
Windows 10
Download
February 10, 2022 Signature
January 9, 2022 Signature

Swift is covered by the Swift License at swift.org/LICENSE.txt.

Using Downloads

Apple Platforms

Xcode includes a release of Swift that is supported by Apple. You can try out a version that is still in development by downloading one of the packages above.

To submit to the App Store you must build your app using the version of Swift that comes included within Xcode.

Requirements for Tools

Swift 5.1

Swift 5.0

Swift 4.2

Swift 4.1

Swift 4.0

Swift 3.1

Swift 3.0

Swift 2.2.x

Supported Target Platforms


Installation

  1. Download the latest package release.

  2. Run the package installer, which will install an Xcode toolchain into /Library/Developer/Toolchains/.

    An Xcode toolchain (.xctoolchain) includes a copy of the compiler, lldb, and other related tools needed to provide a cohesive development experience for working in a specific version of Swift.

  3. Open Xcode’s Preferences, navigate to Components > Toolchains, and select the installed Swift toolchain.

  4. Xcode uses the selected toolchain for building Swift code, debugging, and even code completion and syntax coloring. You’ll see a new toolchain indicator in Xcode’s toolbar when Xcode is using a Swift toolchain. Select the Xcode toolchain to go back to Xcode’s built-in tools.

  5. Selecting a Swift toolchain affects the Xcode IDE only. To use the Swift toolchain with command-line tools, use xcrun --toolchain swift and xcodebuild -toolchain swift, or add the Swift toolchain to your path as follows:

$ export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:"${PATH}"

Code Signing on macOS

The macOS .pkg files are digitally signed by the developer ID of the Swift open source project to allow verification that they have not been tampered with. All binaries in the package are signed as well.

The Swift toolchain installer on macOS should display a lock icon on the right side of the title bar. Clicking the lock brings up detailed information about the signature. The signature should be produced by Developer ID Installer: Swift Open Source (V9AUD2URP3).

If the lock is not displayed or the signature is not produced by the Swift open source developer ID, do not proceed with the installation. Instead, quit the installer and please email swift-infrastructure@forums.swift.org with as much detail as possible, so that we can investigate the problem.

Linux

Packages for Linux are tar archives including a copy of the Swift compiler, lldb, and related tools. You can install them anywhere as long as the extracted tools are in your PATH.

Note that nothing prevents Swift from being ported to other Linux distributions beyond the ones mentioned below. These are only the distributions where these binaries have been built and tested.

Requirements

Supported Target Platforms


Installation

  1. Install required dependencies:
Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04 Ubuntu 22.04 CentOS 7 CentOS 8 Amazon Linux 2
$ apt-get install \
          binutils \
          git \
          libc6-dev \
          libcurl3 \
          libedit2 \
          libgcc-5-dev \
          libpython2.7 \
          libsqlite3-0 \
          libstdc++-5-dev \
          libxml2 \
          pkg-config \
          tzdata \
          zlib1g-dev
$ apt-get install \
          binutils \
          git \
          libc6-dev \
          libcurl4 \
          libedit2 \
          libgcc-5-dev \
          libpython2.7 \
          libsqlite3-0 \
          libstdc++-5-dev \
          libxml2 \
          pkg-config \
          tzdata \
          zlib1g-dev
$ apt-get install \
          binutils \
          git \
          gnupg2 \
          libc6-dev \
          libcurl4 \
          libedit2 \
          libgcc-9-dev \
          libpython2.7 \
          libsqlite3-0 \
          libstdc++-9-dev \
          libxml2 \
          libz3-dev \
          pkg-config \
          tzdata \
          uuid-dev \
          zlib1g-dev
$ apt-get install \
          binutils \
          git \
          gnupg2 \
          libc6-dev \
          libcurl4-openssl-dev \
          libedit2 \
          libgcc-9-dev \
          libpython3.8 \
          libsqlite3-0 \
          libstdc++-9-dev \
          libxml2-dev \
          libz3-dev \
          pkg-config \
          tzdata \
          unzip \
          zlib1g-dev
$ yum install \
      binutils \
      gcc \
      git \
      glibc-static \
      libbsd-devel \
      libedit \
      libedit-devel \
      libicu-devel \
      libstdc++-static \
      pkg-config \
      python2 \
      sqlite

      # __block conflicts with clang's __block qualifier
      sed -i -e 's/\*__block/\*__libc_block/g' /usr/include/unistd.h
$ yum install \
      binutils \
      gcc \
      git \
      glibc-static \
      libbsd-devel \
      libedit \
      libedit-devel \
      libicu-devel \
      libstdc++-static \
      pkg-config \
      python2 \
      sqlite
$ yum install \
      binutils \
      gcc \
      git \
      glibc-static \
      gzip \
      libbsd \
      libcurl \
      libedit \
      libicu \
      libsqlite \
      libstdc++-static \
      libuuid \
      libxml2 \
      tar \
      tzdata
  1. Download the latest binary release above.

    The swift-<VERSION>-<PLATFORM>.tar.gz file is the toolchain itself. The .sig file is the digital signature.

  2. If you are downloading Swift packages for the first time, import the PGP keys into your keyring:

    $ gpg --keyserver hkp://keyserver.ubuntu.com \
          --recv-keys \
          '7463 A81A 4B2E EA1B 551F  FBCF D441 C977 412B 37AD' \
          '1BE1 E29A 084C B305 F397  D62A 9F59 7F4D 21A5 6D5F' \
          'A3BA FD35 56A5 9079 C068  94BD 63BC 1CFE 91D3 06C6' \
          '5E4D F843 FB06 5D7F 7E24  FBA2 EF54 30F0 71E1 B235' \
          '8513 444E 2DA3 6B7C 1659  AF4D 7638 F1FB 2B2B 08C4' \
          'A62A E125 BBBF BB96 A6E0  42EC 925C C1CC ED3D 1561' \
          '8A74 9566 2C3C D4AE 18D9  5637 FAF6 989E 1BC1 6FEA' \
          'E813 C892 820A 6FA1 3755  B268 F167 DF1A CF9C E069'
    

    or:

    $ wget -q -O - https://swift.org/keys/all-keys.asc | \
      gpg --import -
    

    Skip this step if you have imported the keys in the past.

  3. Verify the PGP signature.

    The .tar.gz archives for Linux are signed using GnuPG with one of the keys of the Swift open source project. Everyone is strongly encouraged to verify the signatures before using the software.

    First, refresh the keys to download new key revocation certificates, if any are available:

    $ gpg --keyserver hkp://keyserver.ubuntu.com --refresh-keys Swift
    

    Then, use the signature file to verify that the archive is intact:

    $ gpg --verify swift-<VERSION>-<PLATFORM>.tar.gz.sig
    ...
    gpg: Good signature from "Swift Automatic Signing Key #4 <swift-infrastructure@forums.swift.org>"
    

    If gpg fails to verify because you don’t have the public key (gpg: Can't check signature: No public key), please follow the instructions in Active Signing Keys below to import the keys into your keyring.

    You might see a warning:

    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    

    This warning means that there is no path in the Web of Trust between this key and you. The warning is harmless as long as you have followed the steps above to retrieve the key from a trusted source.

    If gpg fails to verify and reports “BAD signature”, do not use the downloaded toolchain. Instead, please email swift-infrastructure@forums.swift.org with as much detail as possible, so that we can investigate the problem.

  4. Extract the archive with the following command:

    $ tar xzf swift-<VERSION>-<PLATFORM>.tar.gz
    

    This creates a usr/ directory in the location of the archive.

  5. Add the Swift toolchain to your path as follows:

    $ export PATH=/path/to/usr/bin:"${PATH}"
    

    You can now execute the swift command to run the REPL or build Swift projects.

Active Signing Keys

The Swift project uses one set of keys for snapshot builds, and separate keys for every official release. We are using 4096-bit RSA keys.

The following keys are being used to sign toolchain packages:

Expired Signing Keys

Windows

Dependencies

Swift has the following general dependencies:

Windows has the following additional platform specific dependencies:

Installation Instructions

Install using the Windows Package Manager

The Windows Package Manager can be found in the App Store or be installed directly.

  1. Install required dependencies:

    The platform dependencies cannot be installed through the Windows Package Manager as the install rules do not install the components necessary. They will be installed through Visual Studio installer.

    winget install Git.Git
    winget install Python.Python.3 --version 3.10.2150.0
    
    curl -sOL https://aka.ms/vs/16/release/vs_community.exe
    start /w vs_community.exe --passive --wait --norestart --nocache ^
      --installPath "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community" ^
      --add Microsoft.VisualStudio.Component.Windows10SDK.19041 ^
      --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64
    del /q vs_community.exe
    

    Start up a new Command Prompt and install the Python library six.

    pip install six
    
  2. Install Swift:

    Swift can be installed through the official installer directly, or using the Windows Package Manager as well. Notice that Windows Package Manager release may be behind the official release.

    • Using the official installer:
      1. Download the latest package release.
      2. Run the package installer.
    • Using the Windows Package Manager:
      winget install Swift.Toolchain
      

A Swift toolchain will be installed at %SystemDrive%\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain. A compatible Swift SDK will be installed at %SystemDrive%\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk.

Traditional Installation

NOTE: The traditional installation process is required for Swift older than 5.4.2.

Swift has been tested with Visual Studio 2019. You will need to install Visual Studio with the following components. The installer for Swift is available in the Download section. The toolchain on Windows is installed to %SystemDrive%\Library\Developer\Toolchains.

The following Visual Studio components are required:

Component Visual Studio ID
MSVC v142 - VS 2019 C++ x64/x86 build tools (Latest) Microsoft.VisualStudio.Component.VC.Tools.x86.x64
Windows 10 SDK (10.0.17763.0)2 Microsoft.VisualStudio.Component.Windows10SDK.17763

The following additional Visual Studio components are recommended:

Component Visual Studio ID
Git for Windows Microsoft.VisualStudio.Component.Git
Python 3 64-bit (3.7.8) Component.CPython.x64

The following additional Visual Studio component is suggested:

Component Visual Studio ID
C++ CMake tools for Windows Microsoft.VisualStudio.Component.VC.CMake.Project

Support Files

NOTE: This is only required for versions older than 5.4.2

You must use the x64 Native Tools for VS2019 Command Prompt to run the following steps. The x64 Native Tools for VS2019 Command Prompt runs the DevEnv script from Visual Studio that sets up the necessary environment variables to find the system headers.

In order to make the Windows SDK accessible to Swift, it is necessary to deploy a few files into the Windows SDK. The following will modify your Visual Studio Installation, and as such will require to be run from an (elevated) “Administrator” x86 Native Tools for VS2019 Command Prompt.

copy /Y %SDKROOT%\usr\share\ucrt.modulemap "%UniversalCRTSdkDir%\Include\%UCRTVersion%\ucrt\module.modulemap"
copy /Y %SDKROOT%\usr\share\visualc.modulemap "%VCToolsInstallDir%\include\module.modulemap"
copy /Y %SDKROOT%\usr\share\visualc.apinotes "%VCToolsInstallDir%\include\visualc.apinotes"
copy /Y %SDKROOT%\usr\share\winsdk.modulemap "%UniversalCRTSdkDir%\Include\%UCRTVersion%\um\module.modulemap"

Because it is installing the files into the Visual Studio image, the files will need to be copied each time Visual Studio is updated.

Repairing after Visual Studio Updates

If Visual Studio is updated, you may have to repair the installation. See Microsoft’s instructions for repairing installed programs.

Code Signing on Windows

  1. Install GPG from GnuPG.org

  2. If you are downloading Swift packages for the first time, import the PGP keys into your keyring:

    $ gpg.exe --keyserver hkp://keyserver.ubuntu.com `
          --receive-keys `
          'A62A E125 BBBF BB96 A6E0  42EC 925C C1CC ED3D 1561' `
          '8A74 9566 2C3C D4AE 18D9  5637 FAF6 989E 1BC1 6FEA'
    

    or:

    $ wget https://swift.org/keys/all-keys.asc -UseBasicParsing | `
    Select-Object -Expand Content | gpg.exe --import -
    

    Skip this step if you have imported the keys in the past.

  3. Verify the PGP signature.

    The .exe installer for Windows are signed using GnuPG with one of the keys of the Swift open source project. Everyone is strongly encouraged to verify the signatures before using the software.

    First, refresh the keys to download new key revocation certificates, if any are available:

    $ gpg.exe --keyserver hkp://keyserver.ubuntu.com --refresh-keys Swift
    

    Then, use the signature file to verify that the archive is intact:

    $ gpg.exe --verify swift-<VERSION>-<PLATFORM>.exe.sig
    ...
    gpg: Good signature from "Swift Automatic Signing Key #3 <swift-infrastructure@swift.org>"
    

    If gpg fails to verify because you don’t have the public key (gpg: Can't check signature: No public key), please follow the instructions in Active Signing Keys below to import the keys into your keyring.

    You might see a warning:

    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    

    This warning means that there is no path in the Web of Trust between this key and you. The warning is harmless as long as you have followed the steps above to retrieve the key from a trusted source.

    If gpg fails to verify and reports “BAD signature”, do not use the downloaded toolchain. Instead, please email swift-infrastructure@forums.swift.org with as much detail as possible, so that we can investigate the problem.

Active Signing Keys

The Swift project uses one set of keys for snapshot builds, and separate keys for every official release. We are using 4096-bit RSA keys.

The following keys are being used to sign toolchain packages:

Docker

Swift official Docker images are hosted on hub.docker.com/_/swift.

Swift Dockerfiles are located on swift-docker repository.

Supported Platforms

Using Docker Images

  1. Pull the Docker image from Docker hub:

    docker pull swift
    
  2. Create a container using tag latest and attach it to the container:

    docker run --privileged --interactive --tty \
    --name swift-latest swift:latest /bin/bash
    
  3. Start container swift-latest:

    docker start swift-latest
    
  4. Attach to swift-latest container:

    docker attach swift-latest
    
  1. The windows binaries are built against Python 3.10.2 

  2. You may install a newer SDK instead.