Documentation

Ship OTA updates to your React Native app. Guides for installation, concepts, CLI, and SDK integration.

Runtime Version

What Runtime Version Is

runtimeVersion is the compatibility boundary between your installed native app binary and the OTA bundles you publish.

Bundle Drop only delivers an update when the app and the uploaded bundle are on the same runtime version. That protects users from receiving a JavaScript bundle that expects different native code than the binary they have installed.

Where You Set It

Set it in bundle.drop.config.js per platform:

bundle.drop.config.js
1module.exports = { 2 serverUrl: "https://api.bundledrop.app", 3 runtimeVersion: { 4 ios: "1.0.0", 5 android: "1.0.0", 6 }, 7 org: { slug: "your-org-slug" }, 8 project: { 9 name: "Your App Name", 10 slug: "your-app-slug", 11 apiKey: "your-project-api-key", 12 }, 13};

When you upload, the CLI uses the matching platform runtime version from this config unless you explicitly override it with --runtimeVersion.

When You Need to Change It

Change runtimeVersion when the OTA bundle is no longer compatible with the currently installed native binary.

Typical cases:

  • you changed native iOS or Android code
  • you added, removed, or upgraded a native module in a way that affects runtime behavior
  • you shipped a new binary and want OTA updates for that binary line to stay separate from the previous one

If the change is only JavaScript, styling, or bundled assets and it still works with the existing binary, keep the same runtime version.

How to Think About It

A practical way to think about it is:

  • same native compatibility line: keep the same runtimeVersion
  • new native compatibility line: bump runtimeVersion

That lets older binaries keep receiving the last compatible OTA updates, while newer binaries move onto the next line safely.

Where to Update It

In most cases you should update it in:

  • bundle.drop.config.js
  • any CI or release automation that passes --runtimeVersion

If you override it during upload, make sure that override still matches the binary you are publishing for. Otherwise the app can miss valid updates or become incompatible with what you uploaded.

Related Docs