Skip to content

Latest commit

 

History

History
2179 lines (1829 loc) · 108 KB

CHANGELOG.md

File metadata and controls

2179 lines (1829 loc) · 108 KB

Changelog

[1.28.0] - ?

The new release of rustup has been a long time in the making and comes with substantial changes.

The following improvements might require changes to how you use rustup:

  • rustup will no longer automatically install the active toolchain if it is not installed. pr#3985

    • To ensure its installation, run rustup toolchain install with no arguments.
    • The following command installs the active toolchain both before and after this change:
      rustup show active-toolchain || rustup toolchain install
      # Or, on older versions of PowerShell:
      rustup show active-toolchain; if ($LASTEXITCODE -ne 0) { rustup toolchain install }
  • Installing a host-incompatible toolchain via rustup toolchain install or rustup default will now be rejected unless you explicitly add the --force-non-host flag. pr#4028

rustup now officially supports the following host platforms:

  • aarch64-pc-windows-msvc pr#3840
  • loongarch64-unknown-linux-musl pr#3921

We have additionally made the following internal changes:

  • The default download backend has been changed from reqwest with native-tls to reqwest with rustls. pr#3798
    • RUSTUP_USE_CURL and RUSTUP_USE_RUSTLS can still be used to change the download backend if the new backend causes issues. If issues do happen, please let us know.
    • The default backend now uses rustls-platform-verifier to verify server certificates, taking advantage of the platform's certificate store on platforms that support it. pr#3903
  • When creating proxy links, rustup will now try symlinks first and fall back to hardlinks, as opposed to trying hardlinks first. pr#4023
  • A new RUSTUP_LOG environment variable can be used to control tracing-based logging in rustup binaries. See the dev guide for more details. pr#3875

Additionally, Chris Denton joined the team. Chris has a lot of experience contributing to Windows-related parts of the Rust Project, expertise which was sorely lacking in existing team members, so we're happy to have him on board to help address Windows-specific issues.

Detailed changes

  • Replace remaining winapi usage with windows-sys by @kennykerr in #3802
  • docs(dev-guide): remove “pushing to master” in the release process by @rami3l in #3789
  • refactor(download): use DownloadCallBack in download_with_backend() by @rami3l in #3795
  • Update MSVC requirements to VS 2017 to match Rust repo by @dpaoliello in #3799
  • feat(download-backend)!: make reqwest/rustls the new default by @rami3l in #3798
  • fix(ci/freebsd): fix invalid peer certificate: UnknownIssuer by @rami3l in #3810
  • fix(filesource): make some constructs only available via the test feature by @rami3l in #3811
  • Reduce code duplication for show commands by @djc in #3813
  • refactor(cli): rewrite rustup-init with clap_derive by @rami3l in #3814
  • Make rustup show output info in a more logical order by @majaha in #3225
  • feat(download): reflect the download/TLS backends in the user agent by @rami3l in #3815
  • fix(rustup-init): fix typo in rustup-init[.sh] args by @rami3l in #3818
  • refactor(cli): rewrite rustup with clap_derive by @rami3l in #3596
  • Stop showing ETA after download is complete by @djc in #3827
  • Fix ETA display after regression by @djc in #3829
  • refactor(filesource): replace repetitive #[cfg()] usages with a new mod by @rami3l in #3833
  • Tweaks from derived clap parser review by @djc in #3834
  • fix(deps): update rust crate pulldown-cmark to 0.11 by @rami3l in #3838
  • fix(deps): update rust crate itertools to 0.13 by @rami3l in #3839
  • ci(macos): use macos-latest instead of macos-14 by @rami3l in #3842
  • Re-enable Ring support on Windows Arm64 by @Alovchin91 in #3845
  • Switch from sync to a tokio runtime by @rbtcollins in #3367
  • ci(windows): fix CI failure on x86_64-pc-windows-gnu by @rami3l in #3849
  • consistently add context with file path when parsing fails by @Skgland in #3853
  • refactor: restrict run_future() usages to tests by @rami3l in #3856
  • feat: support for parsing beta versions with tags in the toolchain by @roife in #3858
  • fix(download): work around hyper hang issue by adjusting reqwest config by @rami3l in #3855
  • Simplify process interface by @djc in #3764
  • Add Windows Arm64 to Other Installation Methods by @Alovchin91 in #3854
  • Store current_dir in Cfg by @djc in #3859
  • Finalise Rustup Windows Arm64 support by @Alovchin91 in #3840
  • Refactoring around use of Process by @djc in #3860
  • feat(cli): add --quiet to rustup toolchain list and friends by @rami3l in #3862
  • fix(dist/triple): ensure dist::triple::known is up to date with platforms by @rami3l in #3841
  • Simplify notification handling setup by @djc in #3863
  • Use serde to encode/decode various TOML formats by @djc in #3864
  • refactor(ci/run): use more target_cargo() in run.bash by @rami3l in #3867
  • Fix misleading "uninstalled toolchain" notification by @scimas in #3869
  • Small refactoring tweaks to improve further changes by @djc in #3872
  • refactor(test): execute all #[rustup_macros::unit_test]s within a tokio context by @rami3l in #3868
  • chore(dist/features): ship tracing and friends by default by @rami3l in #3803
  • Simplify installation code by @djc in #3865
  • Let argument parser handle enum conversions by @djc in #3874
  • Pass Process around explicitly by @djc in #3871
  • fix(log): use RUSTUP_LOG for internal tracing instead of RUST_LOG by @rami3l in #3876
  • Process cleanup by @djc in #3877
  • Use tracing macros directly by @djc in #3878
  • Fix the TODO in src\toolchain\toolchain.rs by @InfyniteHeap in #3881
  • refactor(dist): hoist dist::dist into dist by @rami3l in #3882
  • Simplify toolchain construction by @djc in #3880
  • Remove unused code by @djc in #3886
  • refactor(log): rename NotificationLevel variants to align with tracing::Level by @rami3l in #3890
  • Refactor platform-dependent code in self_update by @djc in #3887
  • download: inline errors, rename TLS backend by @djc in #3888
  • fix(dist/linux): handle the possible unavailability of /proc in rustup-init.sh by @rami3l in #3800
  • test(clitools): revive run_inprocess() by @rami3l in #3891
  • Extract types by @djc in #3766
  • refactor(toolchain/names): replace toolchain_sort() with ToolchainName's Ord instance by @rami3l in #3892
  • ci(all-features): add -D warnings to cargo check-all-features by @rami3l in #3894
  • fix(dist): throw an error when a PartialVersion string doesn't start with an ASCII digit by @rami3l in #3895
  • docs(dev-guide/tracing): mention RUSTUP_LOG and console-based tracing by @rami3l in #3879
  • Port tests to CliTestContext by @djc in #3893
  • Add missing period in warning while checking existing Rust installations by @Uaitt in #3899
  • fix(rustup-mode): improve clap error format by @rami3l in #3906
  • ci(windows): run cargo all-features by @rami3l in #3904
  • feat(download/rustls): use rustls-platform-verifier by @rami3l in #3903
  • Disable automatic self updates in CI environments by @djc in #3907
  • feat: add hint to run rustup self when err desc is self by @Xerxes-2 in #3901
  • test(manifestation): replace run_future() with TestContext by @rami3l in #3915
  • implements quiet flag in rustup-init.sh by @vic1707 in #3910
  • feat(rustup-init): set log level to WARN on -q if RUSTUP_LOG is unset by @rami3l in #3911
  • fix(download): fix build error with --no-default-features --features=curl-backend by @rami3l in #3922
  • Add loongarch64-unknown-linux-musl support by @heiher in #3921
  • feat(cli): warn when removing the default/active toolchain by @rami3l in #3924
  • Clean up usage of if_not_empty() by @djc in #3925
  • feat(dist): refine suggestions regarding manifest checksum mismatches by @rami3l in #3923
  • Upload Rustup build artifacts to new S3 bucket by @jdno in #3909
  • Grant GitHub Actions workflows access to OIDC token by @jdno in #3930
  • Prepare deployment on master branch by @jdno in #3931
  • Fix uploading of Windows build artifacts by @jdno in #3933
  • Upload Windows artifacts into correct subdirectory by @jdno in #3934
  • feat(log): unhide tracing::instrument from behind feature = "otel" by @rami3l in #3873
  • Fix home_dir() and current_dir() regression by @djc in #3938
  • Add help message for missing toolchain by @jtr860830 in #3939
  • refactor: clean up platform-specific logic by @rami3l in #3941
  • style: reformat all TOML files with taplo by @rami3l in #3942
  • fix(rustup-mode)!: don't install toolchain on rustup --version by @rami3l in #3948
  • fix(rustup-mode): return ExitCode(1) when update() fails by @rami3l in #3952
  • fix(utils): make ExitCode #[must_use] by @rami3l in #3954
  • build(windows): fix typo in build.rs by @rami3l in #3955
  • Upgrade to opentelemetry 0.24 by @djc in #3959
  • Bump fs_at to 0.2.1 by @djc in #3965
  • docs(user-guide): use brew install rustup instead of rustup-init by @rami3l in #3963
  • docs(dev-guide): add guideline for atomic commits to the developer guide by @jtr860830 in #3969
  • Remove once_cell dependency and use LazyLock instead by @InfyniteHeap in #3971
  • docs(dev-guide): update coding-standards to reflect recent API changes. by @rami3l in #3974
  • fix: fix unreachable code lints on Android by @rami3l in #3975
  • Upgrade windows-sys to 0.59 by @djc in #3976
  • style(taplo): enable reorder_keys for *dependencies in Cargo.toml by @rami3l in #3977
  • feat(download/rustls): use aws-lc instead of ring by @rami3l in #3898
  • ci(run): accelerate workflows by @rami3l in #3978
  • ci(freebsd): fix build failure related to aws-lc by @rami3l in #3979
  • fix(config): warn if host is incompatible with the toolchain in rustup default by @rami3l in #3980
  • feat(rustup-mode): install the active toolchain by default on rustup toolchain install by @rami3l in #3983
  • feat(cli)!: remove implicit toolchain installation by @rami3l in #3985
  • ci(macos): install awscli from brew by @rami3l in #3989
  • fix(manifest): consider possible renames in Component::try_new() by @rami3l in #3991
  • Upgrade pulldown-cmark to 0.12 by @djc in #3999
  • feat(dist): add notes for stable and beta in components_missing_msg() by @rami3l in #3920
  • Allow rustup doc to search for unions by @taylordotfish in #4004
  • refactor(config)!: simplify logic by @rami3l in #3986
  • feat(cli)!: set log level to INFO/DEBUG on --quiet/--verbose if RUSTUP_LOG is unset by @rami3l in #3987
  • Apply clippy suggestions from 1.81 by @djc in #4015
  • Update semver-compatible dependencies, except openssl-src by @djc in #4021
  • Try symlinking proxies first, falling back to hardlinking if that fails by @ChrisDenton in #4023
  • Note that selecting VS lang packs is optional by @ChrisDenton in #4025
  • docs(README): Point out where to find nightly/master docs. by @LunarLambda in #4026
  • refactor(cli/common)!: deny installing a host-incompatible toolchain w/o --force-non-host by @rami3l in #4028
  • Update semver-compatible dependencies by @djc in #4031
  • Update remove_dir_all by @ChrisDenton in #4032
  • Replace winreg with windows-registry by @InfyniteHeap in #3896
  • Remove unnecessary methods by @InfyniteHeap in #4034
  • tests: rust-toolchain + profile in settings by @lucacasonato in #4040
  • Update semver-compatible dependencies by @djc in #4044
  • fix(rustup-init/sh): fix incorrect TLS warning with curl v8.10 by @rami3l in #4046
  • Update semver-compatible dependencies, except openssl-src by @djc in #4056
  • fix(config): don't show toolchain names from rust-toolchain.toml in error message by @rami3l in #4060
  • chore: use more workspace-wide configurations by @rami3l in #4061
  • refactor(diskio): replace eprintln!() with debug!() by @rami3l in #4063
  • feat(rustup-init): detect and warn about existing settings.toml by @rami3l in #4064
  • refactor(utils): hoist utils::utils into utils by @rami3l in #4065
  • fix: add powerpc64 and s390x to known target_arch values for tests by @decathorpe in #4067
  • feat(cli/rustup-mode): support more books in rustup doc by @rami3l in #4071
  • docs: update channel toolchain syntax by @kyle-leonhard in #4074
  • fix(cli/rustup-mode): remove .num_args() when .value_delimiter(',') is present by @rami3l in #4076
  • Upgrade to rustls-platform-verifier 0.4 by @djc in #4087
  • Upgrade thiserror to 2 by @djc in #4088
  • fix: add missing close body tag by @Rustin170506 in #4090
  • Upgrade to opentelemetry 0.27 by @djc in #4089
  • feat: add nushell support by @LittleJianCH in #4078
  • Add aliases for remove/uninstall/unset commands by @joshtriplett in #4093
  • chore(deps): update remove-dir-all to 1.0 by @rbtcollins in #4095
  • Prepare 1.28.0 release by @djc in #4079

1.27.1 - 2024-04-14

This new Rustup release involves some minor bug fixes.

The headlines for this release are:

  1. Prebuilt Rustup binaries should be working on older macOS versions again.
  2. rustup-init will no longer fail when fish is installed but ~/.config/fish/conf.d hasn't been created.
  3. Regressions regarding symlinked RUSTUP_HOME/(toolchains|downloads|tmp) have been addressed.

Since the release of 1.27.0, the project has welcomed a total of 7 new contributors. Many thanks for your hard work, and we hope to see you again!

Added

  • Added the logging of RUSTUP_UPDATE_ROOT and RUSTUP_DIST_(SERVER|ROOT) when RUSTUP_DEBUG is set pr#3722

Changed

  • Ensured that CI builds target macOS 10.12+ on x64 and macOS 11.0+ on arm64 pr#3710
  • Fixed an error when writing to rcfiles by ensuring the creation of their parent dir(s) first pr#3712
  • Fixed unexpected errors when RUSTUP_HOME/(toolchains|downloads|tmp) is symlinked pr#3742 pr#3754
  • Fixed an unexpected error when removing a component by component name with explicit target triple pr#3601
  • Changed RUSTUP_WINDOWS_PATH_ADD_BIN to be false by default pr#3703
  • Fixed incorrect color state after ColorableTerminal::reset pr#3711
  • Replaced . with source in fish shell's source_string pr#3715
  • Fixed "component add" error message format pr#3724
  • Fixed file paths in CI-generated *.sha256 files on *nix pr#3730
  • Removed an unnecessary debug print pr#3734
  • Disabled the "doc opening" output on rustup doc --path pr#3748
  • Fixed the update of DisplayVersion in the Windows registry on rustup self update pr#3770
  • Bumped a lot of dependencies to their latest versions pr#renovate-bot

Thanks go to:

  • Anas (0x61nas)
  • cuiyourong (cuiyourong)
  • Dirkjan Ochtman (djc)
  • Eric Huss (ehuss)
  • eth3lbert (eth3lbert)
  • hev (heiher)
  • klensy (klensy)
  • Chih Wang (ongchi)
  • Adam (pie-flavor)
  • rami3l (rami3l)
  • Robert (rben01)
  • Robert Collins (rbtcollins)
  • Sun Bin (shandongbinzhou)
  • Samuel Moelius (smoelius)
  • vpochapuis (vpochapuis)
  • Renovate Bot (renovate)

Full Changelog: https://github.com/rust-lang/rustup/compare/1.27.0...1.27.1

1.27.0 - 2024-03-08

This long-awaited Rustup release has gathered all the new features and fixes since April 2023. These changes include improvements in Rustup's maintainability, user experience, compatibility and documentation quality.

The headlines of this release are:

  • Basic support for fish shell has been added.
  • Support for the loongarch64-unknown-linux-gnu host platform has been added.

Also, it's worth mentioning that Dirkjan Ochtman and rami3l have joined the team and are coordinating this new release.

Finally, the project seems to have attracted a total of 23 new contributors within this release cycle. Looking forward to seeing you again in the future!

Added

  • Add basic support for fish shell pr#3108
  • Add the RUSTUP_TERM_COLOR environment variable to force the use of colored output pr#3435
  • Improve rustup-init.sh's compatibility with ksh and zsh pr#3475
  • Add a warning when running under Rosetta 2 pr#3068
  • Add browser detection for RISC-V 64 platform pr#3642
  • Add a warning when removing the last/host target for a toolchain pr#3637

Changed

  • Upgrade clap to v4 pr#3444
  • Fix incorrect platform detection on macOS aarch64 due to Rosetta 2 pr#3438
  • Fix incorrect platform detection on 32-bit Linux userland with a 64-bit kernel pr#3488 pr#3490
  • Improve Windows system32 DLL loading mechanism pr#3493
  • Improve suggestions about missing components pr#3453
  • Fix handling of toolchain names with special characters pr#3518
  • Fix panic in component list --toolchain stable pr#3548
  • Rename llvm-tools-preview component to llvm-tools pr#3578
  • Try using symlinks if possible on Windows pr#3687
  • Bump a lot of dependencies to their latest versions pr#renovate-bot

Thanks go to:

  • Anthony Perkins (acperkins)
  • Tianqi (airstone42)
  • Alex Gaynor (alex)
  • Alex Hudspith (alexhudspith)
  • Alan Somers (asomers)
  • Brett (brettearle)
  • Burak Emir (burakemir)
  • Chris Denton (ChrisDenton)
  • cui fliter (cuishuang)
  • Dirkjan Ochtman (djc)
  • Dezhi Wu (dzvon)
  • Eric Swanson (ericswanson-dfinity)
  • Prikshit Gautam (gautamprikshit1)
  • hev (heiher)
  • 二手掉包工程师 (hi-rustin)
  • Kamila Borowska (KamilaBorowska)
  • klensy (klensy)
  • Jakub Beránek (Kobzol)
  • Kornel (kornelski)
  • Matt Harding (majaha)
  • Mathias Brossard (mbrossard)
  • Christian Thackston (nan60)
  • Ruohui Wang (noirgif)
  • Olivier Lemasle (olivierlemasle)
  • Chih Wang (ongchi)
  • Pavel Roskin (proski)
  • rami3l (rami3l)
  • Robert Collins (rbtcollins)
  • Sandesh Pyakurel (Sandesh-Pyakurel)
  • Waffle Maybe (WaffleLapkin)
  • Jubilee (workingjubilee)
  • WÁNG Xuěruì (xen0n)
  • Yerkebulan Tulibergenov (yerke)
  • Renovate Bot (renovate)

Full Changelog: https://github.com/rust-lang/rustup/compare/1.26.0...1.27.0

1.26.0 - 2023-04-05

This version of Rustup involves a significant number of internal refactors, both in terms of the Rustup code and its tests.

The headlines for this release are:

  1. Add rust-analyzer as a proxy of rustup. Now you can call rust-analyzer and it will be proxied to the rust-analyzer component for the current toolchain.
  2. Bump the clap dependency from 2.x to 3.x. It's a major version bump, so there are some help text changes, but the command line interface is unchanged.
  3. Remove experimental GPG signature validation and the rustup show keys command. Due to its experimental status, validating the integrity of downloaded binaries did not rely on it, and there was no option to abort the installation if a signature mismatch happened. Multiple problems with its implementation were discovered in the recent months, which led to the decision to remove the experimental code. The team is working on the design of a new signature validation scheme, which will be implemented in the future.

In addition to a lot of work on the codebase itself, due to the length of time since the last release this one has a record number of contributors and we thank you all for your efforts and time.

Rather than list every single merged PR since the last release, we have pulled out a number of highlights to include in this changelog entry. For everything else, please review the repository.

Added

  • Added rust-analyzer as a proxy of rustup pr#3022
  • Added DisplayVersion for rustup to registry on Windows pr#3047
  • Build Rustup for Windows arm64 on stable pr#3232
  • Added up as an alias of the update command pr#3044
  • Added details of each setting in the toolchain file in the documentation pr#3067
  • Added automatic resume flag when retrying download with curl pr#3089
  • Added UI tests for rustup pr#3209

Changed

  • Bump the clap dependency from 2.x to 3.x pr#3064
  • Remove GPG signature support pr#3277
  • Don't add toolchain bin to PATH on Windows pr#3178
  • Remove use of hard links to symlinks on macOS pr#3137
  • Avoid deduplicate PATH entries added during build pr#2848
  • The toolchain name cannot be left blank pr#2993
  • Correctly propagate subshell failures in rustup-init.sh pr#3012
  • Enhanced warning message for Rust installation already present pr#3038
  • Improved error message when there is an error caused by override file pr#3041
  • Explain proxy in terminology documentation pr#3091
  • Recommend tracking Cargo.lock with rust-toolchain file pr#3054
  • Fix RUSTUP_PERMIT_COPY_RENAME condition so it is actually used pr#3292
  • Bump a lot of dependencies to their latest versions pr#renovate-bot

Thanks go to:

  • Daniel Silverstone (kinnison)
  • Sabrina Jewson (SabrinaJewson)
  • Robert Collins (rbtcollins)
  • chansuke (chansuke)
  • Shamil (shamilsan)
  • Oli Lalonde (olalonde)
  • 二手掉包工程师 (hi-rustin)
  • Eric Huss (ehuss)
  • J Balint BIRO (jbalintbiro)
  • Easton Pillay (jedieaston)
  • zhaixiaojuan (zhaixiaojuan)
  • Chris Denton (ChrisDenton)
  • Martin Geisler (mgeisler)
  • Lucio Franco (LucioFranco)
  • Nicholas Bishop (nicholasbishop)
  • SADIK KUZU (sadikkuzu)
  • darkyshiny (darkyshiny)
  • René Dudfield (illume)
  • Noritada Kobayashi (noritada)
  • Mohammad AlSaleh (MoSal)
  • Dustin Martin (dmartin)
  • Ville Skyttä (scop)
  • Tshepang Mbambo (tshepang)
  • Illia Bobyr (ilya-bobyr)
  • Vincent Rischmann (vrischmann)
  • Alexander (Alovchin91)
  • Daniel Brotsky (brotskydotcom)
  • zohnannor (zohnannor)
  • Joshua Nelson (jyn514)
  • Prikshit Gautam (gautamprikshit1)
  • Dylan Thacker-Smith (dylanahsmith)
  • Jan David (jdno)
  • Aurora (lilith13666)
  • Pietro Albini (pietroalbini)
  • Renovate Bot (renovate-bot)

1.25.2 - 2023-02-01

This version of Rustup changes the signature verification code to continue accepting Rust's release signature key, which previously caused warnings due to a time-based check.

Note that signature verification in Rustup is still an experimental feature, and there is intentionally no way to enforce signature verification due to the feature being incomplete.

Thanks go to:

  • Pietro Albini
  • Daniel Silverstone

1.25.1 - 2022-07-12

This version of Rustup reverts a single PR from 1.25.1 and tidies a couple of internal bits of code.

In brief, it turns out that our optimisation for RUSTC and RUSTDOC cause problems with some tooling which runs under one cargo invocation, but expects to invoke either cargo or rustc without resetting the environment completely. As such, some particularly confusing error messages ensued, and we decided to revert this one optimisation while we wait to correct things in a future release.

Thanks go to:

  • Joshua Nelson
  • Manish Goregaokar
  • Robert Collins

1.25.0 - 2022-07-11

This version of Rustup involves a significant number of internal cleanups, both in terms of the Rustup code and its documentation. In addition to a lot of work on the codebase itself, due to the length of time since the last release this one has a record number of contributors and we thank you all for your efforts and time.

Rather than list every single merged PR since the last release, we have pulled out a number of highlights to include in this changelog entry. For everything else, please review the repository.

Added

  • Added rust-gdbgui to the proxy list pr#2811
  • Support rustup default none as a way to unset the default toolchain pr#2831
  • Build Rustup for Windows arm64 pr#2835
  • Support Illumos/OpenIndiana platform check on website pr#2839
  • Add info message if self-update is disabled during update pr#2845
  • Added RUSTC and RUSTDOC environment variables for proxied child processes pr#2958
  • Added offer to auto-install VS 2022 pr#2954
  • Added --verbose mode for rustup show pr#2992
  • Added support for --force-non-host to more subcommands pr#2968

Changed

  • Updated the opener crate used for rustup-doc pr#2792
  • Changed the recursion limit for tool/proxy invocation to 20 pr#2812
  • Updated to newer effective-limits crate to reduce "sysinfo not supported" errors pr#2817
  • Handle -y more robustly in rustup-init.sh pr#2815
  • Fix infinite recursion in bash completion when rustc not on PATH pr#2833
  • Update macOS aarch64 CI to newer xcode pr#2877
  • Update website to load TTF fonts more effectively pr#2862
  • Retry curl invocations in rustup-init.sh pr#2869
  • Better handle busybox's wget in rustup-init.sh pr#2885
  • Improve target matching to reduce spurious deprecation warnings pr#2854
  • Parse channel manifest only once to improve performance pr#2898
  • Remove trailing slashes from toolchain names pr#2897
  • Migrate OpenPGP support to Sequoia PGP pr#2847
  • We now send a user agent on http requests to improve compatibility with proxies pr#2953
  • We won't prepend ${CARGO_HOME}/bin to PATH unless it's missing pr#2978

Thanks go to:

  • 二手掉包工程师 (hi-rustin)
  • Brian Bowman (Seeker14491)
  • Jon Gjengset (jonho)
  • pierwill
  • Daniel Silverstone (kinnison)
  • Robert Collins (rbtcollins)
  • Alan Somers (asomers)
  • Brennan Vincent (umanwizard)
  • Joshua Nelson (jyn514)
  • Eric Huss (ehuss)
  • Will Bush (willbush)
  • Thad Guidry (thadguidry)
  • Alexander Lovchin (alovchin91)
  • zoodirector
  • Takayuki Nakata (giraffate)
  • Yusuke Abe (chansuke)
  • Wyatt Carss (wcarss)
  • Sondre Aasemoen (sondr3)
  • facklambda
  • Chad Dougherty (crd477)
  • Noritada Kobayashi (noritada)
  • Milan (mdaverde)
  • Pat Sier (pjsier)
  • Matt Keeter (mkeeter)
  • Alex Macleod (alexendoo)
  • Sathwik Matsa (sathwikmatsa)
  • Kushal Das (kushaldas)
  • Justus Winter (teythoon)
  • k900
  • Nicolas Ambram (nico-abram)
  • Connor Slade (basicprogrammer10)
  • Yerkebulan Tulibergenov (yerke)
  • Caleb Cartwright (calebcartwright)
  • Matthias Beyer (matthiasbeyer)
  • spacemaniac
  • Alex Touchet (atouchet)
  • Guillaume Gomez (guillaumegomez)
  • Chris Denton (chrisdenton)
  • Thomas Orozco (krallin)
  • cui fliter (cuishuang)
  • Martin Nordholts (enselic)
  • Emil Gardström (emilgardis)
  • Arlo Siemsen (arlosi)

1.24.3 - 2021-05-31

This patch release focuses around resolving some regressions in behaviour in the 1.24.x series. One problem, related to accounting for the release of data blocks in the unpack slab allocator, fixed in pr#2779, would manifest in the installer hanging during installation. A second, fixed in pr#2781, manifested in very early Rust versions (1.0 through 1.7) repeatedly having their checksums fetched despite already being installed. Finally the heuristic which started warning that toolchains being installed may not work on the given host was improved in pr#2782 to reduce false-positive rate and reduce worry among Windows users in particular.

Added

  • Added the ability to configure the auto-self-update functionality. This will be of most use when people are testing unreleased versions of Rustup and wish to ensure they don't accidentally lose the test version, without having to remember to run with --no-self-update all the time. pr#2763

Changed

  • We no longer delete the top level of $RUSTUP_HOME/tmp and $RUSTUP_HOME/download meaning that if you have these set up as symlinks to another place, or bind mounts, etc. things should work. pr#2433
  • We more gracefully handle outlier situations with unpack-RAM, panicing less often, clamping settings into viable ranges and warning instead. pr#2780

Thanks go to:

  • Ian Jackson
  • Alexander (asv7c2)
  • pierwill
  • 二手掉包工程师 (hi-rustin)
  • Robert Collins
  • Daniel Silverstone

1.24.2 - 2021-05-05

This patch release primarily exists to work around a problem discovered on some Windows (and potentially other) systems where a combination of factors, including suspected allocator behaviour, led to Rustup failing to install certain toolchains. The symptom users observed was a failure to allocate 1677732 bytes: a chunk used for unpacking very large files. We hope this is fixed in a combination of pr#2750 and pr#2756.

In addition to that, we also:

Added

  • SHA256 links on the download page so that you can verify your downloads if you want to be certain. pr#2719
  • Added --verbose to rustup show active-toolchain to also display the version of the compiler for the toolchain. pr#2710
  • We now support 1.x installation channel names for versions 1.0 through 1.8 by hardcoding 1.x.0 since they lack patch releases. pr#2758

Changed

  • Amended the behaviour of the 'missing components' code so that if the problem exists when installing a toolchain (rather than updating it) the message is different and leads you to other remediations. pr#2709
  • Amended the error message for a missing component so that when you're using a nightly toolchain and rust-std is missing for a given target, we lead you to cargo build -Z build-std as a remediation. pr#2732
  • Improved the documentation around settings.toml locations. pr#2698
  • Internal improvements around retrying removal of files. pr#2752

Thanks go to:

  • 二手掉包工程师 (hi-rustin)
  • Robert Collins
  • Daniel Silverstone
  • Joshua Nelson
  • João Marcos Bezerra
  • Carol (Nichols || Goulding)
  • Josh Rotenberg
  • Martijn Gribnau
  • pierwill

1.24.1 - 2021-04-27

This bugfix release corrects an oversight in the code we introduced to check for unknown proxy names. The original change accidentally omitted the rustfmt and cargo-fmt proxies due to a quirk of the fact those proxies were not originally part of a Rust component.

We're sorry for pain this may have caused.

1.24.0 - 2021-04-27

This release is mostly a bugfix and quality of life improvement release. However the headlines for this release are:

  1. Support of rust-toolchain.toml as a filename for specifying toolchains.
  2. Streaming support for large files to better enable Rust on lower memory platforms such as some Raspberry Pi systems.

When we introduced TOML support to rust-toolchain we expected to see some uptake but we saw a lot more than we had expected. Since Cargo is migrating to explicit .toml extensions on things like .cargo/config.toml it was considered sensible to also do this for rust-toolchain - at least the toml variant thereof.

This release of rustup has seen a significant number of new contributors to the project, and we hope to see many of you again in the future.

Added

  • Optional use of RUSTLS as TLS backend for Reqwest pr#2517
  • We now support some corner cases in tarballs to permit unpacking early Rust versions pr#2502
  • When running rustup check we now report possible rustup upgrades too. pr#2615
  • We detect and warn if you try and install on an x32 system since for now Rust isn't hostable on that. pr#2622
  • We do, however, support gnux32 as an environment label ready for future support pr#2631
  • We now support managing PATHs on Windows which contain non-unicode values. pr#2649
  • You can now name the TOML variant of rust-toolchain as rust-toolchain.toml pr#2653
  • We prompt harder when checking for the MSVC tooling on Windows now. pr#2529
  • Experimental support for zstd compressed tarballs in channels. NOTE, this does not mean channels will magically gain zstd compressed component files any time soon. pr#2676
  • Register rustup with the Windows installed programs list when installing. This is another experiment into whether this is useful for Windows users. pr#2670
  • Added the ability to specify a path rather than a toolchain channel in the rust-toolchain.toml file. pr#2678

Changed

  • rustup-init now detects tls1.2 for cURL 7.73+ pr#2604
  • Installation now indicates the defaults on all questions pr#2605
  • We now support the Big Sur major OS version pr#2607
  • You can now specify profile in rust-toolchain's TOML form pr#2586
  • We now use . instead of source to better support non-bash POSIX shells pr#2616
  • We fixed a nasty corner case on wildcarded component installation/recognition pr#2602
  • Our website now has a favicon pr#2419
  • We no longer rely on a broken mktemp invocation, this should make rustup-init.sh more compatible pr#2650
  • We now do a better job of reporting non-installable toolchains pr#2562
  • We cope better when modifying RC files which lack a trailing newline pr#2667
  • We are edging closer to requiring a specific force argument to install a toolchain whose host doesn't match the running system. This may break your CI in future so you should check carefully. The main use-case for this capability is the rust-embedded/cross project which we are working with to ensure this doesn't cause problems in the future. [pr#2672][]
  • Support streaming large files during unpack phase. pr#2707
  • We report when you call rustup with an unsupported arg0 -- for example if you make a symlink or hard link to the binary with a name other than one of the proxies. pr#2716

We also cleaned up a number of error message cases, including some on invalid toolchain name pr#2613, a better message when no toolchain is installed pr#2657, and some on component unavailability pr#2619.

Documented

  • Added notes about Powershell to proxies documentation pr#2592
  • Various updates to the rustup manual build process including pr#2628
  • Small fixes on how to build rustup documentation pr#2641
  • We clarified the message around restarting the shell when installing pr#2684

Thanks go to:

  • SHA Miao
  • est31
  • Andrew Norton
  • Gareth Hubball
  • 二手掉包工程师 (hi-rustin)
  • Tudor Brindus
  • Eduard Miller
  • Daniel Alley
  • наб (nabijaczleweli)
  • Eric Huss
  • chansuke
  • skim (sl4m)
  • Joshua Nelson
  • kellda
  • Alex Chan
  • Philipp Oppermann
  • Michael Cooper
  • Aloïs Micard
  • Gurkenglas
  • Vasili (3point2)
  • Jakub Stasiak
  • Robert Collins
  • Jubilee (workingjubilee)
  • Avery Harnish

1.23.1 - 2020-12-01

This point release is mostly to correct a problem where if you installed rustup with --no-modify-path then the .cargo/env file would not be created in some cases. In addition, we have rebuilt the macos binaries to correct an oversight which caused older Macs to be unable to run the new version. If you encountered a problem with liblzma on mac os 10.13 then this version should solve that for you.

Finally, the illumos binary is now part of the release properly.

Thanks go to:

  • Élie Roudninski
  • Jeroen Ooms
  • Jake Goulding
  • Joshua M. Clulow
  • Neil Mitchell
  • Richard Gomes

1.23.0 - 2020-11-27

The main points for this release are that rustup now supports a number of new host platforms, most importantly of which is aarch64-apple-darwin for the new Apple M1 based devices, and that we support a new structured format for the rust-toolchain file. You can find more information in the new book format documentation.

It is now also possible to install a particular release of the compiler as a two-part version number. If you do this, then the release channel will only update if there is a patch release of the compiler. For example, if you ran rustup toolchain install 1.48 at the time of this release of rustup you would end up with a toolchain called 1.48 which contained 1.48.0. If subsequently 1.48.1 were released, a rustup update would update your 1.48 from 1.48.0 to 1.48.1.

As always, there were more changes than described below, thanks to everyone who contributed to this release. Highlights for this release are detailed below, but you can always see the full list of changes via the Git repository.

Added

  • Our documentation is now in "book" form. pr#2448
  • When you retrieve rustup's version, you'll also be told the version of the compiler for your default toolchain, to disambiguate things a little. pr#2465
  • Support added for aarch64-unknown-linux-musl pr#2493
  • Support added for aarch64-apple-darwin pr#2521
  • Support added for x86_64-unknown-illumos pr#2432
  • You can now override the system-wide settings fallback path pr#2545
  • Support for major.minor channels pr#2551

Changed

  • Significant updates to our handling of PATH updating on installation was made. Nominally this ought to have little external change visibility but it may make it more robust for some people. pr#2387
  • New support for toml-based rust-toolchain file format. This will be expanded upon going into the future to add new functionality, but for now the basics are in place, permitting you to select a channel, targets, and components which may be needed to build your applications. pr#2438
  • We now fall back to copying files when rename-in-place causes problems. This may improve matters in dockerised environments where rustup is preinstalled with a toolchain already. pr#2410
  • We do a better job of exiting gracefully in a number of circumstances. pr#2427
  • The reqwest backend (the default download backend) now supports socks5 proxies. pr#2466
  • If you use a proxy for a component which is not part of a custom toolchain you are using then we emit a message about trying to build that component. pr#2487
  • If you try and unpack super-large components which would previously be gracefully rejected, instead we try and if we succeed then you get to have the component unpacked. Unfortunately this means if we fail you could end up with a broken toolchain install. [pr#2490]
  • We will recommend ways to recover if you can't update your toolchain due to components or targets going missing. pr#2384
  • If you choose to install a toolchain which is for a different target than you are running on, we will warn you and direct you toward rustup target install in case that's what you meant. pr#2534

Thanks

  • Aaron Loucks
  • Aleksey Kladov
  • Aurelia Dolo
  • Camelid
  • Chansuke
  • Carol (Nichols || Goulding)
  • Daniel Silverstone
  • Dany Marcoux
  • Eduard Miller
  • Eduardo Broto
  • Eric Huss
  • Francesco Zardi
  • FR Bimo
  • Ivan Nejgebauer
  • Ivan Tham
  • Jake Goulding
  • Jens Reidel
  • Joshua M. Clulow
  • Joshua Nelson
  • Jubilee Young
  • Leigh McCulloch
  • Lzu Tao
  • Matthias Krüger
  • Matt Kraai
  • Matt McKay
  • Nick Ashley
  • Pascal Hertleif
  • Paul Lange
  • Pietro Albini
  • Robert Collins
  • Stephen Muss
  • Tom Eccles

1.22.1 - 2020-07-08

A regression in proxied behaviour slipped in due to a non-compatible change in url slipping in in 2.1 which caused a misbehaviour in env_proxy. which was fixed but not released to crates.io until after 1.22.0 was built.

Fortunately, inejge noticed and provided a fix for us by publishing a new env_proxy and providing us with this fix.

We apologise for any inconvenience this caused.

Changed

  • Update to env_proxy 0.4.1 - #2399
  • Fixed website copy button and copy space overflow - #2398

Thanks

  • Ivan Nejgebauer
  • Ben Chen

1.22.0 - 2020-06-30

Alongside a significant amount of internal refactoring and code updates, the highlights of this release include:

  • We have switched to Github Actions to make our CI and release process more consistent.
  • We've invested time in the flow when you reinstall rustup atop an existing installation.
  • We've doubled down on discouraging the use of the internal-development-focussed complete profile. Please use default or minimal unless you're trying to test/develop the Rust tooling itself.
  • We've made a number of subtle quality-of-life improvements around the CLI.
  • Added a (provisionally unofficial) snap of rustup
  • We've worked hard to improve a lot of the messages (error and informational) in the tool.
  • We've increased internal timeouts and retries in an attempt to improve the situation for McAfee users.
  • While it's not a change, we've documented that rust-toolchain must be UTF8 encoded.

While the changes spanned around 90 individual pull requests, here are the main changes and additions…

Changed

  • Fixed various links to our repo and to the forge - #2173
  • Improved OS detection (particularly darwin) in rustup-init.sh - #2042
  • Fixed bug where i686 installer on x86_64 windows would intend to install 64-bit but would actually install 32-bit toolchains by default. - #2186
  • Increased width of copy box on rustup website - #2208
  • When updating a toolchain, indicate the version you updated from as well. - #2152
  • When installing atop an existing rustup installation, we will now update the installed default toolchain, particularly we'll also try and install any additional targets or components specified - #2201 and #2339
  • Fixed issue where rustup doc wouldn't work with custom toolchains - #2235
  • In low-memory situations, attempt to unpack more conservatively - #2236
  • Improved consistency in where rustup will auto-install a toolchain on use. - #2252
  • Try to force strong cipher suites in rustup-init.sh - #2287
  • When skipping a nightly indicate all the missing components - #2316
  • Increase timeout for rename retries - #2348
  • Increased 'sanity limit' to account for MIPS binary size increases - #2363
  • Fallback to non-threaded installation pathway on 1-CPU systems to improve chance that installation will succeed on Raspberry Pi - #2372

Added

  • It is now possible to install rustup even when there's an existing rustup.sh installation, and we can install alongside rustc or cargo without necessarily forcing via -y by means of the RUSTUP_INIT_SKIP_EXISTENCE_CHECKS environment variable. - #2214
  • Added the concept of a fallback settings file which will allow snaps, distro packages, etc. to provide a default toolchain for users who have not passed through the rustup-init managed one-time question set. - #2244
  • You can now specify multiple components in a single argument in the form --component rls,rust-analysis,rust-src when installing toolchains - #2239
  • It is now possible to snap install --classic rustup in theory (channel details may take some time to settle) - #1898
  • Added indication of why overrides are happening when running rustup show - #2312
  • Added riscv64gc-unknown-linux-gnu support (note: There is still work to be done on the compiler etc before this will necessarily work) - #2313

Thanks

  • Alejandro Martinez Ruiz
  • Alexander D'hoore
  • Ben Chen
  • Chris Denton
  • Daniel Silverstone
  • Evan Weiler
  • Guillaume Gomez
  • Harry Sarson
  • Jacob Lifshay
  • James Yang
  • Joel Parker Henderson
  • John Titor
  • Jonas Platte
  • Josh Stone
  • Jubilee
  • Kellda
  • LeSeulArtichaut
  • Linus Färnstrand
  • LitoMore
  • LIU An (劉安)
  • Luciano Bestia
  • Lzu Tao
  • Manish Goregaokar
  • Mingye Wang
  • Montgomery Edwards
  • Per Lundberg
  • Pietro Albini
  • Robert Collins
  • Rudolf B.
  • Solomon Ucko
  • Stein Somers
  • Tetsuharu Ohzeki
  • Tom Eccles
  • Trevor Arjeski
  • Tshepang Lekhonkhobe

1.21.1 - 2019-12-19

A panic occurred if a rustup update was run with nothing to update and the download directory was missing. This was harmless but could have confused some automation jobs.

1.21.0 - 2019-12-19

In release 1.20.x profiles could incorrectly ascribe host-independent components to the host architecture, resulting in surprising behaviour with rust-src. We have corrected this and added mitigations which should mean that as of this release, such incorrect ascriptions are supported and also automatically corrected on toolchain update.

Due to the large number of confusions around the complete profile, we have introduced a warning if you use it. It's really only meant for developers of Rust, or those exploring particular issues in nightly.

There are also a large number of other changes, the highlights of which are below. Thanks to everyone who helped work on this release. Even if your changes are not listed below, they are still greatly appreciated.

Changed

Added

Thanks

  • Roman Frołow
  • Jean Simard
  • Lzu Tao
  • Benjamin Chen
  • Daniel Silverstone
  • Jon Hoo
  • Carlo Abelli
  • Filip Demski
  • Chris Tomlinson
  • Kane Green
  • Ralf Jung
  • Yves Dorfsman
  • Rudolf B
  • Pietro Albini
  • Takayuki Nakata
  • Justus K
  • Gilbert Röhrbein
  • Friedel Ziegelmayer
  • Robbie Clarken
  • Tetsuharu OHZEKI

1.20.2 - 2019-10-16

One final tweak was needed to the force-installation of toolchains because otherwise components would be marked as installed when they were not.

Our apologies to anyone adversely affected by the 1.20.0/1 releases.

1.20.1 - 2019-10-16

This release was made to solve two problems spotted in 1.20.0

  • Force installation of toolchain during rustup-init to improve handling on non-tier-one platforms
  • Assume the default profile if a profile is missing from configuration which will solve a problem where distro-provided rustup binaries did not upgrade the configuration properly

1.20.0 - 2019-10-15

Changed

Added

Thanks

  • Nick Cameron
  • Andy McCaffrey
  • Pietro Albini
  • Benjamin Chen
  • Artem Borisovskiy
  • Jon Gjengset
  • Lzu Tao
  • Daniel Silverstone
  • PicoJr
  • Mitchell Hynes
  • Matt Kantor

1.19.0 - 2019-09-09

Changed

Added

Thanks

  • Lzu Tao
  • Gonzalo Brito Gadeschi
  • Paul Oppenheimer
  • Robert Collins
  • KennyTM
  • Daniel Silverstone
  • Nicholas Parker
  • Caleb Cartwright
  • Josh Holland
  • Charlie Saunders
  • Wesley Van Melle
  • Jason Cooke
  • CrLF0710
  • Brian Anderson
  • Bryan Dady
  • Fisher Darling
  • Bjorn3
  • Iku Iwasa

1.18.3 - 2019-05-22

Changed

Added

Thanks

  • Robert Collins (who has tirelessly worked to improve the performance of Rustup, particularly on Windows)
  • Lucien Greathouse
  • Filip Demski
  • Peter Hrvola
  • Bogdan Kulbida
  • Srinivas Reddy Thatiparthy
  • Sunjay Varma
  • Lzu Tao (behind the scenes, lots of housekeeping and CI)

1.18.2 - 2019-05-02

Changed

Added

Thanks

This release was made, in part, thanks to:

  • Brian Ericson
  • Onat Mercan
  • Lzu Tao
  • Takuto Ikuta
  • Jason Williams
  • Filip Demski
  • Michael Maclean
  • Daniel Silverstone

1.18.1 - 2019-04-25

Changed

1.18.0 - 2019-04-22

Added

Changed

Fixed

Removed

1.17.0 - 2019-03-05

1.16.0 - 2018-12-06

1.15.0 - 2018-11-27

1.14.0 - 2018-10-04

1.13.0 - 2018-07-16

Contributors: Jane Lusby

1.12.0 - 2018-07-07

Contributors: Andrew Pennebaker, Who? Me?!, Matteo Bertini, mog422, Kasper Møller Andersen, Thibault Delor, Justin Worthe, TitanSnow, aimileus, Antonio Murdaca, Cyryl Płotnicki, Nick Cameron, Alex Crichton, Kornel, Stuart Dootson, Pietro Albini, Diggory Blake, Yuji Nakao, Johannes Hofmann, CrLF0710, Aaron Lee, Brian Anderson, Mateusz Mikuła, Segev Finer, Dan Aloni, Joeri van Ruth

1.11.0 - 2018-02-13

Contributors: Steffen Butzer

1.10.0 - 2018-01-25

Contributors: Nick Cameron, Steffen Butzer

1.9.0 - 2018-01-04

Contributors: Alex Crichton

1.8.0 - 2017-12-19

Contributors: Alex Crichton, kennytm, Nick Cameron, Simon Sapin, Who? Me?!

1.7.0 - 2017-10-30

Contributors: Aidan Hobson Sayers, Alan Du, Alex Crichton, Christoph Wurst, Jason Mobarak, Leon Isenberg, Simon Sapin, Vadim Petrochenkov

1.6.0 - 2017-08-30

Contributors: Alex Crichton, Chen Rotem Levy, Krishna Sundarram, Martin Geisler, Matt Brubeck, Matt Ickstadt, Michael Benfield, Michael Fletcher, Nick Cameron, Patrick Reisert, Ralf Jung, Sean McArthur, Steven Fackler

1.5.0 - 2017-06-24

Contributors: Allen Welkie, bors, Brian Anderson, Diggory Blake, Erick Tryzelaar, Ricardo Martins, Артём Павлов [Artyom Pavlov]

1.4.0 - 2017-06-09

Contributors: Andrea Canciani, bors, Brian Anderson, CrazyMerlyn, Diggory Blake, Fabio B, James Elford, Jim McGrath, johnthagen, Josh Lee, Kim Christensen, Marco A L Barbosa, Mateusz Mikula, Matthew, Matt Ickstadt, Mikhail Modin, Patrick Deuster, pxdeu, Ralf Jung, Raphaël Huchet, Robert Vally, theindigamer, Tommy Ip, Xidorn Quan

1.3.0 - 2017-05-09

Contributors: bors, Brian Anderson, Diggory Blake, Greg Alexander, James Elford, Jordan Hiltunen, Justin Noah, Kang Seonghoon, Kevin K, Marco A L Barbosa

1.2.0 - 2017-04-08

Contributors: Brian Anderson, James Elford, Jason Dreyzehner, Marco A L Barbosa, Wim Looman

1.1.0 - 2017-04-06

Contributors: Aarthi Janakiraman, Alex Burka, Alex Crichton, bors, Brian Anderson, Christian Muirhead, Christopher Armstrong, Daniel Lockyer, Diggory Blake, Evgenii Pashkin, Grissiom, James Elford, Luca Bruno, Lyuha, Manish Goregaokar, Marc-Antoine Perennou, Marco A L Barbosa, Mikhail Pak, Nick Cameron, polonez, Sam Marshall, Steve Klabnik, Tomáš Hübelbauer, topecongiro, Wang Xuerui

1.0.0 - 2016-12-15

Contributors: Alex Crichton, Andrew Koroluk, Arch, benaryorg, Benedikt Reinartz, Björn Steinbrink, bors, Boutin, Michael, Brian Anderson, Cam Swords, Chungmin Park, Corey Farwell, Daniel Keep, David Salter, Diggory Blake, Drew Fisher, Erick Tryzelaar, Florian Gilcher, geemili, Guillaume Fraux, Ivan Nejgebauer, Ivan Petkov, Jacob Shaffer, Jake Goldsborough, James Lucas, Jeremiah Peschka, jethrogb, Jian Zeng, Jimmy Cuadra, Joe Wilm, Jorge Aparicio, Josh Machol, Josh Stone, Julien Blanchard, Kai Noda, Kai Roßwag, Kamal Marhubi, Kevin K, Kevin Rauwolf, Kevin Yap, Knight, leonardo.yvens, llogiq, Marco A L Barbosa, Martin Pool, Matt Brubeck, mdinger, Michael DeWitt, Mika Attila, Nate Mara, NODA, Kai, Oliver Schneider, Patrick Reisert, Paul Padier, Ralph Giles, Raphael Cohn, Ri, Ricardo Martins, Ryan Havar, Ryan Kung, Severen Redwood, Tad Hardesty, Taylor Cramer, theindigamer, Tim Neumann, Tobias Bucher, trolleyman, Vadim Petrochenkov, Virgile Andreani, V Jackson, Vladimir, Wang Xuerui, Wayne Warren, Wesley Moore, Yasushi Abe, Y. T. Chung

0.7.0 - 2016-12-11

Contributors: Alex Crichton, Arch, bors, Brian Anderson, Diggory Blake, Kai Roßwag, Kevin K, Oliver Schneider, Ryan Havar, Tobias Bucher, Wang Xuerui

0.6.5 - 2016-11-04

Contributors: Alex Crichton, Björn Steinbrink, Brian Anderson, Jian Zeng, Matt Brubeck

0.6.4 - 2016-10-24

Contributors: Alex Crichton, Andrew Koroluk, Brian Anderson, Chungmin Park, Diggory Blake, Guillaume Fraux, Jake Goldsborough, jethrogb, Kamal Marhubi, Kevin K, Kevin Rauwolf, Raphael Cohn, Ricardo Martins

0.6.3 - 2016-08-28

Contributors: Brian Anderson

0.6.2 - 2016-08-27

Contributors: Brian Anderson, Diggory Blake, Knight, Marco A L Barbosa

0.6.1 - 2016-08-24

Contributors: Brian Anderson, Diggory Blake

0.6.0 - 2016-08-23

Contributors: Alex Crichton, Brian Anderson, Diggory Blake, Ivan Nejgebauer Josh Machol, Julien Blanchard, Patrick Reisert, Ri, Tim Neumann

0.5.0 - 2016-07-30

Contributors: Brian Anderson, Cam Swords, Daniel Keep, Diggory Blake, Florian Gilcher, Ivan Nejgebauer, theindigamer

0.4.0 - 2016-07-22

Contributors: Alex Crichton, Brian Anderson, Ivan Nejgebauer, Jimmy Cuadra, Martin Pool, Wesley Moore

0.3.0 - 2016-07-14

Contributors: Alex Crichton, Brian Anderson, Drew Fisher, geemili, Ivan Petkov, James Lucas, jethrogb, Kevin Yap, leonardo.yvens, Michael DeWitt, Nate Mara, Virgile Andreani

0.2.0 - 2016-06-21

Contributors: Alex Crichton, benaryorg, Benedikt Reinartz, Boutin, Michael, Brian Anderson, Diggory Blake, Erick Tryzelaar, Ivan Nejgebauer, Jeremiah Peschka, Josh Stone, Knight, mdinger, Ryan Kung, Tad Hardesty

0.1.12 - 2016-05-12

0.1.11 - 2016-05-12

0.1.10 - 2016-05-09

0.1.9 - 2016-05-07

0.1.8 - 2016-04-28

0.1.7 - 2016-04-17