cargo-msrv 0.16.0
Changelog
Added
- Added
cargo msrv find
subcommand to determine the MSRV (this subcommand was moved from the top levelcargo 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 levelcargo msrv
command to thecargo 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 semvermajor.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 semvermajor.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
withcargo-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
tocargo 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
. Usecargo 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 thecargo 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
- @KamilaBorowska made their first contribution in #375
- @LingMan made their first contribution in #425
- @dnaka91 made their first contribution in #498
- @marcospb19 made their first contribution in #577
- @robjtede made their first contribution in #682
- @LuckyTurtleDev made their first contribution in #689
- @wookietreiber made their first contribution in #743
- @not-my-profile made their first contribution in #751
- @ColeFrench made their first contribution in #775
- @Jefffrey made their first contribution in #882
- @Finomnis made their first contribution in #929
- @Marcono1234 made their first contribution in #963
Full Changelog: v0.15.1...v0.16.0