Epoch SemVer Joins the Version Formats
Keep the epoch without juggling two systems: 1002.3.0 is still a valid semver version, and nothing existing has to change.
- Path
- changelog/2026-11-02_02.md
- Authors
- Michael Staton
- Augmented with
- Claude Code on Claude Opus 5.5
- Tags
- Context-Vigilance · Versioning
Why Care?
An epoch marks a change bigger than a major one, but semver is everywhere and package tools reject four-part versions, so using four parts means juggling two systems. Epoch SemVer keeps the epoch inside a valid three-part version.
What's New?
-
A third format:
{epoch * 1000 + major}.minor.patch, from Anthony Fu's Epoch Semantic Versioning . -
A good choice for new work, not a migration. Existing versions stay as they are, and agents never rewrite files to move a repo to another format.
-
No new ambiguity while the epoch is 0:
0.1.0reads the same as ordinary semver. From 1000 up, the first number holds the epoch.