Change8

v11.0.0-rc.4

📦 pnpmView on GitHub →
2 features🐛 2 fixes2 deprecations🔧 8 symbols

Summary

This release significantly speeds up Node.js runtime installations by excluding bundled tools like npm and npx, and introduces the flexible `--runtime` flag for packaging apps. It also restores compatibility for older `pnpm self-update` versions by reverting a recent package name change.

Migration Steps

  1. When using `pnpm pack-app`, replace the `--node-version` flag with the new `--runtime` flag using the syntax `<name>@<version>` (e.g., `--runtime node@22.0.0`).
  2. If using `pnpm.app.nodeVersion` in package.json, rename the key to `pnpm.app.runtime` and update its value to use the `<name>@<version>` syntax.

✨ New Features

  • Installing Node.js runtimes via `node@runtime:<version>` (and related commands) no longer extracts bundled `npm`, `npx`, and `corepack`, significantly speeding up runtime installation.
  • Introduced the `--runtime` flag for `pnpm pack-app` which accepts a `<name>@<version>` spec (e.g., `--runtime node@22.0.0`), allowing for future support of runtimes other than Node.

🐛 Bug Fixes

  • Restored legacy npm package names (`@pnpm/{macos,win,linux,linuxstatic}-{x64,arm64}`) for platform-specific optional dependencies of `@pnpm/exe` to fix `pnpm self-update` from v10.
  • Fixed an issue where the previous `--node-version` flag silently inherited from the global `node-version` rc setting, potentially embedding the wrong Node build in SEAs.

Affected Symbols

⚡ Deprecations

  • The `--node-version` flag for `pnpm pack-app` is deprecated and replaced by `--runtime`.
  • The `pnpm.app.nodeVersion` key in package.json is deprecated and renamed to `pnpm.app.runtime`.