We have product X which has the following semver versions: 1.0.0, 1.1.0, 1.2.0, ..., 1.10.0.
In version 1.5.0, we introduced a feature which changes the way the application is consumed in a big way. Eventhough the change is backwards compatible (which means a minor bump would be appropriate), we didn't realise at the time that it would change the way our application is used so much. So in hindsight, we should have done a major bump to 2.0.0.
Is there any guidance around how to handle this situation? Should we just release a 2.0.0 now and deprecate all versions before 1.5.0 eventhough they're perfectly fine and supported? Or should we "republish" 1.5.0 as a 2.0.0 and then "replay" the 1.0 releases to 2.1.0, 2.2.0, 2.3.0, etc and carry on like that.
My overall goal is that I want consumers to know that if they are on a version that is before 1.5.0, they really should look at upgrading, because "1.5.0" of the product introduced a big backwards-compatible change.