OpenAIExpoMay 22, 2026, 2:00 PM

How to upgrade to Expo SDK 56

A condensed section focused on the key takeaways first.

Original Post

Quick Digest

Summary

A condensed section focused on the key takeaways first.

openaienmodel: gpt-5-mini-2025-08-07

How to upgrade to Expo SDK 56

Key Points

  • React Native 0.85 & React 19.2
  • Hermes bytecode diffing enabled by default
  • Expo Go not on app stores — use development builds

Summary

Expo SDK 56 targets React Native 0.85 and React 19.2, supports Android API level 36 and Xcode 26.4+, and keeps minimum OS support at Android 7+ and iOS 16.4+. Key ergonomics: prebuilt iOS XCFrameworks and Android CMake precompiled headers to speed native builds, Hermes bytecode diffing enabled by default for smaller updates, inline Expo Modules support, and stronger guidance toward the New Architecture.

Key Points

  • Platforms and versions

    • React Native 0.85, React 19.2
    • Android API 36, Xcode 26.4+, min OS Android 7+/iOS 16.4+
  • Build performance

    • iOS: prebuilt XCFrameworks shipped by default (opt out with EXPO_USE_PRECOMPILED_MODULES=0) — works locally and on EAS Build.
    • Android: opt-in android.usePrecompiledHeaders in expo-build-properties to enable CMake precompiled headers for faster C++ compile times.
  • Update delivery

    • Hermes bytecode diffing (binary patch updates) is enabled by default; opt out with "enableBsdiffPatchSupport": false in the updates block of app.json.
  • Expo Go and development builds

    • Expo Go for SDK 56 is not available on public app stores; prefer development builds for uninterrupted development.
    • Install Expo Go for SDK 56 via Expo CLI on Android, or use TestFlight / eas go for iOS.
    • Local dev builds: npx expo run:android / npx expo run:ios.
  • Developer tooling and automation

    • Use the expo/skills upgrade skill with Claude Code: add with /plugin marketplace add expo/skills and /plugin install expo, or bunx skills add expo/skills for other agents. Work on a separate branch and review changes.
    • Use Expo MCP tools to collect build logs (build_logs) and native logs (collect_app_logs) for troubleshooting.
  • Inline Expo Modules

    • You can define native Expo modules inline in your project and develop them with Android Studio / Xcode.
  • New Architecture guidance

    • SDK 54 was the last to support the Old Architecture. RN 0.83+ requires the New Architecture. Do not adopt New Architecture and upgrade SDK simultaneously — migrate to New Architecture first (preferably on SDK 54), verify, then upgrade to SDK 56.

Practical upgrade checklist

  • Read the SDK 56 changelog and breaking changes before upgrading.
  • Create a feature branch and commit points for easy rollback.
  • Run the Expo upgrade skill to update packages and handle common breaking changes.
  • Switch to a development build to avoid expo-go versioning issues during the transition.
  • If builds fail, collect EAS build logs and native logs, and create a minimal reproduction repository for GitHub issues.
  • Consider opt-outs if needed: EXPO_USE_PRECOMPILED_MODULES=0 (iOS) or set enableBsdiffPatchSupport to false for updates.

Where to get help

  • Consult the troubleshooting guides and New Architecture migration guide.
  • Open a GitHub issue with a minimal reproduction; include platform, logs, and steps to reproduce.
  • Use community channels (Discord, Reddit) for rapid discussion and debugging.

Happy upgrading — test on a development build, iterate on a branch, and open issues with minimal repros if you hit blockers.

Full Translation

Translations

A translation section that keeps the flow of the original article.

openaijamodel: gpt-5-mini-2025-08-07

Expo SDK 56 にアップグレードする方法

概要

Expo SDK 56 がリリースされました。主な対応は以下のとおりです:React Native 0.85、React 19.2、Android API level 36、Xcode 26.4 以上。最小サポート OS は従来通りで、Android 7+ と iOS 16.4 以上が対象です。詳細は changelog をご確認ください。

各 SDK はベータ期間と幅広いテストを経て公開されますが、アプリごとに固有の複雑さがあるため、アップグレード時には個別対応が必要になることがあります。本記事では SDK 56 への移行で特に注目すべきポイントと、一般的なアップグレードの注意点をまとめます。

SDK 56 にアップグレードするときに知っておくべき主な点

Claude Code(expo/skills)を活用してアップグレードを補助

  • Expo チームは日常の作業で Claude Code を利用しており、共通タスクを補助するスキルを expo/skills ライブラリで公開しています。アップグレード用のスキルは、パッケージバージョンの更新に加えて、ブレイキングチェンジの対応、古い設定のクリーンアップなどを自動化します。
  • ターミナル上の Claude Code に次を実行してスキルマーケットプレイスを追加します:
    • /plugin marketplace add expo/skills
    • つづけて /plugin install expo
  • Claude 再起動後、自然言語で「SDK をアップグレードして」と依頼できます。正しくインストールされていれば、Claude が expo/skills を参照して処理を開始します。
  • 他のエージェントにインポートするには: bunx skills add expo/skills
  • 注意:作業は常に別ブランチで行い、マージ/デプロイ前に人間のレビューを行ってください。LLM は万能ではありません。

ネイティブビルドの高速化

  • iOS: SDK 56 では、複雑な Expo モジュール向けに事前ビルド済み XCFramework が同梱され、iOS のビルドが高速化されています。ローカルビルド・EAS Build ともにデフォルトで有効です。無効化するには、ローカルでは環境変数 EXPO_USE_PRECOMPILED_MODULES0 に設定し、EAS Build でも同様に環境変数を追加します。
  • Android: expo-build-properties に新しいオプション android.usePrecompiledHeaders が追加され、CMake のプリコンパイルヘッダを C++ の codegen 出力に適用できます(要 opt-in)。これにより Android での CMake コンパイル時間が大幅に短縮されます。

Expo Go の状況

  • SDK 56 用の Expo Go は Apple App Store / Google Play Store で配信されていません。配信再開の時期は未定で、進捗は SDK 56 changelog で随時更新します(参考: “Expo Go and the App Store in May 2026.”)。
  • Expo Go は学習や素早い開始のためのツールです。この移行期間を機に、ストアに出すアプリを作るための development build へ移行することを推奨します。
  • Android では Expo CLI から SDK 56 の Expo Go をインストールできます。iOS では TestFlight External Beta か eas go コマンドで SDK 56 の Expo Go ビルドを作成し、自分の TestFlight チームへアップロードしてください。

Hermes バイトコード差分配信(diffing)

  • SDK 55 で導入された opt-in の Hermes バイトコード差分配信(expo-updates / EAS Update)は、SDK 56 ではデフォルトで有効になりました。これにより、毎回フルバンドルをダウンロードする代わりに、既存のバイトコードに対するバイナリパッチをダウンロードします。
  • 無効化するには、app.jsonupdates ブロックで "enableBsdiffPatchSupport": false を設定してください。詳しくは expo-updates API リファレンスを参照してください。

Inline Expo Modules

  • プロジェクト構造内に直接 Expo モジュール(inline modules)を定義できるようになりました。これにより、ネイティブコードの実験や開発が容易になります。Android Studio / Xcode / 任意の IDE から開発できます。詳細は inline modules reference とチュートリアルを参照してください。

アップグレード時の実践的なヒント

  • スキルを使う!: もう一度言います。expo/skills をあなたの好みの LLM に追加して、アップグレード作業を補助させてください。

  • Expo MCP と併用してトラブルシュート

    • Expo MCP は Claude Code、Codex、Cursor などと併用できるツールです。
    • EAS ビルドが失敗したら build_logs ツールでビルドログを取得して AI と解析してください。
    • expo-mcp パッケージをインストールすれば、collect_app_logs ツールでエミュレータ/シミュレータから native logcat / macOS console ログを取得できます。
  • changelog を確認する

    • ほとんどの SDK リリースには既知のブレイキングチェンジや、アプリ向けに設定調整が必要な変更点の一覧があります。アップグレード前に読んでおくのが最適ですが、コンパイルエラーやクラッシュが出たときはアップグレード後に読むのも重要です。
  • Expo Go よりも development build を使う理由

    • Expo Go は自動的にアップデートされるため、手元で急いでアップグレードする必要を感じる場合があります。development build を使えば、QR スキャンでローカル開発ができ、しかし自分のアプリなので Expo Go の自動アップグレードで途切れません。
    • もし Expo Go を使い続けるなら、必ずしもストアの最新バージョンを使う必要はなく、https://expo.dev/go から過去バージョンをダウンロードして Android デバイスや iOS シミュレータで使用できます(注: iOS デバイスでは App Store 制限により不可)。
    • Expo Go は JavaScript の実行は可能ですが、app.json / app.config.js の多くの設定を反映できません。ネイティブに手を加える必要がある設定は再現できないため、本番に近い検証が必要なら development build を推奨します。
    • 開発用に EAS 無料プランで複数の development build を作る余地がありますし、ローカルビルドも可能です: npx expo run:android または npx expo run:ios

New Architecture に関するアドバイス

  • SDK 54 が Old Architecture を最後にサポートした SDK です。SDK 55+(React Native 0.83+)は New Architecture のみをサポートします。まだ New Architecture に移行していない場合は、今が移行の好機です。
  • react-native-reanimated v4@shopify/flash-list v4 のような主要パッケージの最近のバージョンは New Architecture のみをサポートしています。
  • 注意点:Expo SDK と New Architecture の導入を同時に行うのは避けてください。両方を同時に変えると原因の切り分けが難しくなります。
  • 推奨手順:まず SDK 54 上で New Architecture にアップグレードし、development build を作って確認します(必要なら New Architecture troubleshooting guide を参照)。New Architecture が安定してから SDK 56 にアップグレードし、新しい development build を作って SDK アップグレードを単独で検証します。

トラブルシューティングとサポート

  • トラブルシュート用のガイド一覧ページを用意しています。ビルドエラー、クラッシュ、パフォーマンス問題など、症状に応じて手順が異なります。
  • ネイティブのクラッシュや OS が報告するエラーを特定するために、ADB Logcat や macOS console のようなツールでネイティブエラーを見つけることは非常に有効です。

問い合わせ・バグ報告のベストプラクティス

  • 最も効果的な報告方法は、最小限の再現手順(minimal reproduction)を含む Github issue です。npx create-expo-app で作成したデフォルトテンプレートをベースに、問題を再現するのに十分な最低限のコードを含めたリポジトリへのリンクを送ってください。
  • 最小限の再現を作ることは手間に見えるかもしれませんが、15〜30 分で作れば、実際のアプリで何時間もデバッグするよりもずっと効果的なことが多いです。Claude のような AI ツールは最小再現の作成を手伝ってくれます。
  • すぐに議論したい場合は、Discord、Reddit、Bluesky などのコミュニティで相談するのも有効です。スクリーンショットや動画、影響を受けるプラットフォーム、具体的に何が起きているかを共有してください。
  • アップグレードプロセス全体に関する詳細なフィードバックも歓迎します。サポートページ経由のメッセージも常に確認しています。

Happy upgrading — SDK 56 をお楽しみください!