-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Open
Labels
A-new-subcommandArea: new subcommandArea: new subcommandC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Command-updateS-acceptedStatus: Issue or feature is accepted, and has a team member available to help mentor or reviewStatus: Issue or feature is accepted, and has a team member available to help mentor or reviewT-cargoTeam: CargoTeam: Cargodisposition-mergeFCP with intent to mergeFCP with intent to mergefinished-final-comment-periodFCP completeFCP complete
Description
Problem
A lot of incompatible upgrades have a small enough of breakages that a "upgrade all of my incompatible version requirements" would make it easier to go through this process.
This is currently exposed in the cargo upgrade
command
Proposed Solution
Tasks
- update breaking
- Add
cargo update --breaking
#13979- Test cases for
cargo update --breaking only-compatible renamed non-semver-operator transitive-dep
- Test cases for
-
--precise <breaking>
- Call for testing
- Stabilization
- Add
- fix(update): Clarify meaning of --aggressive as --recursive #12544
- feat(pkgid): Allow incomplete versions when unambigious #12614
- feat(update): Tell users when they are still behind #13372
- fix(update): Make
-p
more convenient by being positional #12545 - bugs and identified tasks
Deferred
- Modifying version requirements for compatible upgrades
See #12425 (comment)
Previously, https://internals.rust-lang.org/t/feedback-on-cargo-upgrade-to-prepare-it-for-merging/17101/141
Unresolved questions
- Flag name
--breaking
to focus on semver (as this is limited to^
)--incompatible
applies to all version req operators and doesn't have a good short flag (-i
is generally assumed to be "interactive")- Dart calls it
--major-versions
though we have the issue of "absolute major" (x.0.0
) and "relative major (also0.x.0
,0.0.x
).- budler calls it
--major
- budler calls it
- pnpm calls it
--latest
because of a "latest" tag
Notes
Related
mo8it, SommerEngineering, demurgos, edmorley, azzamsa and 6 moreSommerEngineering, d-k-bo, kamulos, stefnotch, tgross35 and 8 more
Metadata
Metadata
Assignees
Labels
A-new-subcommandArea: new subcommandArea: new subcommandC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Command-updateS-acceptedStatus: Issue or feature is accepted, and has a team member available to help mentor or reviewStatus: Issue or feature is accepted, and has a team member available to help mentor or reviewT-cargoTeam: CargoTeam: Cargodisposition-mergeFCP with intent to mergeFCP with intent to mergefinished-final-comment-periodFCP completeFCP complete