# Releasing — version history process Every patch to the app gets a version bump and a git push. The curated `versions.json` is the single source of truth for the **📜 Version history** button shown at the bottom of the app. ## Versioning scheme `MAJOR.MINOR.PATCH` (semantic versioning): - **PATCH** (`0.1.0 → 0.1.1`) — bug fixes, small tweaks, no behaviour change for the user. - **MINOR** (`0.1.1 → 0.2.0`) — new feature or user-visible improvement, backwards compatible. - **MAJOR** (`0.x.y → 1.0.0`) — first stable release, or a breaking change to the workflow/inputs. ## Steps for each patch 1. Make the code change. 2. Prepend a new entry to the **top** of `versions.json` (newest first): ```json { "version": "0.1.1", "date": "YYYY-MM-DD", "notes": [ "Short, user-facing description of what changed and why." ] } ``` Write the notes for the person using the app, not for a developer reading the diff. 3. Commit with a message that matches the notes, prefixed with the version: ``` git add -A git commit -m "v0.1.1 — " git push ``` The commit message and the `versions.json` notes should tell the same story — the notes are what the user reads in the app, the commit is what appears in `git log`.