Skip to main content

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.

Use one shared product version and one platform-specific build number:

FieldPurposeExample
App versionProduct release visible to users and support2.4.0
Build numberMonotonic platform artifact number24017
Git SHAExact source revision for debugginga1b2c3d
Build flavorEnvironment or release lanedev, 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

  1. Update the shared app version.
  2. Generate platform build numbers.
  3. Generate assets/meta/build-info.json.
  4. Build and archive each target artifact.
  5. Tag the release source after artifacts pass QA.