Versioning

React Native 6 min min read Updated: Aug 03, 2026 Intermediate
Versioning
Intermediate Topic 13 of 15

Versioning

Properly managing your application’s version numbers is essential for tracking releases, communicating updates to users, and satisfying app store submission requirements.

Semantic Versioning

Most applications follow semantic versioning (MAJOR.MINOR.PATCH), where major versions indicate significant changes, minor versions add features, and patch versions fix bugs.

Android Version Configuration

javascript // android/app/build.gradle android { defaultConfig { versionCode 12 versionName "1.3.0" } }

Understanding versionCode vs versionName

versionCode is an internal integer that must always increase with each release, used by the Play Store to determine update eligibility, while versionName is the human-readable version shown to users.

iOS Version Configuration

iOS uses CFBundleShortVersionString for the user-facing version and CFBundleVersion (build number) for internal tracking, both configurable through Xcode’s General settings tab.

text Version: 1.3.0 Build: 12

Automating Version Bumps

bash npm install -g react-native-version react-native-version --never-amend

Synchronizing Versions Across Platforms

Tools like react-native-version help keep your package.json version synchronized with both the Android versionName and iOS CFBundleShortVersionString automatically.

Versioning in CI/CD Pipelines

Automated pipelines commonly increment build numbers automatically with each CI run, while version numbers are typically bumped manually or through a release management process.

Conclusion

Consistent, well-managed versioning across Android and iOS is essential for tracking releases accurately and satisfying both Google Play and Apple App Store submission requirements.

Get Newsletter

Subscibe to our newsletter and we will notify you about the newest updates on Edugators