Have you seen how a project like Angular is versioned? You have maybe noticed when a brand-new release of that framework is created they release it with three numbers, e. g. Angular 5.0.0, now the question is: what those three digits mean?
The answer is simple: they are using a system called Semantic Versioning or mostly know as Semver. In this version system the three digits have a meaning:
From the official homepage of semver we can read:
Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
So, in our Angular example 5.0.0 means:
- Angular 5.0.0 has breaking changes compared with 4.x.y
- Angular 5.1.0 would mean a new feature was added to Angular 5.0.0
- Angular 5.1.1 would say a bug was fixed regarding the features in 5.1.0
Awesome, isn’t it? Now you know it, try to use a versioning system for your own projects and if it is semver, much better.