Releases: foresterre/cargo-msrv
Releases · foresterre/cargo-msrv
cargo-msrv 0.17.1
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
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
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 bycargo 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
- @babichjacob made their first contribution in #1034
- @gretchenfrage made their first contribution in #1043
- @cdown made their first contribution in #1049
Full Changelog: v0.16.2...v0.16.3
cargo-msrv 0.16.2
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
Changelog
Added
Infra
- Build and release
x86_64-unknown-linux-musl
binaries
What's Changed
- chore: Update SUMMARY.md to relect release page naming by @foresterre in #1014
- chore: Add index and a short history to readme by @foresterre in #1015
- ci: build and release musl binaries by @robjtede in #1019
- chore: Update Cargo lock by @foresterre in #1016
- chore: Update workflow to cargo msrv 0.16 by @foresterre in #1017
Full Changelog: v0.16.0...v0.16.1
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
cargo-msrv 0.16.0-beta.25
Notably:
- 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.- 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.
- Added
- 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
- Release 0.16.0-beta.24 by @foresterre in #974
- Rename --add-component to --component by @foresterre in #976
- Move cargo msrv "find" to its own subcommand by @foresterre in #977
- Fix book summary entry for
cargo msrv find
by @foresterre in #978 - Make
--output-format
and--no-user-output
mutually exclusive by @Marcono1234 in #979 - build(deps): bump clap from 4.5.14 to 4.5.15 by @dependabot in #982
- build(deps): bump serde from 1.0.205 to 1.0.206 by @dependabot in #981
- build(deps): bump serde_json from 1.0.122 to 1.0.124 by @dependabot in #980
- build(deps): bump serde from 1.0.206 to 1.0.207 by @dependabot in #983
Full Changelog: v0.16.0-beta.24...v0.16.0-beta.25
cargo-msrv 0.16.0-beta.24
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 theverify
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-levelcargo msrv
command, and thecargo 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 levelcargo msrv
command and at the subcommand level, e.g.cargo msrv verify
), even for subcommands which do not consume these arguments likecargo msrv list
.
cargo-msrv 0.16.0-beta.23
Notably:
- Improve clarity of spinner graphic
- The CLI arguments
--target
and--add-component
were previously inadvertently ignored when provided
tocargo 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 theverify
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-levelcargo msrv
command, and
thecargo 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
levelcargo msrv
command and at the subcommand level, e.g.cargo msrv verify
), even for subcommands which do not
consume these arguments likecargo msrv list
.
cargo-msrv v0.16.0-beta.22
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