Semantic Versioning

Suggest Improvement

Semantic Versioning (SemVer) is a versioning scheme for software that conveys meaning about the underlying changes with each new release. It uses a three-part number system: MAJOR.MINOR.PATCH.

Semantic Versioning helps in maintaining and communicating the changes in a software project by specifying version numbers in the format X.Y.Z where:

  • MAJOR version (X) increases when there are incompatible API changes.
  • MINOR version (Y) increases when functionality is added in a backward-compatible manner.
  • PATCH version (Z) increases when backward-compatible bug fixes are made.

For example, if a project is currently at version 2.3.4:

  • If an incompatible API change is made, the new version would be 3.0.0.
  • If new features are added in a backward-compatible way, the new version would be 2.4.0.
  • If a backward-compatible bug fix is made, the new version would be 2.3.5.