I think that keeping the code names and version numbers completely separate is the best solution I’ve heard so far. I also like the idea of starting with 1.0.0 because a lot of projects stay at 0.x forever, effectively making the SemVer meaningless.
Now, if you could only convince the browser vendors… Those are the worst offenders in my opinion. With one notable exception of a browser vendor who unlike everyone else doesn’t abuse the version numbers:
Meanwhile, Firefox gets a major version bump when they change a default search engine:
Chrome is not better. I’ve heard it’s a nightmare for plugin authors but it’s also annoying for Web developers and designers. When I see on caniuse.com that some feature is available since 5 major versions of Chrome, I always have to make sure that it doesn’t mean two weeks.
I remember when reading that jQuery is tested on the latest and the previous major version of Chrome and Firefox used to mean something. But not many people realize that we had 4 major releases of Chrome since December! (as of February 9, 2016)
I’ve been trying to spread the word about it before but with little success:
I hope that this article will reach the browser vendors and they will have their named releases every week if that makes them happy, but will stop abusing the version numbers so people who write plugins, test libraries and frameworks, or who just want to use new features, will be able to have some confidence in what they are working with.
Thanks for writing this article.