{
 "note": "Release versioning shown to players (loading screen, login screen, Options → About, bug reports) and on this wiki. Semantic versions; the channel shows the test phase. The client reads this file at build time.",
 "scheme": "MAJOR.MINOR.PATCH+build — e.g. 0.3.2+1847",
 "rules": [
  "MAJOR: 1.0.0 at public launch; 0.x during alpha and beta.",
  "MINOR: a content update (new event, area, build or system).",
  "PATCH: fixes and balance changes.",
  "+build: the CI build number, shown in small type and attached to every bug report.",
  "Server and client must share MAJOR.MINOR; a mismatch shows 'Update required' on the login screen."
 ],
 "channels": [
  {
   "id": "closed-alpha",
   "label": "Closed Alpha",
   "badge": "α",
   "color": "#f6a35a"
  },
  {
   "id": "open-beta",
   "label": "Open Beta",
   "badge": "β",
   "color": "#8fb0ff"
  },
  {
   "id": "live",
   "label": "",
   "badge": "",
   "color": "#d9c38e"
  }
 ],
 "current": {
  "version": "0.1.0",
  "channel": "closed-alpha",
  "codename": "Amber Gate",
  "build": null,
  "status": "pre-production: guide and data only, no game client yet"
 },
 "display": [
  {
   "where": "Loading screen",
   "position": "bottom-right, under the progress bar",
   "format": "Zoen 0.1.0 · Closed Alpha · build 1847"
  },
  {
   "where": "Login / title screen",
   "position": "bottom-left",
   "format": "0.1.0 α · build 1847"
  },
  {
   "where": "Options → About",
   "position": "top",
   "format": "full version, build, server version, patch-notes link"
  },
  {
   "where": "Wiki",
   "position": "sidebar footer",
   "format": "Zoen 0.1.0 · Closed Alpha (pre-production)"
  }
 ],
 "history": [
  {
   "version": "0.1.0",
   "date": "2026-10-04",
   "channel": "closed-alpha",
   "notes": "Pre-production complete: design guide, canonical data, UI kit, Feel Lab. No client build yet."
  }
 ],
 "updates": {
  "doc": "docs/tech/PATCHING.md",
  "proposed": true,
  "minimumVersion": "served by /v1/status; MAJOR.MINOR mismatch → Update required",
  "windows": "launcher with signed manifest, delta patches from the CDN, SHA-256 verify, resume, atomic version switch, one-click rollback, self-updating launcher",
  "android": "content via Addressables remote catalog; binaries via Google Play with the in-app updates API (immediate when below minimum, flexible when optional)",
  "ios": "content via Addressables remote catalog; binaries via the App Store; below minimum → blocking Update required screen linking to the store",
  "web": "reload loads the newest build; open tabs check /v1/status at login, reconnect and every 5 min and show a reload banner (forced at next login, never mid-fight); hashed files cached forever, index.html and catalog short-lived",
  "compatibility": "keep mobile builds compatible with the server for one MINOR version where possible (store review delays)"
 }
}
