Expo 57.0.10
OK EXPO 57.0.10 JUST DROPPED ☕️ — and this one actually does stuff, unlike 57.0.9, which shipped with literally zero user-facing changes period.
Biggest headline: the minimum Node.js version is now ^22.13.0. If you're still on Node 20 or an older 22.x, npx expo is about to get very unfriendly. Update Node first, then update Expo. Simple as that.
iOS Fixes Galore 🍎
The iOS side of this patch is stacked:
- Apps built with the iOS 27 SDK now use the UIKit scene-based lifecycle —
ExpoAppSceneDelegateis here to stay, and it's marked unavailable in extensions and widgets. - Cold-start deep links fixed:
Linking.getInitialURL()was returningnulland dropping URLs on the new scene lifecycle. Now it just works. expo/fetch:Response.text()and.arrayBuffer()used to hang forever when a request failed after the response arrived (network drop,abort()). Fixed.- The dev server port is now resolved from the
RCTMetroPortInfo.plist key at runtime — bare projects without expo-dev-client no longer fight over port 8081. - Builds against React Native 0.87+ are fixed by dropping the legacy bridge
RCTRootViewFactoryConfigurationsetup.
Android & Under the Hood 🤖
ExpoReactHostFactorynow passes host handlers'DevSupportManagerFactorytoReactHostImpl.URLandURLSearchParamsgot an IDNA/TR-46 upgrade — spec adherence is way up, performance improved, and the gaps compared to browsers are barely noticeable now.- RCTHostRuntimeDelegate conformance restored for react-native-macos.
Should You Update?
Yes. Especially if you're on the iOS 27 SDK, React Native 0.87+, or you've been haunted by cold-start deep links. Run npx expo install expo@^57.0.10 and go build something period.
Full changelog: Expo changelog on GitHub 🔗