# pnpm: what changed from 11 to 12 - Product: pnpm (https://whatsnew.fyi/product/pnpm) - Vendor: pnpm - Range: changelog entries numbered after v11.25.0 up to and including v12.3.4, stable releases only - Entries below: 9 releases (newest first) - Resolved: 11 is v11.25.0 and 12 is v12.3.4, the newest stable release of each major we track - Carrying security changes: 0 · CVEs mentioned: 0 · Mentioning breaking changes: 0 · Removing or deprecating something: 0 - Page: https://whatsnew.fyi/product/pnpm/compare/11...12 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (96 changes, grouped by kind) ### Added #### v12.3.4 (2026-09-04) - pnpm remove now accepts --unsafe-perm flag #### v12.3.2 (2026-09-04) - pnpm update now accepts --ignore-scripts and skips lifecycle scripts during the update #### v12.3.0 (2026-09-02) - Context-aware global commands (node, deno, bun, and shims created with pnpm shim add) are now native executables on every platform, allowing environment variables with non-shell-identifier names to reach these commands - pnpm remove and pnpm update now accept --trust-lockfile, --no-trust-lockfile, --trust-policy, --trust-policy-exclude, and --trust-policy-ignore-after flags - pnpm now honors --config.trust-lockfile= and accepts bare --trust-lockfile / --no-trust-lockfile spelling on commands that previously took the setting from config file alone - pnpm config now accepts -g/--global, --location, and --json before its subcommand #### v12.2.0 (2026-09-01) - Catalogs can now resolve workspace dependencies through the `workspace:` protocol #### v12.1.0 (2026-08-29) - Persist completed recursive tasks so --resume-from skips exactly the work that passed during a matching interrupted or failed pnpm -r run or pnpm -r exec invocation - Added per-task concurrency limits to workspace task orchestration via tasks..concurrency in pnpm-workspace.yaml - A cache can now be declared write-only to populate one the run does not read - A dependency cycle among the tasks of a run is now an error naming the participating tasks instead of silently running in an arbitrary order - Setting ignoreWorkspaceCycles: true downgrades task cycle errors to warnings - pnpm -r run --dry-run