pnpm 10.27
pnpm 10.27 adds a new setting to ignore trust policy checks for older package versions, introduces a project registry for global virtual store pruning, and includes several bug fixes.
pnpm 10.27 adds a new setting to ignore trust policy checks for older package versions, introduces a project registry for global virtual store pruning, and includes several bug fixes.
2025 has been a transformative year for pnpm. While our primary focus was redefining the security model of package management, we also delivered significant improvements in performance and developer experience.
From blocking lifecycle scripts by default to introducing a global virtual store, here is a look back at the major features shipped in 2025.
pnpm 10.26 introduces stricter security defaults for git-hosted dependencies, adds allowBuilds for granular script permissions, and includes a new setting to block exotic transitive dependencies.
pnpm 10.25 improves certificate handling, adds a bare pnpm init, and ships several quality-of-life fixes.
We got lucky with Shai-Hulud 2.0.
In November 2025, a self-replicating npm worm compromised 796 packages with 132 million monthly downloads. The attack used preinstall scripts to steal credentials, install persistent backdoors, and in some cases wipe entire developer environments. We weren't affected—not because we had robust defenses, but because we didn't run npm install or npm update during the attack window.
Luck isn't a security strategy.
pnpm now scales network concurrency automatically on high-core machines and ships several reliability fixes.
Added --lockfile-only option to pnpm list and various improvements to pnpm self-update.
Added support for excluding packages from trust policy and overriding the engines field on publish.
Added support for Node.js runtime installation for dependencies and a setting for configuring trust policy.
This release adds a --all flag for the pnpm help command to print all commands.