Product Version Source of Truth
The application version lives in:
VERSION
When the product version changes:
- Update
VERSION. - Run
./scripts/sync-version.
The sync step updates relevant frontend and Companion files.
Files That Move with Product Version Changes
The sync workflow updates files such as:
frontend/package.jsonfrontend/package-lock.jsoncompanion/package.jsoncompanion/package-lock.jsoncompanion/src-tauri/Cargo.tomlcompanion/src-tauri/tauri.conf.jsoncompanion/src-tauri/Cargo.lock
Publishable Build Policy
Sambee uses a X.Y.Z versionining scheme where the components have the following meanings:
Xis the major version number.Yis the minor version number:0for regular releases.1…nfor maintenance releases.
Zis the immutable publishable build sequence withinX.Y:- Each new
X.Ybranch starts atZ == 0.
- Each new
Publishable versions contain only non-negative numeric components. Prerelease suffixes and build metadata are not publishable because they do not support a single monotonic update path for Companion users.
Git Build Tags
When a release workflow starts from main, it reserves the annotated Git tag build-vX.Y.Z for that exact source commit. Reusing an existing build selects that tag and checks out its immutable commit. Never move or recreate a build-v... tag.