A utility for managing cargo dependencies from the command line.
--compatible
, --incompatible
, and --pinned
from accepting true|false
to allow|ignore
(with aliases for compatibility
--compatible false
looking like it is the same as --incompatible
.This release is another step in our effort to find the appropriate cargo upgrade
workflow for merging into cargo
.
This new iteration is modeled on the idea "if we started from scratch, what
would cargo update
look like?". Besides getting us to think outside
the box, I hope that we can deprecate cargo update
and replace it with cargo upgrade
(caution: this has not been passed by the cargo team). We need
runtime with the proposed behavior with feedback to see how well the idea works
in theory and if it justifies the ecosystem churn of deprecating cargo update
.
More concretely, the approach taken in this release is a cargo update
-like
command that implicitly modifies Cargo.lock
.
To this end
cargo upgrade
now works on the whole workspace exclusively
--package
, --exclude
, and the positional PKGID
argumentcargo upgrade -p [email protected]
will act as if cargo update -p serde --precise 1.0.100
was performed--incompatible
or --pinned
to upgrade to incompatible versions--compatible false
A side benefit of this approach is that users will get an approximation of
minimal-version resolution so long as they stay within cargo add
and cargo upgrade
and commit their Cargo.lock
file.
Please include in any feedback:
upgrade
--compatible false
--compatible true
, reserving --pinned
for incompatible upgrades-i
/ --incompatible
--package <NAME>
--package
and --exclude
now take crate names rather than dependencies names (matters when dependencies are renamed)upgrade
--recursive <true|false>
for controlling how the lockfile is updatedupgrade
3.2.x
as pinnedupgrade
cargo outdated
, to raise visibility for why a change isn't made--offline
--to-lockfile
to update non-registry version requirements--help
to be consistent with cargo add
rm
--help
to be consistent with cargo add
Full Changelog: https://github.com/killercup/cargo-edit/compare/v0.10.0...v0.10.1
stderr
for 'invalid_workspace_root_manifest' by @SpriteOvO in https://github.com/killercup/cargo-edit/pull/693
Full Changelog: https://github.com/killercup/cargo-edit/compare/v0.9.0...v0.9.1