Migrate from App Center CodePush

CodePush retired.
Your OTA pipeline doesn't have to.

Microsoft shut down App Center CodePush in March 2025. PatchForge keeps the same mental model — channels, releases, staged rollouts — and adds the signing, diffing, and health scores it never had. Most teams switch in an afternoon.

Same concepts, new names

You already know how PatchForge works

In CodePushIn PatchForge
Deployment (Staging / Production)Channel
appcenter codepush release-reactpatchforge-cli release
Deployment keyappKey (public, per app)
codePush() HOC / sync()PatchForge.getInstance().initialize()
Rollout percentageStaged rollout, 1 → 100%, device-stable
Promote between deploymentsDeploy the same release to another channel

The actual diff

Three changes, one afternoon

  1. 01Create your PatchForge application in the dashboard and copy its appKey.
  2. 02Swap the CodePush SDK for @zimbstech/patchforge-react-native and call initialize() at startup.
  3. 03Point CI at the PatchForge CLI — one command publishes, signs, and deploys.
migration.diff
// before- import codePush from 'react-native-code-push';- export default codePush(App);// after+ import { PatchForge } from '@zimbstech/patchforge-react-native';+ await PatchForge.getInstance().initialize({ appKey: 'pf_…' });✓ same UX for your users — updates just keep arriving

Side by side

What you gain in the move

FeatureApp Center CodePushPatchForge
Status in 2026Retired March 2025Actively maintained
Self-serve signup
Signed bundles, verified on-device
Differential patch downloads
Staged rollout by %
Release health & crash-free rateLimitedPer release, live
CI/CD automation
Bandwidth billingMeteredNever billed (fair use)

Ship your next hotfix through PatchForge

Free tier, no card required. Your first OTA update is minutes away.