EAS CLI
$
npx @buildinternet/releases get eas-cliMon
Wed
Fri
OctNovDecJanFebMarAprMayJunJulAugSepOct
LessMore
Releases38Avg13/moVersionsv21.0.0 to v24.12.1
Last Checked
5h ago
npx @buildinternet/releases get eas-cliThis is the log of notable changes to EAS CLI and related packages.
channel:protect and channel:unprotect descriptions to include Release Managers and Owners, not only admins. (#4616 by @byronkarlen)eas/start_argent_remote_session. (#4574 by @szdziedzic)eas/run_agent, a step that runs Claude Code for an agent run and connects it to the Expo MCP server. (#4552 by @hSATAC)eas/run_agent. (#4553 by @hSATAC)eas/run_agent job log as plain lines instead of raw JSON events. (#4568 by @hSATAC)eas workflow:insights. (#4566 by @hSATAC)eas/download_submission_archive to request a fresh archive URL when the step runs. (#4539 by @sjchmiela)uploadArtifact command to the sandbox daemon protocol. (#4562 by @AHGIJMKLKKZNPJKQR)eas credentials. (#4588 by @sswrk)eas simulator create. (#4522 by @sjkim-expo)eas workflow:ssh handling of missing builds IDs. (#4529 by @AHGIJMKLKKZNPJKQR)eas/build. (#4494 by @gwdp)eas/upload_embedded_bundle step for custom build configs. (#4494 by @gwdp)assetMapUrl and sourceMapUrl in the eas update:view --json output. Each value is a signed download URL, or null when the update was published without that file. (#4534 by @douglowder)eas simulator session request is sent, cancelled, or fails before the server answers. (#4483 by @sjkim-expo)eas/start_agent_device_remote_session step; agent-device sessions use eas/start_agent_device_session. (#4518 by @szdziedzic)eas-cli as the request origin, and the coding agent when one is detected, when eas simulator creates a session, for analytics. (#4523 by @sjkim-expo)--network-capture to eas simulator to record HTTP(S) traffic from apps on the device, and --network-capture-field to also keep headers, query values, or request and response bodies. (#4308 by @gwdp)--force-end-active-rollout to eas update, eas update:republish, eas update:roll-back-to-embedded and eas update:rollback. (#4233 by @gwdp)eas simulator:start --platform android --egress local. On Android, --egress-allow localhost:<port> also covers 10.0.2.2:<port>, and refused destinations are shown as warnings. (#4519 by @brentvatne)eas/start_local_egress on 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)--upload-source-maps to eas update, which uploads the generated source maps to EAS so that stack traces from an update can be symbolicated. Source maps are stripped of sourcesContent before upload. (#4436 by @douglowder)EAS_UPDATE_UPLOAD_EMBEDDED_BUNDLE to 0 to disable it. On SDK 57 and below the feature remains experimental and opt-in via EAS_UPDATE_EXPERIMENTAL_UPLOAD_EMBEDDED_BUNDLE. (#4433 by @brentvatne)eas/install_mitmproxy step. (#4307 by @gwdp)--network-capture, and with --network-capture-field for each requested field, when a simulator session requests network capture. (#4307 by @gwdp)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)sentry workflow interpolation context schema for Sentry-triggered workflow runs. (#4453 by @sswrk)eas update:rollback from always forcing non-interactive mode. (#4504 by @gwdp)eas/download_build. (#4511 by @sjchmiela)null for the TestFlight group hasAccessToAllBuilds attribute from App Store Connect. (#4528 by @sswrk)queued and starting status filters in eas simulator:list and keep simulator commands compatible with the current GraphQL schema. (#4527 by @sjchmiela)eas simulator:start --max-duration-minutes help text: every plan can set a custom duration up to the plan's maximum, which is also the default. (#4524 by @brentvatne)eas workflow:validate crashing with certain workflow schemas, and exit with a non-zero code when validation fails. (#4507 by @yuvalgnessin-qz)eas simulator session spinner on one line, so resizing the terminal no longer leaves copies of it behind. The eas simulator:stop command is now printed once before the spinner starts. (#4488 by @szdziedzic)eas simulator:events --follow running while a session is queued or starting. (#4506 by @sjkim-expo)--build-fingerprint to eas simulator to install the newest build with a given fingerprint. (#4472 by @tchayen)workflow:ssh <id>. (#4452 by @AHGIJMKLKKZNPJKQR)eas simulator:* commands visible in help output. (#4456 by @szdziedzic)eas/update_testflight_metadata to set changelogs and TestFlight groups for an uploaded build with an App Store Connect API key. The step fails if a requested group does not exist. (#4475 by @sjchmiela)--share-url when launching serve-sim so Share copies the expo.dev preview page instead of the tunnel URL. (#4434 by @gwdp)eas integrations:supabase:advisors to list unresolved Supabase Security and Performance Advisor findings for the linked Supabase project. (#4342 by @fiberjw)launch_app_identifier, launch_args, and open_url inputs to the serve-sim, agent-device, argent, and Appium remote sessions, so serve-sim launches an installed app before the stream starts. The inputs are iOS only, and Android sessions keep using eas/launch_application. (#4324 by @gwdp)eas simulator only once in eas --help. The sim shorthand is now a hidden alias, so it still runs but no longer duplicates the entry. (#4457 by @krystofwoldrich)ARGENT_EMULATOR_NO_WINDOW=1, so Argent can boot the Android emulator again after it stops. Without it, the windowed emulator fails on the Linux image because libpulse.so.0 is missing. (#4465 by @gwdp)eas account:view printing Role: undefined for the new Release Manager role. (#4300 by @byronkarlen)eas simulator:list --type web-preview-only, and list web-preview-only only once in the --type options. (#4466 by @szdziedzic)CLAUDE.md in new apps; use AGENTS.md for agent instructions. (#4446 by @davidmokos)typescript to 6.0.3, ts-jest to 29.4.12, @types/node to 20.19.43, gql.tada to 1.11.3, and https-proxy-agent to 7.0.6. (#4400 by @wschurman)webPreviewUrl and webPreviewToken in addition to the legacy serve-sim keys. (#4467 by @szdziedzic)previewApiUrl. (#4353 by @gwdp)eas simulator:start and eas simulator:get now report the expo.dev preview page instead of the raw tunnel URL, in both the printed instructions and --json. (#4352 by @gwdp)EAS_OVERRIDE_PACKAGE_MANAGER and EAS_FALLBACK_PACKAGE_MANAGER when installing and launching simulator packages (serve-sim, device-hub, Argent, agent-device, Appium) so they can use bun instead of stalling on npm audit. (#4343 by @gwdp)eas build --wait. (#4303 by @AHGIJMKLKKZNPJKQR)firstSeenAt and lastSeenAt event-name fields. (#4379 by @wschurman)build:dev, build:run, and run for iOS simulator builds. (#4405 by @brentvatne)@expo/apple-utils to 2.2.1. (#4404 by @brentvatne)^20.18.3 || >=22.0.0. (#4279 by @ramonclaudio)--egress local sessions that refuses connections which bypass the system proxy and reports them, with the calling frameworks, in the session log. (#4393 by @brentvatne)--egress local sessions, so clients that read them (gRPC, libcurl) also exit from the egress client. (#4390 by @brentvatne)eas workflow:insights to display Workflows Insights for a time range: run counts and success rate compared with the previous period, runs over time, and a per-workflow breakdown, with --json output for scripts. (#4367 by @hSATAC)eas workflow:insights:maestro to display Maestro test insights for a time range: pass and flake rates, a sortable per-flow table, and a single flow's history with error patterns and recent runs, with --json output for scripts. (#4370 by @hSATAC)--end without --start in the observe:*, update:insights, channel:insights, and update:view --insights commands instead of silently falling back to the default time range. (#4367 by @hSATAC)observe:*, update:insights, channel:insights, update:view --insights, and workflow:insights commands instead of sending it to the server. (#4367 by @hSATAC)--limit and --offset instead of sending them to the server. (#4367 by @hSATAC)eas simulator:start and stop mentioning eas simulator:egress in interactive mode, where the client runs in the same terminal. (#4383 by @brentvatne)eas simulator:start --egress local users to run eas simulator:egress when the egress client already runs in the same terminal. (#4382 by @brentvatne)--egress-allow <host:port> to eas simulator:start so local egress sessions can reach dev servers on this machine or its network. (#4369 by @brentvatne)--egress-allow localhost:<port> and 127.0.0.1:<port> entries from the simulator host's loopback interface to this machine (like adb reverse), so dev server URLs that use 127.0.0.1 work through local egress. (#4369 by @brentvatne)eas/start_local_egress step for iOS simulator sessions with local egress: the device host's system proxy points at a reverse tunnel to the EAS CLI machine, so HTTP(S) requests that honor it exit from that machine and third parties see its IP. (#4364 by @brentvatne)--egress local to eas simulator:start and the eas simulator:egress command, which run the local egress client for the session. (#4364 by @brentvatne)appVersion runtime policy warning that referenced SDK 46 and expo-updates 0.14.4. (#4375 by @brentvatne)eas observe:* commands with the renamed Observe GraphQL schema. --json output now uses name/value instead of metricName/metricValue (metrics) and name instead of eventName (log events and event-name summaries), and eas observe:events now lists user-defined events only — exceptions moved to the new eas observe:errors. (#4338 by @douglowder)lcd_width, lcd_height, and lcd_density inputs to configure the Android emulator display. (#4349 by @krystofwoldrich-agent)eas channel:protect and eas channel:unprotect to manage EAS Update channel protection, and show protection in channel list and view output. (#4319 by @sjkim-expo)eas observe:errors to display error and exception issue groups (grouped by fingerprint), with --fingerprint <fingerprint> to drill into a group's individual occurrences and stack traces. (#4339 by @douglowder)eas observe:event to display a single Observe event (metric, log, or error) by its ID. (#4252 by @douglowder)bun x so they work when the bunx symlink is missing. (491b372a by @krystofwoldrich)expo-device-hub preview resolution from 1280 px to 960 px to match serve-sim and lower streaming bandwidth. (#4326 by @krystofwoldrich-agent)expo-device-hub in Android device sessions. (#4332 by @krystofwoldrich-agent)--tag to eas simulator and eas simulator:list to group and filter simulator sessions by app variant. (#4318 by @tchayen)expo-device-hub web previews to Android web-preview-only, Agent Device, Argent, and Appium remote sessions. (#4304 by @krystofwoldrich)eas workflow:ssh <workflow-job-id> [command...] to open an ssh session on the worker running a workflow job. (#4032 by @gwdp)--ssh (and --ssh-idle-timeout) to eas workflow:run to enable ssh on the run's VM jobs. (#4033 by @gwdp)eas new and add a --sdk-version flag. The template now downloads from npm instead of GitHub to support SDK-specific versions. (#4301 by @brentvatne)eas new: remove the template LICENSE file and reset the package.json name, version, and license fields. (#4301 by @brentvatne)EAS_PNPM_FILTER_WORKSPACE to install only the selected workspace's dependencies with pnpm install --filter. (#4302 by @robingullo)bunyan with @expo/bunyan while preserving the Steps formatter binary. (#4284 by @brentvatne)lodash.get with a local helper. (#4283 by @brentvatne)uuid to v11 and remove the redundant @types/uuid dependency. (#4282 by @brentvatne)minizlib to 3.1.0 to drop its deprecated rimraf@5 transitive dependency. (#4281 by @brentvatne)--type serve-sim to --type web-preview-only. (#4298 by @szdziedzic)EAS_BUN_FILTER_WORKSPACE to install only the selected workspace's dependencies with bun install --filter. (#4292 by @konrad-armatys)eas project:status (alias eas status) command that prints a snapshot of the project's recent builds, development builds, workflow runs, submissions, and updates, with agent-friendly JSON metadata, activity links, structured errors, submission-to-build correlation, and --non-interactive support. (#4006 by @jonsamp)--max-idle-time-minutes flag to eas simulator; the session stops automatically after that many minutes without activity. (#4156 by @szdziedzic)--resource-class flag to eas simulator. (#4268 by @gwdp)--launch-arg, --open-url, and Expo Go --sdk-version options to eas simulator. (#4264 by @szdziedzic)eas billing:subscribe <plan> to start a Stripe checkout for an EAS plan, and eas billing:manage to open the Stripe customer portal. (#4007 by @jonsamp)