Skip to content

feat: migrate to Expo SDK 57 #220

Description

@masch

Problem Description

Expo SDK 57 was released on June 30, 2026 with React Native 0.86. We need to migrate and take advantage of the improvements, while also cleaning up the react-test-renderer override we added in PR #217.

Proposed Solution

Upgrade steps

  1. Run npx expo install expo@latest --fix to bump to SDK 57
  2. Update peer deps: Reanimated, Worklets, Gesture Handler, etc.
  3. Test everything locally (make validate)

react-test-renderer situation

  • We currently have an overrides.react-test-renderer = "19.2.7" + bun.lock resolution hack for jest-expo(56)
  • Need to check if jest-expo@57 updates its peer dep on react-test-renderer to ^19.2.7 — if yes, the override can be removed
  • @testing-library/react-native@14 + test-renderer@1.2 stays as-is (that's the correct setup regardless)

Features to leverage

Feature Details Impact
RN 0.86 edge-to-edge fixes Android edge-to-edge improvements Low — verify no layout regressions
Light/dark mode emulation RN DevTools light/dark simulation Low — dev tooling only
Rendering/layout/animation fixes Various fixes in 0.86 (601 commits) Medium — run full test suite
New expo-dev-client setting Auto-launch recent project or show launcher Low — nice QoL for dev
expo prebuild changes Now clears + regenerates native dirs by default Medium — may affect custom native code
Newer Reanimated/Worklets/Gesture Handler Updated versions bundled Medium — check for breaking API changes

Dependencies to update

  • expo: ~56.0.12~57.0.0
  • react-native: 0.85.30.86.x
  • react-native-webview: 13.17.0 → match SDK 57 expected version
  • Potentially remove overrides.react-test-renderer if jest-expo@57 bumps its peer dep
  • Various expo-* packages via npx expo install --fix

Alternatives Considered

  • Stay on SDK 56 until 58: viable, but SDK 57 is positioned as the "easiest upgrade ever" with no breaking changes from 0.85→0.86
  • Skip 57 and wait for 58: unnecessary delay given the non-breaking nature

Additional Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions