AniUI

Expo SDK 58

Expo SDK 58 targets iOS 27 and introduces the UIKit scene-based lifecycle. Apps built with SDK 58 are ready for iPhone Duo on day one, on both displays. AniUI's 150 components re-lay out automatically when the scene is resized.

What's new in SDK 58#

  • iOS 27 + scene lifecycle. UIKit scene delegate manages window state. Apps are now resizable; requireFullScreen no longer opts out of resizing on iOS 27.
  • React Native 0.88 (up from 0.86 in SDK 57), including Strict TypeScript API as the default.
  • Node 22.13+ required (or 24.3+, or 26+). Odd-numbered Node releases aren't supported.
  • expo-hinge for iPhone Duo + Android foldable hinge state. AniUI's useFoldFeatures() hook consumes it transparently.
  • Faster builds. Expo Modules now ships precompiled Android native libraries; clean debug builds dropped from ~80s to ~39s in Expo's test.
  • expo-glass-effect reports Liquid Glass as available when built against iOS 27.
  • Breaking changes: foreground notifications show by default; File.write() is now async (use writeSync() for the old behavior); libSQL support was removed from expo-sqlite.

See the full Expo SDK 58 changelog for the complete list.

Pinned versions#

AniUI's SDK 58 version bucket is the single source of truth for native dep versions on this SDK.

# Pinned by Expo SDK 58 (expo@~58.0.0)
expo                            ~58.0.0
react                           19.3.0
react-native                    0.88.0
react-native-reanimated         4.7.1
react-native-worklets           0.13.0   # required peer of Reanimated 4
react-native-gesture-handler    ~3.3.0   # v3 — major jump from SDK 57's v2
react-native-safe-area-context  ~5.10.1
react-native-screens            ~4.30.0
react-native-svg                15.16.0
expo-hinge                      ~58.0.1  # optional: iPhone Duo / foldable support

Fresh install#

# Fresh Expo SDK 58 project — iOS 27, iPhone Duo ready
npx create-expo-app@latest my-app --template default@sdk-58
cd my-app

# Run AniUI init — defaults to Uniwind, picks the SDK 58 bucket automatically
npx @aniui/cli init --yes

# Opt into fold-aware overlays (iPhone Duo / Android foldables)
npx expo install expo-hinge

# Start
npx expo start -c

Migration from SDK 57#

# Migration from Expo SDK 57 → 58
# 1. Bump Expo + React / React Native
#    (expo install pins the right versions for each SDK)
npx expo install expo@~58 [email protected] [email protected]

# 2. Bump the animation stack: Reanimated 4.5 → 4.7.1, worklets 0.10 → 0.13
npx expo install react-native-reanimated react-native-worklets

# 3. Bump the rest of the native stack
#    Note: react-native-gesture-handler jumps from v2 to v3 on SDK 58.
npx expo install react-native-gesture-handler react-native-safe-area-context react-native-screens react-native-svg

# 4. (Optional) Install expo-hinge for iPhone Duo fold-aware overlays
npx expo install expo-hinge

# 5. Scene-based lifecycle: npx expo prebuild regenerates SceneDelegate.swift.
#    If you had a customized AppDelegate.swift, you'll need to migrate the
#    callbacks (they're now delivered via the scene delegate instead).

# 6. Node version: SDK 58 requires Node 22.13+, 24.3+, or 26+.
#    Odd-numbered Node releases aren't supported.
nvm install 22.13 && nvm use 22.13

# 7. Components + config — no changes needed. Same engine, same templates.