Changelog
Compared to last beta release, cargo-msrv has:
Added
- Added
bundled unless outdatedrelease source which also uses the release index bundled withcargo-msrv, but falls back to fetching from a newer release source if the age of the bundled index is too old (defaults to 42 days) [NB: Updated from 7 to 42 days in this beta] - Added a hidden
cargo-msrv completions <SHELL>subcommand which prints shell completions forcargo-msrvto stdout - Added the
context_finalizedevent, which reports information about the context (i.e. the resolved config and environment values)cargo-msrvis running with
Removed
- ⚠️ Breaking change: Removed
selected_packagesevent. Use theproject.packagesfield oncontext_finalizedinstead.
Security
- Updated
webpki-rootstov1.0.10resolvingRUSTSEC-2026-0381andCVE-2026-111943
Compared to last stable release, cargo-msrv has:
Added
- Added the
bundledrelease source, which uses a release index bundled withcargo-msrv - Added
bundled unless outdatedrelease source which also uses the release index bundled withcargo-msrv, but falls back to fetching from a newer release source if the age of the bundled index is too old (defaults to 42 days) - Added
githubrelease source, which fetches the known set of Rust versions from Rust's GitHub releases page - Include the bundled release index by default (so there is a source to fall back to if no other release source cargo feature is enabled)
- Properly support Cargo workspaces for
cargo msrv find,verify,showandset(excluding custom check command) - Added
cargo msrv set --workspace-msrv, which sets the MSRV in theworkspace.packagetable of the workspace root of the Cargo manifest - Subcommand results now report the package they belong to
- Added a hidden
cargo-msrv completions <SHELL>subcommand which prints shell completions forcargo-msrvto stdout - Added the
context_finalizedevent, which reports information about the context (i.e. the resolved config and environment values)cargo-msrvis running with
Changed
- Updated
rust-releasesto0.34.0 - If toolchain target information is available from the selected rust-releases index,
cargo-msrvwill now only include toolchains which have the provided target (defaults to the host) and components - The
--workspace,--packageand--excludeflags are now given after the subcommand, like cargo does (cargo msrv find --package a), and are accepted byfind,verify,showandset cargo msrv find --write-toolchain-filenow writes the toolchain file to the workspace rootcargo msrv find --ignore-lockfileandcargo msrv verify --ignore-lockfilenow move the workspace's lockfilecargo msrv setandcargo msrv find --write-msrvno longer overwrite arust-versionwhich is inherited from the workspace- Invalid workspace flags outside a Cargo project are now reported as errors
- A Cargo project for which
cargo metadatafails is now reported as an error, instead of being treated as a project without Cargo - The
changelogrelease index source is now a conditional compilation 'features' flag - Rust versions now reject leading zeros, e.g.
1.05, like Cargo - The
package.metadata.msrvkey which can be used as a fallback for Rust versions where thepackage.rust-versionisn't available yet now only accept full (three component) or short (two component) versions, likerust-version
Fixed
- The
sha_shortbuild metadata is now reported again by themetaevent - Fix issue where
cargo-msrv findcould no longer be used outside a Cargo project, unless--minwas provided (must still be runnable viarustup run) - The
editionfield inherited fromworkspace.packageis now used to limit the search space ofcargo msrv find
Removed
- ⚠️ Breaking change: Removed
selected_packagesevent. Use theproject.packagesfield oncontext_finalizedinstead.
Security
- Updated
webpki-rootstov1.0.10resolvingRUSTSEC-2026-0381andCVE-2026-111943