Skip to content

Releases: facebook/metro

v0.80.0

25 Oct 17:29
Compare
Choose a tag to compare
  • [Breaking]: Remove metro-runtime/src/modules/fast-refresh and react-refresh dependency - now owned by RN's Babel preset. (8557968 by @robhogan)
  • [Breaking]: metro-babel-register: Switch to Hermes parser, only apply Flow transforms to .js. (ca0f89c by @pieterv)
  • [Feature]: metro-babel-register: Support export-namespace-from and Flow enums. (ca0f89c by @pieterv)
  • [Fix]: Removing an async/lazy import may incorrectly free its target. (5f446f3 by @robhogan)

NB: metro-react-native-interop-tools has been removed and will receive no further updates. (c084066 by @GijsWeterings)

Full Changelog: v0.79.1...v0.80.0

v0.79.1

19 Sep 11:25
Compare
Choose a tag to compare
  • [Fix]: metro-babel-register: prevent arbitrary transformation of Babel plugins during registration. (e8f468d by @robhogan)
  • [Fix]: Fix "unexpected null" crash when handling a batch of file changes. (#1083 by @robhogan)
  • [Fix]: Symlinks with indirections may not be resolvable. (#1084 by @robhogan)

Full Changelog: v0.79.0...v0.79.1

v0.79.0

01 Sep 15:51
Compare
Choose a tag to compare
  • [Breaking]: Disable global package resolution (resolver.enableGlobalPackages) by default (0df1541 by @robhogan)
  • [Feature]: Add option to configure Metro's support for global package resolution (aka "Haste packages") (8b80efb by @motiz88)
  • [Feature]: Enable resolution through symlinks (previously experimental unstable_enableSymlinks) (9e7cec1 by @robhogan)
  • [Feature]: Passing custom customTransformOptions and customResolverOptions to bundle_build_started log event so as to refine the bundling message (#1061 by @EvanBacon)

v0.78.1

16 Aug 08:23
Compare
Choose a tag to compare
  • [Feature]: Return promise from metro-cache's Cache.set to allow handling underlying async store errors (2845160 by @robhogan)
  • [Feature] Add base URL string overload to InspectorProxy.createWebSocketListeners (8522db1 by @huntie)

Note

v0.78.1 will be the final release of metro-inspector-proxy, which is being relocated into the React Native repo. In Metro v0.78.0, we removed builtin Inspector Proxy creation as a breaking change.

  • For React Native integrators: The @react-native/dev-middleware package will provide a batteries-included integration point replacing metro-inspector-proxy. We're working closely with Expo on the API for this which should be ready within the next two weeks β€”Β usage will be documented in the package README.
  • Please reach out to @huntie (https://twitter.com/alxhnt) if you need support around this change.

v0.78.0

07 Aug 16:30
Compare
Choose a tag to compare
  • [Breaking] Update default server port to 8081. (891fe96 by @huntie)
  • [Breaking] Remove metro-react-native-babel-transformer and metro-react-native-babel-preset, which will be published as @react-native/metro-babel-transformer and @react-native/babel-preset going forward. (799aa0a by @dmytrorykun)
  • [Breaking] Remove runInspectorProxy option from server. (2b0b15d by @huntie)
    • This is a significant breaking change β€”Β Metro will no longer start a built-in Inspector Proxy.
    • To migrate today, integrators should create an InspectorProxy instance externally, and provide the relevant handlers to Metro.runServer(). For reference:
      • inspectorProxy.processRequest to ServerOptions.unstable_extraMiddleware.
      • inspectorProxy.createWebSocketListeners to ServerOptions.websocketEndpoints.
    • Recommended: In the very near future, we will be encapsulating this functionality in the @react-native/dev-middleware package, which will provide a batteries-included integration point for the above.
    • Please reach out to @huntie if you need support with this feature.
  • [Breaking]: DependencyGraph.resolveDependency now takes a dependency object instead of a string. (fbdd295 by @motiz88)
  • [Breaking]: Stop passing inlineRequires and nonInlinedRequires to Babel transformers. (e339c8f by @motiz88)
  • [Feature] Widen config search paths to include metro.config.cjs. (6922933 by @huntie)
  • [Feature]: Custom resolvers may access the original dependency descriptor for diagnostic purposes. (fbdd295 by @motiz88)
  • [Fix]: asserted-states is not iterable when using older Watchman versions. (3ef5fc8 by @robhogan)
  • [Fix]: Avoid resolving .native as a standalone file extension. (#1045 by @EvanBacon)
  • [Fix]: Resolution errors now show accurate source locations. (a398f34 by @motiz88)
  • [Performance]: Parallelise Haste construction to improve startup on large Haste systems. (2e0f69a by @robhogan)

v0.76.8

29 Jan 18:47
Compare
Choose a tag to compare
  • [Feature]: Widen config search paths to include metro.config.cjs. (#1055 by @huntie)

Full Changelog: v0.76.7...v0.76.8

v0.77.0

06 Jul 22:06
Compare
Choose a tag to compare
  • [Breaking]: Increase minimum Node version from 16 to 18. (ebaf27a by @arushikesarwani94)
  • [Breaking]: Use Terser's default for comments. (#972 by @tido64)
  • [Breaking]: Remove metro-minify-uglify from metro dependencies. (7a8fcd5 by @robhogan)
  • [Fix]: Fixed a bug in the handling of path separators in blockList on Windows. (2eecfc7 by @motiz88)
  • [Fix]: Protect against unsafe merging of blockList patterns with inconsistent regex flags. (c80904b by @motiz88)
  • [Fix]: Incorrect worker resolution when multiple metro versions are installed. (6d46078 by @robhogan)
  • [Performance]: Improve resolution performance for files outside the project root. (dc3cddf by @robhogan)
  • [Performance]: Improved startup speed via a new file map cache format. (166477e by @robhogan)

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

  • [Experimental]: metro-file-map: Normalize root-relative paths for cross-platform cache compatibility. (d282a08 by @motiz88)
  • [Experimental]: Fix crash when require.context is used on a directory with infinite path expansions. (14d652f by @robhogan)

Full Changelog: v0.76.7...v0.77.0

v0.76.7

21 Jun 13:58
Compare
Choose a tag to compare
  • [Feature]: metro-babel-transformer and metro-react-native-babel-transformer will return metadata from Babel transform results. (42fdbc2 by @robhogan)
  • [Feature]: Expose TerminalReporter for Reporter implementations. (417e6f2 by @colinta)
  • [Feature]: Allow client-side device identifiers in inspector proxy. (c6a94bc by @byCedric)
  • [Fix]: EPERM file watching errors on Windows. (4b22efb by @robhogan)

Full Changelog: v0.76.6...v0.76.7

v0.76.6

07 Jun 16:29
Compare
Choose a tag to compare
  • [Types] Update config and Server types to use broader types from connect package (d20d7c8 by @huntie)
  • [Types] Fix TypeScript name for createConnectMiddleware export (06682f8 by @huntie)
  • [Deprecation] Deprecate server.enhanceMiddleware option (22e85fd by @huntie)

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

  • [Experimental] Add unstable_extraMiddleware option to runServer API (d0d5543 by @huntie)

Full Changelog: v0.76.5...v0.76.6

v0.73.10

07 Jun 16:24
Compare
Choose a tag to compare

This is a hotfix on the 0.73.x branch.

  • [Feature] Support URLs for both bundling and symbolication requests using //& instead of ? as a query string delimiter (#994 by @robhogan)
  • [Fix] Emit source URLs in a format that will not be stripped by JavaScriptCore (#994 by @robhogan)

Full Changelog: v0.73.9...v0.73.10