How should versions be bumped during development between two major versions?
For example let say I have version 1.5.0 and my target is to release new major version that will be incompatible with major version 1.
As soon as I start developing and making changes, those changes will be backwards incompatible, so by following semantic versioning, should I already bump it to 2.0.0? But development is in progress and code is still unstable.
Or should I bump like any other compatible feature -> 1.6.0, 1.6.1, 1.7.0 etc. and when new major version is ready, just bump to 2.0.0?
Should it be suffixed with something like 2.0.0-alpha and then reset 2.0.0, once it stable? Or bump 1.5.0-alpha (though does not look right).
P.S. When starting from scratch, it makes sense to start with 0.1.0, because there is no major version yet, but when there is one, it gets tricky..:)