Skip to content

Releases: facebook/metro

v0.80.4

10 Jan 18:17
Compare
Choose a tag to compare
  • [Fix]: Remove special handling of paths containing .zip/ (9212156 by @robhogan)
  • [Fix]: Edge case leading to invalid bundles when only the order of dependencies within a module has changed (28abfc9 by @motiz88)

Full Changelog: v0.80.3...v0.80.4

v0.80.3

03 Jan 20:17
Compare
Choose a tag to compare
  • [Feature]: Pass dev option to resolver (#1134 by @EvanBacon)
  • [Fix]: Fast Refresh may fail or lose modifications after correcting transform or resolution issues in user code (0e51ad9 by @robhogan)
  • [Fix]: Don't unnecessarily reset Fast Refresh after recovering from certain transform or resolution errors (46b02dc by @robhogan)
  • [Fix]: Ignore errors in unreachable modules during incremental builds (#1164 by @robhogan)

Full Changelog: v0.80.2...v0.80.3

v0.80.2

18 Dec 13:44
Compare
Choose a tag to compare
  • [Fix]: Fast Refresh breaks on encountering a garbage cycle with async/weak dependencies (e223a2e by @robhogan)
  • [Fix]: Destroy HTTP cache connections on timeout instead of hanging (6001f86 by @motiz88)
  • [Fix] Respond with HTTP 404 when a bundle entry point cannot be resolved (cbfb96d by @motiz88)
  • [Fix]: Support serverRoot with HMR serializer chunks (#1137 by @EvanBacon)
  • [Fix]: Update hermes-parser and related packages to 0.18.0 (9cbf1b7)

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)

Full Changelog: v0.80.1...v0.80.2

v0.80.1

09 Nov 17:41
Compare
Choose a tag to compare
  • [Fix]: Add React JSX runtime to default exceptions for inline requires.(#1126 by @gaearon)
  • [Fix]: Always exempt Babel runtime helpers from inline (lazy) requires. (#1127 by @gaearon)
  • [Fix]: Include protocol scheme in 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]: Add unstable_workerThreads options to transformer and watcher configuration. (20df4ec by @robhogan)

Full Changelog: v0.80.0...v0.80.1

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