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.