EAS CLI
Mon
Wed
Fri
AugSepOctNovDecJanFebMarAprMayJunJulAug
LessMore
Releases35Avg11/moVersionsv18.10.0 to v21.7.0
Last Checked
11h ago
This is the log of notable changes to EAS CLI and related packages.
--private-key-path is passed without updates.codeSigningCertificate in the resolved app config, instead of ignoring the flag and publishing an unsigned update. (#4161 by @gwdp)eas simulator the canonical command and keep eas simulator:start as an alias. (#4112 by @szdziedzic)eas workflow:validate. (#4064 by @sswrk)eas sim as a shortcut for eas simulator commands, e.g. eas sim:list runs eas simulator:list. (#4150 by @szdziedzic)max_idle_time_minutes input on eas/start_argent_remote_session and eas/start_agent_device_remote_session; the step stops the device run session after that many minutes without observed session events. (#4157 by @szdziedzic)eas simulator:availability includes the link (and a waitlistUrl field in --json), and eas simulator now fails early with the same message instead of a generic permission error. (#4151 by @szdziedzic)agent-device version for remote sessions" now that agent-device 0.20.5 fixes the broken release. (#4144 by @gwdp)eas submit:list, eas submit:view, eas submit:retry, eas submit:cancel, and eas submit:status commands; list and view include the runtime version and fingerprint of the submitted build, and status shows the live App Store version and TestFlight build states cross-referenced with EAS submissions (Google Play app status is not available through EAS yet). (#4134 by @brentvatne)ssh field on build/job payloads. (#4083 by @gwdp)SSH_SESSION build phase for upcoming worker SSH support. (#4029 by @gwdp)ref input to the eas/checkout step to check out a different git ref (branch, tag, or commit SHA) than the one that triggered the job. (#4035 by @sswrk)uses:. (#3930 by @sswrk)eas workflow:validate, checking that the YAML files exist and are well-formed. (#3931 by @sswrk)/metrics to a file and upload it as a device run session artifact at teardown. (#3995 by @gwdp)--name filter to eas simulator:list. (#4118 by @szdziedzic)eas simulator:start is canceled before the session is ready. (#4113 by @sjchmiela)agent-device version for remote sessions instead of installing latest. (#4142 by @gwdp)eas submit:cancel and eas submit:retry, so a missing submission ID fails fast without network requests. (#4141 by @brentvatne)@expo/serve-sim package under EAS-owned supervision. (#4114 by @szdziedzic)eas simulator:events command. (#4001 by @szdziedzic)--name to eas simulator:start and show simulator session names in eas simulator:get and eas simulator:list. (#4099 by @szdziedzic)agent-device via npx in EAS Simulator session instructions. (#4070 by @szdziedzic)@posthog/react-native-plugin instead of the deprecated posthog-react-native-session-replay package when connecting the PostHog integration. (#4102 by @metehandemir)eas project:icon:set to upload a project icon from the command line. (#4068 by @brentvatne)--account flag to eas init to choose the account that should own the project, enabling non-interactive project creation (eas init --account <name> --non-interactive), and improve unconfigured-project error messages to list the accounts you can create projects in. (#4057 by @williamgrosset)--json flag to eas init to print the linked project (status, project ID, owner, slug, dashboard URL) as JSON to stdout, and add usage examples to eas init --help. (#4079 by @brentvatne)eas testflight:feedback and eas testflight:crashes to read TestFlight tester feedback (comments, device info, screenshot URLs) and crash reports (including full crash logs) from App Store Connect. Both support --offset/--limit pagination, --json, and looking up a single submission by ID or by the App Store Connect URL that EAS workflow triggers expose as ${{ app_store_connect.beta_feedback.url }}. (#4084 by @brentvatne)eas simulator:availability to check whether EAS Simulator is enabled for the current project account. (#4045 by @gwdp)eas simulator:start when --platform is omitted, instead of erroring out. (#4043 by @szdziedzic)app_store_connect.build_upload workflow interpolation context with optional cf_bundle_short_version_string, platform, uploaded_date, and created_date. (#4037 by @sswrk)eas simulator as a shorthand for eas simulator:start. (#4053 by @szdziedzic)eas update failing with a server error when run inside an EAS Build. (#4048 by @gwdp)eas build, eas submit, and eas update, instead of silently defaulting to the personal account. (#4054 by @williamgrosset)eas build:inspect copies inspect output, avoiding leftover disk usage after failed builds. (#3981 by @szdziedzic)tmp to 0.2.7 to resolve Dependabot alert 423. (#3965 by @szdziedzic)ws to patched releases to resolve Dependabot alert 462. (#3963 by @szdziedzic)lodash and lodash-es to 4.18.1 across workspaces and upgrade GraphQL Code Generator to remove the remaining vulnerable transitive copy for Dependabot alert 354. (#4009 by @sjchmiela)sigstore to 4.1.1 to resolve Dependabot alert 475. (#3961 by @szdziedzic)axios to patched releases to resolve Dependabot alert 439. (#3964 by @szdziedzic)handlebars to 4.7.9 to resolve Dependabot alert 334. (#3958 by @szdziedzic)eas project:delete command to delete a project — the current directory's project by default, or any project passed as an argument (@account/slug or ID). Confirmation requires the project's full name, typed at the interactive prompt or passed via --dangerously-confirm-deletion (required in non-interactive mode). Deletion requires sudo mode: the command prompts for your password (and OTP) to upgrade the session when the server requires it. Deletion was previously only possible from the website. (#4012 by @brentvatne)eas browse to open the project page on expo.dev in a web browser, with an optional page argument (e.g. eas browse build, eas browse hosting) for project subpages and a --no-browser flag to print the URL. eas open is now an alias of eas browse. (#4003 by @jonsamp)--dev-domain flag to eas deploy to choose the project's preview URL (<name>.expo.app) without prompting, allowing first-time deploys with --non-interactive. (#4004 by @brentvatne)-p as an alias for --platform in eas simulator:start. (#3902 by @brentvatne)tar to 7.5.19. (#3971 by @szdziedzic)eas onboarding command (aliases init:onboarding, project:onboarding). (#3993 by @byronkarlen)eas env:set, which creates or updates an environment variable in one command. eas env:create and eas env:update are now deprecated. (#4002 by @jonsamp)eas workflow:create: add a --template flag, generate a placeholder workflow when a file name is passed, use shorter default file names (build.yml, update.yml, deploy.yml), configure EAS Build and EAS Update automatically when the chosen template requires them, set default app identifiers without prompting for the development build and deploy templates, install expo-dev-client during development build setup, and tighten the generated comments and next steps. (#3943 by @jonsamp)eas integrations:posthog:dashboard now opens PostHog via a signed-in link, skipping the login prompt. (#3975 by @gwdp)eas/posthog_capture_event workflow function to send PostHog events from workflow runs. (#3934 by @gwdp)eas/posthog_flag_rollout workflow function to update PostHog feature flags from workflow runs. (#3944 by @gwdp)eas/posthog_wait_for_metric workflow function to gate workflow runs on a PostHog metric. (#3945 by @gwdp)eas/posthog_upload_sourcemaps workflow function to upload source maps to PostHog. (#3947 by @gwdp)eas/posthog_annotation workflow function to create PostHog annotations from workflow runs. (#3948 by @gwdp)eas/posthog_wait_for_query workflow function to gate workflow runs on a PostHog query. (#3949 by @gwdp)eas update, instead of failing the update. (#3918 by @gwdp)@xmldom/xmldom 0.8.13 without a root resolution, addressing Dependabot alert 372. (#4010 by @sjchmiela)glob 10.x to a patched version in the root lockfile. (#3979 by @szdziedzic)jws to a patched version in the root lockfile. (#3978 by @szdziedzic)koa to 3.1.2. (#3974 by @szdziedzic)cross-spawn to a patched version in the TypeScript custom function fixture. (#3977 by @szdziedzic)node-forge to 1.4.0. (#3970 by @szdziedzic)fast-xml-builder to 1.2.1 to resolve Dependabot alert 400. (#3966 by @szdziedzic)form-data to patched releases to resolve Dependabot alert 465. (#3962 by @szdziedzic)fast-xml-parser to 4.5.7 to resolve Dependabot alert 286. (#3960 by @szdziedzic)shell-quote to 1.9.0 to resolve Dependabot alert 440. (#3959 by @szdziedzic)@expo/apple-utils to 2.1.22. (#3913 by @sjchmiela)eas integrations:posthog:connect now supports existing PostHog user connection. (#3895 by @gwdp)observe:session for inspecting events by session ID. (#3868 by @douglowder)eas update --channel failing with "Channel has no branches associated with it" when the channel was auto-created by a build. A branch with the channel's name is now created and linked, matching the behavior for a channel that doesn't exist yet. (#3891 by @gwdp)eas account:audit [ACCOUNT_NAME] command to view an account's audit logs. (#3863 by @keith-kurak)eas update:view [GROUP_ID] now also accepts a platform-specific update ID, resolving it to and displaying its update group. (#3864 by @keith-kurak)eas integrations:posthog:connect command. (#3836 by @gwdp)eas integrations:posthog:dashboard command. (#3837 by @gwdp)eas integrations:posthog:disconnect command. (#3838 by @gwdp)eas integrations:posthog:connect no longer aborts when npx expo install reports an error (for example, on a dynamic app config); it finishes writing the environment variables and prints any remaining manual steps. (#3877 by @gwdp)expo/llm-configs before publishing. (#3865 by @davidmokos)EXPO_ASC_* environment variables or an interactive Apple login. (#3805 by @sswrk)eas update:rollback [GROUP_ID]. The given update group must be the latest for its branch and runtime version; the previous update group is republished, or a roll back to the embedded update is published if there is none. (#3825 by @quinlanj)update:embedded topic showing the update:embedded:delete subcommand description in the command listing. (#3866 by @jc-expo)eas update:embedded:view command. (#3810 by @gwdp)eas update:embedded:list command. (#3811 by @gwdp)eas update:embedded:delete command. (#3809 by @gwdp)EAS_UPDATE_EXPERIMENTAL_UPLOAD_EMBEDDED_BUNDLE is set. (#3767 by @gwdp)observe:logs → observe:events (events emitted via logEvent), previous observe:events → observe:metrics (individual performance metric samples), previous observe:metrics → observe:metrics-summary (aggregated stats by app version). (#3778 by @kadikraman)eas go now prompts to select an Expo SDK version interactively when --sdk-version is not provided. (#3768 by @gwdp)eas update:embedded:upload command. (#3720 by @gwdp)eas/start_ios_simulator hanging on Xcode 26.4 by writing the readiness screenshot to a temp file instead of /dev/null. (#3794 by @gwdp)apsd in the iOS Simulator after boot to stop a push-registration log storm that pegs diagnosticd CPU for the lifetime of the Simulator. (#3795 by @gwdp)--refresh-ad-hoc-provisioning-profile flag to refresh managed ad-hoc provisioning profiles from App Store Connect before gathering build credentials in non-interactive mode. (#3716 by @sswrk)refreshAdHocProvisioningProfile field to iOS build jobs. (#3717 by @sswrk)refreshAdHocProvisioningProfile through eas build:internal for git-based integration builds. (#3770 by @sswrk)eas go now pre-selects the SDK version from the current project's app.json or app.config.js when available. (#3776 by @gwdp)eas login. Use --no-browser for CLI-based login. (#3746 by @byronkarlen)observe:routes to filter results to specific route names. (#3744 by @douglowder)expo package version in build metadata. (#3725 by @sjchmiela)npx invocations that can be unreliable and fail when retrieving entitlements or project configs (#3282 by @kitten)observe:routes for navigation metrics. (#3730 by @douglowder)eas go to use server-side project setup and support multiple Expo Go SDK versions. (#3657 by @gwdp)pull_request_target usage, pin all external actions to commit SHAs, and add Dependabot to refresh them. (#3718 by @brentvatne)--simulator to eas build:dev and eas build:run to select which iOS simulator to install and run builds on. (#3637 by @mmichels-brex)eas integrations:convex commands to manage Convex integrations for EAS projects. (#3575 by @fiberjw)observe:logs for custom events. (#3638 by @douglowder)builderEnvironment.image override in eas build:resign. (#3661 by @hSATAC)eas update --json intermittently failing with JSON parse errors during "Computing project fingerprints" by passing silent: true to @expo/fingerprint to suppress subprocess stdout pollution. (#3659 by @Mookiies)eas integrations:asc commands to manage App Store Connect integrations for EAS projects. (#3558 by @sswrk)eas build:download to accept a build ID. (#3655 by @douglowder)--id alias for --build-id flag in eas build:download. (#3656 by @brentvatne)${{ }} expressions on the same line (for example a changelog built from two context values). (#3644 by @gwdp)observe:events results. (#3620 by @douglowder)eas/deploy function for EAS Hosting web deployments. (#3598 by @gwdp)eas/export function for Expo web exports. (#3598 by @gwdp)eas update:insights <groupId> command to display launch, crash, unique-user, and payload-size metrics for an update group. (#3614 by @kadikraman)--insights flag to eas update:view <groupId> to append the same metrics below the existing output. (#3614 by @kadikraman)eas channel:insights --channel <name> --runtime-version <version> command to display adoption and crash metrics for a channel + runtime version. (#3614 by @kadikraman)