Versioning

Note

New versions can only be released by project maintainers that have write access to the upstream repository.

This project uses semantic versioning. Given a version number MAJOR.MINOR.PATCH, we increment the

  1. MAJOR version when we make incompatible API changes,

  2. MINOR version when we add functionality in a backwards-compatible manner, and

  3. PATCH version when we make backwards-compatible bug fixes.

Additionally, pre-release, post-release and developmental release specifiers can be appended.

Note

As long as the MAJOR number is 0 (i.e. the API has not stabilized), even MINOR increases may introduce incompatible API changes.

Publishing a New Release

Follow these steps when publishing a new release.

1. Update the Change Log

Todo

Establish a change log. See https://keepachangelog.com/ for some useful guidelines.

2. Create a New Tag

Create a new tag that contains the new MAJOR.MINOR.PATCH version number prefixed with a “v”:

git checkout main
git tag -m "Release Description" vMAJOR.MINOR.PATCH

As tag message use the change log of the new release.

3. Push the Tag to the Upstream Repository

Important

First push, then push --tags!

git push
git push --tags