<p><span class="h-card" translate="no"><a href="https://hachyderm.io/@fasterthanlime" class="u-url mention">@<span>fasterthanlime</span></a></span> the biggest issue is that it doesn't upgrade the version unless it is breaking. So it will not set new minimum versions for crates in Cargo.toml, and since Cargo.lock is ignored, this is potentially a major problem.</p><p>For example, there are those that use #[non_exhaustive] on enums. This is as you know done to avoid breaking semver when adding new variants. However, if you use one of the new variants, you are no longer backwards compatible, and need to specify the version that introduced it as a new minimum.</p><p>An important job for cargo upgrade has been to solve this, and always set all crates to their latest non-breaking version in Cargo.toml.</p><p>However, for some reason I haven't been able to grasp, the cargo team refuses to accept this reality.</p><p>So, I'm stuck with cargo upgrade, and it taking 10 minutes every time.</p>