Semantic Versioning

Semantic versioning is a commonly-used system of labeling software versions using sequence-based identifiers to convey the significance of changes since the previous version. Semantic versioning provides users with information to help them understand the changes and to decide when and how to upgrade.

These version numbers are often expressed a sequence of three numbers separated by decimals. The format is: (major).(minor).(patch)

For example, given an existing semantic version number of "4.1.2":

  • The major version is "4". Changing it to "5" would indicate the addition of major features and/or changes that are likely to break existing code.

  • The minor version is "1". Changing it to "2" would indicate new features and incremental improvements, but breaking code changes are limited.

  • The patch version is "2". Changing it to "3" would indicate minor changes, bug fixes, and security patches.

Wikipedia: "Software versioning" Semantic Versioning Spec

Fork me on GitHub