Skip to content

Releases: facebook/metro

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

v0.82.4

21 May 17:08

Choose a tag to compare

  • [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

06 May 11:08

Choose a tag to compare

  • [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

06 May 11:03

Choose a tag to compare

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

v0.82.2

29 Apr 09:23

Choose a tag to compare

  • [Feature]: Support proxy and socketPath in remote cache HttpStore (cc7316b by @robhogan)
  • [Feature] Fallback to showing first collapsed frame when all frames in a stack are collapsed (#1483 by @EvanBacon)
  • [Fix] Support correct application/json body parsing in /symbolicate (#1475 by @huntie)
  • [Fix] Add missing type for missing import errors in HMR client (#1487 by @EvanBacon)

Full Changelog: v0.82.1...v0.82.2

v0.82.1

27 Mar 13:46

Choose a tag to compare

  • [Fix]: Fix wildcard pattern precedence in package.json imports/exports resolution (#1458 by @robhogan)
  • [Fix]: Fix edge-case overmatching of pattern keys in package.json exports/imports resolution (c4ba9fb by @robhogan)
  • [Fix]: Fix handling of export map targets with zero or 2+ wildcard characters in package.json imports/exports resolution (acfc0d8 by @robhogan)
  • [Fix]: Fix terminal statuses incorrectly persisting the wrong line (7156541 by @vzaidman)

Full Changelog: v0.82.0...v0.82.1