Guide

Patch Updates: The Modern CodePush Alternative

Microsoft CodePush is deprecated. Learn how to migrate to SwiftPatch, the modern OTA update platform for React Native with 98% smaller patches, automatic rollback, and enterprise security.

S
SwiftPatch Team
Engineering
12 min read

Introduction: The End of CodePush

Microsoft CodePush, once the go-to solution for React Native over-the-air updates, is being deprecated as part of the App Center sunset. If you're one of the thousands of developers relying on CodePush, you need to migrate—and fast.

The good news? SwiftPatch was built specifically as a modern CodePush replacement, with significant improvements in patch size, reliability, and developer experience.

Why CodePush is Being Deprecated

Microsoft announced the deprecation of Visual Studio App Center in December 2024, which includes CodePush. Key dates:

  • March 2025: No new CodePush deployments
  • March 2025: Service shutdown

This affects hundreds of thousands of React Native apps that rely on CodePush for instant updates.

What Made CodePush Great (And Its Limitations)

  • Push JavaScript updates without App Store review
  • Deploy bug fixes instantly
  • A/B test features in production
  • Full bundle uploads (20MB+ per update)
  • No automatic crash detection
  • Limited rollback capabilities
  • Aging infrastructure and slow updates
  • No support for React Native New Architecture

SwiftPatch vs CodePush: Feature Comparison

FeatureSwiftPatchCodePush
Patch Size98% smaller (differential)Full bundle
Deploy Speed< 60 seconds2-5 minutes
Auto RollbackYes (< 3 seconds)No
Crash DetectionAutomaticManual
React Native New ArchFull supportNo support
Free Tier5,000 deploys/moDeprecated
Self-HostingAvailableNo
Active DevelopmentWeekly updatesDeprecated

How Differential Patching Works

Unlike CodePush, which uploads your entire JavaScript bundle on every update, SwiftPatch uses binary-level differential patching.

CodePush approach:

Bundle v1: 20MB
Bundle v2: 20MB (upload entire bundle)
Total transfer: 20MB

SwiftPatch approach:

Bundle v1: 20MB
Bundle v2: 20MB (only changes detected)
Differential patch: 200KB
Total transfer: 200KB (98% smaller!)

This means faster downloads for users, lower bandwidth costs for you, and better performance on slow networks.

Migration Guide: CodePush to SwiftPatch

Step 1: Install SwiftPatch

# Remove CodePush
npm uninstall react-native-code-push

# Install SwiftPatch
npm install swiftpatch

Step 2: Update Your App Configuration

Before (CodePush):

import codePush from 'react-native-code-push';

const App = () => {
  // Your app code
};

export default codePush(App);

After (SwiftPatch):

import { SwiftPatch } from 'swiftpatch';

// Initialize SwiftPatch
SwiftPatch.init({
  deploymentKey: 'YOUR_DEPLOYMENT_KEY',
  autoRollback: true,
});

const App = () => {
  // Your app code
};

export default App;

Step 3: Run the Migration Script

SwiftPatch includes an automatic migration script:

npx swiftpatch migrate
  • Detect your existing CodePush configuration
  • Convert deployment keys
  • Update native code automatically
  • Verify the migration

Step 4: Deploy Your First Update

swiftpatch release --platform ios --description "First SwiftPatch release"

Automatic Rollback: The Killer Feature

One of SwiftPatch's most powerful features is automatic crash detection and rollback.

  1. User downloads and applies update
  2. SwiftPatch monitors app health for 30 seconds
  3. If a crash occurs, automatically rolls back to previous version
  4. Rollback happens in < 3 seconds
  5. You receive an alert with crash details

This is a game-changer for production apps. No more fear of shipping a bad update—SwiftPatch has your back.

Enterprise Features

For larger teams, SwiftPatch offers:

  • Staged Rollouts: Deploy to 1% → 10% → 100%
  • Bundle Signing: Cryptographic verification
  • Self-Hosting: On-premise deployment option
  • SSO: SAML/OIDC integration
  • Audit Logs: Complete deployment history

FAQ

Q: How long does migration take?

A: Most teams complete migration in under 30 minutes using the automated script.

Q: Do I need to rebuild my app?

A: No. SwiftPatch works with your existing binary.

Q: What about my existing CodePush deployments?

A: They continue working until the shutdown date. SwiftPatch can run alongside CodePush during transition.

Q: Is SwiftPatch compliant with App Store guidelines?

A: Yes. SwiftPatch follows the same OTA update rules as CodePush—JavaScript and assets only, no native code changes.

Conclusion

CodePush served the React Native community well, but it's time to move on. SwiftPatch offers everything CodePush did—and much more:

  • 98% smaller patches for faster downloads
  • Automatic rollback for peace of mind
  • Active development with weekly updates
  • Free tier to get started

Ready to migrate? Get started free →

Ready to ship updates faster?

Get started with SwiftPatch for free. No credit card required.

Join Waitlist

Related Articles