Change8

v10.15.0

Breaking Changes
📦 pnpmView on GitHub →
1 breaking7 features🐛 4 fixes🔧 6 symbols

Summary

This release adds several new configuration capabilities, improves config handling, restores glibc 2.26 support, and includes a semi‑breaking change to peer‑dependency resolution.

⚠️ Breaking Changes

  • Automatic peer dependency installer now prefers versions already present in the root workspace's direct dependencies, which may change resolved versions; adjust your dependency resolutions or lockfile accordingly.

Migration Steps

  1. If you relied on the previous peer‑dependency resolution behavior, review your lockfile or specify exact versions to avoid unexpected version changes.

✨ New Features

  • Added the `cleanupUnusedCatalogs` configuration to remove unused catalog entries during installation.
  • pnpm now automatically loads pnpmfiles from config dependencies named `@*/pnpm-plugin-*`.
  • `pnpm config get` now prints an INI string for object values.
  • `pnpm config get` now accepts property paths (e.g., `catalog.react`, `.catalog.react`, `packageExtensions["@babel/parser"].peerDependencies["@babel/types"]`).
  • `pnpm config set` now accepts dot-leading or subscripted keys (e.g., `.ignoreScripts true`).
  • `pnpm config get --json` now prints a JSON serialization of the config value.
  • `pnpm config set --json` now parses the input value as

🐛 Bug Fixes

  • When executing the `pnpm create` command, pnpm now verifies whether the node version is supported even if a cache already exists.
  • Requests for the non‑abbreviated packument now include `*/*` in the `Accept` header to avoid 406 errors on AWS CodeArtifact.
  • The standalone executable version of pnpm works with glibc 2.26 again.
  • Fixed a regression where `pnpm dlx pkg --help` did not forward `--help` to the package.

🔧 Affected Symbols

cleanupUnusedCatalogspnpm config getpnpm config setpnpm createpnpm dlxpeer dependency resolver