Skip to content

Releases: cargo-bins/cargo-binstall

v0.19.3

17 Jan 11:53
46a0356
Compare
Choose a tag to compare

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:

  • Fix self-update on windows (#702, #712)
  • Fix corruption errors when extracting zips (#714)

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

16 Jan 04:45
c2b1c24
Compare
Choose a tag to compare

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 returns x86_64-alpine-linux-musl (#704, #705)

Other changes:

  • Optimizations in automatic target detection (#705)

v0.19.1

12 Jan 06:27
850ad63
Compare
Choose a tag to compare

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:

  • Fix: falling back to cargo-install when installing only one crate caused a deadlock (#694, #697)

Other changes:

  • MacOS split debuginfo now included in full package (#659, #696)

v0.19.0

12 Jan 02:01
ea28e5e
Compare
Choose a tag to compare

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:
    • Avoid invalid target triples from some configurations of rustc (#637)
    • Linux: use runtime detection of architecture and libc variant when rustc isn't present (#649)
    • Android: allow fallback to musl libc targets (#649)

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

14 Dec 00:52
628fd33
Compare
Choose a tag to compare

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

12 Dec 14:13
09bc8e7
Compare
Choose a tag to compare

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

22 Nov 14:29
7544fde
Compare
Choose a tag to compare

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/and cargo-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)

v0.16.0

18 Oct 06:55
b9f486d
Compare
Choose a tag to compare

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:

  • Impl retry for http status code 503 and 429 in response (#472, #473)
  • Fix install_from_source: Set cmd cargo-install to be kill_on_drop so that cargo-binstall would terminate any running cargo-install when it receives signal for cancellation (e.g. SIGINT) (#479)
  • Make tarball/bin extraction process cancellable: It can now be cancelled by signal (e.g. SIGINT) (#481)
  • Fixed cargo-binstall -V: It now prints cargo-binstall version as expected (#485, #488)

Other changes:

  • docs: update unsupported crates guide (#467, #468)
  • Bump serde_json from 1.0.85 to 1.0.86 (#475)
  • Bump clap from 4.0.10 to 4.0.16 (#474, #476, #477, #482, #483, #489)
  • Bump home from 0.5.3 to 0.5.4 (#478)
  • Bump mimalloc from 0.1.29 to 0.1.30 (#484)
  • Bump cargo_toml from 0.12.4 to 0.13.0 (#486)

v0.15.1

08 Oct 08:07
5e04a22
Compare
Choose a tag to compare

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.

Substitutes v0.15.0 due to CI failure.

In this release:

  • Disable tcp_nodelay and add rate limiting for HTTP requests. This makes installation more reliable, especially when installing many crates at once. (#457, #458)
  • Allow --pkg-fmt, --bin-dir, --pkg-url overrides when installing multiple crates. (#444, #454)
  • Use CARGO env variable if present. Cargo sets this for subcommands: it is useful when the cargo binary in use may not be in a standard location or in PATH. (#452, #453)
  • Don't try to fetch a package if the crate provides no binaries. This fixes a regression which appeared in 0.14.0. (#446)

Other changes:

v0.14.0

28 Sep 06:54
af3316a
Compare
Choose a tag to compare

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:

  • Make binaries with required-features optional so that crates like sccache can be installed via cargo-binstall (#357, #438)
  • Improve auto discover so that crates like miniserve which seets pkg-fmt to bin can be auto discovered and installed out-of-the-box and fixed install crates with pkg-fmt set to "bin" (#406, #423, #433)
  • --no-symlinks now installs binary without version (#432)
  • Enable feat gzip, brotli and deflate decompression support for http/https to speedup download of crates with pkg-fmt set to "bin" on slow connections (#434)
  • Optimize applying PkgOverrides into PkgMeta (#429)
  • Optimize bins::BinFile (#422)
  • Check source_file_path to ensure it is valid to provide better error messages and prevent rendered bin-dir from accessing outside of the temporary directory containing the extracted binaries (#421)
  • Impl multiple default bin-dirs to make more binary crates works out-of-the-box (#417, #439, #441)

Other changes:

  • Bump thiserror from 1.0.35 to 1.0.37 (#426, #437)
  • Bump tokio from 1.21.1 to 1.21.2 (#436)
  • Bump digest from 0.10.3 to 0.10.5 (#431)
  • Bump env_logger from 0.9.0 to 0.9.1 (#428)
  • Bump semver from 1.0.13 to 1.0.14 (#427)
  • Bump cargo_toml from 0.12.1 to 0.12.2 (#425)
  • Bump url from 2.3.0 to 2.3.1 (#424