About version number generator
Work out the next version number for a release: patch, minor, major or pre-release.
How to choose
- Bug fix only: patch (1.4.2 → 1.4.3).
- New feature without breaking: minor (1.4.2 → 1.5.0).
- Breaking change: major (1.4.2 → 2.0.0).
A worked example
From 1.4.2, a bug fix gives 1.4.3, a new feature gives 1.5.0 and a breaking change gives 2.0.0. A release candidate before 2.0.0 is written 2.0.0-rc.1, and the next candidate is 2.0.0-rc.2.
Release habits
- Tag each release in Git, for example v1.5.0.
- Update the changelog in the same commit.
- Never reuse a version number once published.
Pre-1.0 versions
Versions below 1.0.0 are for early development, and many projects treat any minor change as potentially breaking. Move to 1.0.0 when the public API is stable.
Calendar versioning
Some projects use dates instead, such as 2026.3. That suits tools released on a schedule, but it tells users nothing about compatibility, so explain breaking changes in the release notes.
