← Changelog

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.0 reads the same as ordinary semver. From 1000 up, the first number holds the epoch.