> The logic is simple. 1.x => stable API therefore not(stable API) => not 1.0
That's broken logic. Where did that "1.x => stable API" come from in the first place? I see no problem if we release 1.0 as is, and then release 2.0 with API update. The proper logic is "1.x => public API is defined". What strikes me, we have no definition of public API, so it is a bit hard to release 1.0 and still comply with semver.org. It does not make much difference from "release 0.9.5 and continue on-going work for 1.0" approach. Does it? (other than the definition of public API) Vladimir
