Releases: cargo-bins/cargo-binstall
v0.21.0
Yanked, do not use
Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for cargo install
in most cases. Install it today with cargo install cargo-binstall
, from the binaries below, or if you already have it, upgrade with cargo binstall cargo-binstall
.
In this release:
- Massively reduce the amount of requests binstall does in most cases, which significantly improves performance (#779 #791 #794 #835 #847 #776 #832 #849 #883)
- New option:
--locked
, passed tocargo-install
when falling back (not used when installing from binary) (#746 #830) - Support for TLS-intercepting HTTP proxies with a CLI option
--root-certificates
and environment variableBINSTALL_HTTPS_ROOT_CERTS
. (#759 #774 #820)
Bugfixes:
- x86_64 fallback for aarch64 MacOS (#857 #875)
- Missing
.exe
suffix on Windows (#801 #802) - Spurious "unexpected Eof" error (#777 #799)
Other changes:
- QuickInstall's release naming scheme has changed (#867)
- Rename
--roots
to--root
for cargo-install compatibility (with an alias to maintain backward-compatibility with ourselves) (#861), and pass it tocargo install
when falling back (#860). - Increase default interval in
--rate-limit
to 10ms (#804) - We no longer auto-discover artifacts which do not include the target in their filename, as we have no way to figure out if they're the right one to download. (#795)
- Optimize release build:
icf=safe
on Linux and Windows, and cross-lang fat-lto on Linux. - Our binaries (below) now embed their dependency list (via
cargo-auditable
), making them auditable by tools likecargo-audit
.
v0.20.1
Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for cargo install
in most cases. Install it today with cargo install cargo-binstall
, from the binaries below, or if you already have it, upgrade with cargo binstall cargo-binstall
.
In this release:
- Improve error messages (#781)
- Fallback to copy if symlink failed on windows (#728 #763)
- Fix "Too many "Too Many Requests" log" (#747 #761)
Add environment variableRemoved in next version asCARGO_BINSTALL_LOG_LEVEL
for specifying log-level if cmdline option--log-level
is not present (#790)BINSTALL_LOG_LEVEL
already existed (#796)
Other changes:
- Detect incorrect
package.metadata.binstall
configuration wherepkg-fmt
is not specified butpkg-url
also does not containformat
,archive-format
orarchive-suffix
which is required for automatically deducingpkg-fmt
(#757)
v0.20.0
THIS RELEASE IS BROKEN, DO NOT USE
See this issue: #789
In this release:
- Improve error messages (#781)
- Fallback to copy if symlink failed on windows (#728 #763)
- Fix "Too many "Too Many Requests" log" (#747 #761)
Other changes:
- Detect incorrect
package.metadata.binstall
configuration wherepkg-fmt
is not specified butpkg-url
also does not containformat
,archive-format
orarchive-suffix
which is required for automatically deducingpkg-fmt
(#757)
v0.19.3
Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for cargo install
in most cases. Install it today with cargo install cargo-binstall
, from the binaries below, or if you already have it, upgrade with cargo binstall cargo-binstall
.
In this release:
These two bugs together do mean that on Windows you'll need to install manually from one of the binaries below or compile from source to upgrade! Sorry about that.
v0.19.2
Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for cargo install
in most cases. Install it today with cargo install cargo-binstall
, from the binaries below, or if you already have it, upgrade with cargo binstall cargo-binstall
.
In this release:
- Fixed automatic target detection on Alpine where
rustc
returnsx86_64-alpine-linux-musl
(#704, #705)
Other changes:
- Optimizations in automatic target detection (#705)
v0.19.1
Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for cargo install
in most cases. Install it today with cargo install cargo-binstall
, from the binaries below, or if you already have it, upgrade with cargo binstall cargo-binstall
.
In this release:
Other changes:
v0.19.0
Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for cargo install
in most cases. Install it today with cargo install cargo-binstall
, from the binaries below, or if you already have it, upgrade with cargo binstall cargo-binstall
.
In this release:
- Quickinstall has moved to this (cargo-bins) organisation! (quickinstall#104, #638)
- Platform detection improvements:
Other changes:
- Fix: Avoid race condition when updating
$CARGO_HOME/.crates.toml
(#588, #645, #643) - Fix: Create
$CARGO_HOME/.crates.toml
if it doesn't exist instead of failing (#621, #622) - Fix: Make sure all
cargo
subprocesses are also terminated when cargo-binstall is interrupted (#619) - Fix: Print resolutions without interleaving (#619)
- Fix: Installing crates previously removed cargo-uninstall now works correctly (#625, #628)
- Various improvements to CI (#630, #660, #668, #675, #676)
- Various optimisations (#610, #619, #643, #644, #653, #655, #656, #667)
- The release artifacts now includes an additional "full" build that includes debuginfo in split format. Linux only, Windows&Mac coming soon. (#659, #660, #672)
v0.18.1
Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for cargo install
in most cases. Install it today with cargo install cargo-binstall
, from the binaries below, or if you already have it, upgrade with cargo binstall cargo-binstall
.
Other changes:
- Fix running prebuilt binaries on ubuntu 20.04, docker image
rust:1.65
or any environment that uses glibc 2.31 (#607)
v0.18.0
Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for cargo install
in most cases. Install it today with cargo install cargo-binstall
, from the binaries below, or if you already have it, upgrade with cargo binstall cargo-binstall
.
In this release:
- Check for installed crates
$CARGO_HOME/.crates.toml
(#582) - Fix small issues in error handling and printing (#584, #585, #586)
- Remove a panic during confirmation prompt (#576)
- Bump to MSRV to 1.65.0 (#574)
Other changes:
- Rewrite download and archive extraction machinery (#579, #580, #587, #590, #591)
- Some optimisations around sizes of types (#573, #581, #589, #600)
- Use maximum compression for zip windows packages (#596)
Dependencies:
- Bump async-trait from 0.1.58 to 0.1.59 (#578)
- Bump clap from 4.0.26 to 4.0.29 (#571, #577)
- Bump embed-resource from 1.7.4 to 1.8.0 (#598)
- Bump flate2 from 1.0.24 to 1.0.25 (#570)
- Bump jobslot from 0.2.6 to 0.2.8 (#564)
- Bump miette from 5.4.1 to 5.5.0 (#565)
- Bump serde from 1.0.147 to 1.0.150 (#572, #592, #597)
- Bump tokio from 1.22.0 to 1.23.0 (#593)
- Bump zstd from 0.11.2+zstd.1.5.2 to 0.12.1+zstd.1.5.2 (#563, #595)
v0.17.0
Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for cargo install
in most cases. Install it today with cargo install cargo-binstall
, from the binaries below, or if you already have it, upgrade with cargo binstall cargo-binstall
.
In this release:
- Add support of universal binary as fallback on MacOS (#552)
- Build universal MacOS binary on release for cargo-binstall (#551)
- Fix disabling cargo-install fallback (#541)
- Fix crate normalize-path which is used in cargo-binstall (#508)
- Add
-y
as alias for--no-confirm
(#536 #540) - Clarify on how to upgrade
cargo-binstall
and softwares installed by it (#514 #524) - Support default filename with underscores, which is the default format used by github action rust-build/rust-build (#495)
- Implement
--strategies
and--disable-strategies
for opting out of using third-party quick-install or/andcargo-install
(#136 #510 #545) - Use tracing-subscriber for logging and supports
--json-output
output (#520 #522 #525 #527 #528) - Enable dns-over-quic for trust-dns-resolver (enabled in the pre-built artifacts) (#538)
Internal changes
- Refactor: Extract new crate binstalk-types plus other misc refactor and optimization (#535)
- Refactor: Extract new crate binstalk-manifests (#511 #513 #523)
- Refactor: Extract new crate binstalk-downloader (#518)
- Optimizations (#530 #535, #541, #543, #544, #553)
Dependencies
- Enable feature thin of dep zstd for any target built natively (#480)
- Bump bytes from 1.2.1 to v1.3.0 (#554)
- Bump serde_json from 1.0.86 to 1.0.89 (#496 #547 #554)
- Bump compact_str from 0.6.0 to 0.6.1 (#554)
- Bump tokio from 1.21.2 to 1.22.0 (#548)
- Bump digest from 0.10.5 to 0.10.6 (#539)
- Bump reqwest from 0.11.12 to 0.11.13 and trust-dns-resolver from 0.21.2 to 0.22.0 (#538)
- Bump clap from 4.0.16 to 4.0.26 (#493 #498 #516 #529 #532 #534, #537)
- Bump mimalloc from 0.1.30 to 0.1.32 (#519, #533)
- Bump embed-resource from 1.7.3 to 1.7.4 (#517)
- Bump miette from 5.3.0 to 5.4.1 (#506)
- Bump once_cell from 1.15.0 to 1.16.0 (#505)
- Bump serde from 1.0.145 to 1.0.147 (#501)
- Bump toml_edit from 0.14.4 to 0.15.0 (#500)
- Bump futures-util from 0.3.24 to 0.3.25 (#497)
- Bump async-trait from 0.1.57 to 0.1.58 (#494)
- Update transitive dependencies (#549)
- Switch back from fork binstall-zip to zip since upstream has published a long-overdue new release (#512)