outcome icon indicating copy to clipboard operation
outcome copied to clipboard

Please don't yank all versions sometime in the future

Open benwis opened this issue 3 months ago • 3 comments

I can understand the frustration with crates.io, but I can't use your lovely crate if there's a risk all versions will be yanked sometime in the future. Would it be possible to remove that wording, and consider alternative strategies if crates.io implements namespaces?

benwis avatar Mar 19 '24 06:03 benwis

As I understand it, yanking would only prevent you from using it in newer crates once yanked, but anything you had already released would be safe, and you'd be unable to upgrade. That said, I could just wait until namespaces are finally a thing before I hit a 1.0 release and then the 1.0 mark of this crate would either never exist, or have a hard build.rs error alerting users to use a different crate name.

bruxisma avatar Mar 19 '24 06:03 bruxisma

The part that troubles me is this part: "Cargo will not use a yanked version for any new project or checkout without a pre-existing lockfile, and will generate an error if there are no longer any compatible versions for your crate." https://doc.rust-lang.org/cargo/commands/cargo-yank.html

It'll generate errors for users of a lib if they add it or build from source.Generally things only get yanked if they're seriously broken

A deprecation notice in the readme and a warning/error on a new version once they fix that should be enough IMO

benwis avatar Mar 19 '24 15:03 benwis

perhaps s/pub fn/#[deprecated(note = "use this other crate")] pub fn/

workingjubilee avatar Mar 20 '24 04:03 workingjubilee