Change8

v10.7.0

📦 pnpmView on GitHub →
6 features🐛 1 fixes1 deprecations🔧 8 symbols

Summary

This minor release adds workspace‑aware config commands, env‑var support in workspace files, version‑range based dependency patching, a new ignore‑patch‑failures option, and fixes audit output memory issues.

Migration Steps

  1. Replace any usage of `pnpm.allowNonAppliedPatches` with `pnpm.allowUnusedPatches` in your configuration files.
  2. Review `patchedDependencies` entries to ensure version ranges do not overlap; use exact versions for specialized sub‑ranges if needed.
  3. If you relied on the previous default of ignoring all patch failures, set `pnpm.ignorePatchFailures` to `true` or adjust the flag according to the desired behavior.
  4. No other changes are required for a smooth upgrade.

✨ New Features

  • `pnpm config get` and `pnpm config list` now also display settings defined in `pnpm-workspace.yaml`.
  • Environment variables can be used in `pnpm-workspace.yaml` for both setting names and values.
  • Support for patching dependencies by version ranges via the `patchedDependencies` field. Exact versions override ranges, which override name‑only patches.
  • `pnpm config set --location=project` will write the setting to a `pnpm-workspace.yaml` file when no `.npmrc` is present.
  • New configuration option `pnpm.ignorePatchFailures` to control how pnpm reacts to patch application failures.
  • Renamed configuration key `pnpm.allowNonAppliedPatches` to `pnpm.allowUnusedPatches` (still supported with warning).

🐛 Bug Fixes

  • Removed dependency paths from audit output to prevent out‑of‑memory errors.

🔧 Affected Symbols

pnpm.config.getpnpm.config.listpnpm.config.setpnpm.allowNonAppliedPatchespnpm.allowUnusedPatchespnpm.ignorePatchFailurespatchedDependenciesaudit output

⚡ Deprecations

  • Rename `pnpm.allowNonAppliedPatches` to `pnpm.allowUnusedPatches`. The old name still works but emits a deprecation warning. Update your configuration to use `pnpm.allowUnusedPatches` to avoid warnings.