dtolnay / semver

Parser and evaluator for Cargo's flavor of Semantic Versioning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Yank for minimal-versions support

kornelski opened this issue · comments

I'm hoping to make Cargo ecosystem work with -Z minimal-versions resolution. Semver 0.1 is one of the crates that breaks this.

Could you yank 0.1.x versions of semver that don't compile with Rust 1.x?

for v in `seq 0 20`; do
    cargo yank --vers 0.1.$v
done

I don't have bash, so I could not use that, but I appreciate it. I've done so by clicking the helpful buttons on crates.io: https://crates.io/crates/semver/versions

For posterity's sake, and if anyone is curious, the issue here is that semver was initially implemented for cargo, before Rust 1.0. These versions do not compile on stable Rust, because they are older than stable Rust. As such, yanking feels appropriate, and is very unlikely to break anyone.

Thank you for bringing this up!

FWIW, semver 0.1.20 did in fact build with stable Rust. Judging by the commit history maybe 0.1.19 did as well, but Rust 1.1.0 is explicitly mentioned right before the 0.1.20 release.
Some of my dependencies were still using nix 0.6 which in turn depends on 0.1.20. All of them have since been updated so this isn't a problem for me. Still maybe the yank of 0.1.20 should be undone.

Oops, indeed the last breaking version is 0.1.17. I've incorrectly assumed it were all 0.1.x.

Okay, I've un-yanked 0.1.20. If anyone really, really wants the other few versions, I'm open to it, but given that the 0.1.x series isn't even really supported at all, keeping just the final one seems fine to me.