Releases: killercup/cargo-edit
v0.11.4
0.11.4 - 2022-10-06
Features
set-version
- Modify
workspace.package.versionand all dependents, when needed
Fixes
set-version
- Update versions in
workspace.dependenciesin virtual workspaces - Be more consistent with rest of cargo in output
v0.11.3
0.11.3 - 2022-09-28
Fixes
- Polished help output
v0.11.2
0.11.2 - 2022-09-22
Features
upgrade
- Upgrade
workspace.dependencies(new in Rust 1.64)
v0.11.1
0.11.1 - 2022-09-16
Fixes
- Changed
--compatible,--incompatible, and--pinnedfrom acceptingtrue|falsetoallow|ignore(with aliases for compatibility- While we are still working out how we want to express these options, this at least removes the confusion over
--compatible falselooking like it is the same as--incompatible.
- While we are still working out how we want to express these options, this at least removes the confusion over
v0.11.0
0.11.0 - 2022-09-14
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 upgradenow works on the whole workspace exclusively- This also resolves confusion over
--package,--exclude, and the positionalPKGIDargument - This also removes any UI barriers for supporting workspace inheritance coming in 1.64
- This also resolves confusion over
cargo upgrade -p [email protected]will act as ifcargo update -p serde --precise 1.0.100was performed- Compatible versions are upgraded by default
- Pass
--incompatibleor--pinnedto upgrade to incompatible versions - Disable the default with
--compatible false - See this PR for context on the trade offs
- Pass
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:
- An evaluation of current behavior that takes into account the exiting "care abouts" or any additional we don't have listed yet
- An evaluation of how existing or new alternatives would better fit the full set of care abouts
Breaking Changes
upgrade
- Compatible versions are upgraded by default, with opt-out via
--compatible false - Pinned dependencies will be upgraded to compatible versions when
--compatible true, reserving--pinnedfor incompatible upgrades - Incompatible versions require opting in with
-i/--incompatible - When a version requirement is fully specified, the lock version will modified to use that version
- Exclusively operate on the workspace
- The positional argument for selecting dependencies to upgrade has moved to
--package <NAME> --packageand--excludenow take crate names rather than dependencies names (matters when dependencies are renamed)
Features
upgrade
--recursive <true|false>for controlling how the lockfile is updated- Update git dependencies
Fixes
upgrade
- Treat
3.2.xas pinned - Update lockfile in offline mode
- Don't touch the lockfile in dry-run
- Prefer preserving the original version requirement over compatible version upgrades (in cases where we don't know how to preserve the format)
v0.10.4
0.10.4 - 2022-07-29
Fixes
upgrade
- Hide "note" column when unused
- Summarize uninteresting rows by default
v0.10.3
0.10.3 - 2022-07-27
Fixes
upgrade
- Provide table view of upgrades, like
cargo outdated, to raise visibility for why a change isn't made - Fix where we didn't respect
--offline - Fix
--to-lockfileto update non-registry version requirements - Update lockfile for upgraded requirements
- Update
--helpto be consistent withcargo add
rm
- Update
--helpto be consistent withcargo add
v0.10.2
0.10.2 - 2022-07-21
Fixes
upgrade
- Only fail on bad lockfile if
--to-lockfileis set
rm
- Don't duplicate error messages
v0.10.1
v0.10.0
What's Changed
- chore: update toml_edit to v0.14 by @marcoieni in #706
- cargo upgrade: Add --skip-pinned option by @nthuemmel-scontain in #709
- Add
--targetflag to cargo-rm by @cassaundra in #711 - Clean up custom console output with utils by @cassaundra in #712
- feat(rm): add dry run by @cassaundra in #714
- chore: update cargo_metadata to v0.15 by @marcoieni in #718
- Remove cargo-add by @epage in #720
- refactor: Backport parts of cargo-edit in cargo by @epage in #722
- fix(upgrade): Prepare for stablizing preserve-precsion by @epage in #724
- fix(upgrade): Preserve more formatting by @epage in #725
- fix(upgrade): Report errors for invalid dependencies by @epage in #726
- feat(upgrade): Add --locked support by @epage in #727
- fix(upgrade): Make preserve precision the default behavior by @epage in #729
- fix: Allow --manifest-path with -p by @epage in #730
- fix(upgrade): Don't include key formatting in warnings by @epage in #731
- fix: Allow relative manifest paths by @epage in #732
- fix(upgrade)!: Remove
--allow-prereleaselike cargo-add by @epage in #733 - fix(upgrade): Make --skip-compatible default by @epage in #734
- fix(upgrade): Make pinned skipping the default by @epage in #735
- fix(upgrade):
--to-lockfilechanges all sources by @epage in #736 - fix(upgrade): Provide hint when nothing happens by @epage in #738
New Contributors
- @marcoieni made their first contribution in #706
- @nthuemmel-scontain made their first contribution in #709
Full Changelog: v0.9.1...v0.10.0