Versioning
Version every Hosanna release at the app level and at the platform artifact level. The shared app version tells product, QA, and support which experience is running; each platform build number satisfies the store or sideloading system for that target.
Recommended Model
Use one shared product version and one platform-specific build number:
| Field | Purpose | Example |
|---|---|---|
| App version | Product release visible to users and support | 2.4.0 |
| Build number | Monotonic platform artifact number | 24017 |
| Git SHA | Exact source revision for debugging | a1b2c3d |
| Build flavor | Environment or release lane | dev, qa, prod |
Write this metadata into assets/meta/build-info.json during packaging so the app, debugger, logs, and support screens can report the exact build.
Platform Notes
- Roku, Apple TV, Android TV, Samsung TV, iOS, Android, and Web can share the same product version.
- Store platforms may require independent build numbers even when the shared app version is identical.
- CI should stamp artifacts with version, build number, Git SHA, branch, and build timestamp.
- Production builds should be immutable: do not rebuild the same version/build pair from different source.
Release Checklist
- Update the shared app version.
- Generate platform build numbers.
- Generate
assets/meta/build-info.json. - Build and archive each target artifact.
- Tag the release source after artifacts pass QA.