Recently shipped Expo SDK 58 for iOS 27 and made simulator preview links authenticated by default.
Expo SDK 58 is out for iOS 27. SDK 58 ships with React Native 0.88. iOS 27 requires the UIKit scene-based life cycle and makes iPhone apps resizable; apps built against the iOS 27 SDK get both. Expo Go for SDK 58 arrives on the App Store and Play Store within a few weeks.
Simulator previews are now private by default. A breaking change: new simulator sessions use authenticated preview links and drop preview credentials from private output; simulator:start --public-link restores public sharing. eas simulator:control runs serve-sim actions, including file upload and download, on a remote iOS session, and --system-image selects the Android emulator image.
EAS Observe now catches native crashes. On SDK 57, update expo-observe to 57.0.21 or later. Android and iOS crashes land in the same list as JavaScript errors, filterable by source: uncaught Java and Kotlin exceptions, OS-kept crash records on Android 11+, Mach exceptions like EXC_BAD_ACCESS, and uncaught Objective-C and Swift exceptions on iOS.

Custom builds can run coding agents. eas/run_agent runs Claude Code or Codex connected to the Expo MCP server, writing agent messages, tool calls, and errors into the job log; the MCP server also reads text and image files from sandboxes.
Smaller EAS CLI additions.
- Node.js 20 is deprecated with a warning; a future release requires Node.js 22 or newer.
eas/upload_embedded_bundle uploads the embedded bundle from custom builds using eas/build.
eas update:view --json returns signed assetMapUrl and sourceMapUrl values; --force-end-active-rollout ends an in-progress rollout, and --upload-source-maps uploads source maps.
Settings navigation was refreshed. User, account, and project settings have dedicated pages and a consistent sidebar, with billing, receipts, and access tokens moved into account settings.