NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3758 most downloaded on npm
A Metro config for running React Native projects with the Metro bundler
Last release today
05 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Most releases are documented
notes for 38 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
459 releases · first in 2020
One column per quarter.
Fixed npx expo export to support Hermes bytecode bundling. (#32770 by @kudo)
Remove clientBoundaries warning. (#32735 by @EvanBacon)
_This version does not introduce any user-facing changes._
This version does not introduce any user-facing changes.
Fix CSS url() support for DOM IDs, public files, and data URIs. (#32332 by @EvanBacon)
url() support for DOM IDs, public files, and data URIs. (#32332 by @EvanBacon)hermesParser and conditionally enable for files with @flow pragma. (#32325 by @EvanBacon)Fixed check-package test errors. (#32232 by @kudo)
Emit assets as strings instead of numeric lookups when bundling for web and server environments. (#31955 by @EvanBacon)
isDOM to the Babel caller for changing behavior during DOM component bundling. (#31182 by @EvanBacon)expoDomComponentReference on metadata. (#30938 by @EvanBacon)require.unstable_importMaybeSync and use it in JSResource. (#30703 by @EvanBacon)EXPO_USE_METRO_REQUIRE to enable stable string module IDs. (#30176 by @EvanBacon)module, require, global, and exports with experimentalImportSupport. (#30348 by @EvanBacon)TypeError: (0 , sourceMapString_1.default) is not a function bug due to an incompatibiliy with metro@0.80.10's sourceMapString module. (#30905 by @kitten)watchFolders for monorepos using pnpm. (#31973 by @byCedric)node_modules stacks in LogBox (#31485 by @EvanBacon)glob@7 to glob@10. (#29929 by @byCedric)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
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.
_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.
Fully remove "exotic" transformer (@expo/metro-config/transformer) in favor of the default Expo transformer. (#27855 by @EvanBacon)
@expo/metro-config/transformer) in favor of the default Expo transformer. (#27855 by @EvanBacon)react-server support. (#27264 by @EvanBacon)require.resolveWeak syntax. (#27014 by @EvanBacon)typeof window checks for removing server code. (#27514 by @EvanBacon)db to the default resolver.assetExts to support expo-sqlite. (#28290 by @kudo)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.
Add --no-bytecode flag to expo export to disable generating Hermes bytecode for use with debugging tools. (#26985 by @EvanBacon)
--no-bytecode flag to expo export to disable generating Hermes bytecode for use with debugging tools. (#26985 by @EvanBacon)Add more node modules to collapsed stack regex. (#26812 by @EvanBacon)
Pin sucrase@3.34.0 to avoid yarn v1 incompatibilities with @isaacs/cliui module aliases (#26459 by @byCedric)
Bump postcss to 8.4.32. (#26385 by @EvanBacon)
postcss to 8.4.32. (#26385 by @EvanBacon)Add plugin callbacks that run before each code asset is serialized. (#25859 by @quinlanj)
glob dependency. (#26020 by @byCedric)@expo/spawn-async dependency. (#26021 by @byCedric)fs-extra dependency. (#26022 by @byCedric)Add debugId annotations automatically. (#25935 by @EvanBacon)
Remove loadAsync method and prevent loading default config twice. (#25861 by @EvanBacon)
loadAsync method and prevent loading default config twice. (#25861 by @EvanBacon)Moved react-refresh babel plugin from Metro to babel-preset-expo. (#25461 by @EvanBacon)
react-refresh babel plugin from Metro to babel-preset-expo. (#25461 by @EvanBacon)metro-transform-worker and remove redundant steps. (#25833 by @EvanBacon)expo-dev-client. (#25686 by @EvanBacon)metro-config. (#25804 by @byCedric)@expo/babel-preset-cli with expo-module-scripts. (#25421 by @byCedric)"Exotic mode", EXPO_USE_EXOTIC, and EXPO_USE_FB_SOURCES have been deprecated and no longer enable any experimental functionality. (#24927 by @EvanBaco…
inlineRequires by default. (#25089 by @EvanBacon)@expo/metro-config/file-store. (#25339 by @EvanBacon)basePath to baseUrl and expose to bundles with process.env.EXPO_BASE_URL. (#25305 by @EvanBacon)isDev to the Babel caller. (#25125 by @EvanBacon)react-native exports condition is not used on web. (#25260 by @EvanBacon)react-native/Libraries/Image/AssetRegistry to @react-native/assets-registry/registry. (#25265 by @EvanBacon)babel-preset-expo to support source maps. (#25239 by @EvanBacon)URL support. (#25005 by @EvanBacon)URL support. (#25006 by @EvanBacon)EXPO_USE_EXOTIC, and EXPO_USE_FB_SOURCES have been deprecated and no longer enable any experimental functionality. (#24927 by @EvanBacon)isCSSEnabled now defaults to true (#24489 by @marklawlor)
isCSSEnabled now defaults to true (#24489 by @marklawlor)projectRoot to the Babel caller. (#24779 by @EvanBacon)Shim server files in client environments. (#24429 by @EvanBacon)
Add basePath support. (#23911 by @EvanBacon)
basePath support. (#23911 by @EvanBacon)metroTarget: 'client' | 'node' with isServer: boolean in the Babel caller. (#24410 by @EvanBacon)process.env polyfill strip to expo/metro-config. (#24455 by @EvanBacon)Add source map support with static Metro web exports. (#24213 by @EvanBacon)
Add support for .mjs extensions in Expo Metro. (#23528 by @EvanBacon)
.mjs extensions in Expo Metro. (#23528 by @EvanBacon)react-native-reanimated version changes or is added. (#23798 by @EvanBacon)Use custom Babel transformer by default. (#23607 by @EvanBacon)
@expo/metro-config/babel-transformer. (#23607 by @EvanBacon)metroTarget: 'client' | 'node' to the Babel caller. (#23607 by @EvanBacon)Add missing unstable_styles export on native for CSS Modules. (#23260 by @EvanBacon)
unstable_styles export on native for CSS Modules. (#23260 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.
Silence dotenv file watching warnings. (#23169 by @EvanBacon)
Fix css modules syntax. (#23086 by @EvanBacon)
Ignore @expo/metro-runtime in stacks. (#22738 by @EvanBacon)
@expo/metro-runtime in stacks. (#22738 by @EvanBacon)Re-arrange the Libraries/Core/InitializeCore import. (#23049 by @EvanBacon)
Libraries/Core/InitializeCore import. (#23049 by @EvanBacon)CSS Modules now export web-compatible styles by default and unstable_styles for react-native-web style objects. (#23002 by @EvanBacon)
unstable_styles for react-native-web style objects. (#23002 by @EvanBacon)app/+html files from client bundles. (#22881 by @EvanBacon)Ensure @expo/metro-runtime is shifted to be imported first when installed. (#22628 by @EvanBacon)
@expo/metro-runtime is shifted to be imported first when installed. (#22628 by @EvanBacon)Add custom server.rewriteRequestUrl which is required for custom entry points in development builds that don't use expo-dev-client. This must now be e
server.rewriteRequestUrl which is required for custom entry points in development builds that don't use expo-dev-client. This must now be extended in local projects that need to use server.rewriteRequestUrl. (#21643 by @EvanBacon)expo/metro-config package is being initialized. (#21330 by @EvanBacon)@unimodules namespace from Exotic transformer. (#21330 by @EvanBacon)expo-asset is no longer optional. (#21330 by @EvanBacon)expo-dev-client. (#21643 by @EvanBacon)MetroConfig type. (#21330 by @EvanBacon)EXPO_PUBLIC_ prefix. (#21983 by @EvanBacon).env files. (#21983 by @EvanBacon)transformerPath not be overwritten. (#21941 by @EvanBacon)transformerPath not be overwritten. (#21941 by @EvanBacon)postcss.config.js and postcss.config.json, when isCSSEnabled is true. (#22032 by @EvanBacon)isCSSEnabled is true. (#22031 by @EvanBacon)cjs extension to resolver.sourceExts (without platform extension support). (#22076 by @EvanBacon)EXPO_USE_METRO_WORKSPACE_ROOT by default and replace with EXPO_NO_METRO_WORKSPACE_ROOT. (#30621 by @byCedric)testing and native from resolver.platforms. (#21330 by @EvanBacon)Nothing published for this version
Add EXPO_USE_METRO_WORKSPACE_ROOT to enable using the workspace root for serving files. (#21088 by @EvanBacon)
EXPO_USE_METRO_WORKSPACE_ROOT to enable using the workspace root for serving files. (#21088 by @EvanBacon)Ignore react-dom traces. (#21005 by @EvanBacon)
react-dom traces. (#21005 by @EvanBacon)avif and heic to the default resolver.assetExts to support expo-image. (#20893 by @EvanBacon)@expo/json-file. (#20720 by @EvanBacon)Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →