The #rust solution with buggy / outdated #crates:
Package versions can’t be deleted, they can only be yanked. A yanked package can still be used if it is in your project’s lock file so existing projects will not break.
But new projects can not use a buggy version, #cargo will display an error and advise an upgrade. Backwards compatibility without compromising new features.