Shorebird can deliver eligible Dart code patches to people who already have a Shorebird-built app release installed, without submitting each patch as a new store update. It does not remove the initial store submission or guarantee that a patch complies with store rules: you create and distribute a base release through your usual channel, then use Shorebird for changes the patch system supports.
What “without app store review” means with Shorebird
Shorebird separates a store-distributed release from a later over-the-air patch. The release is the app version and build that users install. The patch carries eligible Dart changes associated with that specific release; it does not create a new store version or reach users who have not installed the relevant base release. See Shorebird’s Code Push overview.
As an Amazon Associate I earn from qualifying purchases.
For each new base release, Shorebird’s shorebird release command builds the app and uploads compiled Dart artifacts to Shorebird. You still submit the resulting Android App Bundle (.aab) or iOS archive (.ipa) through your normal store workflow. A later eligible patch can be published through Shorebird rather than as a new store submission, but app behavior must still meet the applicable store policies.
Prepare the Flutter project
Install the Shorebird CLI and integrate Shorebird with the Flutter project using the current instructions in its Code Push documentation. The docs landing page lists Flutter 3.27.0 or later as a prerequisite; confirm the current requirement and supported platforms in the live documentation before setting up or upgrading a project.
#1 Best Overall
Before creating a release or patch, check which Flutter SDK version Shorebird vends for the project. Shorebird’s shorebird doctor command can help identify SDK setup issues. A patch build needs to use the compatible SDK and the intended project configuration.
Create and distribute the base release
- Build the Shorebird release. From the project, run
shorebird release androidorshorebird release iosfor the target platform. Shorebird documentsshorebird releaseas a Flutter-build replacement that creates the baseline and uploads compiled Dart artifacts. Follow the platform-specific options in Create a Release. - Submit the generated app through your ordinary store process. Upload the resulting
.aabto Google Play or the.ipathrough App Store Connect, then complete the applicable review and release steps. Shorebird does not submit the app to either store on your behalf. - Wait until users install that release. A Shorebird patch is tied to a release. Users on a different app version need a patch targeting that release or a newer store-distributed release.
Check whether your change can be patched
| Change | Shorebird patch | What to do |
|---|---|---|
| Eligible Dart changes, such as widget, business-logic, or state-management updates | Supported, subject to a successful build and applicable policy requirements | Build and publish a patch for the intended release. |
| Native Kotlin, Swift, Java, or Objective-C code; platform configuration; native plugin code | Not patchable | Make a new store release. |
| Adding, removing, or changing packaged assets such as images or fonts | Not supported by the patch guide; the CLI checks for asset differences | Make a new store release. |
| A new runtime permission, native dependency, or Flutter engine upgrade | Do not treat as a Dart-only patch | Make a new store release. |
| First installation for a new user | A patch cannot install the app | Distribute the base app through the store or another chosen distribution path. |
Shorebird’s patch guide describes patch boundaries and checks. The CLI warns or blocks by default when it detects native or asset differences. Treat those checks as a useful safeguard, not a reason to assume every change that builds is patchable.
Rank #2
Build and publish a patch
- Make an eligible Dart-only change. Review the diff for native platform code, configuration, plugin, permission, dependency, or packaged-asset changes. If the change involves one of those, use a new store release instead.
- Check the project environment. Run
shorebird doctorand resolve SDK or setup mismatches before building. - Build and publish for the platform. Run
shorebird patch androidorshorebird patch ios. If needed, specify the release the patch should target using the options documented in Create a Patch. - Choose the deployment track. Shorebird supports tracks for deployment channels;
stableis the default. Use an appropriate staging track to verify a patch before expanding distribution, then publish to the intended track.
Patch delivery does not mean every device changes immediately. By default, the app checks for updates in the background on startup. The patch downloads while the user is using the app and normally becomes active the next time the app launches. Shorebird summarizes this behavior in its overview. For a different update experience, the Update Strategies guide explains programmatic checks using package:shorebird_code_push, including approaches for apps that need an immediate or mandatory update strategy.
Store review and policy still apply
Do not interpret code push as a general exemption from store review or policy. Apple’s App Review Guidelines, section 2.5.2, say that apps should be self-contained and may not download, install, or execute code that introduces or changes app features or functionality, subject to the guideline’s stated conditions and limited exception. Apple also reviews apps and updates submitted to App Store Connect. Read the current App Review Guidelines and Apple App Review information for your circumstances.
Shorebird describes its iOS implementation as using an interpreter, but that technical design is not a guarantee that every app, patch, jurisdiction, or use case complies with Apple’s rules. Shorebird’s FAQ also summarizes Google Play constraints, including restrictions related to downloaded executable code and changes that could be deceptive or contrary to user expectations. The developer remains responsible for evaluating the patch’s behavior against the current requirements of each distribution platform.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.When a store release is the right route
Use a new store release whenever the change needs native code, platform configuration, packaged assets, a new permission or dependency, or a Flutter engine upgrade. It is also the necessary path for users who do not yet have the base app and for changes that should establish a new baseline version. Shorebird’s complete Code Push guide explains the release-and-patch model in more detail.
Quick Recap
Best Value
Rank #4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problems




