killercup / killercup/cargo-edit

cargo upgrade should default to --skip-compatible

Open
#552 5 comments 0 reactions 0 assignees View on GitHub
cargo-upgrade enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.