Semantic Versioning

If you are using simple incremental versioning like v39, v40 and etc., you are missing out. In software world every aspect has been thoroughly thought through, has a meaning and adds some kind of value. One of those aspects is project versioning. Many companies I worked at didn’t really give any thought on that subject and “homebrewed” some kind of simple incremental system. Most of the time that system would simply increment the version without giving any other information. A much better approach is to have versioning as a precise structure or rules to the project. Where all developers that work on the project understand and can differentiate between major, minor and patch releases.

It’s not hard and you don’t have to look far and re-use something that already works. So I encourage you to take a look at the formalized document by the cofounder of github that precisely identifies semantic versioning. Chances are next time you work on the open source project it will use the same system and you will be already familiar with it.