Skip to content

Releases: facebook/metro

v0.81.0

14 Oct 13:20
Compare
Choose a tag to compare
  • [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 to Metro.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: Respect force in rmSync. (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, and unstable_server_menu_cleared reporter events (616f437 by @huntie)

Full Changelog: v0.80.11...v0.81.0

v0.80.12

08 Sep 09:22
Compare
Choose a tag to compare

This is a hotfix on the 0.80.x branch.

  • [Fix]: Fix #1347, symlinked packages not respecting package.json redirections. (#1349 by @robhogan)

Full Changelog: v0.80.11...v0.80.12

v0.80.11

04 Sep 10:35
Compare
Choose a tag to compare

NOTE: Experimental features are not covered by semver and can change at any time.

v0.80.10

08 Aug 09:40
Compare
Choose a tag to compare
  • [Deprecation]: JsonReporter: Deprecate printing message and stack as top-level properties when a reportable event has an error 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, and errors (where present) under error when a reportable event has an error 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

02 May 11:17
Compare
Choose a tag to compare
  • [Feature]: Allow configuring HttpStore's read and write paths separately. (3e647a6 by @GijsWeterings)
  • [Feature]: Add additionalSuccessStatuses option to HttpStore. (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

28 Mar 12:23
Compare
Choose a tag to compare
  • [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

19 Mar 11:02
Compare
Choose a tag to compare
  • [Fix]: Fix startup time regression when using Watchman on Windows with a warm cache. (#1231 by @robhogan)

Full Changelog: v0.80.6...v0.80.7

v0.80.6

15 Feb 20:48
Compare
Choose a tag to compare
  • [Performance]: Improve resolution performance by optimising normal->absolute path conversion (#1209 by @robhogan)
  • [Performance]: Improve resolution performance for watched files outside projectRoot (#1210 by @robhogan)

Full Changelog: v0.80.5...v0.80.6

v0.76.9

30 Jan 17:27
Compare
Choose a tag to compare

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 using unstable_serverRoot (#1137 by @EvanBacon)

Full Changelog: v0.76.8...v0.76.9

v0.80.5

24 Jan 18:54
Compare
Choose a tag to compare
  • [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 and unstable_enableSymlinks. (#1198 by @robhogan)

Full Changelog: v0.80.4...v0.80.5