Releases: facebook/metro
v0.81.0
- [Breaking]: Drop support for Node.js < 18.18. (#1351 by @vzaidman)
- [Breaking]: Custom resolvers must now return absolute, real paths for any successful resolution. (3b3e0aa by @robhogan)
- [Breaking]: Don't call
context.redirectModulePath
from default resolver, use a fixed browser field spec implementation. (5e96d17 by @robhogan) - [Breaking] Resolver: Reserve import specifiers beginning '#' exclusively for future subpath imports support. (c1c80c7 by @robhogan)
- [Breaking]: Disallow Haste modules with separators and Haste packages with invalid package names. (4e9cc4b by @robhogan)
- [Feature]: Expose
ResolutionContext.fileSystemLookup
for performing file and directory existence checks and resolving real paths. (3b3e0aa by @robhogan) - [Feature]: Add
onClose
option toMetro.runServer
configuration to provide a callback called when Metro is fully torn down. (b3f141f by @vzaidman) - [Fix]: Potential "hub is undefined" error during transform due to Babel cache pollution. (#1340 by @vzaidman)
- [Fix]: Fix #1347, symlinked packages not respecting package.json redirections. (#1349 by @robhogan)
- [Fix]:
metro-memory-fs
: Respectforce
inrmSync
. (a792d85 by @robhogan) - [Fix]: Don't eagerly create empty cache directories during
getDefaultConfig
. (bfd9473 by @robhogan) - [Fix]: Invalidate transform cache on changes to inline-requires implementation. (7d02e17 by @robhogan)
- [Fix]: Resolver: Treat absolute path specifiers on Windows with the same strictness as posix, and allow absolute paths without drive letters. (8f7e000 by @robhogan)
NOTE: Experimental features are not covered by semver and can change at any time.
- [Experimental]: Remove redundant
unstable_enableSymlinks
- symlink support is stable and always-on. (e52b5ff by @robhogan) - [Experimental]: Implement
transformer.unstable_memoizeInlineRequires
to optimise inlined access. (#1346 by @robhogan). - [Experimental]: Add
unstable_server_log
,unstable_server_menu_updated
, andunstable_server_menu_cleared
reporter events (616f437 by @huntie)
Full Changelog: v0.80.11...v0.81.0
v0.80.12
v0.80.11
- [Fix]: Resolver: Only consider directory candidates when resolving path specifiers ending in a
/
(1e1dfe1 by @robhogan) - [Performance]: Various resolver performance improvements (#1318, #1287, #1333, #1334, #1335 by @robhogan)
NOTE: Experimental features are not covered by semver and can change at any time.
-
[Experimental]: Resolution: Replace
context.unstable_getRealPath
withcontext.unstable_fileSystemLookup
(9fc9bf0 by @robhogan)Full Changelog: v0.80.10...v0.80.11
v0.80.10
- [Deprecation]: JsonReporter: Deprecate printing
message
andstack
as top-level properties when a reportable event has anerror
property (95a6063) - [Feature]: Serve source files at
/[metro-project]/
and/[metro-watchFolders]/{index}/
(273481c by @motiz88) - [Feature]: Emit URL paths in source maps if passed the
sourcePaths=url-server
bundle parameter (788ff0d by @motiz88) - [Feature]: Add
server_listening
reporter event, exposing bound port, address and family (#1274 by @robhogan) - [Feature]: JsonReporter: Print
message
,stack
,cause
, anderrors
(where present) undererror
when a reportable event has anerror
property (95a6063 by @robhogan) - [Fix]: Fix some paths being unresolvable when traversing a symlink that points to an ancestor of the project root (#1280 by @robhogan)
- [Fix]: Improve dev server insensitivity to percent encoding on source requests (6e71699 by @robhogan)
- [Fix]: Correctly format logs when saving bundle (#1300 by @szymonrybczak)
- [Fix]: Generate the same transform cache keys on Windows and Posix for remote cache portability (e3aaa0b by @robhogan)
- [Performance]: Make server more responsive during source map serialization (34148e6 by @motiz88)
NOTE: Experimental features are not covered by semver and can change at any time.
-
[Experimental]: Fix subtrees of the project root missed from
require.context
when using an ancestor of the project root as context root (#1281 by @robhogan) -
[Experimental]: Add
require.unstable_importMaybeSync
(#1296 by @rubennorte)Full Changelog: v0.80.9...v0.80.10
v0.80.9
- [Feature]: Allow configuring
HttpStore
's read and write paths separately. (3e647a6 by @GijsWeterings) - [Feature]: Add
additionalSuccessStatuses
option toHttpStore
. (f8f7d55 by @motiz88) - [Fix]: Prevent cache write errors from killing the server, log them to
reporter
instead. (15815d0 by @motiz88) - [Fix]: Node crawler (non-Watchman) returns non-deterministic partial results on silent directory read errors. (105e222 by @robhogan)
- [Fix]: Dedupe Watchman crawl warnings correctly. (#1260 by @EvanBacon)
- [Fix]: Improve error message for invalid asset paths. (#1267 by @fredrikburmester)
NOTE: Experimental features are not covered by semver and can change at any time.
- [Experimental]: Add
unstable_renameRequire
transformer option. (#1230 by @EvanBacon)
Full Changelog: v0.80.8...v0.80.9
v0.80.8
- [Fix]: Guard against invalid symbolication in Chrome DevTools by terminating each module's source map with a null mapping (96c6b89 by @motiz88)
NOTE: Experimental features are not covered by semver and can change at any time.
- [Experimental]: Package exports resolution: Fix implicit default condition to be null for subpath patterns (edge case) (#1239 by @jbroma)
Full Changelog: v0.80.7...v0.80.8
v0.80.7
v0.80.6
v0.76.9
This is a hotfix release on the 0.76.x
branch.
- [Fix]: Move
metro-minify-terser
dependency to fix resolution under isolated node_modules (pnpm, etc).(#1199 by @robhogan) - [Fix]:
inline-plugin
: Don't replace__DEV__
in invalid Babel AST locations. (#1195 by @kitten) - [Fix]:
constant-folding-plugin
: Don't fold optional function calls (foo.?()
). (#1178 by @Gamote) - [Fix]: Incorrect worker resolution when multiple
metro
versions are installed. (6d46078 by @robhogan) - [Fix]: Fix "unexpected null" crash when handling a batch of file changes. (#1083 by @robhogan)
- [Fix]: Fix Fast Refresh edge case where removing an async dependency could incorrectly remove modules from the graph. (19d3284 by @robhogan)
- [Fix]: Fix sourceMapUrl when building bundles for windows/macOS (#763 by @acoates-ms)
NOTE: Experimental features are not covered by semver and can change at any time.
- [Experimental]: When enabled, the
"exports"
field is now considered for Haste packages (which could include local monorepo packages) (#1136 by @kraenhansen) - [Experimental]: Fix
sourceMappingUrl
in HMR payloads when usingunstable_serverRoot
(#1137 by @EvanBacon)
Full Changelog: v0.76.8...v0.76.9
v0.80.5
- [Feature]: Add
server.forwardClientLogs
config option, to allow suppressing client console logs in Metro output. (#1192 by @huntie) - [Fix]:
constant-folding-plugin
: Don't fold optional function calls (foo.?()
). (#1178 by @Gamote) - [Fix]:
inline-plugin
: Don't replace__DEV__
in invalid Babel AST locations. (#1195 by @kitten) - [Fix]: Move
metro-minify-terser
dependency to fix resolution under isolated node_modules (pnpm, etc). (#1199 by @robhogan)
NOTE: Experimental features are not covered by semver and can change at any time.
- [Experimental]: Fix module duplication due to non-real resolved paths when combining
unstable_enablePackageExports
andunstable_enableSymlinks
. (#1198 by @robhogan)
Full Changelog: v0.80.4...v0.80.5