Use case

Ship JS/Dart fixes without waiting on app store review

AirBuild's CodePush lets you push Flutter code patches and React Native JS-bundle updates directly to installed apps — staged from 1% to 100% rollout, with an instant rollback if something goes wrong — without a full binary rebuild or store re-submission.

The problem with shipping small fixes

A one-line JS fix or a Dart logic bug shouldn't require a full store review cycle. But rolling out OTA changes to 100% of users at once is risky — you want to catch a bad patch on a small percentage of devices before it reaches everyone, and be able to undo it instantly if it goes wrong.

How it works

  1. 1

    Publish a patch or update

    Run a single CLI command to build and upload a Flutter patch or a React Native JS bundle + assets, targeting a specific release version and channel.

  2. 2

    Roll out gradually

    Promote the update to a channel at a chosen rollout percentage (e.g. 10%, then 50%, then 100%) — each device is deterministically bucketed so the same device always gets a consistent decision.

  3. 3

    Monitor and roll back if needed

    If a patch causes issues, roll it back instantly. Devices with nothing to revert to fall back to the version embedded in the binary at compile time.

  4. 4

    Stay within your plan's limits

    Each plan has monthly limits on updates published, unique devices checked in, and patch downloads — visible on your billing page so you can track usage before you hit a ceiling.

Related features

REST API + API keys

Live

Full programmatic access to upload builds, manage apps, and create links via API keys.

Go CLI

Live

Cross-platform command-line tool for CI/CD — upload builds and manage apps from any pipeline.

CodePush OTA updates (Flutter & React Native)

Live

Push Flutter Dart patches and React Native JS-bundle updates straight to installed apps using the open Shorebird and Expo Updates protocols — staged rollouts from 1% to 100%, instant rollback, and no app store re-submission.

See all features →

Frequently asked questions

Does this work for both Flutter and React Native?

Yes — Flutter patches use the open Shorebird updater protocol, and React Native updates use the open Expo Updates v1 protocol. Both are served from AirBuild's own servers.

Can I control what percentage of users get an update?

Yes — promote an update to any rollout percentage from 1% to 100%, and increase it gradually as you gain confidence.

What happens if I need to undo a bad update?

Roll it back instantly from the CLI or dashboard. If there's nothing to revert to, the app falls back to the build embedded in the binary at compile time.

Does this replace an app store release?

No — CodePush updates JS/Dart code only, not native code or app store metadata. Native changes still require a full release and store submission.

Ship your next build in seconds

Free plan available. No credit card required to start.