Skip to main content Link Menu Expand (external link) Copy Copied

Versioning

We have adopted Semantic Versioning as our versioning system.

Semantic Versioning, or “semver” for short, is a versioning system developers use to communicate effectively about the changes made to their software. Semver consists of three numbers separated by dots, with each number representing a different aspect of the software’s version. The first number indicates a major release, the second number indicates a minor release, and the third number indicates a patch release.

From the website:

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes
  2. MINOR version when you add functionality in a backwards compatible manner
  3. 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.

Following the semver format, developers can tell users and other developers what has changed in each release and whether the changes are significant enough to require an update. This helps users and other developers make informed decisions about whether to update their software and also helps to prevent confusion and errors caused by incompatible software versions.

Using the same versioning system across different projects allows developers to compare and understand the differences between software releases quickly. Additionally, semver provides a framework for planning and organizing future development, as developers can use the version numbers to indicate their plans for future releases.

Semantic versioning is a good practice for developers because it improves communication and consistency, helps users and other developers make informed decisions about updating their software, and provides a framework for planning and organizing future development.