Rust package manager has a feature called “yank”. To quote the doc :
Occasions may arise where you publish a version of a crate that actually ends up being broken for one reason or another (syntax error, forgot to include a file, etc.). For situations such as this, Cargo supports a “yank” of a version of a crate.
Do you think a similar functionality would be useful in opam ? I think it should prevent installing this version for fresh install, and probably without special flag make
opam upgradè downgrade the package to the latest non yanked version until a newer version is release.
To provide some context, dune beta18 was recently release and it broke non-jbuilder buildsystem building projects with base/core dependencies. For background see https://github.com/ocaml/dune/issues/567
12 days after report, the broken version is still live in opam, affecting a lot of users and making beginners experience more painful. I understand unpublishing a version from opam is not easy and releasing a new version might be heavy, so that a yanking mechanism with opt-in force install could be a good way of solving this kind of problems in the future ?