This repository has no compatibility requirements. Make a breaking change when it gives the system a better design. Change the architecture or add a dependency when this improves the result.
Do not keep an inferior design because a stable interface uses it. When a new design replaces an old design, remove the old design completely. Do not keep compatibility routes, deprecated names, migration shims, optional legacy modes, or a second path that implements the old behavior.