Mobile Fastlane

Release notes, versioning, artifacts

Last updated 2026-10-07

How release notes, version numbers and artifact names are chosen.

Release notes priority

  1. RELEASE_NOTES_FILE (file contents)
  2. RELEASE_NOTES (literal text)
  3. release_notes.source in config: git (last n commit subjects with a prefix), manual or file
Caution: if .env sets RELEASE_NOTES_FILE, git-based notes are never used until you remove that line.

Versioning

  • Android: versionName / versionCode stay in android/app/build.gradle.
  • iOS: the build number comes from BUILD_NUMBER → GITHUB_RUN_NUMBER → latest TestFlight + 1, and the version from VERSION_NAME.

Artifacts

The original output is never renamed. A copy named by artifact.naming.pattern goes to dist/, e.g. dist/MyApp-development-v1.0.0-42.apk.

my-app — zsh
~/my-app $ RELEASE_NOTES="Fixes login crash on Android 14" BUILD_NUMBER=43 \
bundle exec fastlane android build environment:development
[12:40:02]: Release notes: Fixes login crash on Android 14
[12:44:31]: Android build completed.
[12:44:31]: Artifact: dist/MyApp-development-v1.0.0-43.apk
One-off release notes and build number from the command line.

Official documentation

Was this helpful?