killercup / killercup/cargo-edit
cargo upgrade should default to --skip-compatible
- Dominant language
- Rust
- Stars
- 3.5k
- Forks
- 166
- PR merge metrics
- No merged PRs in 30d
Description
For library crates, updating all dependency requirements in `Cargo.toml` to the latest semver-compatible versions is harmful to the ecosystem, as this makes it harder to resolve versions in case of for example yanking. I was already using `--skip-compatible` for my project, but just noticed that [another library crate](https://github.com/mattsse/chromiumoxide/pull/79) used `cargo upgrade` to force dependency upgrades this way, making it impossible to use the latest version of that crate after the latest futures version was [yanked](https://github.com/rust-lang/futures-rs/issues/2529).
Contributor guide
Research direction
Start at the `cargo upgrade` command and review how it chooses default options for library crates. Confirm the behavior around `--skip-compatible`, then add coverage showing that the default preserves compatible dependency requirements while the explicit option remains supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100