Solution that’s like 0 lines of code: namespacing. This way there’s e.g rails/rails-5 and rails/arel-3, or whatever. And if the project foo/name-41 gets abandoned it can recover at bar/name-42.
Note that rails is (officially) hell bent on not using semver at all as significant breakage happens even at minor versions.
Note that rails is (officially) hell bent on not using semver at all as significant breakage happens even at minor versions.