killercup / cargo-edit

A utility for managing cargo dependencies from the command line.
http://killercup.github.io/cargo-edit/
MIT License
3.09k stars 148 forks source link

What are incompatible upgrades? #897

Open MaxG87 opened 5 months ago

MaxG87 commented 5 months ago

I recently came across this nice extension and really would love to use it more.

However, I frequently have to revisit some dependencies I'd like to upgrade due to them claimed to be incompatible. There is even a switch to control whether or not such upgrades are allowed.

What does it mean if something is judged to be incompatible? Most updates worked for me just fine when forced.

Unfortunately, I couldn't find any documentation or explanation on this. Ideally, this would be covered by the help text, but adding some section to README.md would be helpful too.

epage commented 5 months ago

Incompatible according to semver. In merging this into cargo, we're considering using the flag --breaking to specifically indicate "packages marked as breaking compatibility according to semver" as "incompatible" can also mean "incompatible with this version requirement" which we aren't doing.

MaxG87 commented 5 months ago

Thank you for the quick reply and the explanation.

It is nice to know that now, but I think it should be documented somewhere else, e.g. in the help text.

Maybe the output could be more specific on that? Most of the direct upgrades stood within their SemVer bounds, so telling some examples of transitive dependencies that would have a major upgrade would have helped.