DecisionsPlatform
ADR-0004: One unified SemVer across web, API, and iOS
Page actions
- View as Markdown (opens in a new tab)
- Ask ChatGPT (opens in a new tab)
- Ask Claude (opens in a new tab)
ChatGPT and Claude are third-party services. The link gives them this page's public address and a short instruction. This site records nothing.
Preview: the published page may be older or missing.
Why the web, the API and the iOS app share one version number, and what that forces at release time.
https://docs.gurbanisoul.com/adr/0004-unified-semver/
Status: accepted (2026-09-15)
Context
Versions were hand-edited in 8 places and tags were inconsistent
(v2.9.3 web vs v1.0.0-ios).
Decision
A single SemVer version spans web/API/iOS, set everywhere by
scripts/release/bump.py and enforced by check_versions.py. Tags are vX.Y.Z
on main only; the DB keeps its own decoupled meta.version so a search-only
patch need not re-commit the ~104 MiB LFS DB. The -ios tag suffix is retired.
Consequences
MAJOR = breaking API/data-model, MINOR = features/data
corrections, PATCH = fixes. RCs on integration are vX.Y.Z-rc.N.
Sri Guru Granth Sahib Ji — Knowledge Base wiki. Generated from commit c3d9360. Updated 25 September 2026. This copy may be out of date; the page is at https://docs.gurbanisoul.com/adr/0004-unified-semver/