Semantic versioning
Due to the fluid property of software, it is relative easily to make changed and create a new release of the software. Therefore the code base grows over time; new features are added and bugs are being solved. To identify the evolution of software or a software library, we give software a certain version. A version identifies software at a particular stage. If the version differs from another version of the same software, this other version contains possibly other features or solves (or even introduces) bugs.
It is important to have a solid versioning strategy in place, so that you can easily identify the state of a piece of software you are looking at. A good software versioning software also gives a hint to the user, what to expect: will it have major improvements, will it break any interfaces? It also helps the development team to pinpoint an issue to a set of changes within the code that all together formed this version. A common used strategy is semantic versioning, meaning that the versioning has a specific meaning.
Read More…