expo publish version number best practices

The situation:

  • I build stand alone binaries for both iOS and Android. I am currently giving those to testers via TestFlight and testing tracks, respectively.
  • I intend to start pushing OTA updates via expo publish.

My app.json (with unrelated detailed removed):

  "expo": {
    "sdkVersion": "32.0.0",
    "version": "1.0.0",
    "ios": {
      "buildNumber": "1"
    "android": {
      "versionCode": 1

The question:
Since the version number, iOS buildNumber, and Android versionCode all factor into the binaries, what is the best practice for version numbering when doing OTA updates via expo publish? It feels wrong somehow to make a couple of commits and then publish an OTA update without bumping any sort of version number.

1 Like

Hello, maybe you can use the release channel to have more control on releases.

After you build with a custom release channel (otherwise it is default)
expo build:ios --release-channel prod-v1.0.0
expo publish --release-channel prod-v1.0.0

or maybe add in the build for specific channel for platform
expo build:ios --release-channel prod-v1.0.0-ios
and then
expo publish --release-channel prod-v1.0.0-ios

Thank you for your response. I don’t think I explained the situation very well.

Let’s take your example:

  1. Let’s say I run expo build:ios --release-channel prod-v1.0.0
  2. Then, I find a bug in that release.
  3. I fix the bug in my code.
  4. Next, I run expo publish --release-channel prod-v1.0.0 to push that change to the users running the build from step #1.

At the point I perform step #4, there has been no increase made to the app version number or iOS buildNumber. Something about that seems wrong to me. If the app has changed in functionality, shouldn’t I bump a version number up? Does anyone have any best practices they follow for this scenario?


This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.