pnpm 10.25
pnpm 10.25 improves certificate handling, adds a bare pnpm init, and ships several quality-of-life fixes.
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.
This release adds version-scoped controls to two settings: [onlyBuiltDependencies] and [minimumReleaseAgeExclude].
Added network performance monitoring to pnpm by implementing warnings for slow network requests, including both metadata fetches and tarball downloads.
Added configuration options for warning thresholds: fetchWarnTimeoutMs and fetchMinSpeedKiBps.
Warning messages are displayed when requests exceed time thresholds or fall below speed minimums
Related PR: #10025.
minimumReleaseAge configuration #10030.cleanupUnusedCatalogs configuration when removing dependent packages.scriptShell is set to false #8748.pnpm dlx should not fail when minimumReleaseAge is set #10037.The minimumReleaseAgeExclude setting now supports patterns.