v10.12.1
Breaking Changes📦 pnpmView on GitHub →
⚠ 1 breaking✨ 6 features🐛 2 fixes🔧 7 symbols
Summary
This release introduces experimental global virtual stores, catalog enhancements, new CLI options, and a new CI flag, while changing side‑effects cache keys (requiring cache cleanup) and fixing several regressions.
⚠️ Breaking Changes
- Side-effects cache keys have changed; caches generated by previous pnpm versions will be ignored and a new cache will be created. Clear or rebuild the side-effects cache to avoid cache misses.
Migration Steps
- If you have an existing side-effects cache, delete or rebuild it because the cache keys have changed.
- Enable the global virtual store by setting `enableGlobalVirtualStore: true` in `pnpm-workspace.yaml` or via `pnpm config -g set enable-global-virtual-store true`.
- If you rely on automatic CI detection, consider setting the new `ci` flag explicitly for CI environments.
- Update any scripts that parse side-effects cache paths, as the location may differ.
✨ New Features
- Experimental support for global virtual stores, storing packages in a central store and symlinking from `node_modules`.
- `pnpm update` now supports updating `catalog:` protocol dependencies and writes new specifiers to `pnpm-workspace.yaml`.
- New `catalogMode` setting to control how dependencies are added to the default catalog (`strict`, `prefer`, `manual`).
- Added CLI options `--save-catalog` and `--save-catalog-name=<name>` to `pnpm add` for saving dependencies as catalog entries.
- New `ci` setting to explicitly indicate whether the current environment is a CI.
- `pnpm patch` now sorts printed versions using semantic versioning rules.
🐛 Bug Fixes
- Improved error messages for mismatched specifiers by showing differences instead of whole objects.
- Reverted a previous change (#9574) to fix a regression.
🔧 Affected Symbols
pnpm updatepnpm addpnpm patchside-effects cache keyscatalogMode settingci settingglobal virtual store