Semantic Versioning
Semantic Versioning
is an approach to address Dependency Hell by making incompatible dependencies more predictable. It basically says that a version number consists of three parts:
Major Number
: Increased when a new version has breaking changes.Minor Number
: Increased when a new version only has non-breaking changes. A higher Minor Number often means that code has to be recompiled, but code should not have to change.Build Number
: Increases when fixing issues that do not introduce features.