Semantic-versioning: An infographic explaining the popular versioning system
Semantic-versioning
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.
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?
ReplyDeleteHi 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.
DeleteThat 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