diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 7433ea6..876c83e 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -56,7 +56,9 @@ retries). 1. **Assemble the release branch.** Create `release/vX.Y.Z` and merge the feature/fix branches for this release into it. Everything below happens on - that branch, before it reaches `main`. + that branch, before it reaches `main`. To ship betas first, follow + [Cutting a beta](#cutting-a-beta) from here and come back to step 2 when + going stable. 2. **Update `CHANGELOG.md`.** Move the `## [Unreleased]` items under a new `## [X.Y.Z]` heading (Keep a Changelog format). The text between that heading and the next `## [` becomes the Gitea and Codeberg release notes. The @@ -65,7 +67,8 @@ retries). `scripts/version_info.sh` prints) in `app/build.gradle.kts`. **This bump is what triggers the release** when the branch merges to `main`. Then write this version's **"What's New"** by hand: - `fastlane/metadata/android//changelogs/.txt`, one per + `fastlane/metadata/android//changelogs/.txt` (e.g. + `1010099.txt` for 1.1.0), one per shipped locale, each a short summary **under 500 characters** — F-Droid and Play both publish these files, and Play rejects a longer one. It is not a copy of the CHANGELOG.md section. `scripts/sync_changelog_to_fastlane.sh` @@ -108,7 +111,9 @@ and to the stable release. (`scripts/version_info.sh` prints it; `1.1.0-beta.1` → `1010001`). No What's New file — betas don't ship to the stores. Notes come from a `## [X.Y.Z-beta.N]` section of `CHANGELOG.md` if you write one, otherwise - from `## [Unreleased]`. + from `## [Unreleased]`. So keep the entries under `## [Unreleased]` while + betas are going out and only move them to `## [X.Y.Z]` when going stable: + once they're moved, a beta's notes come out empty. 2. **Optionally verify it on a device** with `scripts/verify-release.sh`, as for a stable release. 3. **Push the branch to Codeberg.** When it reaches Gitea, `beta.yaml` sees a