Skip to content

Releases: facebook/metro

v0.83.5

01 Mar 16:15

Choose a tag to compare

This is a hotfix on the 0.83.x branch.

  • [Feature]: config.server.tls now sets Metro to be exposed as an https server (#1657 by @vzaidman)
  • [Fix]: sync bundling progress between Metro cli and app hints (34ca6a6 by @vzaidman)
  • [Types]: Restore accidentally removed publication of TypeScript types (#1662 by @robhogan)

Full Changelog: v0.83.4...v0.83.5

v0.84.2

27 Feb 17:48

Choose a tag to compare

  • [Types]: Restore publishing of TypeScript types to npm (#1662 by @robhogan)

Full changelog: v0.84.1...v0.84.2

v0.84.1

25 Feb 15:02

Choose a tag to compare

  • [Fix] sync bundling progress between Metro cli and app hints (34ca6a6 by @vzaidman)
  • [Feature] config.server.tls now sets Metro to be exposed as an https server (35ff94b by @vzaidman)

Full Changelog: v0.84.0...v0.84.1

v0.84.0

20 Feb 20:49

Choose a tag to compare

  • [Breaking]: Drop support for Node v21, v23, and LTS minors released before v20.19 (b85f7fe by @robhogan)

Full Changelog: v0.83.4...v0.84.0

v0.83.4

20 Feb 03:41

Choose a tag to compare

  • [Feature]: Inline Platform.OS/Platform.select for variables bound to require('react-native'). (#1641 by @thymikee)
  • [Feature]: Add a keepalive mechanism to Fast Refresh connections to improve stability in some proxied setups (f7ab6f9 by @vzaidman)
  • [Fix]: Undo accidentally increased strictness of content-type for /symbolicate (#1630 by @MorvanL)
  • [Fix]: metro-babel-transformer: Don't set BABEL_ENV as a side-effect (de59fcc by @robhogan)
  • [Fix]: metro-config: Fix absolute path error on Windows masking actionable config loading errors (#1620 by @kitten)
  • [Fix]: Only return a symbolicated code frame for files that are in the project (e31e11c by @motiz88)
  • [Fix]: Only serve assets that are in the project (#1643 by @fabriziocucci)
  • [Performance]: Use worker threads for processing file changes on startup, significantly faster on Windows. (#1639 by @robhogan)
  • [Types]: Automatic, comprehensive TypeScript types for all packages. (#1611, #1648, #1621, etc by @nickhudkins, @pafry7 and @robhogan)

Full Changelog: v0.83.3...v0.83.4

v0.83.3

01 Oct 12:22

Choose a tag to compare

  • [Feature]: Accept functions as arguments to mergeConfig. (#1580 by @robhogan)
  • [Fix]: Fix regression loading config files that export a promise. (#1586 by @robhogan)
  • [Fix]: Don't obscure errors parsing/evaluating metro.config.js. (af3bcca by @robhogan)
  • [Fix]: Fix mergeConfig handling of 2+ partial configs. (a99067f by @robhogan)

Full Changelog: v0.83.2...v0.83.3

v0.83.2

18 Sep 16:05

Choose a tag to compare

  • [Feature] Support ESM metro.config.js / metro.config.mjs (#1557 by @robhogan)
  • [Feature] Support Metro config at .config/metro.js (etc.), as well as metro.config.js (#1558 by @robhogan)
  • [Feature] Support loading TypeScript metro.config.ts files when using Node.js/Bun versions that natively support it (#1560 by @robhogan)
  • [Feature] Expose globalPrefix to getRunModuleStatement (#1566 by @robhogan)
  • [Feature] Set a definite bundle sourcemap's url protocol instead of using relative protocols (d0c89e5 by @vzaidman)
  • [Feature] Respect "x-forwarded-host" and "x-forwarded-proto" when calculating asset url for asset requests (d0c89e5 by @vzaidman)
  • [Fix] module.verboseName (dev builds only) now uses posix separators regardless of the OS the bundle is built on (#1568 by @robhogan)
  • [Fix] Fix build/serve cache incompatibility by removing unused hot param (#1567 by @robhogan)
  • [Fix] Replaced the deprecated url.parse with URL and correctly encode and decode source urls and source map urls (#1548 by @vzaidman)
  • [Fix] Support non-ASCII filesystem bundle paths (#1538 by @bradleyayers)
  • [Fix] Only print symbolication errors in debug (#1573 by @krystofwoldrich)
  • [Fix] Fix metro-runtime's fast refresh checks to not skip over getters for ES modules (#1575 by @kitten)
  • [Deprecated]: metro-cache: Deprecate AutoCleanFileStore (#1570 by @robhogan)

Full Changelog: v0.83.1...v0.83.2

v0.83.1

24 Jul 14:02

Choose a tag to compare

  • [Feature] Restore support for Node.js >= 20.19.4 (#1537 by @robhogan)

Full Changelog: v0.83.0...v0.83.1

v0.83.0

13 Jul 11:12

Choose a tag to compare

  • [Breaking]: Require Node.js >= 22.14.0. (#1531 by @robhogan) (NOTE: Lowered to 20.19.4 in Metro 0.83.1)
  • [Breaking]: Remove undocumented transformer.workerPath config. (49f7aac by @robhogan)
  • [Breaking]: Prevent importing from /src/, make all non-root exports semver-private, except metro-runtime. (ae6f423 by @robhogan)
  • [Breaking]: Metro.runServer - return an object containing httpServer rather than the server instance directly. (95867ce by @robhogan)
  • [Breaking]: metro-babel-register, buck-worker-tool, metro-cache-key: Used named exports instead of exporting a default function. (f225bf1, 69bde93, 3430036 by @robhogan)
  • [Removed]: metro-memory-fs will no longer be published. (02104f8 by @robhogan)

Full Changelog: v0.82.5...v0.83.0

v0.82.5

06 Jul 08:13

Choose a tag to compare

  • [Feature]: Allow reuse of ReactRefresh instance across multiple module systems by prefixing more globals and IDs (#1513 by @jbroma)
  • [Feature]: Add "type": "UnableToResolveError" to JSON server responses on resolution failures. (6f0093c by @robhogan)
  • [Feature]: Export JsonReporter from metro's package root. (6f0093c by @robhogan)
  • [Performance]: runBuild API / build CLI - Avoid a second graph traversal when enumerating assets. (#1511 by @tido64)
  • [Fix]: Fix incorrect modules being loaded when optional dependencies are used. (#1522 by @robhogan)
  • [Fix]: Don't overwrite $RefreshReg$, e.g. when multiple module systems are overlayed. (#1510 by @jbroma)

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

  • [Experimental]: Opt-in module factory optimisation for Static Hermes. (c37509b by @robhogan)

Full Changelog: v0.82.4...v0.82.5