Should I upgrade to Expo SDK 55 now?

Expo teams need change awareness before rolling forward, because SDK 55 introduces a new supported baseline and can force coordinated package, build-image, and native dependency updates across active apps.

Hold on SDK 54 briefly unless the app is already on New Architecture and your CI can absorb Xcode 26.2, build-image, and native dependency updates this sprint.

Blockers

Who this is for

Candidates

Upgrade active apps to SDK 55 now and standardize on development builds

Expo SDK 55 was released on February 25, 2026 and officially includes React Native 0.83 and React 19.2. As of 2026-03-30, the official SDK 55 reference shows Node.js support for 20.19.x and newer supported LTS/current releases, Android API level 36, Android 7+, iOS 15.1+, and Xcode 26.2+ in the compatibility table. The release removes Legacy Architecture support entirely, so New Architecture is now mandatory. Official upgrade notes also call out blocker-level operational changes: `eas update` now requires `--environment`, `notification` was removed from `app.json`, Expo Go is no longer viable for Android push testing, and unnamed EAS Build/Workflow profiles default to Xcode 26.2 for SDK 55. No SDK-55-specific pricing change was verified in the official release materials as of 2026-03-30; check official pricing docs separately if plan cost matters.

When to choose

Use this when the app already runs on New Architecture or can be moved there in the same sprint, and your CI/native build pipeline can absorb a coordinated dependency and image refresh. This is the right path if you depend on staying near the current Expo baseline, need current React Native support, or want to avoid carrying SDK 54 as a temporary compatibility branch.

Tradeoffs

You align with the supported Expo baseline and current React Native stack, but the upgrade is not just a package bump: native rebuilds, CI image changes, config migrations, and dev-client regeneration are typically required.

Cautions

Hermes v1 is opt-in, but Expo says it requires building React Native from source in SDK 55 and can significantly increase native build times; Expo also does not yet recommend it for Android monorepos. If you use Continuous Native Generation, Expo says to delete generated `android` and `ios` directories from the previous SDK before rebuilding. If your CI runs `eas update`, add `--environment` before cutting over.

Hold on SDK 54 briefly while clearing New Architecture and CI blockers

SDK 54 is the last Expo release that still included Legacy Architecture support, and Expo's SDK reference lists it on React Native 0.81 and React 19.1. As of 2026-03-30, the official compatibility table still shows SDK 54 targeting Android API level 36 with Android 7+, iOS 15.1+, and Xcode 16.1+ in the reference docs, which can reduce immediate iOS image churn versus SDK 55. Expo's SDK 55 release notes explicitly describe a transition period where store-distributed Expo Go stayed on SDK 54 immediately after launch, reinforcing that teams may need a short controlled hold rather than a same-day production migration. This path is a delay strategy, not a long-term destination, because SDK 55 has already shipped and the current Expo line has moved forward.

When to choose

Use this when your app still depends on Legacy Architecture, older native modules, or CI assumptions that break on Xcode 26.2 and the SDK 55 config changes. It is the safer choice when the real blocker is ecosystem readiness, not Expo package installation itself.

Tradeoffs

You buy time for dependency audits and native validation, but you remain on the previous Expo baseline and defer React Native 0.83-era fixes and features. The longer the hold, the more likely the eventual upgrade becomes a larger coordinated change.

Cautions

Treat this as a short staging window only. Before moving, verify every New Architecture-sensitive package, replace `app.json` notification config with the `expo-notifications` config plugin, plan for development builds instead of relying on Expo Go, and update any release automation that assumes `eas update` can run without `--environment`.

Facts updated: 2026-03-30
Published: 2026-04-03

Try with your AI agent

$ npm install -g pocketlantern
$ pocketlantern init
# Restart Claude Code, Cursor, or your MCP client, then ask:
# "Should I upgrade to Expo SDK 55 now?"
Missing something? Request coverage