NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3720 most downloaded on npm
The Expo CLI
Last release today
21 Sep 2026
Ships on a steady schedule
a new release about every 9 days
Some releases are documented
notes for 25 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
517 releases · first in 2022
One column per quarter.
Add support for bun as a package manager. (#24344 by @EvanBacon)
Add missing router type, and canGoBack when typed routes are enabled. Preserve deprecation comment for useSearchParams hook. (#23636 by @EvanBacon)
--platform flags in expo export. (#23621 by @byCedric)preferNativePlatform to false for all web requests. (#23527 by @EvanBacon)router type, and canGoBack when typed routes are enabled. Preserve deprecation comment for useSearchParams hook. (#23636 by @EvanBacon).expo/types folder exists during type generation. (#23664 by @marklawlor)@expo/metro-runtime is not installed. (#23675 by @EvanBacon)Fixed JavaScript Inspector does not work on Windows. (#23367 by @kudo)
Fixed opening browser on Windows when debugging or opening Metro web. (#23287 by @byCedric)
_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Fixed JavaScript inspector broken when using Metro web with SSG. (#23197 by @kudo)
_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Add error message for static rendering without Expo Router. (#23170 by @EvanBacon)
web.favicon to Metro web. (#23072 by @EvanBacon)Avoid changing required dependency versions when prebuilding. (#23146 by @byCedric)
Remove invalid none platform from manifest middleware. (#23080 by @EvanBacon)
none platform from manifest middleware. (#23080 by @EvanBacon)semver lib. (#23113 by @felipemillhouse)_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Changed the default dev server port from 19000 to 8081 for Expo Go. (#22880 by @kudo)
-g, --go option to expo start to force using Expo Go by default. (#22925 by @EvanBacon)-d as an alias to --dev-client. (#22925 by @EvanBacon)--dev-client in expo start if --go is not passed and expo-dev-client is in the package.json. (#22926 by @EvanBacon)EXPO_OFFLINE environment variable to disable network requests across the entire CLI. (#22961 by @EvanBacon)Fix metro types. (#22867 by @EvanBacon)
Exclude dependencies from check/fix operations in expo install when set in package.json expo.install.exclude. (#22736 by @keith-kurak)
expo install when set in package.json expo.install.exclude. (#22736 by @keith-kurak)expo prebuild. Arbitrary entry files in development only work when using expo-dev-client or .expo/.virtual-metro-entry (SDK +49). (#22044 by @EvanBacon)metro.config.js copy step in expo prebuild in favor of expo export:embed and the new Xcode start script using Expo CLI--this only works when using Expo CLI for all bundling (SDK +49). (#22045 by @EvanBacon)react and react-native dependencies during expo prebuild. (#22624 by @byCedric)EXPO_USE_TYPED_ROUTES with experiments.typedRoutes in the app.json. (#22848 by @EvanBacon)npx expo add as an alias to npx expo install. (#22510 by @EvanBacon)--reset-cache flag to expo start and expo export for interop with the Metro docs. (#22589 by @EvanBacon)--no-minify flag to npx expo export to prevent minifying output JavaScript. (#22544 by @EvanBacon)o option by default in Terminal UI. (#22738 by @EvanBacon)lazy query parameter for Metro requests and EXPO_NO_METRO_LAZY to disable the feature. (#22724 by @EvanBacon)src/app directory in Expo Router. (#22748 by @EvanBacon)useSegment (#22629 by @marklawlor)fetch from node-fetch to support older Node.js versions. (#22480 by @EvanBacon)package.json files as private. (#22417 by @EvanBacon)Set NODE_ENV and BABEL_ENV environment variables to development or production in start, export, customize, install, run:ios, run:android, config, preb
NODE_ENV and BABEL_ENV environment variables to development or production in start, export, customize, install, run:ios, run:android, config, prebuild commands based on the input mode. (#21337 by @EvanBacon).hbc extension. (#22098 by @EvanBacon)expo export:embed command to replace npx react-native bundle in production builds. (#21396 by @EvanBacon)expo start. (#21475 by @EvanBacon)compilerOptions.baseUrl from tsconfig.json and jsconfig.json files to Metro. (#21262 by @EvanBacon)compilerOptions.paths aliases from tsconfig.json and jsconfig.json files to Metro. (#21262 by @EvanBacon)expo run:ios. (#21240 by @EvanBacon)expo export:embed. (#21644 by @EvanBacon)EXPO_PUBLIC_ prefix. (#21983 by @EvanBacon).env files. (#21983 by @EvanBacon)expo export. (#21941 by @EvanBacon)--template flag on Windows for local tarballs. (#22232 by @byCedric)EXPO_USE_PATH_ALIASES to expo.experiments.tsconfigPaths. (#21897 by @EvanBacon)@expo/metro-config when local version isn't available (affects testing locally). (#21643 by @EvanBacon)metro.config.js template file to match new template. (#21898 by @EvanBacon)Nothing published for this version
Nothing published for this version
_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Added experimental react-devtools integration. (#21462 by @kudo)
Page.reload CDP message. (#21827 by @byCedric)Debugger.getScriptSource CDP messages when using lan or tunnel. (#21825 by @byCedric)_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Implement new package manager API in CLI. (#19343 by @byCedric)
EXPO_USE_METRO_WORKSPACE_ROOT to enable using the workspace root for serving files. (#21088 by @EvanBacon)tsconfig.json. (#21166 by @EvanBacon)devDependencies when running npx expo install --fix. (#19344 by @byCedric)Add telemetry for experimental Metro config options. (#20885 by @byCedric)
Remove EXPO_NO_DEFAULT_PORT to skip extraneous tunnel port. (#18475 by @EvanBacon)
EXPO_NO_DEFAULT_PORT to skip extraneous tunnel port. (#18475 by @EvanBacon)@expo/json-file, @expo/plist. (#20720 by @EvanBacon)uuid dependency. (#20479 by @LinusU)error.stack for ConfigErrors. (#19248 by @Simek)CI=true, and log when disabled. (#20939 by @byCedric)Nothing published for this version
Upgrade @expo/code-signing-certificates dependency. (#20078 by @wschurman)
_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Fix Hermes debugger TypeError: Only HTTP(S) protocols are supported error when starting server with --dev-client parameter. (#19919 by @kudo)
Fix Expo Go download loading bar. (#19817 by @EvanBacon)
Display the debug option more prominently in the UI. (#19793 by @EvanBacon)
metadata.json file path absolutely for npx expo export. (#19802 by @EvanBacon)_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Revert #18381 (custom entry support).
-p to npx expo export. (#19715 by @EvanBacon)Found multiple AppDelegate file paths warnings when using CLI commands with a multi-target iOS app. (#18890 by @EvanBacon)Don't print source map size in npx expo export when the source maps are not written. (#19710 by @EvanBacon)
npx expo export when the source maps are not written. (#19710 by @EvanBacon)Drop support for copying index.js and removing main field in package.json during expo prebuild in favor of native build scripts which resolve the user
index.js and removing main field in package.json during expo prebuild in favor of native build scripts which resolve the user-defined entry file. (#18381 by @EvanBacon)npx expo start --tunnel). (#19593 by @EvanBacon)package.json main fields as Expo Webpack. Behavior can be disabled with EXPO_METRO_NO_MAIN_FIELD_OVERRIDE. (#19529 by @EvanBacon)expo start. (#18428 by @EvanBacon)UNAUTHORIZED_ERROR to UNAUTHORIZED to handle unauthorized errors. (#18751 by @EvanBacon)app.json. (#19312 by @esamelson)npx expo install. (#19396 by @bycedric)--dev-client. (#19319 by @jonsamp)react-native. (#19234 by @EvanBacon)prebuild e2e tests. (#18612 by @EvanBacon)Nothing published for this version
Handle all development session errors. (#18499 by @EvanBacon)
npx expo start. (#19038 by @EvanBacon)_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Added middleware for creating files. (#19231 by @EvanBacon)
require.context by default. (#19257 by @EvanBacon)app.json when launching redirect page. (#19260 by @brentvatne)Resolve bundle identifier from app.json correctly when using npx expo start --dev-client --ios with no local ios directory. (#18747 by @EvanBacon)
app.json correctly when using npx expo start --dev-client --ios with no local ios directory. (#18747 by @EvanBacon)_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Nothing published for this version
_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Add EXPO_NO_DEFAULT_PORT to skip proxy port. (#18464 by @EvanBacon)
EXPO_NO_DEFAULT_PORT to skip proxy port. (#18464 by @EvanBacon)expo start processes. (#18451 by @EvanBacon)Add telemetry event tracking a command run. (#17948 by @EvanBacon)
expo build:web recommends running expo export:web in the migration warning. (#18312 by @EvanBacon)_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Add mock --non-interactive flag to hide eas update errors. (#18299 by @EvanBacon)
--non-interactive flag to hide eas update errors. (#18299 by @EvanBacon)Add EXPO_EDITOR environment variable for overriding the EDITOR variable. This is used in the expo start Terminal UI when pressing o. (#18285 by @EvanB
EXPO_EDITOR environment variable for overriding the EDITOR variable. This is used in the expo start Terminal UI when pressing o. (#18285 by @EvanBacon)_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Drop hardcoded web package versions in prerequisite. (#18172 by @EvanBacon)
Change expo to expo-internal (DO NOT USE) for @expo/cli. (#17468 by @EvanBacon)
expo to expo-internal (DO NOT USE) for @expo/cli. (#17468 by @EvanBacon)--pnpm option to install command. (#17366 by @EvanBacon)export:web command. (#17363 by @EvanBacon)--clear flag when the babel.config.js file changes during expo start. (#17560 by @EvanBacon)DEBUG when EXPO_DEBUG is enabled. (#17856 by @EvanBacon)expo export. (#17992 by @EvanBacon)emulator process on exit. (#17273 by @EvanBacon)--platform flag to export command. (#17338 by @EvanBacon)export bug failing when no assets are included. (#17414 by @EvanBacon)expo-splash-screen) and drop incorrect required packages (react-native-unimodules, expo-updates) in prebuild. (#17447 by @EvanBacon)--experimental-bundle flag to expo export. (#17886 by @EvanBacon)@expo/xcpretty to link to the troubleshooting guide. (#17576 by @EvanBacon)nxp expo install for recommended missing dependency check. (#17665 by @EvanBacon)@expo/xcpretty with support for react-native@0.69 build errors. (#17986 by @EvanBacon)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
add missing pretty-bytes dependency. (#17235 by @EvanBacon)
pretty-bytes dependency. (#17235 by @EvanBacon)_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Unify help prompts. (#17223 by @EvanBacon)
expo run:android command. (#17187 by @EvanBacon)react-native@0.68 dev server API. (#17189 by @EvanBacon)fs-extra to 8.1.0. (#17234 by @EvanBacon)Your coding agent can read these notes before it upgrades. Set up the MCP server →