- Add source map outputs when exporting API route bundles. (#27913 by @kitten)
- Add experimental support for using a canary build of the React Native renderer. (#27303 by @EvanBacon)
- Add basic
react-server
support. (#27264 by @EvanBacon) - Add warnings when URI schemes cannot be resolved for dev client launches. (#27241 by @EvanBacon)
- Add total files bundled to the bundling finished message. (#27215 by @EvanBacon)
- Add better API Route error messages. (#27024 by @EvanBacon)
- Prevent bundling production react modules in development. (#27041 by @EvanBacon)
- Added building only for connected CPU architectures on Android when using the new architecture. (#26800 by @alanjhughes)
- Fix resolver race condition with new internal virtual modules patch in Metro. (#28061 by @EvanBacon)
- Add missing nested Node.js externals. (#28092 by @EvanBacon)
- Fix issue with fast resolver. (#27686 by @EvanBacon)
- Fix using array syntax
(a,b)
with server output. (#27462 by @EvanBacon) - Prevent
console.log
statements from colliding with Metro logs. (#27217 by @EvanBacon) - Fix using dev server URL in development. (#27213 by @EvanBacon)
- Always reset production bundler cache in run command. (#27114 by @EvanBacon)
- Fix expo router src log memo. (#27013 by @EvanBacon)
- Prevent run commands from hanging when the process completes. (#26960 by @EvanBacon)
- Keep typed routes in-sync with current Expo Router version (#26578 by @marklawlor)
- Fix development codesigning certificate validity checks. (#27361 by @wschurman)
- Included groups in Expo Router typed routes generation (#27690 by @marklawlor)
- Filter ADB trace logs when resolving Android devices. (#27473 by @byCedric)
- Use correct script src path when exporting web development builds. (#27946 by @byCedric)
- Change server log tag. (#26834 by @EvanBacon)
- Eagerly perform iOS system checks to speed up iOS simulator launches. (#26746 by @EvanBacon)
- Enable lazy modules with swc when building
@expo/cli
. (#27061 by @byCedric) - Update to remove
ExpoRequest/ExpoResponse
imports from@expo/server
. (#27261 by @kitten) - Update the legacy inspector overrides to new device middleware API. (#27425 by @byCedric)
- Add new telemetry API to replace legacy analytics. (#27787 by @byCedric)
- Skip building and packing
__typetests__
files. (#27089 by @byCedric)
- Filter extra avd info when listing emulators. (#27497 by @gabrieldonadel)
This version does not introduce any user-facing changes.
- Add
--no-bytecode
flag toexpo export
to disable generating Hermes bytecode for use with debugging tools. (#26985 by @EvanBacon)
- Add stack traces for warnings and errors that originate from API routes or server rendering. (#26812 by @EvanBacon)
- Add HTTPS support for using tunnels with ngrok. (#26838 by @gabrieldonadel)
- Mark compressed
.gz
files as binary to avoid corruption when unpacking withexpo prebuild --template
. (#26741 by @shirakaba)
- Filter URL files out of stacks in Node logs. (#26868 by @EvanBacon)
- Add better error when
metro.config.js
does not extendexpo/metro-config
. (#26726 by @EvanBacon)
- Add better validation for Metro web when exporting production bundles. (#26732 by @EvanBacon)
- Fix
tsconfig.json
resolution ofbaseUrl
whenpaths
is not defined. (#26734 by @EvanBacon) - Fix progress bar locking in at
100%
when bundling app. (#26775 by @byCedric)
- [Android] correct drawable types in updates embedded manifest. (#26676 by @douglowder)
- Fix stack traces for Node.js errors. (#26607 by @EvanBacon)
- Fixed crash when launching React DevTools. (#26550 by @kudo)
- Only show "Web is waiting" message after project is initialized with web. (#26694 by @byCedric)
- Improve warning for favicon missing during web export. (#26733 by @EvanBacon)
This version does not introduce any user-facing changes.
- Update
expo customize
to showpublic
instead ofweb
when Metro web is used. (#26473 by @EvanBacon) - Supported extra CORS requests to dev-server from the expo-router's
origin
andheadOrigin
settings. (#26463 by @kudo)
- Default
web.bundler
tometro
if missing and/or@expo/webpack-config
is not installed (#26452 by @marklawlor) - When repeated, later boolean arguments on
export:embed
,run android
, andrun ios
should take precedence (#26471 by @kitten)
- Hide the deprecated
export:web
command from the general help output. (#26480 by @EvanBacon) - Move
@expo/server
to be a dependency ofexpo-router
. (#25937 by @EvanBacon) - Remove classic updates SDK version. (#26061 by @wschurman)
- Added
templateChecksum
for prebuild to check the current template version. (#26414 by @kudo) - Clean up manual package install command (#26457 by @marklawlor)
- Add default user to Android adb install command. (#26388 by @EvanBacon)
- Fix metro asset call in expo-updates embedded manifest creation step. (#26307 by @wschurman)
- Update import for type generation. (#26145 by @EvanBacon)
- Handle locked iOS devices when launching app through devicectl. (#26203 by @byCedric)
- Update
run:ios
build warning formatting for SDK 50. (#25978 by @EvanBacon)
- Add missing
@expo/image-utils
dependency. (#25990 by @byCedric) - Add missing
find-yarn-workspace-root
dependency. (#25991 by @byCedric) - Add missing
lodash.debounce
dependency. (#25990 by @byCedric) - Add missing
@react-native/dev-middleware
dependency. (#26000 by @byCedric) - Warn users if they are using an incorrect
web.output
with API Routes. (#25931 by @marklawlor)
- Invalidate API Route cache whenever any file in the repo changes. (#25936 by @EvanBacon)
This version does not introduce any user-facing changes.
tsconfig.json
attributebaseUrl
will no longer default to enabled whenpaths
are defined. (#25510 by @EvanBacon)tsconfig.json
attributebaseUrl
will now be resolved before node modules instead of after. (#25510 by @EvanBacon)tsconfig.json
attributebaseUrl
will no longer be resolved if a group frompaths
are matched first. (#25510 by @EvanBacon)- Change default CSS reset in template HTML to align with
react-native-web@0.19.8
. (#25429 by @EvanBacon)
- Add bundle splitting to Expo Router for web platforms. (#25627 by @EvanBacon)
- Add custom Expo Router root directory support with full cache invalidation on server reset. (#25658 by @EvanBacon)
- Add filenames to metro logs when finished. (#25575 by @EvanBacon)
- Alias
react-native-vector-icons
to@expo/vector-icons
in the Metro resolver. (#25512 by @EvanBacon) - Ensure invalid production iOS builds fail more predictably. (#25410 by @EvanBacon)
- Add first-class Xcode IDE hints for Metro bundling errors during production iOS builds from Xcode. (#25410 by @EvanBacon)
- Added support for React Native 0.73.0. (#24971, #25453 by @gabrieldonadel)
- Re-implement debugging tools with new React Native JS Inspector. (#25649 by @byCedric)
- Add
expo run
command to select platform to run. (#23514 by @byCedric) - Add
EXPO_USE_UNSTABLE_DEBUGGER
to open new React Native JS Inspector. (#25671 by @byCedric)
- Remove extraneous metro config reads. (#25861 by @EvanBacon)
- Fix common chunks with cyclic dependencies being linked in async routes. (#25831 by @EvanBacon)
- Fix
--max-workers
flag innpx expo export
. (#25710 by @EvanBacon) - Fix test resolver for SDK 50. (#25473 by @EvanBacon)
- Prevent log-spew when running prebuild in debug mode. (#25434 by @EvanBacon)
- Fix @react-native/dev-middleware types for react-native 0.73. (#25513 by @gabrieldonadel)
- Only use
bundledNativeModules.json
for dependencies validation when using canary versions. (#25600 by @byCedric) - Remove the 404 route from typed routes (#24496 by @marklawlor)
- Exclude
+not-found
and*+api
routes from typed routes (#24496 by @marklawlor) - Fix Expo Router typed routes error with external URLs (#25591 by @marklawlor)
- Fix permission issue when user doesn't have permission to view app. (#25650 by @wschurman)
- Export generated expo router type. (#24999 by @hichemfantar)
- Prevent showing log events for source maps in development. (#25830 by @EvanBacon)
- Remove unused Metro
extraNodeModules
augmentation for web resolution in favor of standard aliases. (#25506 by @EvanBacon) - Consolidate logic for resolving Node.js built-in shims in browser environments. (#25511 by @EvanBacon)
- Ensure we disable lazy bundling when exporting. (#25436 by @EvanBacon)
- Split web server output into
server/
andclient/
subfolders when exporting. (#25640 by @kitten) - asMock -> jest.mocked. (#25685 by @wschurman)
- Prevent additional logs from showing in
expo config --json
. (#24192 by @EvanBacon)
npx expo prebuild
will only install Node dependencies if thedependencies
have changed. (#25211 by @EvanBacon)npx expo prebuild
will no longer modifydevDependencies
of thepackage.json
. (#25211 by @EvanBacon)
- Use multi-bundle output serializer for all exports. (#25369 by @EvanBacon)
- Rename
basePath
tobaseUrl
and expose to bundles withprocess.env.EXPO_BASE_URL
. (#25305 by @EvanBacon) - Rename
--dump-sourcemap
to--source-maps
with-s
alias inexpo export
. (#25303 by @EvanBacon) - Bundle static websites +2x faster. (#25312 by @EvanBacon)
- Add package exports, and blocklist support to fast resolver. (#25260 by @EvanBacon)
- Move environment variables production inlining to
babel-preset-expo
to support source maps. (#25239 by @EvanBacon) - Add support for chaining the Metro resolver locally. (#25148 by @EvanBacon)
- Pass engine to transformer for production bundling. (#25175 by @EvanBacon)
- Skip extraneous minification when exporting for hermes engine. (#25132 by @EvanBacon)
- Enable package exports for server bundling. (#24937 by @EvanBacon)
- Include static routes from
generateStaticParams
in server manifest. (#25003 by @EvanBacon) - Added Expo CLI devtools plugins support. (#24650 by @kudo)
- Optionally export only selected assets. (#25065 by @douglowder)
- Added Brave Browser debugger support. (#25109 by @kapobajza)
- Disable bundle splitting on native platforms. (#25366 by @EvanBacon)
- Ensure cache can be cleared with static web exports. (#25335 by @EvanBacon)
- Fix server-rendering errors. (#25247 by @EvanBacon)
- Fix native polyfill import. (#25203 by @EvanBacon)
- Fix API Routes not updating in
src/app
directory. (#24968 by @EvanBacon) - Prevent
npx expo export
andnpx expo export:embed
from hanging with file watchers. (#24952 by @EvanBacon) - Prevent
Runtime.callFunctionOn
messages from Vscode debugger to avoid Hermes crashes. (#25270 by @byCedric) - Handle command input errors better. (#25329 by @byCedric)
- Add E2E Tailwind tests. (#25339 by @EvanBacon)
- Collapse re-export of
react-native/Libraries/Image/AssetRegistry
to@react-native/assets-registry/registry
. (#25265 by @EvanBacon) - Refactor html serializer. (#25304 by @EvanBacon)
- Fix prebuild messages. (#25279 by @EvanBacon)
- Pull in source for Metro asset persisting for iOS and Android. (#25278 by @EvanBacon)
- Add more types. (#25245 by @EvanBacon)
- Unify Metro config functions. (#25257 by @EvanBacon)
- Fix tests running in CI. (#25244 by @EvanBacon)
- Drop support for running arbitrary Metro packages. (#25197 by @EvanBacon)
- Update tests. (#25089 by @EvanBacon)
- Memoize notice log about
src/app
directory to prevent spam. (#25000 by @EvanBacon) - Link to upgrading sdk docs instead of
expo-cli
when theupgrade
subcommand is used. (#25168 by @alanjhughes) - Improve DevTools Plugins API. (#25167 by @kudo)
- Add
expo customize tsconfig.json
command. (#23642 by @marklawlor)
- Enable
tsconfigPaths
by default flag (#24490 by @marklawlor)
- Add
file
to server manifest to support mjs/cjs API Routes. (#24739 by @EvanBacon) - Add new
+not-found
convention for 404s. (#24528 by @EvanBacon) - Automatically optimize transformations based on Hermes usage. (#24672 by @EvanBacon)
- Shim
react-native-web
BackHandler to remove excessive error message. (#24726 by @EvanBacon) npx expo install --check|fix
now checks for and fixes an out-of-dateexpo
package patch release (#24142 by @keith-kurak)
- Fix app directory resolution. (#24738 by @EvanBacon)
- Skip generating Hermes sourcemaps when
--dump-sourcemap
is not provided. (#24689 by @EvanBacon) - Resolve browser shims with mismatched extensions. (#24671 by @EvanBacon)
- Ensure a unique static path is generated for each group during static extraction (#24218 by @marklawlor)
- Fallback to
xcrun devicectl
for iOS 17 to launch the app. (#24635 by @byCedric) - Support installing fixed versions of packages that have an SDK compatible version (apart from React and React Native). (#24642 by @kadikraman)
- Update doc blocks for Expo Router type generation. (#24797 by @EvanBacon)
- Drop warning for tsconfigPaths. (#24686 by @EvanBacon)
- Add tests for
baseUrl
with new resolver. (#24673 by @EvanBacon) - Transpile for Node 18 (LTS). (#24471 by @EvanBacon)
- Improve truncated Metro Node.js errors. (#24546 by @EvanBacon)
- Skip extraneous static HTML export in server mode. (#24529 by @EvanBacon)
- Fully drop support for
expo.entryFile
in theapp.json
. (#24688 by @EvanBacon) - Remove
isCSSEnabled
flag from e2e tests (#24489 by @marklawlor) - Use Metro and web TypeScript types from
expo
instead ofexpo-router
. (#24255 by @marklawlor) - Speed up Metro tests with new resolver. (#24616 by @EvanBacon)
- Skip loading the telemetry client when disabled. (#24841 by @byCedric)
- Fix SPA web mode in Expo Router. (#24472 by @EvanBacon)
This version does not introduce any user-facing changes.
- Drop
/logs
and remove@expo/dev-server
package. (#24272 by @EvanBacon)
- Add experimental API Routes for Expo Router v3. (#24429 by @EvanBacon)
- Support mocking Node.js externals for client-side bundles. (#24453 by @EvanBacon)
- Add additional port check after build to ensure port is still available. (#24315 by @EvanBacon)
- Add support for bun as a package manager. (#24344 by @EvanBacon)
- Upgrade
minipass@3.3.6
to use built-in types. (#24402 by @byCedric) - Pin
tar@6.1.13
to avoidminipass
compatibility issues. (#24402 by @byCedric)
- Move
process.env
polyfill strip toexpo/metro-config
. (#24455 by @EvanBacon) - Refactor e2e tests. (#24385 by @EvanBacon)
- Forward the project root path to
getRuntimeVersionAsync
andgetRuntimeVersionNullableAsync
. (#24126 by @mccraveiro)
- Add support for bun as a package manager. (#24344 by @EvanBacon)
- Add additional port check after build to ensure port is still available. (#24315 by @EvanBacon)
- Bump minimum required Xcode version. (#24205 by @EvanBacon)
- Favor remote versions endpoint over bundled versions for version validation in
expo install
,start
,prebuild
. (#24162 by @EvanBacon) - Remove classic manifest types and classic updates. (#24054, #24066 by @wschurman)
- Add
basePath
support fornpx expo export
. (#23911 by @EvanBacon) - Add source map support with static Metro web exports. (#24213 by @EvanBacon)
- Validate android package name ahead of time. (#24194 by @EvanBacon)
- Improve the Xcode setup instructions. (#24191 by @EvanBacon)
- Add Ngrok status page to ngrok error message. (#24188 by @EvanBacon)
- Support monorepo assets with
npx expo export:embed
. (#24095 by @EvanBacon) - Forward exact Metro server error during static rendering. (#23909 by @EvanBacon)
- Add Server tag when bundling for server environments. (#23987 by @EvanBacon)
- Support importing assets from out of the project root when working in monorepos on web. (#24090 by @EvanBacon)
- Prevent additional logs from showing in
expo config --json
. (#24192 by @EvanBacon) - Patch
react-native-web
for static rendering with Expo Router. (#24093 by @EvanBacon) - Improve file formatting when
EXPO_USE_METRO_WORKSPACE_ROOT
is used. (#23910 by @EvanBacon) - Fix bug preventing non-standard xcode projects from running with
npx expo run:ios
. (#23831 by @EvanBacon) - Fix
EXPO_SKIP_MANIFEST_VALIDATION_TOKEN
usage. (#23890 by @EvanBacon) - Prohibit dev client URLs containing
_
in protocol. (#23519 by @byCedric) - Prevent writing unused bundles with static Metro web. (#24092 by @EvanBacon)
- Add missing dependencies to
@expo/cli
. (#22941 by @byCedric) - Fix webpack dev server reload socket command. (#24208 by @EvanBacon)
- Remove unused
md5-file
library. (#24090 by @EvanBacon) - Remove unused
--generate-static-view-configs
flag fromnpx expo export:embed
. (#24095 by @EvanBacon) - Fix types and CI. (#24051 by @EvanBacon)
- Update Expo Router tests. (#23795 by @EvanBacon)
- The autogenerated TypeScript declarations for Expo Router now use trailing commas in generic type parameter lists, in alignment with Prettier v3 (#23544 by @ide)
- Fix lint. (#23960 by @EvanBacon)
- Enable static router tests. (#23988 by @EvanBacon)
- Reduce Metro bundles during
expo export
for Metro static web. (#23987 by @EvanBacon) - Adjust build message when running prebuild to only output the directories that are actually being created. (#24153 by @alanhughes)
- Extend
Android
package name validation to disallow theJava
keywordnative
. (#24155 by @alanjhughes)
- Drop support for sending
logUrl
in manifests (unimplemented feature fromexpo-cli
). (#18596 by @EvanBacon) - Add support for
.mjs
extensions in Expo Metro. (#23528 by @EvanBacon)
- Always apply custom Metro resolver in Expo CLI. (#23784 by @EvanBacon)
- Fixed typo in connection message when opening React DevTools (#23672 by @frankcalise)
- Add inverse dependency stack to Metro resolution errors. (#23551 by @EvanBacon)
- Fixed opening browser on Windows when debugging or opening Metro web. (#23287 by @byCedric)
- Fixed JavaScript Inspector does not work on Windows. (#23367 by @kudo)
- Fixed route types generation on Windows not working. (#23386 by @gsporto and @marklawlor)
- Added additional guard to prevent invalid route files type generation. (#23694 by @marklawlor)
- Fix Metro externals test. (#23741 by @EvanBacon)
- Add support for SSO users. (#22945 by @lzkb)
- Use node server default port selection for SSO login server. (#23505 by @wschurman)
- Add styling to SSO auth redirect completion page. (#23477 by @wschurman)
- Allow multiple
--platform
flags inexpo export
. (#23621 by @byCedric)
- Rework Expo Router types for HrefObject and SearchParams hooks. (#23507 by @marklawlor)
- Added improved error message for static metro when a package is missing. (#23499 by @EvanBacon)
- Set
preferNativePlatform
tofalse
for all web requests. (#23527 by @EvanBacon) - Fix Expo Router generating types for invalid route files. (#23421 by @marklawlor)
- Add missing
router
type, andcanGoBack
when typed routes are enabled. Preserve deprecation comment foruseSearchParams
hook. (#23636 by @EvanBacon) - Fix running typed routes without an app directory. (#23661 by @EvanBacon)
- Fix Expo Router type generation for filenames with spaces. (#23662 by @marklawlor)
- Fix ensure
.expo/types
folder exists during type generation. (#23664 by @marklawlor) - Disable lazy bundling if
@expo/metro-runtime
is not installed. (#23675 by @EvanBacon)
This version does not introduce any user-facing changes.
- Fixed JavaScript inspector broken when using Metro web with SSG. (#23197 by @kudo)
- Fixed prebuild dependency versions warning to only show when versions do not intersect. (#23232 by @byCedric)
- Disable tsconfig watching in non-interactive shells. (#23276 by @EvanBacon)
- Update E2E tests to expect
.hbc
bundles instead of.js
bundles. (#23241 by @gabrieldonadel) - Disable inspector proxy inline source maps for vscode only. (#23258 by @byCedric)
- Remove inspector proxy source fetching workaround for
metro@<0.75.1
. (#23259 by @byCedric)
This version does not introduce any user-facing changes.
- Add error message for static rendering without Expo Router. (#23170 by @EvanBacon)
- Add support for
web.favicon
to Metro web. (#23072 by @EvanBacon)
- Remove invalid
none
platform from manifest middleware. (#23080 by @EvanBacon)
- Upgrade
semver
lib. (#23113 by @felipemillhouse)
This version does not introduce any user-facing changes.
This version does not introduce any user-facing changes.
- Add ability to switch modes while running. (#22924 by @EvanBacon)
- Add
-g, --go
option toexpo start
to force using Expo Go by default. (#22925 by @EvanBacon) - Add
-d
as an alias to--dev-client
. (#22925 by @EvanBacon) - Allow client-side device ids to reuse debugger sessions when restarting app. (#22742 by @byCedric)
- Enable inspector proxy with network support by default. (#22936 by @byCedric)
- Auto enable
--dev-client
inexpo start
if--go
is not passed andexpo-dev-client
is in thepackage.json
. (#22926 by @EvanBacon) - Add
EXPO_OFFLINE
environment variable to disable network requests across the entire CLI. (#22961 by @EvanBacon)
- Prevent source map requests for context modules from reaching Metro. (#22874 by @EvanBacon)
- Only show EAS signing log in debug. (#22975 by @EvanBacon)
- Fix metro types. (#22867 by @EvanBacon)
- Exclude dependencies from check/fix operations in
expo install
when set in package.jsonexpo.install.exclude
. (#22736 by @keith-kurak)
- Remove entry file modification/index.js generation from
expo prebuild
. Arbitrary entry files in development only work when usingexpo-dev-client
or.expo/.virtual-metro-entry
(SDK +49). (#22044 by @EvanBacon) - Drop
metro.config.js
copy step inexpo prebuild
in favor ofexpo 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) - Skip overwriting
react
andreact-native
dependencies duringexpo prebuild
. (#22624 by @byCedric) - Replace
EXPO_USE_TYPED_ROUTES
withexperiments.typedRoutes
in theapp.json
. (#22848 by @EvanBacon)
- Add
npx expo add
as an alias tonpx expo install
. (#22510 by @EvanBacon) - Add
--reset-cache
flag toexpo start
andexpo export
for interop with the Metro docs. (#22589 by @EvanBacon) - Add
--no-minify
flag tonpx expo export
to prevent minifying output JavaScript. (#22544 by @EvanBacon) - Show
o
option by default in Terminal UI. (#22738 by @EvanBacon) - Add
lazy
query parameter for Metro requests andEXPO_NO_METRO_LAZY
to disable the feature. (#22724 by @EvanBacon) - Add support for the
src/app
directory in Expo Router. (#22748 by @EvanBacon) - Added support for React Native 0.72. (#22588 by @kudo)
- Add generated types for Expo Router
useSegment
(#22629 by @marklawlor)
- Import
fetch
fromnode-fetch
to support older Node.js versions. (#22480 by @EvanBacon) - Fix modern manifest serving for dev client without expo-updates. (#22470 by @wschurman)
- Fix static export for consecutive groups. (#22504 by @EvanBacon)
- Fix externals for Metro Node.js rendering. (#22695 by @EvanBacon)
- Enable verbose package manager logs on CI. (#22361 by @byCedric)
- Fix static rendering when side effects are used. (#22713 by @EvanBacon)
- Fix message shown when port is in use but running process cannot be identified. (#22814 by @loganrosen)
- Mark fixture
package.json
files as private. (#22417 by @EvanBacon)
- Set
NODE_ENV
andBABEL_ENV
environment variables todevelopment
orproduction
instart
,export
,customize
,install
,run:ios
,run:android
,config
,prebuild
commands based on the input mode. (#21337 by @EvanBacon) - Export Hermes bytecode with
.hbc
extension. (#22098 by @EvanBacon) - Default to expo go modern manifest format. (#22168 by @wschurman)
- Support static CSS extraction in development for Metro web. (#22325 by @EvanBacon)
- Add internal
expo export:embed
command to replacenpx react-native bundle
in production builds. (#21396 by @EvanBacon) - Automatically install TypeScript dependencies when TypeScript files are added during
expo start
. (#21475 by @EvanBacon) - Add support for
compilerOptions.baseUrl
fromtsconfig.json
andjsconfig.json
files to Metro. (#21262 by @EvanBacon) - Add support for
compilerOptions.paths
aliases fromtsconfig.json
andjsconfig.json
files to Metro. (#21262 by @EvanBacon) - Reduce install prompt. (#21264 by @EvanBacon)
- Improve multi-target iOS scheme resolution for
expo run:ios
. (#21240 by @EvanBacon) - Add experimental static rendering for Metro web in Expo Router. (#21572 by @EvanBacon)
- Set node env for metro config in
expo export:embed
. (#21644 by @EvanBacon) - Add EXPO_ROUTER_TYPED_ROUTES flag to enable experimental support for type generation (#21560 by @marklawlor)
- Add Node.js rendering to Metro bundler and Node.js external imports. (#21886 by @EvanBacon)
- Add support for inlining environment variables using the
EXPO_PUBLIC_
prefix. (#21983 by @EvanBacon) - Add support for loading environment variables from
.env
files. (#21983 by @EvanBacon) - Add support for emitting static CSS files when exporting web projects with
expo export
. (#21941 by @EvanBacon) - Remove legacy manifest signing and fall back to unsigned when insufficient account permission to sign. (#21989 by @wschurman)
- Expose environment variables to Node.js processes. (#22076 by @EvanBacon)
- Use LogBox for static Metro errors. (#22118 by @EvanBacon)
- Generate experimental expo-env.d.ts when EXPO_ROUTER_TYPED_ROUTES=true (#22096 by @marklawlor)
- Add pretty errors for static exports. (#22142 by @EvanBacon)
- Improve prebuild for arbitrary template platforms. (#22201 by @byCedric)
- Further improve prebuild for arbitrary template platforms. (#22209 by @EvanBacon)
- Add SearchParams export type for Expo Router. (#22380 by @marklawlor)
- Fix main field resolution for metro web. (#21939 by @EvanBacon)
- Fix cached code signing development certificate offline behavior. (#21989 by @wschurman)
- Remove invalid array group syntax from Expo Router type generation. (#22185 by @marklawlor)
- Skip verifying arbitrary platforms when prebuilding. (#22228 by @byCedric)
- Fix prebuild
--template
flag on Windows for local tarballs. (#22232 by @byCedric) - Fixed Activity does not start on Android 13 devices. (#22286 by @kudo)
- Fix duplicate enpo-env.d.ts entries being added to the gitignore. (#22127 by @marklawlor)
- Fix type error in downloadExpoGoAsync. (#22398 by @0618)
- Switch
EXPO_USE_PATH_ALIASES
toexpo.experiments.tsconfigPaths
. (#21897 by @EvanBacon) - Fallback on latest
@expo/metro-config
when local version isn't available (effects testing locally). (#21643 by @EvanBacon) - Update fixtures. (#21397 by @EvanBacon)
- Upgrade e2e tests to SDK 47. (#21335 by @EvanBacon)
- Update
metro.config.js
template file to match new template. (#21898 by @EvanBacon) - Fix node rendering. (#21902 by @EvanBacon)
- Update migration map to suggest standalone npx expo doctor instead of expo-cli doctor. (#21931 by @keith-kurak)
- Add graphql-codegen. (#21980 by @wschurman)
- Add graphql generated file to eslintignore. (#22001 by @gabrieldonadel)
This version does not introduce any user-facing changes.
- Added experimental react-devtools integration. (#21462 by @kudo)
- Add experimental inspector proxy to handle more CDP requests. (#21449 by @byCedric)
- Add inspector proxy workarounds for known issues with vscode debugger and Hermes CDP messages. (#21560 by @byCedric)
- Add inspector support for
Page.reload
CDP message. (#21827 by @byCedric)
- Respond to
Debugger.getScriptSource
CDP messages when using lan or tunnel. (#21825 by @byCedric) - Fix legacy accept signature parsing. (#21970 by @wschurman)
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)
- Add
EXPO_USE_METRO_WORKSPACE_ROOT
to enable using the workspace root for serving files. (#21088 by @EvanBacon)
- Close config file watchers to ensure process can exit. (#21199 by @EvanBacon)
- Fix log format when modifying
tsconfig.json
. (#21166 by @EvanBacon) - Fix
devDependencies
when runningnpx expo install --fix
. (#19344 by @byCedric)
- Remove
EXPO_NO_DEFAULT_PORT
to skip extraneous tunnel port. (#18475 by @EvanBacon)
- Support Hermes debugger on native when Metro web is running. (#21068 by @EvanBacon)
- Skip uninstalling Expo Go when running in UNVERSIONED (internal). (#20754 by @EvanBacon)
- Add react-native-web alias for metro web that doesn't rely on Babel. (#20828 by @EvanBacon)
- Allow chained Metro resolvers to resolve when the predecessor resolver throws a Metro resolution error. (#20704 by @EvanBacon)
- Escape ampersands in URLs sent to adb. (#20398 by @EvanBacon)
- Fix web assets not loading in Metro for web on Windows. (#19935 by @EvanBacon)
- Fix getting UDID for network connected iOS devices. (#20279 by @Simek)
- Send Exponent-Server header as JSON string for classic manifests. (#20409 by @byCedric)
- Use known Expo schemes when starting with dev clients. (#20888 by @byCedric)
- Fix sourcemap generation errors when exporting Hermes bundle. (#21022 by @kudo)
- Avoid fixing secure Apple device socket connections to a single TLS method. (#21169 by @byCedric)
- Bump
@expo/json-file
,@expo/plist
. (#20720 by @EvanBacon) - Fix ngrok error message format. (#19822 by @EvanBacon)
- Tweak warning about metro config. (#20066 by @kbrandwijk)
- Remove
uuid
dependency. (#20479 by @LinusU) - Do not show
error.stack
forConfigError
s. (#19248 by @Simek) - Fix tests. (#20510 by @EvanBacon)
- Simplify the Xcode warnings. (#20512 by @EvanBacon)
- Simply Metro watch mode detection to
CI=true
, and log when disabled. (#20939 by @byCedric)
- Upgrade @expo/code-signing-certificates dependency. (#20078 by @wschurman)
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)
- Fix Hermes debugger errors on Windows and Linux. (#19872 by @kudo)
- Display the debug option more prominently in the UI. (#19793 by @EvanBacon)
- Resolve
metadata.json
file path absolutely fornpx 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.
- Revert #18381 (custom entry support).
- Add
-p
tonpx expo export
. (#19715 by @EvanBacon)
- Prevent extraneous
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)
- Drop support for copying
index.js
and removingmain
field inpackage.json
duringexpo prebuild
in favor of native build scripts which resolve the user-defined entry file. (#18381 by @EvanBacon)
- Add proxy support across all Expo CLI commands. (#19592 by @EvanBacon)
- Added ability to open tunnel URLs with Metro web. (#19504 by @EvanBacon)
- Added prompt for signing simulator builds that use entitlements that work on simulator builds like associated domains. (#19505 by @EvanBacon)
- Skip ADB reverse when Android SDK is missing (allowing
npx expo start --tunnel
). (#19593 by @EvanBacon) - Make Expo Metro config for web resolve projects using same
package.json
main fields as Expo Webpack. Behavior can be disabled withEXPO_METRO_NO_MAIN_FIELD_OVERRIDE
. (#19529 by @EvanBacon) - Add web support check to metro web in
expo start
. (#18428 by @EvanBacon) - Drop support for experimental Webpack native symbolication. (#18439 by @EvanBacon)
- Implement getApplicationIdFromBundle fixing iOS app launch issue with SDK 46. (#18537 by [@Anthony Mittaz](https://github.com/Anthony Mittaz))
- Change
UNAUTHORIZED_ERROR
toUNAUTHORIZED
to handle unauthorized errors. (#18751 by @EvanBacon) - Catch error thrown when trying to launch redirect page without an application ID defined in
app.json
. (#19312 by @esamelson) - Present intended variadic argument when asserting flags in
npx expo install
. (#19396 by @bycedric) - Add "none" platform when running
--dev-client
. (#19319 by @jonsamp) - Fix development code signing for dev client. (#19557 by @wschurman)
- Change asset registry redirect for Metro web to point to the shared alias in
react-native
. (#19234 by @EvanBacon) - Update the README file. (#18663 by @EvanBacon)
- Fix
prebuild
e2e tests. (#18612 by @EvanBacon) - [Interstitial page] Capture missing analytics event when user opens development build. (#18792 by @esamelson)
- Handle all development session errors. (#18499 by @EvanBacon)
- Hide server rate limiting warning during
npx expo start
. (#19038 by @EvanBacon)
This version does not introduce any user-facing changes.
- Added middleware for creating files. (#19231 by @EvanBacon)
- Enable
require.context
by default. (#19257 by @EvanBacon)
- Resolve bundle identifier / package from native project and then fallback to
app.json
when launching redirect page. (#19260 by @brentvatne)
- Resolve bundle identifier from
app.json
correctly when usingnpx expo start --dev-client --ios
with no localios
directory. (#18747 by @EvanBacon)
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) - Disable interactive prompts in non TTY processes. (#18300 by @EvanBacon)
- Prevent development session bad gateway from ending long running
expo start
processes. (#18451 by @EvanBacon) - Speed up native device opening for iOS and Android. (#18385 by @EvanBacon)
- Add warning about malformed project when running prebuild in non-interactive mode. (#18436 by @wkozyra95)
- [Interstitial page] Ensure that the development build is installed when opening the interstitial page. (#18836 by @esamelson)
- [Interstitial page] Point QR code to interstitial page when enabled. (#18838 by @esamelson)
- [Interstitial page] Minor improvements to page; try to detect if deep link succeeded. (#18839 by @esamelson)
- [Interstitial page] Flip value and change name of env flag to EXPO_NO_REDIRECT_PAGE. (#18840 by @esamelson)
- Add telemetry event tracking a command run. (#17948 by @EvanBacon)
- Ensure
expo build:web
recommends runningexpo export:web
in the migration warning. (#18312 by @EvanBacon)
This version does not introduce any user-facing changes.
- Add mock
--non-interactive
flag to hideeas update
errors. (#18299 by @EvanBacon)
- Add
EXPO_EDITOR
environment variable for overriding theEDITOR
variable. This is used in theexpo start
Terminal UI when pressingo
. (#18285 by @EvanBacon)
- Fix bug preventing the installation of beta clients. (#18298 by @EvanBacon)
This version does not introduce any user-facing changes.
- Drop hardcoded web package versions in prerequisite. (#18172 by @EvanBacon)
- Change
expo
toexpo-internal
(DO NOT USE) for@expo/cli
. (#17468 by @EvanBacon)
- Validate Android SDK configuration before using (#17259 by @byCedric)
- Add CI context to telemetry to help determine support on used CI providers (#17284 by @byCedric)
- add
--pnpm
option toinstall
command. (#17366 by @EvanBacon) - Added
export:web
command. (#17363 by @EvanBacon) - Bail out on missing web dependencies. (#17448 by @EvanBacon)
- Add info about using the
--clear
flag when thebabel.config.js
file changes duringexpo start
. (#17560 by @EvanBacon) - Automatically enable
DEBUG
whenEXPO_DEBUG
is enabled. (#17856 by @EvanBacon) - add migration warning for old commands. (#17882 by @EvanBacon)
- Add web support for Metro bundler. (#17927 by @EvanBacon)
- Add multi-platform bundle logging during
expo export
. (#17992 by @EvanBacon) - Upgrade react-native to 0.69. (#18006 by @kudo)
- Remove hanging
emulator
process on exit. (#17273 by @EvanBacon) - Fix bug where autocomplete prompts crash when escape characters are used. (#17271 by @EvanBacon)
- add missing
--platform
flag toexport
command. (#17338 by @EvanBacon) - Fix ADB device name filtering for windows. (#17286 by @byCedric)
- Fix
export
bug failing when no assets are included. (#17414 by @EvanBacon) - Add correct packages (
expo-splash-screen
) and drop incorrect required packages (react-native-unimodules
,expo-updates
) in prebuild. (#17447 by @EvanBacon) - Fix tunnel on web breaking native. (#17666 by @EvanBacon)
- Add no-op
--experimental-bundle
flag toexpo export
. (#17886 by @EvanBacon) - Fix auto TypeScript version check. (#17911 by @EvanBacon)
- Fix ignored existing plugins on expo install. (#17936 by @kbrandwijk)
- Bump
@expo/xcpretty
to link to the troubleshooting guide. (#17576 by @EvanBacon) - deduplicate asMock helper function. (#17294 by @wschurman)
- Use
nxp expo install
for recommended missing dependency check. (#17665 by @EvanBacon) - Make bundler implementation more bundler agnostic. (#17575 by @EvanBacon)
- Add debug log about unversioned packages. (#17664 by @EvanBacon)
- Update test fixtures to SDK 45. (#17934 by @EvanBacon)
- Bump
@expo/xcpretty
with support forreact-native@0.69
build errors. (#17986 by @EvanBacon)
- add missing
pretty-bytes
dependency. (#17235 by @EvanBacon)
This version does not introduce any user-facing changes.
- Unify help prompts. (#17223 by @EvanBacon)
- Added
expo run:android
command. (#17187 by @EvanBacon)
- Add support for
react-native@0.68
dev server API. (#17189 by @EvanBacon)
- Downgrade
fs-extra
to8.1.0
. (#17234 by @EvanBacon)
- [cli] Added modules for interacting with Apple and Android platforms. (#16516 by @EvanBacon)
- [cli] Added middleware for showing the interstitial page and redirecting users to dev clients. (#16560 by @EvanBacon)
- [cli] Added middleware for dev servers to host Expo manifests. (#16559 by @EvanBacon)
- [cli] Added module for starting host tunnels with Ngrok. (#16556 by @EvanBacon)
- [cli] Added module for updating the "development session" API. (#16555 by @EvanBacon)
- [cli] Added modules for creating dev server URLs, akin to
UrlUtils
inxdl
. (#16557 by @EvanBacon) - [cli] Added shim for
expo start
command and option resolvers. (#16587 by @EvanBacon) - [cli] Added module for interacting with Metro bundler. (#16631 by @EvanBacon)
- [cli] Added Terminal UI to
expo start
. (#16518 by @EvanBacon) - [cli] Added a custom terminal logger for Metro dev server. (#16658 by @EvanBacon)
- [cli] Added module for interacting with Webpack bundler. (#16659 by @EvanBacon)
- Added
expo run:ios
command. (#16662 by @EvanBacon) - Fixed type errors. (#16724 by @EvanBacon)
- Disable watch mode in CI. (#16730 by @EvanBacon)
- Added
install
command. (#16756 by @EvanBacon) - Serve modern manifests in multipart format. (#16804 by @wschurman)
- Add development code signing. (#16845 by @wschurman)
- Added
export
command. (#17034 by @EvanBacon) - Add
--fix
and--check
arguments toinstall
command. (#17048 by @EvanBacon) - Added
customize
command. (#17186 by @EvanBacon)
- Fix process memory leak warning in
expo start
. (#16753 by @EvanBacon) - Fix build watcher. (#16754 by @EvanBacon)
- Allow bailing out of Terminal UI during long processes. (#16818 by @EvanBacon)
- Fix web imports and dependency resolution. (#16820 by @EvanBacon)
- [test] Update login error message to reflect server change. (#16932 by @EvanBacon)
- Fix webpack imports and server timeouts. (#17006 by @EvanBacon)
- Skip font parsing on prebuild. (#17184 by @EvanBacon)
- [ci] Fix
typecheck
. (#17145 by @EvanBacon) - Close development session when CLI is stopped (#17170 by @FiberJW)
- Improve contributing. (#16917 by @EvanBacon)
- Reduce mock clearing and add
Log
import/export. (#17046 by @EvanBacon) - Migrate to using
DEBUG=expo:*
instead ofEXPO_DEBUG
. (#17084 by @EvanBacon) - Lazily evaluate all environment variables. (#17082 by @EvanBacon)