v24.9.0
🎉 New features
- [eas-cli] Add
--force-end-active-rollouttoeas update,eas update:republish,eas update:roll-back-to-embeddedandeas update:rollback. (#4233 by @gwdp) - [eas-cli] Allow
eas simulator:start --platform android --egress local. On Android,--egress-allow localhost:<port>also covers10.0.2.2:<port>, and refused destinations are shown as warnings. (#4519 by @brentvatne) - [build-tools] Support
eas/start_local_egresson Linux for Android emulators: an always-listening relay for the emulator's proxy, a systemd scope and nftables fence that refuse traffic that cannot use the tunnel, and fence refusals in the session log. (#4519 by @brentvatne) - [eas-cli] Add
--upload-source-mapstoeas update, which uploads the generated source maps to EAS so that stack traces from an update can be symbolicated. Source maps are stripped ofsourcesContentbefore upload. (#4436 by @douglowder) - [build-tools] Upload the embedded bundle after build by default for projects on SDK 58 and later. Set
EAS_UPDATE_UPLOAD_EMBEDDED_BUNDLEto0to disable it. On SDK 57 and below the feature remains experimental and opt-in viaEAS_UPDATE_EXPERIMENTAL_UPLOAD_EMBEDDED_BUNDLE. (#4433 by @brentvatne) - [build-tools] Save manual iOS and Android live preview screenshots as session artifacts when supported by the preview server. (#4481 by @vonovak)
- [build-tools] Add the
eas/install_mitmproxystep. (#4307 by @gwdp) - [build-tools] Start serve-sim with
--network-capture, and with--network-capture-fieldfor each requested field, when a simulator session requests network capture. (#4307 by @gwdp) - [eas-cli] Allow workflow submissions to skip loading app config when project and application identifiers are supplied. (#4471 by @sjchmiela)
- [build-tools] Record Android device sessions and upload the screen recording, including the partial recording a killed Device Hub leaves behind. (#4418 by @vonovak)
- [build-tools] Add start and collect steps that attach bounded simulator logs from serve-sim to device run sessions. (#4463 by @sjkim-expo)
- [build-tools] Add
eas/start_agent_device_session, one step for agent-device sessions that boots the device, downloads, installs and launches the app, and starts the session, with the independent parts in parallel. (#4491 by @szdziedzic) - [eas-build-job] Add
sentryworkflow interpolation context schema for Sentry-triggered workflow runs. (#4453 by @sswrk)
🐛 Bug fixes
- [eas-cli] Stop
eas update:rollbackfrom always forcing non-interactive mode. (#4504 by @gwdp) - [build-tools] Pass the step cancellation signal to
eas/download_build. (#4511 by @sjchmiela) - [build-tools] Accept
nullfor the TestFlight grouphasAccessToAllBuildsattribute from App Store Connect. (#4528 by @sswrk) - [eas-cli] Support
queuedandstartingstatus filters ineas simulator:listand keep simulator commands compatible with the current GraphQL schema. (#4527 by @sjchmiela) - [build-tools] Explain how to resolve missing or expired Apple agreements when App Store Connect rejects a request. (#4513 by @sjchmiela)
- [eas-cli] Correct the
eas simulator:start --max-duration-minuteshelp text: every plan can set a custom duration up to the plan's maximum, which is also the default. (#4524 by @brentvatne) - [eas-cli] Fix
eas workflow:validatecrashing with certain workflow schemas, and exit with a non-zero code when validation fails. (#4507 by @yuvalgnessin-qz) - [build-tools] Reuse App Store Connect tokens and refresh them before expiry so long uploads and processing waits remain authenticated. (#4497 by @sjchmiela)
- [build-tools] Clear old Maestro CLI HTML reports before each test attempt so retries cannot upload an earlier report. (#4409 by @sjchmiela)
- [build-tools] Poll the web preview readiness every 250 ms instead of every second, so a session goes live sooner after its host is ready. (#4496 by @gwdp)
- [eas-cli] Keep the
eas simulatorsession spinner on one line, so resizing the terminal no longer leaves copies of it behind. Theeas simulator:stopcommand is now printed once before the spinner starts. (#4488 by @szdziedzic) - [build-tools] Disable agent-device's internal idle timeouts in remote sessions, so only the session's own idle and duration limits end it. (#4485 by @szdziedzic)
- [eas-cli] Keep
eas simulator:events --followrunning while a session is queued or starting. (#4506 by @sjkim-expo)