managarten/docs/EXPO_SDK_UPGRADE.md
Till JS 27b70e8197 chore(mobile): align all 7 Expo apps to SDK 55
Upgraded 6 apps from SDK 52/54 to SDK 55 (matrix was already on 55).
All apps now consistently use:
- Expo SDK ~55.0.5
- React Native 0.83.2
- React 19.2.0
- expo-router ~55.0.5
- NativeWind ~4.2.3

Before: 3 different SDK versions (52, 54, 55)
After:  1 version (55) across all 7 mobile apps

Added docs/EXPO_SDK_UPGRADE.md with testing checklist.

Note: pnpm install + device testing required to validate the upgrades.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 18:10:14 +01:00

2.4 KiB

Expo SDK Upgrade Guide

Current State (2026-03-28):

App Expo SDK React Native Router Status
matrix 55 0.83.2 ~55.0.5 Target version
manacore 54 0.81.5 ~6.0.15 Needs upgrade
manadeck 54 0.81.4 ~6.0.10 Needs upgrade
picture 54 0.81.4 ~6.0.10 Needs upgrade
traces 54 0.81.4 ~6.0.0 Needs upgrade
chat 52 0.76.7 ~4.0.6 Needs upgrade (2 majors!)
context 52 0.76.9 ~4.0.6 Needs upgrade (2 majors!)

Target: All apps on Expo SDK 55

Breaking Changes SDK 52 → 55

expo-router

  • v4 (SDK 52) → v55 (SDK 55): Major API change
  • Router is now versioned with the SDK (no more separate major versions)
  • expo-router/entry still works as main entry point

React

  • React 18.3 → React 19.2
  • New use() hook, improved Suspense

React Native

  • 0.76 → 0.83: New Architecture enabled by default
  • Fabric renderer is default
  • Bridgeless mode

NativeWind

  • v3/v4 → v4.2.3: Should be compatible if already on v4

Upgrade Steps (Per App)

# 1. Use Expo upgrade tool
cd apps/{app}/apps/mobile
npx expo install expo@~55.0.5 --fix

# 2. This auto-upgrades compatible dependencies
# For manual deps, use:
npx expo install react-native@0.83.2 react@19.2.0 expo-router@~55.0.5

# 3. Update NativeWind
npx expo install nativewind@~4.2.3

# 4. Fix breaking changes
# - Check for deprecated APIs
# - Test navigation (expo-router changes)
# - Test NativeWind styles

# 5. Clear caches and test
npx expo start -c
  1. traces (simplest app, minimal deps)
  2. manadeck (medium complexity)
  3. picture (has image handling)
  4. manacore (hub app, important)
  5. context (SDK 52 → 55, bigger jump)
  6. chat (SDK 52 → 55, most complex mobile app)

Shared Dependencies to Update

All mobile apps share these workspace packages:

  • @manacore/shared-ui (React Native components)
  • @manacore/shared-theme (theme system)
  • @manacore/shared-auth (auth service)

These should be tested with React 19 / RN 0.83 before upgrading apps.

Testing Checklist (Per App)

  • App starts without errors (npx expo start)
  • Navigation works (all routes)
  • Auth flow (login, logout, token refresh)
  • NativeWind styles render correctly
  • App-specific features work
  • iOS simulator test
  • Android emulator test (if applicable)