Updated about 1 month ago | GitHub

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 as 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, backward-compatible functionality is being added. Per the Semantic Versioning 2.0.0 spec, a minor bump MUST be backward compatible — any change that breaks the public API requires a major version increment instead.

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

Wikipedia: “Software versioning”
Semantic Versioning Spec