pnpm 10.32
pnpm 10.32 adds an --all flag to pnpm approve-builds for approving all pending builds without interactive prompts.
pnpm 10.32 adds an --all flag to pnpm approve-builds for approving all pending builds without interactive prompts.
pnpm 10.31 preserves comments and formatting when updating pnpm-workspace.yaml, and includes numerous bug fixes.
pnpm 10.30 redesigns pnpm why to show a reverse dependency tree, making it much easier to understand why a package is installed.
pnpm 10.29 adds catalog: protocol support to pnpm dlx, allows configuring auditLevel in pnpm-workspace.yaml, supports a bare workspace: specifier, and includes several bug fixes.
pnpm 10.28 introduces a new beforePacking hook to customize package.json at publish time, improves filtered install performance, and includes several bug fixes.
pnpm 10.27 新增了一个设置,可以忽略旧版本软件包的信任策略检查,引入了一个用于全局虚拟存储修剪的项目注册表,并修复了几个错误。
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 为 git 托管的依赖项引入了更严格的安全默认值,添加了 allowBuilds 以实现细粒度的脚本权限,并包含了一个新设置来阻止特殊的传递依赖项。
pnpm 10.25 改进了证书处理,添加了裸 pnpm init,并修复了一些影响用户体验的问题。
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.