← Blog
Engineering

Microsoft App Center CodePush is retired — here's your migration path

Sankofa OS · January 14, 2026 · 6 min read

Microsoft retired App Center — and with it, CodePush — on March 31, 2025. Thousands of React Native apps relied on it to push JavaScript hotfixes without waiting on an App Store or Play Store review. If you're still on it (or on a fork), you're running on borrowed time. This is a practical migration guide.

What you actually need to replace

CodePush did one job well: ship a new JavaScript bundle to installed apps over the air. But a real OTA pipeline is more than a bundle host. In production you need staged rollouts, the ability to target a build or cohort, an audit trail of who shipped what, and — most importantly — a way to roll back automatically when a patch causes a crash spike.

The options

The usual replacements are Expo EAS Update (JS/RN only, hosted), Shorebird (Flutter-focused), and Capgo (Capacitor). Each solves the bundle-delivery half. What none of them do out of the box is bond the rollout to your crash monitoring and feature flags — so a bad patch still needs a human to notice and pull it.

The bonded approach

Sankofa Deploy ships Dart and JavaScript patches over the air for both Flutter and React Native — and because it's one binary with the rest of the platform, the rollout is gated by Switch (feature flags) and auto-rolled-back by Catch (crash detection). A patch that spikes crashes gets pulled in seconds, before most users ever see it, and the post-mortem writes itself.

The migration isn't just "find another bundle host." It's a chance to make releases self-healing.

How to migrate

The whole point of an OTA pipeline was speed without risk. CodePush gave you speed; bonding the rollout to crashes and flags gives you the "without risk" part. See Deploy for the full flow, or read how it fits the rest of Sankofa OS.

Start free More posts