We are happy to announce the release of Swift 5.10.1 for Linux and Windows.New downloads are available on Swift.org - Install Swift
Release Note
- New Linux platforms supported:
- Ubuntu 23.10 (x86_64 and AArch64)
- Ubuntu 24.04 (x86_64 and AArch64)
- Debian 12 (x86_64 and AArch64)
- Fedora 39 (x86_64 and AArch64)
28 Likes
It's good to see Debian now on the supported distros list, but it seems there's still no native support, merely tarballs and Docker images (as opposed to e.g. apt install swiftlang). Why is that?
6 Likes
It seems like it would be good to have (deb and rpms) but itâs actually not common to have programming tool chains packaged for distributions officially. Look at Go and Rust as examples. Instead, they are investing time into a Swift version manager called Swiftly. Itâs awesome if you havenât checked it out yet!
https://swift-server.github.io/swiftly/
5 Likes
Hmm, it's all I've ever used, e.g. with Python.
I'm aware of Swiftly, but it just extends the problem to now having yet another tarball to manually manage.
In my experience pretty much every Linux system has a robust, built-in way to essentially apt update && apt upgrade automatically, periodically. Having to build a bespoke setup just to keep Swift up to date is not great.
1 Like
Well if you DO want deb packages for Swift, look no further than the Swift for ARM project. They are building for Debian and Ubuntu x86_64 and arm64 as well. Not officially supported but works like a charm.
https://swift-arm.com/installSwift
I somewhat doubt Apple will officially maintain their own repositories with deb and rpm packages, but that does not stop the community from doing this! 
3 Likes
Right, and that's what I use. It works great. The problem is, practically nobody new to Swift is going to use it because they have no reasonable way to know about it, since it's never mentioned on swift.org.
It'd be great if the Swift-ARM community effort were highlighted on swift.org, and included in the 'how to install Swift' pages.
5 Likes
I think it's due to lack of cooperation between Swift developers and Linux distributions maintainers. Or lack of effort from Swift developers to create and propose proper packages for Linux distributions.
For me personally, tarballs are OK (but Docker images are not).
2 Likes
sspringer
(Stefan Springer)
8
At which point will Windows ARM be on the list of supported platforms and available on the download page? According to this ticket ARM support seems to be âreadyâ.
1 Like
See @compnerd's earlier answer to me. After following your link, I see now that they have been putting out unofficial Windows AArch64 trunk toolchain installers since last September, including for the 5.10 branch. I suggest you try those out and report any problems you find to them.
2 Likes
I agree, that would be nice. Maybe something that can happen in the future as part of the platform steering group work.
How can I know which version of CoreFoundation is included in the 5.10.1 release?
The swift-corelibs-foundation repo used in the linux/Windows OSS toolchains but not on macOS is open source, so you can look in the 5.10 commit log for that info. Scrolling through and looking for large merge commits, I see this giant Monterey merge commit on the second page, from three years ago.
I'm interested in Linux actually. I thought that the swift-corelibs-foundation 5.10.1 release would be contained in Swift 5.10.1, but that doesn't seem to be the case. Now I wonder how the update cycle works there.
It should be: you're saying the released 5.10.1 library in some official linux toolchain was not built from this source tag?
I use the Swift 5.10.1 Docker image and try to compile the code
await URLSession.shared.data(for: request)
in a CI environment. Async methods on URLSession were added only recently, but should be part of the 5.10.1 tag. Yet, the compiler complains like error: value of type 'URLSession' has no member 'data'. So I assume this code isnât part of the toolchain. So far it isnât obvious to me where to find whatâs actually included.
1 Like
etcwilde
(Evan Wilde)
17
As far as I can tell, the patches for adding the async data were never a part of 5.10.
5.10.1 is a patch release on 5.10, so it doesn't contain new feature work, just bug fixes on the existing functionality. It should be in 6.0 and main though.
3 Likes