The App Center alternative for React Native over-the-air updates

Visual Studio App Center was retired on 31 March 2025. App Center bundled several products together, so replacing it is really four smaller decisions. Pulsar replaces one of them — the CodePush over-the-air updates — and this page is honest about where to send the other three.

What Microsoft App Center is, and where it fits

App Center was Microsoft’s all-in-one mobile DevOps service: cloud builds, test runs on real devices, beta distribution, crash reporting, analytics, and CodePush over-the-air updates. Microsoft retired the whole platform on 31 March 2025, with Analytics and Diagnostics given a grace period into mid-2026.

Because it was a bundle, there is no single drop-in replacement, and any vendor claiming to be one is overselling. What most teams actually lost on 31 March was the CodePush backend — the thing that let them fix a production crash the same day instead of waiting on an app-store review.

Pulsar is that piece. It speaks the same CodePush protocol App Center did, so the native client stays the same and migration is a deployment key and a server URL.

When Microsoft App Center is the better choice: If what you miss from App Center is builds, device farms or crash reporting rather than over-the-air updates, Pulsar is not your answer — see the table below for where those pieces went.

Pulsar vs Microsoft App Center

CapabilityPulsarApp Center
Over-the-air updates (CodePush)Pulsar — same protocol, self-hostableRetired 31 March 2025
CodePush protocol compatibilityYes — reuse the existing native clientOriginal implementation
Staged rolloutsYes, by deterministic %Yes (while it ran)
Instant rollbackYes, one commandYes (while it ran)
Per-release adoption metricsYesLimited
Self-hostingYes, on the Pro planNo — Microsoft cloud only
Cloud buildsNot in scope — use EAS Build, Codemagic or BitriseRetired
Crash reportingNot in scope — use Sentry, Firebase Crashlytics or BugsnagRetired (Diagnostics ran to mid-2026)
Beta distributionNot in scope — use TestFlight, Firebase App Distribution or Google Play internal testingRetired

Migrating from Microsoft App Center

If you were on App Center CodePush, your app already contains a CodePush client. Migration is configuration, not a rewrite.

1. Create the app and copy the keys

Sign up, create your app in Pulsar, and copy the deployment keys for each environment you had in App Center (typically Staging and Production).

2. Repoint the client you already ship

Change the deployment key and add the server URL. Nothing else about the integration moves.

// Before — App Center CodePush
export default codePush({
  deploymentKey: '<app-center-key>',
})(App);

// After — Pulsar (same client, new server + key)
export default codePush({
  deploymentKey: '<pulsar-deployment-key>',
  serverUrl: 'https://api.usepulsar.dev',
})(App);

3. Replace the appcenter CLI in CI

The Pulsar CLI covers the same release, promote, rollback and patch verbs.

npm i -g @novacraft-engineering/pulsar-cli
pulsar login https://api.usepulsar.dev
pulsar release MyApp Production --platform ios --target 1.4.0

Frequently asked questions

When exactly did App Center shut down?

Visual Studio App Center was retired on 31 March 2025. After that date you could no longer sign in or call its APIs. Analytics and Diagnostics were kept available separately until mid-2026.

Does Pulsar replace all of App Center?

No, and it would be dishonest to claim otherwise. Pulsar replaces App Center’s CodePush over-the-air updates. For cloud builds look at EAS Build, Codemagic or Bitrise; for crash reporting Sentry, Crashlytics or Bugsnag; for beta distribution TestFlight, Firebase App Distribution or Play internal testing.

Can I keep the open-source CodePush client?

Yes — that is the whole point. Microsoft open-sourced both the client and a standalone server, and the client protocol is what Pulsar implements. Pulsar’s own client is the New-Architecture-maintained RevoPush lineage of it.

What about my old release history?

App Center’s API is gone, so historical releases cannot be exported any more. Pulsar starts a fresh history from your first release; devices on your current bundle report as up to date rather than re-downloading it, because the package hash algorithm is identical.

Compared with the others

Ship the fix without the queue.

Point your React Native app at Pulsar and release in seconds.

Get started →