github cargo-bins/cargo-binstall v0.11.0

latest releases: v1.3.1, binstalk-v0.16.1, binstalk-registry-v0.1.1...
2 years ago

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:

  • Installing multiple crates in one go is now possible with crate@version syntax, similar to the cargo add command. When that syntax is used, some overriding options like --version and --manifest-path that only make sense in single-crate context are disabled. (#210, #216, #217, #220)
  • We now prompt only a single time. We resolve all information needed to proceed, then ask for confirmation, and then install. Previously there could be up to three confirmation prompts. (#209)
  • --version 1.2.3 now means --version "=1.2.3". Previously it meant --version "^1.2.3". This was confusing and could result in ambiguity in some cases. The new behaviour aligns more closely with cargo install. This is also the case in the new crate@version syntax. (#210)
  • Alternative extensions are tried when { archive-format } is used, so e.g. writing .tar.gz manually in the template URL is no longer required. (#38, #236)

Other changes:

  • Mimalloc can be chosen to replace the default allocator at build time with the feature mimalloc. This is disabled by default. (#206)
  • Smaller binaries with opt-level = "z". (#218)
  • Enable static linking of xz2. (#219)
  • Disable unused features of zstd. (#219)
  • We now co-operate with make-style process concurrency handling. (#216)
  • Many performance optimisations throughout the above and #221, #222.
  • Temporary files are now created within the installation path, this helps detect out of space and permission errors earlier. (#225)
  • $CARGO_HOME/.crates.toml is no longer modified if --install-path is given, as that's considered a non-global install. We also take a lock on the file like Cargo does. (#227, #228)
  • $CARGO_HOME/.crates2.json is no longer written to, as its data content is not adapted to Binstall's. (#235)
  • The armv7 and aarch64 Linux GNU targets are pre-built for releases again. (#231)
  • @NobodyXu is now officially our third maintainer! 🎉

Don't miss a new cargo-binstall release

NewReleases is sending notifications on new releases.