Skip to content

Releases: react/metro

v0.84.0

Choose a tag to compare

@robhogan robhogan released this 20 Feb 20:49
  • [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

Choose a tag to compare

@robhogan robhogan released this 20 Feb 03:41
  • [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

Choose a tag to compare

@robhogan robhogan released this 01 Oct 12:22
  • [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

Choose a tag to compare

@huntie huntie released this 18 Sep 16:05
  • [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

Choose a tag to compare

@robhogan robhogan released this 24 Jul 14:02
  • [Feature] Restore support for Node.js >= 20.19.4 (#1537 by @robhogan)

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

v0.83.0

Choose a tag to compare

@robhogan robhogan released this 13 Jul 11:12
  • [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

Choose a tag to compare

@robhogan robhogan released this 06 Jul 08:13
  • [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

v0.82.4

Choose a tag to compare

@robhogan robhogan released this 21 May 17:08
  • [Feature] runBuild: Add optional bundleOut and sourceMapOut arguments to exactly specify output paths (a6f2bdc by @robhogan)
  • [Fix]: Don't constant-fold potentially side-effectful void expressions (#1506 by @robhogan)

Full Changelog: v0.82.3...v0.82.4

v0.82.3

Choose a tag to compare

@robhogan robhogan released this 06 May 11:08
  • [Feature]: runBuild: add assets option to return an asset listing (3b4f503 by @robhogan)
  • [Fix]: importLocationPlugin: Fix non-deterministic false identification of ESM imports (#1497 by @byCedric)
  • [Fix]: collectDepedencies: Fix one-line export from files triggering _interopRequireDefault is not a function (#1498 by @byCedric)

Full Changelog: v0.82.2...v0.82.3

v0.81.5

Choose a tag to compare

@robhogan robhogan released this 06 May 11:03

This is a hotfix on the 0.81.x branch.

This release fixes two issues with unstable_enablePackageExports, which is experimental and opt-in in Metro 0.81.

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

  • [Experimental]: importLocationPlugin: Fix non-deterministic false identification of ESM imports (55ed2ee by @byCedric)
  • [Experimental]: collectDepedencies: Fix one-line export from files triggering _interopRequireDefault is not a function (5f79ce8 by @byCedric)

Full Changelog: v0.81.4...v0.81.5