Repository navigation
Releases
Releases Β· swiftlang/swiftly
1.2.0
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.
swiftlycan now remove itself, in addition to individual toolchains (#344). uninstallaccepts 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
yumtodnf(#530, #529). x.y.z-snapshottoolchain versions are now recognized, fixing installs of versions like6.4-snapshot(#549, #561).swiftly list --format jsonnow includes each toolchain's install location (#502).- Process management was migrated to Swift's
Subprocesslibrary, replacing ad hocFoundation.Processusage (#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 -hnow shows help instead of erroring (#452), and--versionno longer errors withquick(#458).--usereliably selects the requested toolchain (#456), and error messages when a.swift-versiontoolchain 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
TOOLCHAINSenvironment 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_DIRis now prepended toPATH(#492); symlinks are followed correctly when resolving target files (#460);zipwas 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 initno 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
- @tomassliz made their first contribution in #411
- @incertum made their first contribution in #433
- @xwu made their first contribution in #448
- @gibachan made their first contribution in #452
- @bkhouri made their first contribution in #456
- @timsneath made their first contribution in #474
- @ahoppen made their first contribution in #487
- @marcprux made their first contribution in #503
- @ktoso made their first contribution in #561
Full Changelog: 1.1.4...1.2.0
Full PR list (raw)
- Fix runtime error in self-update by @cmcgee1024 in #415
- Remove redundant check for updates message in self-update by @cmcgee1024 in #417
- use HTTPRequestExecutorImpl client for libarchive by @justice-adams-apple in #420
- Add a simple test for any self-update subcommand parse errors by @cmcgee1024 in #418
- Testing:
withMockedHome: Forward errors from function under test by @etcwilde in #424 - Support multiple toolchain selectors with
uninstallby @plemarquand in #413 - [Documentation] re-order uninstall instructions by @justice-adams-apple in #389
- Bump swift version to 6.2.0 to support new macOS SDK in CI by @cmcgee1024 in #426
- Fix Zsh auto-completions setup instructions by @tomassliz in #411
- Clean up unused code and replace Path with URL to resolve warnings by @belkhadir in #407
- Add ability to self uninstall swiftly by @louisunlimited in #344
- chore: restrict GitHub workflow permissions - future-proof by @incertum in #433
- Work around read bytes main by @cmcgee1024 in #442
- Bump package dependencies and libarchive by @cmcgee1024 in #428
- Update message: prefer ASCII arrow by @xwu in #448
- Fix self update macOS by @cmcgee1024 in #440
- Fix build warnings by @SimplyDanny in #445
- Add zip as a dependency on Linux distributions by @plemarquand in #451
- Fix
swiftly run -hto show help message by @gibachan in #452 - Use Subprocess for process management by @cmcgee1024 in #410
- fixed quick --version error by @johnbute in #458
- Print unlinked warning to standard error instead of standard out by @cmcgee1024 in #459
- Skip
tests-selfhosted-macosjobs on forked repositories by @kkebo in #465 - Ensure
--usewill select the toolchain by @bkhouri in #456 - fix: import GPG keys when installing swiftly by @louisunlimited in #453
- Add release branches to the pull request checks by @cmcgee1024 in #466
- Fix nightly smoke test failure by @cmcgee1024 in #468
- Bump swift version to 6.2.1 by @cmcgee1024 in #469
- Fix two minor typos by @timsneath in #474
- Follow symlinks to reach target file by @SimplyDanny in #460
- Fix build warnings by @SimplyDanny in #461
- Fix resolution of the xcode selector to the xcode version by @cmcgee1024 in #455
- Add a troubleshooting guide by @cmcgee1024 in #479
- Ensure the macOS SDK exists at install time by @justice-adams-apple in #480
- Move
CODEOWNERSto.github/CODEOWNERSby @ahoppen in #487 - Skip macOS CI jobs on forked repositories by @kkebo in #471
- Don't install the SL SDK into the user account by @cmcgee1024 in #486
- Extract common lookup logic by @SimplyDanny in #462
- Update macOS runner label in build_release.yml to Tahoe by @shahmishal in...
1.1.4
What's Changed
- Bump version to 1.1.4 by @shahmishal in #593
- Keep explicit patch version in release naming starting with Swift 6.4 by @shahmishal in #592
Full Changelog: 1.1.3...1.1.4
1.1.3
What's Changed
- [1.1] [cherry-pick] Update tmpfile for swiftly pkg to use platform file extension by @justice-adams-apple in #553
Full Changelog: 1.1.2...1.1.3
1.1.2
What's Changed
- Docs: fix broken links (#519) by @shahmishal in #535
- [1.1] Add support for Swift 6.4.x snapshot by @shahmishal in #550
Full Changelog: 1.1.1...1.1.2
1.1.1
What's Changed
- Fix the self update for macOS so that the installer is executed by @cmcgee1024 in #441
- Update the version to 1.1.1 by @shahmishal in #444
- Work around unable to read all of the bytes error by @cmcgee1024 in #435
- Add release branches to the pull request checks by @cmcgee1024 in #467
- Fix two minor typos (#474) by @heckj in #475
- Add a troubleshooting guide by @cmcgee1024 in #478
- [Cherry-pick] Ensure the macOS SDK exists at install time by @justice-adams-apple in #481
Known Issue:
Self update swiftly from version 1.1.0 fails with macOS
Full Changelog: 1.1.0...1.1.1
1.1.0
What's Changed
- Make "swift-" prefix optional in MainSnapshotParser by @kateinoigakukun in #240
- Add a global variable cpuArch by @danny1113 in #216
- Print file URLs without leading file schema by @rauhul in #244
- Update Swift NIO dependency by @rauhul in #243
- Merge updates from release/1.0 to the main branch by @cmcgee1024 in #248
- Installation workflow improvements by @cmcgee1024 in #249
- Remove rehashing instructions when using the fish shell (#250) by @cmcgee1024 in #252
- feature: Omit internal access control, if let shorthand, fix typos by @KeoFoxy in #256
- Change the default install path for macOS pkgs (#259) by @cmcgee1024 in #263
- updates the abstracts for each of the HowTo guides, and renames the topic heading from 'HOWTOS' to 'Guides' by @heckj in #258
- Update swiftly README for the 1.0.0 release by @cmcgee1024 in #236
- Use the swiftly 1.0.0 release for the GH workflows by @cmcgee1024 in #276
- Fix typo in
DESIGN.mdby @MaxDesiatov in #285 - Polish welcome message by @SimplyDanny in #273
- broad swiftly-doc content edit pass by @heckj in #268
- Update system pkg deps to main by @cmcgee1024 in #290
- Update dependencies by @cmcgee1024 in #293
- Convert swift.org API usages to use OpenAPI generated API by @cmcgee1024 in #253
- Move E2E testing into GH action for Linux by @cmcgee1024 in #296
- Migrate swiftly to swift testing by @cmcgee1024 in #304
- Document the TMPDIR environment variable for better discovery by @cmcgee1024 in #308
- Add pkg title as "swiftly" by @louisunlimited in #280
- Convert file downloading to go through the OpenAPI abstraction by @jakepetroules in #309
- Migrate swiftly to Swift 6 with concurrency checks by @cmcgee1024 in #310
- Remove swiftly from the path during proxying by @cmcgee1024 in #311
- Enable MemberImportVisibility by @plemarquand in #320
- Add SDKROOT when proxying on macOS based on xcrun information by @cmcgee1024 in #316
- Make the toolchains directory location configurable by @cmcgee1024 in #324
- Fix list-available showing wrong toolchain in use by @louisunlimited in #314
- Improve path management and filesystem operation ergonomics by @cmcgee1024 in #318
- Convert argument parser option strings into FilePath for paths by @cmcgee1024 in #329
- Improve word wrapping by @roulpriya in #327
- Add a modeled command-line for better checking by @cmcgee1024 in #330
- Model lipo invocations with a modeled command structure and a test by @cmcgee1024 in #331
- Add version check and prompt for self update by @louisunlimited in #313
- Add ability to temporarily unlink swiftly by @plemarquand in #315
- Model additional system commands by @cmcgee1024 in #332
- Smoke test swiftly on nightly snapshot toolchains by @cmcgee1024 in #337
- Fixup relative readme link by @plemarquand in #336
- Model remaining commands by @cmcgee1024 in #339
- doc: update uninstall swiftly instructions by @louisunlimited in #338
- Build swiftly release cleanup by @cmcgee1024 in #335
- Place the correct program and arguments into RunProgramError by @cmcgee1024 in #347
- Append file extension to downloaded toolchain by @plemarquand in #355
- Cleanup Uninstall message by @plemarquand in #356
- Add devcontainer by @plemarquand in #357
- Bump OpenAPI depdendencies to support building on Windows. by @patricktcoakley in #354
- Create CODEOWNERS by @cmcgee1024 in #295
- Generate command models from argument parser info JSON files by @cmcgee1024 in #345
- Do not move symlink swiftly into the bin directory by @cmcgee1024 in #365
- Find symlink managed swiftly when creating proxies by @cmcgee1024 in #367
- Adding FileLock by @roulpriya in #361
- Add macOS job to pull request workflow by @cmcgee1024 in #364
- Update the swiftly version used in the nightly smoke tests by @cmcgee1024 in #371
- Update nightly smoke test for macOS to use the nightly toolchain by @cmcgee1024 in #372
- Refactor text wrapping implementation with improved logic by @roulpriya in #374
- Remove fedora 39 from the night smoke test checks by @cmcgee1024 in #379
- Refactoring output print to message by @roulpriya in #377
- Add JSON output for use command by @roulpriya in #380
- Remove the swiftly bootstrap version by @cmcgee1024 in #385
- Refactor list-available command to support json format by @roulpriya in #387
- Refactor list command to support json format by @roulpriya in #388
- Json Progress File by @roulpriya in #391
- Add progress reporter protocol by @roulpriya in #394
- json output install by @roulpriya in #392
- Add an option to self-update to provide the swiftly version to update by @cmcgee1024 in #370
- Replace hardcoded config fallback version with dynamic constant by @belkhadir in #381
- Fix shared mutable state problem with install test by @cmcgee1024 in #399
- Tests: Disable Git Commit Signing in Tests by @etcwilde in #397
- Remove swiftly update message from swiftly run command by @cmcgee1024 in #401
- Add a nightly 6.2 toolchain verification for swiftly by @cmcgee1024 in #400
- Fix main-snapshot nightly check for macOS by @cmcgee1024 in #402
- Partial warning cleanup: remove unused awaits and refactor argument parsing by @belkhadir in #398
- Run completion script generation without previous setup by @SimplyDanny in #386
- Create a special Xcode selector for macOS by @cmcgee1024 in #317
- Fix runtime error in self-update (release 1.1) by @cmcgee1024 in #416
- Detect HTTPS_PROXY in HTTPClient by @justice-adams-apple in #419
- Drop the
-devfrom the Swiftly version by @shahmishal in #432
New Contributors
- @danny1113 made their first contribution in #216
- @KeoFoxy made their first contribution in #256
- @MaxDesiatov made their first contribution in #285
- @SimplyDanny made their first contribution in #273
- @jakepetroules made their first contribution in #309
- @roulpriya made their first contribution in #327
- @patricktcoakley made their first contribution in #354
Full Changelog: 1.0.1...1.1.0
1.0.1
What's Changed
- Update swiftly README for the 1.0.0 release (#236) by @cmcgee1024 in #267
- Change swiftly version to 1.0.1-dev on release/1.0 branch by @cmcgee1024 in #287
- Use the swiftly 1.0.0 release for the GH workflows by @cmcgee1024 in #286
- Adjust system package dependencies for Swift 6.1 by @cmcgee1024 in #289
- Polish welcome msg for release 1.0 branch by @cmcgee1024 in #288
- Remove swiftly from the path during proxying by @cmcgee1024 in #321
- Add SDKROOT when proxying on macOS based on xcrun information by @cmcgee1024 in #325
- Move release 1.0 to swift 6.1 by @cmcgee1024 in #305
- Make the toolchains directory location configurable by @cmcgee1024 in #326
- Fix list-available showing wrong toolchain in use (#314) by @cmcgee1024 in #328
- Update swiftly version to 1.0.1 in preparation for a patch release by @cmcgee1024 in #341
Full Changelog: 1.0.0...1.0.1
1.0.0
What's Changed
- Update swiftly version to 1.0.0 and add upgrade routine for 0.4.0 by @cmcgee1024 in #237
- Update Swift NIO dependency by @rauhul in #242
- Make updates better and more resilient by @cmcgee1024 in #245
- Installation workflow improvements by @cmcgee1024 in #238
- Remove rehashing instructions when using the fish shell by @cmcgee1024 in #250
- Change the default install path for macOS pkgs by @cmcgee1024 in #259
- Update the abstracts for the HowTo guides, Rename HOWTOS to Guides by @cmcgee1024 in #264
Full Changelog: 0.4.0...1.0.0
v0.4.0
What's Changed
- style: remove an unnecessary empty line in update-fish-config.sh by @kkebo in #106
- improve API usages around String/Data/ByteBuffer by @weissi in #109
- fix(install): use
sourceinstead of.in fish by @kkebo in #105 - Update README.md with contributing by @parispittman in #113
- Delete CODE_OF_CONDUCT.md by @parispittman in #114
- Update usage of unsafe API, upgrade libarchive to 3.7.4, upgrade async http client by @cmcgee1024 in #120
- Fix NIOTooManyBytesError that sometimes occurs during XCTests by @cmcgee1024 in #129
- macOS support for swiftly by @cmcgee1024 in #121
- Mock out test interactions with swift.org and github.com by @cmcgee1024 in #133
- Add DocC documentation for swiftly by @cmcgee1024 in #131
- Merge installation logic into swiftly as an init subcommand by @cmcgee1024 in #127
- Use swift.org API for getting releases and some snapshot toolchains by @cmcgee1024 in #153
- Integrate SwiftFormat into the swiftly project dependencies by @cmcgee1024 in #158
- Enhancements to the release build script by @cmcgee1024 in #165
- Remove all usage of the GitHub API by @cmcgee1024 in #172
- Add signature cert and package identifier parameters to package script by @cmcgee1024 in #174
- Fix package install detection for packages that are partially installed by @cmcgee1024 in #178
- Verify the libarchive payload by @cmcgee1024 in #181
- Add a github workflow for Linux based on the swiftlang template by @cmcgee1024 in #184
- Add new Linux platforms: Ubuntu 24.04, Debian 12, Fedora 39 by @cmcgee1024 in #173
- Add post-merge CI and build release workflows by @cmcgee1024 in #185
- Swiftly proxies by @cmcgee1024 in #155
- Provide actionable instructions on a format failure in pull requests by @cmcgee1024 in #190
- Download toolchains using proxy if one is set in the environment by @vsarunas in #189
- Add documentation related build and checks to GitHub workflows by @cmcgee1024 in #186
- Streamline the swiftly init process by @cmcgee1024 in #177
- Fix a documentation bug involving sha sum by @cmcgee1024 in #194
- Make release package file names more uname friendly on Linux by @cmcgee1024 in #193
- Restore amazon linux 2 as the default release build platform by @cmcgee1024 in #192
- Update README.md by @heckj in #198
- Adopt the static linux sdk by @cmcgee1024 in #196
- Create documentation for shell auto-completions by @cmcgee1024 in #200
- Conform Swiftly's Error type to CustomStringConvertible by @plemarquand in #203
- Adopt OpenAPI for fetching current swiftly releases by @cmcgee1024 in #205
- Check prefix for the current user on Linux when finding the shell by @cmcgee1024 in #206
- Convert workflows to self-hosted with Swiftly by @cmcgee1024 in #195
- Fix typo by @taji-taji in #207
- Prepare for the 0.4.0 release by @cmcgee1024 in #214
- Update doc title from SwiftlyDocs to Swiftly by @shahmishal in #217
- Revert "Update doc title from SwiftlyDocs to Swiftly" by @shahmishal in #219
- Getting started guide cleanup by @cmcgee1024 in #220
- Consistency in y/n prompts #141 fix by @johnbute in #222
- Handle run with the --help flag so that it brings up the help by @cmcgee1024 in #225
- Update documentation and online help around global default toolchains by @cmcgee1024 in #224
- Foreground process fix by @johnbute in #226
New Contributors
- @weissi made their first contribution in #109
- @parispittman made their first contribution in #113
- @vsarunas made their first contribution in #189
- @taji-taji made their first contribution in #207
- @shahmishal made their first contribution in #217
- @johnbute made their first contribution in #222
Full Changelog: 0.3.0...0.4.0
v0.3.0
Highlighted changes
Verify PGP signatures (#94)
Swiftly will now verify the PGP signature of your download before installing the swift toolchain
Full release notes
- Fix decoding error in self-update. PR #90 from @kkebo
- Update swift package versions. PR #98
- Verify PGP signatures of toolchains before install #94