Skip to main content

Versioning

Overview

We use Semantic Versioning (SemVer) to manage the versions of our software. Semantic Versioning helps in understanding the level of changes in each release. The version format is MAJOR.MINOR.PATCH.

Version Numbering

MAJOR

What is a MAJOR version?

A MAJOR version indicates incompatible API changes. Incrementing the MAJOR version signifies significant changes that may break backward compatibility. For example, moving from version 1.0.0 to 2.0.0.

MINOR

What is a MINOR version?

A MINOR version indicates the addition of new features in a backward-compatible manner. Incrementing the MINOR version signifies that new functionalities have been added, but existing features remain unaffected. For example, moving from version 1.0.0 to 1.1.0.

PATCH

What is a PATCH version?

A PATCH version indicates backward-compatible bug fixes. Incrementing the PATCH version signifies that issues have been resolved without affecting existing features. For example, moving from version 1.0.0 to 1.0.1.

Versioning Workflow

  1. Identify the type of change:

    • MAJOR: Breaking changes or major feature overhauls.
    • MINOR: New features that don't break backward compatibility.
    • PATCH: Bug fixes and minor changes that don't affect compatibility.
  2. Update the version number:

    • Update the MAJOR version when making incompatible API changes.
    • Update the MINOR version when adding functionality in a backward-compatible manner.
    • Update the PATCH version when making backward-compatible bug fixes.
  3. Release Notes:

    • Each version update should be accompanied by detailed release notes. These notes should outline the changes, new features, bug fixes, and any potential impacts on the users.

Example

  • Initial release: 1.0.0
  • New feature added: 1.1.0
  • Bug fix applied: 1.1.1
  • Breaking changes introduced: 2.0.0

By following Semantic Versioning, we ensure a clear and predictable versioning system that helps users and developers understand the nature of changes in each release.

For more detailed information about Semantic Versioning, visit the official website.