Changelogs¶
Each app maintains its own CHANGELOG.md in-tree rather than duplicating them here. Follow the source of truth per app:
- CookTrace:
TraceApps/cooktrace/CHANGELOG.md - LiftTrace:
TraceApps/lifttrace/CHANGELOG.md - NutriTrace:
TraceApps/nutritrace/CHANGELOG.md
Release cadence¶
Everything lands on the dev branch first. Pushes to dev publish the :dev Docker tag automatically (see Docker image tag matrix) but the changelog does not move; dev is a rolling working copy.
Releases are cut by squash-merging dev into main with a single version-bump commit that updates package.json, version.js, the Android build.gradle (versionCode and versionName), and CHANGELOG.md together. That commit is then tagged (v1.2.3), which triggers the Docker workflow to publish the 1.2.3, 1.2, 1, and latest tags in one build.
Downloadable APKs¶
The Android APK is uploaded to the tagged GitHub Release for each version. Grab it from the Releases page:
A dev-latest pre-release APK exists on each Releases page for testers who want to run the same code that the :dev Docker tag serves. It is manually promoted (not auto-published on every dev push), so treat it as "the maintainer's latest hand-checked build" rather than continuous.
Each app's ## [Unreleased] block is the staging area for both dev-latest refreshes and any numbered v<version>-dev.N milestone builds cut before the next stable release. See Release channels for how the two dev channels differ.