Releases Index
Expo

Expo

expo.devFramework
$npx @buildinternet/releases get expo
Recently Shipped15 releases · updated Oct 14, 2026

Recently shipped native crash reporting in EAS Observe and a coding-agent step for custom builds.

EAS Observe now catches native crashes. On SDK 57, update expo-observe to 57.0.21 or later: Android and iOS crashes now land in the same list as JavaScript errors, filterable by source. Android coverage includes uncaught Java and Kotlin exceptions plus the crash records the OS keeps on Android 11 and later; iOS covers Mach exceptions like EXC_BAD_ACCESS, Unix signals like SIGSEGV, and uncaught Objective-C and Swift exceptions.

Error details of a native crash group

Custom builds can run coding agents. The eas/run_agent step runs Claude Code — or Codex — connected to the Expo MCP server, and writes agent messages, tool calls, and errors into the job log. Sandboxes can also run shell commands and read text and image files through that server.

SDK 58 beta targets iOS 27. Ship with the beta now if you need iOS 27 support; the beta runs three to four weeks with fixes landing continuously. React Native 0.88 is still a release candidate, so SDK 58 stable follows RN 0.88 stable.

Simulator sessions gained preview and capture tooling.

  • iOS Simulator previews stream over H.264, and serve-sim can record sessions.
  • --network-capture records HTTP(S) traffic from apps on the device, optionally keeping headers and bodies.
  • --egress local now works on Android, with refused destinations logged as warnings.
  • --build-fingerprint installs the newest build matching a fingerprint.

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 that use eas/build.
  • eas update:view --json reports signed assetMapUrl and sourceMapUrl values.
  • --force-end-active-rollout ends an in-progress rollout on eas update and its rollback and republish variants; --upload-source-maps uploads source maps with eas update.

Simulator sessions default to authenticated preview links

BreakingThis release7 featuresNew capabilities1 enhancementImprovements to existing features4 fixesBug fixesAI-tallied from the release notes
EAS CLI · v25.0.0

New simulator sessions now default to authenticated preview links and omit preview credentials from private output, with public sharing via simulator:start --public-link and simulator:get following the saved preference. Adds expo-device-hub startup for Android simulator sessions with --require-token, separate session logs for agent-device, Appium, and Argent previews, and a cold-start speedup for iOS Appium sessions.

Read more ↗

iOS 27 and React Native 0.88; App Intents for Siri

BreakingThis release6 featuresNew capabilities3 enhancementsImprovements to existing featuresAI-tallied from the release notes

Expo SDK 58 is built for iOS 27, which requires the UIKit scene-based life cycle and makes iPhone apps resizable, and includes React Native 0.88. It adds the alpha expo-app-intents package for exposing app actions to Siri, Shortcuts, Spotlight, and Apple Intelligence, expo-hinge for foldable hinge state, and expo-device-hub for streaming simulators in the browser.

Read more ↗

Maestro insights now list runs and flows per platform

This release1 featureNew capabilities1 fixBug fixesAI-tallied from the release notes
EAS CLI · v24.14.0

eas workflow:insights:maestro gains a --platform flag that lists Maestro runs and flows per platform. Also allows more time for iOS screen recordings to finalize during session shutdown.

Read more ↗

Settings get dedicated, consistent pages across expo.dev

This release1 featureNew capabilitiesAI-tallied from the release notes

User, account, and project settings on expo.dev have been redesigned with dedicated pages and a consistent sidebar. Account Billing, Receipts, Access Tokens, and Notifications moved into the account settings sidebar, while project Credentials, Hosting, and GitHub moved into the project settings sidebar.

Read more ↗

Node.js 20 deprecated; eas/run_agent step added

Breaking (minor)This release10 featuresNew capabilities4 fixesBug fixesAI-tallied from the release notes
EAS CLI · v24.13.0

Node.js 20 is deprecated with a warning at runtime, and a future release will require Node.js 22 or newer. Added the eas/run_agent build step that runs Claude Code or Codex connected to the Expo MCP server, plus MCP sandbox file reads and artifact uploads.

Read more ↗

Embedded bundle upload step added; update:view JSON gets source map URLs

This release4 featuresNew capabilities3 fixesBug fixesAI-tallied from the release notes
EAS CLI · v24.12.0

Adds the eas/upload_embedded_bundle step for custom build configs, which uploads the embedded bundle from custom builds that use eas/build. The eas update:view --json output now includes assetMapUrl and sourceMapUrl as signed download URLs or null, plus fixes for iOS network capture, macOS simulator previews, and workflow:ssh handling of missing build IDs.

Read more ↗

EAS Observe now records native crashes

This release1 featureNew capabilitiesAI-tallied from the release notes

EAS Observe records native crashes alongside JavaScript errors with no setup, covering uncaught Java and Kotlin exceptions and OS crash records on Android plus Mach exceptions, Unix signals, and uncaught Objective-C and Swift exceptions on iOS. Requires updating to expo-observe 57.0.21 or later on SDK 57; error reporting is in preview.

Read more ↗

Browser device login for chat agents; simulator session recording

This release3 featuresNew capabilities2 fixesBug fixesAI-tallied from the release notes
EAS CLI · v24.11.0

Added browser device login with resumable commands for chat agents and iOS Simulator session recording through serve-sim. Also retries App Store Connect connection failures with safe recovery for interrupted status reads and upload commits.

Read more ↗

Supabase advisors command; individual ASC API keys

This release8 featuresNew capabilities4 fixesBug fixesAI-tallied from the release notes
EAS CLI · v24.8.0

Adds eas integrations:supabase:advisors to list unresolved Supabase Security and Performance Advisor findings for the linked project, and accepts individual App Store Connect API keys for submissions, TestFlight setup, and metadata. Also added --build-fingerprint to eas simulator and fixed eas account:view printing Role: undefined for the Release Manager role.

Read more ↗

iOS Simulator previews stream as H.264; simulator sessions point to expo.dev page

This release3 featuresNew capabilities1 fixBug fixesAI-tallied from the release notes
EAS CLI · v24.7.0

iOS Simulator previews now stream with H.264, and simulator sessions report the expo.dev preview page as their preview URL and the preview server behind it as previewApiUrl. eas simulator:start and eas simulator:get report the expo.dev preview page instead of the raw tunnel URL in printed instructions and --json, and package manager overrides are now honored when installing and launching simulator packages.

Read more ↗

SDK 58 beta: iOS 27 support, App Intents from JS

BreakingThis release4 featuresNew capabilities2 enhancementsImprovements to existing featuresAI-tallied from the release notes

SDK 58 beta is built for iOS 27 and bundles React Native 0.88 release candidate, with a three-to-four-week beta period before stable. It adds expo-app-intents for exposing Siri, Shortcuts, Spotlight, and Apple Intelligence intents from JavaScript, plus an Expo CLI Device Hub integration for Xcode 27 and expo-device-hub browser dashboards for simulators. Apps now use the UIKit scene-based life cycle, so projects customizing AppDelegate.swift need the scene life cycle migration.

Read more ↗

Node 18 support dropped; iOS Simulator egress proxy enforced

BreakingThis release2 featuresNew capabilities1 enhancementImprovements to existing features1 fixBug fixesAI-tallied from the release notes
EAS CLI · v24.4.0

EAS CLI now requires Node ^20.18.3 or >=22.0.0, dropping Node 18. In --egress local sessions, a guard injected into every iOS Simulator process refuses connections that bypass the system proxy and reports them with calling frameworks in the session log, and proxy environment variables are set inside the simulator for clients that read them such as gRPC and libcurl. Build-tools also skip project source refresh for jobs with no sources.

Read more ↗