Migrating to pnpm v12.0.0-beta.0
Version v12.0.0-beta.0 introduces 3 breaking changes. This guide details how to update your code.
Released: 7/29/2026
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
pnpm-workspace.yamlPNPM_CONFIG_*pnpm installpnpm addpnpm updatepnpm runpnpm self-updatepnpm licenses list --jsonpnpm --filter <package> runpnpm dedupe --checkpnpm peers checkpnpm install --frozen-lockfileBreaking Changes
●Issue #1
The `pnpm self-update` command no longer respects project-specific configurations like `.npmrc`, `pnpm-workspace.yaml`, or `.pnpmfile.(c|m)js` for fetching pnpm. It now uses the same trusted registry and authentication as when switching pnpm versions. To control the download source or credentials, use the global pnpmfile, config dependencies, or the `pnpmfile` setting. Project-specific `.pnpmfile.(c|m)js` files are no longer loaded by `self-update`.
●Issue #2
The `minimumReleaseAge` setting in `pnpm-workspace.yaml` no longer affects `pnpm self-update`. The cooldown period for `self-update` is now determined by built-in defaults, global config, `PNPM_CONFIG_*` environment variables, or command-line flags. This change prevents projects from waiving the cooldown or staying on outdated versions by manipulating this setting.
●Issue #3
The `trustPolicy` settings and the `ci` flag in a project's configuration no longer influence `pnpm self-update`. Projects cannot weaken the trust checks for pnpm downloads or re-enable the confirmation prompt suppressed in CI runs. This ensures that `self-update` adheres to the global trust policies and CI behavior.
Release Summary
This release introduces significant enhancements to the Rust engine, including expanded configuration options for workspace settings and improved handling of workspace protocols. It also refines `pnpm self-update` behavior by removing project-specific overrides for fetching and trust policies, and includes numerous bug fixes for lockfile generation, dependency resolution, and command execution.
Need More Details?
View the full release notes and all changes for pnpm v12.0.0-beta.0.
View Full Changelog