Skip to content

1.2.0

Latest

Choose a tag to compare

@shahmishal shahmishal released this 22 Sep 01:38
· 1 commit to release/1.2 since this release
fd76e26

1.2.0

Swiftly 1.2.0 focuses on platform support and installation reliability: new Linux distros, several fixes for macOS SDK/Xcode resolution, a self-uninstall command, and a big internal migration to Swift's Subprocess library for process management.

Highlights

  • Self-uninstall support. swiftly can now remove itself, in addition to individual toolchains (#344).
  • uninstall accepts multiple selectors in one invocation, e.g. swiftly uninstall 5.9 5.10 (#413).
  • New platform support: Ubuntu 26.04, Debian 13 (#575) and Fedora 41, with Fedora/UBI9 switched from yum to dnf (#530, #529).
  • x.y.z-snapshot toolchain versions are now recognized, fixing installs of versions like 6.4-snapshot (#549, #561).
  • swiftly list --format json now includes each toolchain's install location (#502).
  • Process management was migrated to Swift's Subprocess library, replacing ad hoc Foundation.Process usage (#410, later bumped to 1.0.0 in #558).

Fixes & Improvements

  • Fixed a runtime crash and cleaned up messaging in self-update (#415, #417, #440).
  • swiftly run -h now shows help instead of erroring (#452), and --version no longer errors with quick (#458).
  • --use reliably selects the requested toolchain (#456), and error messages when a .swift-version toolchain is missing are clearer (#540).
  • Xcode selector resolution, macOS SDK existence checks, and the simulated CLT/SDK layout were all fixed for more reliable macOS installs (#455, #480, #541).
  • The macOS SDK is no longer installed into the user account (#486), and the TOOLCHAINS environment variable is now set correctly when proxying on macOS (#491).
  • Fixed swiftly deleting itself when installed via Homebrew on Linux (#503) and GPG key import during install (#453).
  • SWIFTLY_BIN_DIR is now prepended to PATH (#492); symlinks are followed correctly when resolving target files (#460); zip was added as a required Linux dependency (#451).
  • Unlinked-toolchain warnings now go to stderr instead of stdout (#459), and the update-available message uses a plain ASCII arrow (#448).
  • swiftly init no longer wraps its post-install script incorrectly (#500) and is more resilient on new platforms (#588); env.sh command expansion was fixed (#591); the verbose flag now propagates to the macOS installer (#583).
  • Release naming keeps an explicit patch version starting with Swift 6.4 (#595), and the pkg installer's temp file now uses the correct platform file extension (#552).

Documentation

  • Added a troubleshooting guide (#479).
  • Fixed Zsh auto-completion setup instructions (#411), re-ordered uninstall instructions (#389), fixed broken doc links (#519), and fixed two typos (#474).

New Contributors

Full Changelog: 1.1.4...1.2.0

Full PR list (raw)