Release is a repeatable product process, not the last successful build command. Separate preview distribution from store binaries, automate monotonically increasing versions, and rehearse submission before launch day.
Maintain the Project Before Release
- Upgrade one Expo SDK at a time when practical.
- Read the SDK and React Native release notes for breaking changes.
- Align dependencies with
bun expo install --fix, runbunx expo-doctor, and rebuild native binaries. - Verify libraries against the React Native New Architecture and remove abandoned native dependencies.
- Test clean install, upgrade from the current store version, background/foreground, and offline startup.
Define Build Profiles
- Development: debug client and development services.
- Preview: release-like binary for internal or external testers, isolated from production where possible.
- Production: store signing, production identifiers, production services, and final update channel/runtime.
Automate build numbers or version codes so every uploaded binary is unique. Keep the human-facing semantic version intentional and tied to release notes.
Prepare Store Metadata and Compliance
Before submission, finish app name, descriptions, screenshots, support and privacy URLs, age/content ratings, data-safety/privacy declarations, encryption answers, account-deletion behavior, review credentials, and reviewer notes. Confirm permission messages explain their feature-specific purpose.
Apple and Google accounts may require agreements, tax, banking, identity, and access setup that code cannot automate. Resolve these early.
Use a Release Gate
- Types, lint, tests, and critical E2E flows pass.
- Production environment and signing identities are confirmed.
- Purchases, deep links, notifications, universal/app links, and authentication callbacks work on physical devices.
- Crash reporting and release identifiers are visible.
- Rollback/update response is documented.
- A teammate installs the exact submitted artifact.
Submit through EAS or the store tooling, then monitor processing and review status. A successful upload is not an approved release.
Sources
Verify release steps against Expo's current documentation for EAS Build, internal distribution, EAS Submit, SDK upgrades, and the React Native New Architecture.