Free tools Windows power users keep installed
One-click scans. No signup required.
To push an over-the-air (OTA) update with Shorebird, first create and distribute a Shorebird release of your Flutter app, then use shorebird patch <platform> for eligible Dart-only changes. The release installs Shorebird’s updater and establishes the baseline; you still submit its generated app-store artifact yourself. A patch downloads in the background and is normally applied when the user launches the app again.
How do I push OTA updates to my Flutter app with Shorebird?
Shorebird Code Push delivers eligible Dart code changes to users of an app built with Shorebird. It is not a way to install your app on a device for the first time, and it does not replace the store release that puts the updater on the device.
As an Amazon Associate I earn from qualifying purchases.
- Initialize and check the project. Install and configure Shorebird, then run
shorebird initin your Flutter app. This createsshorebird.yamlwith the app ID. Check the Flutter version against Shorebird’s current supported-version guidance and runshorebird doctor. - Create a baseline release. Run
shorebird release androidorshorebird release ios. Shorebird builds the store artifact and uploads the Dart artifacts that patches for that release will use. - Submit the artifact to the store. Upload the generated Android
.aabor iOS.ipathrough the usual store process. Shorebird does not submit it for you. - Make a Dart-only change and build a patch. For an eligible change, run
shorebird patch androidorshorebird patch ios. Review the CLI’s native-code and asset checks; if the change includes native or asset modifications, make a new store release instead. - Roll out and allow time for installation. Publish to a test track first if you want targeted validation, then use the intended track for broader distribution. By default, the updater checks on startup, downloads in the background, and applies the update on a subsequent launch.
Is my change patchable?
The key distinction is whether the change stays in Dart code. A patch is tied to a particular release version, so devices still running an older release need a patch built for that release. The following boundaries determine whether to patch or ship a new store build.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →| Change or need | Shorebird patch | New store release |
|---|---|---|
| Dart UI, widgets, business logic, or routing | Supported | Also possible |
| Native Kotlin, Swift, Java, Objective-C, or plugin implementation | Not supported | Required |
| Native configuration, dependencies, or runtime permissions | Not supported | Required |
| App images, fonts, or other asset changes | Not supported | Required |
| Flutter engine or Flutter version upgrade | Not supported for an existing release | Required |
| Initial installation for a new user | Does not distribute the app | Required through the store or another distribution method |
What is the difference between a patch and a release?
A release establishes the baseline
A Shorebird release creates the app build that you distribute through the relevant store and uploads the Dart artifacts needed to produce patches. It is necessary for users who do not yet have the app, and for changes that affect native code, configuration, dependencies, permissions, assets, or the Flutter version.
#1 Best Overall
A patch updates eligible Dart code for an existing release
A patch targets a specific release version. It does not replace that version’s store installation or automatically cover devices on a different release. Only the latest patch is active: a user who has not yet applied an earlier patch moves to the latest one rather than needing to install every intervening patch.
How do tracks help control rollout?
The default track is stable. You can create additional tracks, such as staging or beta, to direct patches to selected devices before promoting a change more broadly. A practical rollout is to validate on a limited track, check the result with its intended audience, and then publish to stable. Track targeting controls who receives a patch; it does not make an otherwise ineligible native or asset change patchable.
Rank #2
What should I check before using Shorebird?
Flutter support and minimum versions
Shorebird documents support for Flutter stable. Its version page listed Flutter 3.47.1 as the latest stable release on August 19, 2026. Shorebird also recorded a minimum supported version of Flutter 3.27.0 for Android and iOS, effective October 1, 2026. These are time-sensitive product requirements: verify the current version guidance and run shorebird doctor before setting up or upgrading a project.
iOS performance
Shorebird documents that patched iOS builds can sometimes run slower than release builds because of interpreter restrictions. The documentation cited here does not give a measured slowdown, so treat this as a platform caveat rather than a predictable numerical penalty.
Billing and patch installation
Shorebird’s billing documentation ties charges to successful patch installs, after the patch has downloaded and been applied. Because users skip to the latest patch, intermediate patches they never apply do not each count as a separate billable install. The documentation describes optional overage billing and configurable spending limits; check Shorebird’s current billing terms for account-specific pricing and settings.
Quick Recap
Best Value
Rank #4
When should you choose a patch or a store release?
- Choose a patch when the change is limited to eligible Dart code, the device is on the release version the patch targets, and an update can wait until a later app launch.
- Choose a store release when the change affects native implementation or configuration, dependencies, permissions, assets, or Flutter itself; when you need to distribute the app to new users; or when the installed release baseline must change.
- Plan a staged rollout when you want to validate a patch with selected devices before broad distribution. Account for the target track and the time between background download and the user’s next launch.
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.




