Announcing Swift 6.3.2

We are happy to announce the release of Swift 6.3.2.

Install Swift Toolchain

Release Notes

  • Swift
    • When using C++ interoperability on Linux, allow importing C++ libraries that use C++23 headers such as <expected> (#88646)
  • LLDB
    • Improved error handling when Python cannot be found on Windows (#12698)
  • Swift Package Manager
    • When using resources, allow the Bundle.module to be accessed from outside the MainActor (#9850)
    • Several fixes related to Package Registry interactions (#9993, #9984, #9968, #9941, #9926)
  • Swift Testing
    • Fixed an issue causing exit tests to return invalid results when no standard output or error is produced (#1695)
    • Emits a warning when one of the testing library’s attribute macros, such as @Test, includes generic type parameters since they are unsupported. (#1653)
  • libdispatch
    • Changed dispatch worker thread names to “DispatchWorker”, instead of being based on the label of the root queue they are servicing (#936)
  • Swift Build
    • When using resources, allow the Bundle.module to be accessed from outside the MainActor (#1240)
  • SourceKit-LSP
    • Fixed an issue that could cause sourcekit-lsp to crash on Windows when using a compile_commands.json for build settings (#2606)
    • Introduced forceResolvedVersions configuration option, which is equivalent to SwiftPM’s --force-resolved-versionsoption. This can be used to ensure that background indexing treats Package.resolved as a lock file (#2613)
17 Likes

I notice the long-awaited Amazon Linux 2023 images are now out too :partying_face:!

6.3.2-amazonlinux2023 / 6.3-amazonlinux2023 + -slim images

3 Likes

i notice there is no 6.3.2 scheme in swift/utils/update_checkout/update-checkout-config.json at main · swiftlang/swift · GitHub

should there be?

The docker.io/swift:6.3.2 image (and a couple other tags) only has arm64 variant.

1 Like

I need FreeBSD arm64 version ,I can setup CI env ,I have BSD box 16core HoneyComb LX2K

1 Like

You should use the --tag swift-6.3.2-RELEASE option. Additionally, Swift 6.3.2 was released from the release/6.3 branch, so you can also use that scheme too.

1 Like

It seems like Swift 6.3.1 is still the current release on the project’s GitHub page: Releases · swiftlang/swift · GitHub . There is a tag for 6.3.2 though Release swift-6.3.2-RELEASE · swiftlang/swift · GitHub .

1 Like

I`m not sure: are all these changes in Swift 6.3.2 really - I mean really really - BugFixes? It looks like somethink are more than patches and its feels wrong to provide this in a patch version 6.3.2 instead of 6.4 - or not?

Swift doesn't strictly follow semantic versioning. Though personally I'd consider them all fixes of one type or another. SourceKit-LSP's forceResolvedVersions is as close to a new feature I can see, but even that is just "fixing" its mismatched behavior vs. SPM.

1 Like
 % sh run-tests.sh 
=== System ===
FreeBSD 14.4-RELEASE arm64 aarch64

=== Test 1: hello_arm64 ===
Hello from Swift on FreeBSD arm64!
arch check: arm64 âś“
sorted: [1, 1, 2, 3, 4, 5, 6, 9]
[PASS] hello

=== Test 2: async_arm64 (Swift Concurrency) ===
concurrency works: [1, 4, 9, 16, 25, 36, 49, 64]
[PASS] async
swift@dpaa2:~/test/swift-arm64-test % uname -a
FreeBSD dpaa2 14.4-RELEASE FreeBSD 14.4-RELEASE releng/14.4-n273675-a456f852d145 GENERIC arm64

github repo GitHub - networkextension/swift-freebsd: swift-freebsd · GitHub

1 Like

This is huge, thanks for improving freebsd toolchain, this is very useful for small arm64 SBC

2 Likes

start real test

2 Likes

Swift on FreeBSD arm64 first package on github

1 Like

Nice, have you tried running the compiler validation suite when natively building on FreeBSD AArch64, by passing the -T flag to build-script as I showed here for linux AArch64? It would be great if you filed an issue with your test run results, as I did here for Fedora 43 AArch64 a couple months ago.

1 Like
2 Likes

Swift 6.3.2 arm64 FreeBSD native package Anyone want to help test ?

2 Likes