Prepare Android Release
Follow this workflow when the user wants the release prepared but not yet closed.
Required Sequence
- Read the repository
AGENTS.mdand any release-related docs before changing files. - Inspect the current branch, recent tags, and the app version in
app/build.gradle.kts. - Determine the next release version from the repository history or the user's explicit target.
- Create or switch to
release/<version>fromdevelopbefore editing release files. - Update
app/build.gradle.kts:- bump
versionCode - bump
versionName - rewrite Firebase App Distribution
releaseNotesas a short customer-facing summary of that release
- bump
- Update
CHANGELOG.md:- keep
Unreleasedat the top - create
## [<version>] - <YYYY-MM-DD> - move the release-specific entries under that version
- keep
- Review the diff and confirm that only release-preparation files changed unless the user explicitly requested more.
- Commit with the repository's release message convention, usually
prepara release <version>.
Non-Negotiable Rules
- Do not prepare the release on
developif the repository expects a dedicatedrelease/*branch. - Do not invent a version when the repository history makes the next version clear.
- Do not leave Firebase App Distribution
releaseNotesas a developer changelog dump. They must be a brief customer-facing summary. - Do not modify unrelated release sections in
CHANGELOG.md. - If the repository's local
AGENTS.mddefines stricter release steps, follow that file.
File Checklist
app/build.gradle.ktsCHANGELOG.mdAGENTS.mdonly if the user explicitly asks to change project rules
Finish State
A prepared release means all of the following are true:
- the current branch is
release/<version> versionCodeandversionNamematch the target releaseCHANGELOG.mdcontains the new version section- Firebase App Distribution
releaseNotesmatches the same release as a customer-facing summary - the preparation commit exists locally
Do not treat a prepared release as closed. Closing is a separate workflow.