Semantic-versioning: An infographic explaining the popular versioning system


Semantic versioning:

Semantic versioning (also referred as SemVer) is a versioning system that has been on the rise over the last few years. Having a universal way of versioning the software development projects is the best way to track what is going on with the software 

Semantic Versioning is a 3-component number which is represented by the infographic below

  • Major version / release - Increment the first digit by 1 if the new features break backwards compatibility/current features
  • Minor version / release - Increment the middle digit by 1 if the new features don’t break any existing features and are compatible with the app in its current state.
  • Patches / bug fixes - Increment the last digit by 1 if you’re publishing bug/patch fixes to your app.


  1. Are major versions only incremented if the new features break backwards compatibility? If a big new feature is implemented but backwards compatibility stays intact is it still recommended to increment only the minor version?

    1. Hi Henri , I think its subjective and dependent on the context of the application. A really big feature in 1 app might be a support ticket in another so I think teams should use their discretion when choosing which number to increment.

      That being said , going from version 1 to version 2 of an application has historically been a major project milestone so I think if we use Agile terminology here. A feature is a feature and an epic is an epic and this independent of size


Post a Comment