Skip to content

Releases: foresterre/cargo-msrv

cargo-msrv 0.17.1

24 Nov 21:30
Compare
Choose a tag to compare

Changelog

Fixed

Infra

  • Fix release pipeline for binaries

Known issues

  • Installing toolchains on GitHub Actions can fail for the windows runner (see #1036)

Full Changelog: v0.17.0...v0.17.1

cargo-msrv 0.17.0

21 Nov 16:19
Compare
Choose a tag to compare

Changelog

Added

  • Rust edition 2024 can now be detected

Known issues

  • Installing toolchains on GitHub Actions can fail for the windows runner (see #1036)

Full Changelog: v0.16.3...v0.17.0

cargo-msrv 0.16.3

11 Nov 01:15
Compare
Choose a tag to compare

Changelog

Added

  • Added --workspace, --all, --package and --exclude CLI options for package selection when in a Cargo project
    (limitations apply: workspace support will be improved in future releases)
  • cargo msrv find --write-msrv is now aliased by cargo msrv find --set, which is consistent in terminology with
    cargo msrv set

Changed

  • Toolchains installed with rustup install now use the --no-self-update flag

Known issues

  • Installing toolchains on GitHub Actions can fail for the windows runner (see #1036)

New Contributors

Full Changelog: v0.16.2...v0.16.3

cargo-msrv 0.16.2

09 Oct 22:16
Compare
Choose a tag to compare

Changelog

Fixed

Infra

  • Fix release pipeline for x86_64-unknown-linux-musl binaries

What's Changed

Full Changelog: v0.16.1...v0.16.2

cargo-msrv 0.16.1

09 Oct 10:15
Compare
Choose a tag to compare

Changelog

Added

Infra

  • Build and release x86_64-unknown-linux-musl binaries

What's Changed

Full Changelog: v0.16.0...v0.16.1

cargo-msrv 0.16.0

09 Oct 02:44
Compare
Choose a tag to compare

Changelog

Added

  • Added cargo msrv find subcommand to determine the MSRV (this subcommand was moved from the top level cargo msrv
    command to its own subcommand)
  • Added options --ignore-lockfile, --no-check-feedback, --target, --component, --features, --all-features,
    --no-default-features and the last argument "custom compatibility check command", which were previously available
    from the top level cargo msrv command to the cargo msrv verify subcommand.
  • Subcommand cargo msrv verify now supports setting a custom Rust version via the --rust-version <VERSION> argument,
    which can be used to check for a crate's compatibility against a specific Rust version.
  • Added flag --write-msrv to cargo msrv (find), which upon finding the MSRV writes its value to the Cargo manifest.
  • Added option to refer to a specific crate using its Cargo manifest (with --manifest-path) instead of its path (
    with --path)
  • Added a 'minimal' output option intended for machine-readable use when full json output is undesirable.
  • Added --features option, --all-features flag and --no-default-features flag, which are forwarded to the default
    compatibility check command
  • Added --component option, which can be used to add one or more Rust components to a toolchain.
  • cargo msrv verify now supports
    Cargo workspace inheritance, and will
    now correctly inherit the MSRV (i.e. package.rust-version) defined by a workspace

Changed

  • CLI options are now grouped.
  • Option --min <version> now also accepts two component semver major.minor versions, in addition to full three
    component (strict) SemVer versions, and edition specifiers like "2015", "2018" and "2021".
  • Option --max <version> now also accepts two component semver major.minor versions, in addition to full three
    component (strict) SemVer versions.
  • The rust-releases index is now only fetched for subcommands which depend on it.
  • Renamed --toolchain-file to --write-toolchain-file to emphasise that the toolchain-file is an output.
  • Subcommand cargo msrv set will now default to writing a regular TOML table for the metadata MSRV fallback value,
    instead of an inline table.
  • The rust-toolchain file will now be overwritten if a rust-toolchain file was already present.
  • Updated user output formatting to be more consistent between output formats.
  • cargo-msrv now requires paths to be UTF-8.
  • --write-msrv now writes two, instead of three component version numbers.

Infra

  • Changed release artifact name of cargo-msrv packages on Github, such that they can be installed
    with cargo-binstall out of the box.

Fixed

  • Subcommand cargo msrv set will now return an error when the Cargo manifest solely consists of a virtual workspace.
  • The program will no longer return an unformatted message when a command failed and the output format was set to json.
  • Fix issue where reading the fallback MSRV from a TOML inline table was not possible.
  • Fix an index out-of-bounds panic which occurred if the filtered Rust releases search space was empty.
  • Use compilation target instead of build machine target for MSRV checks.
  • Fix issue where --manifest-path Cargo.toml would yield an empty manifest path.
  • Supply provided components to verify subcommand.
  • The CLI arguments --target and --component were previously inadvertently ignored when provided
    to cargo msrv verify.
  • Fixed issue where some errors were not being reported (e.g. cargo msrv verify did not print an error if it wasn't
    possible to resolve the MSRV to check against).

Removed

  • Removed deprecated option cargo msrv --verify. Use cargo msrv verify instead.
  • Removed option to disable filtering the Rust releases search space by the Rust edition in from the Cargo
    manifest, --no-read-min-edition.
  • Moved the top level cargo msrv "find the MSRV" action to the cargo msrv find subcommand, which removed several
    options and flags from the top level command which had previously no effect on other subcommands.

Thanks

Thanks to all contributors, whether you submitted a PR or reported an issue, or contributed in some other way. 😃

Some of your issues and PR's really made my day! 💛

New Contributors

Full Changelog: v0.15.1...v0.16.0

cargo-msrv 0.16.0-beta.25

13 Aug 22:21
Compare
Choose a tag to compare

Changelog

Notably:

  • Moved the top level cargo msrv "find the MSRV" action to the cargo msrv find subcommand, which removed several options and flags from the top level command which had previously no effect on other subcommands.
    • Added cargo msrv find subcommand to determine the MSRV (this subcommand was moved from the top level cargo msrv command to its own subcommand)
    • Added options --ignore-lockfile, --no-check-feedback, --target, --component, --features, --all-features, --no-default-features and the last argument "custom compatibility check command", which were previously available from the top level cargo msrv command to the cargo msrv verify subcommand.
  • Rename --add-component to --component
  • Make --output-format and --no-user-output mutually exclusive

Full Changelog: v0.16.0-beta.24...v0.16.0-beta.25

What's Changed

Full Changelog: v0.16.0-beta.24...v0.16.0-beta.25

cargo-msrv 0.16.0-beta.24

09 Aug 21:43
Compare
Choose a tag to compare
Pre-release

Changelog

Notably:

  • Fixed issue where some errors were not being reported (e.g. cargo msrv verify did not print an error if it wasn't possible to resolve the MSRV to check against). {✨ Thanks @Marcono1234}

Full Changelog: v0.16.0-beta.23...v0.16.0-beta.24

Known issues

  • The CLI arguments --features, --all-features, --no-default-features, --min, --max, --include-all-patch-releases and --release-source are ignored when provided to the verify subcommand. Workaround: supply these arguments directly to the top-level command, e.g. cargo msrv --all-features verify.
  • The CLI arguments --target and --add-component can be provided to both the top-level cargo msrv command, and the cargo msrv verify subcommand, however if they're provided to both, then only the arguments of the subcommand are considered. Example: cargo msrv --target x --add-component a --add-component b verify --target y --add-component c --add-component d does not reject or collect the --target x --add-component a --add-component b portion; the program will only be aware of the --target y --add-component c --add-component d arguments.
  • The CLI arguments --target and --add-component are shown to be available globally (i.e. both at the top level cargo msrv command and at the subcommand level, e.g. cargo msrv verify), even for subcommands which do not consume these arguments like cargo msrv list.

cargo-msrv 0.16.0-beta.23

26 Jun 23:00
Compare
Choose a tag to compare
Pre-release

Changelog

Notably:

  • Improve clarity of spinner graphic
  • The CLI arguments --target and --add-component were previously inadvertently ignored when provided
    to cargo msrv verify.

Full Changelog: v0.16.0-beta.22...v0.16.0-beta.23

Known issues

  • The CLI arguments --features, --all-features, --no-default-features, --min, --max, --include-all-patch-releases
    and --release-source are ignored when provided to the verify subcommand. Workaround: supply these arguments
    directly to the top-level command, e.g. cargo msrv --all-features verify.
  • The CLI arguments --target and --add-component can be provided to both the top-level cargo msrv command, and
    the cargo msrv verify subcommand, however if they're provided to both, then only the arguments of the subcommand are
    considered.
    Example: cargo msrv --target x --add-component a --add-component b verify --target y --add-component c --add-component d
    does not reject or collect the --target x --add-component a --add-component b portion; the program will only be
    aware of the --target y --add-component c --add-component d arguments.
  • The CLI arguments --target and --add-component are shown to be available globally (i.e. both at the top
    level cargo msrv command and at the subcommand level, e.g. cargo msrv verify), even for subcommands which do not
    consume these arguments like cargo msrv list.

cargo-msrv v0.16.0-beta.22

02 Jun 12:26
Compare
Choose a tag to compare
Pre-release

Changelog

Re-release of cargo-msrv v0.16.0-beta.21:

  • Fix GitHub Actions runner used to build x86_64 macOS build
  • Fix building release binaries attached to GitHub release by fixing third party licenses generation build step
  • Build aarch64 macOS target and attach artifact to GitHub release

Full Changelog: v0.16.0-beta.21...v0.16.0-beta.22