Glossary
What is semantic versioning (SemVer)?
MAJOR.MINOR.PATCH — what the three numbers mean, when each one moves, and why it matters for anything other people depend on.
Semantic versioning gives a version number a meaning: MAJOR.MINOR.PATCH. The number alone should tell you whether an update is safe.
The three positions
PATCH (1.4.2 → 1.4.3): a fix, nothing about usage changes. MINOR (1.4.3 → 1.5.0): a new capability, existing usage keeps working. MAJOR (1.5.0 → 2.0.0): something no longer works as before — a breaking change.
Why anyone cares
Because it answers "can I upgrade this?" without reading a changelog. Publishing an API, a library or a plugin means the number is a promise — and a breaking change in a minor release is a broken promise that lands on every consumer at once.
Where the number comes from
It can be derived from Conventional Commits: fix bumps patch, feat bumps minor, a marked breaking change bumps major. The version then follows from what happened rather than from a decision on release day.
In Zuuna
Zuuna prescribes no versioning scheme: a release hangs off the git tag you create. Whether that follows SemVer or a date scheme is your call — Zuuna only binds the cards and commits to it.
FAQ
What does a 0.x version mean?
Anything before 1.0.0 counts as unstable: even a minor bump is allowed to break things. That is why reaching 1.0.0 is mostly a promise about stability.
Do I have to use SemVer?
Only if other people depend on your interface. For an internal product with no external consumers, a date scheme is often more practical.
What counts as a breaking change?
Anything after which existing usage stops working — a removed function, a renamed field, a changed default.