pnpm 12 is out, powered by Rust π
pnpm 12 moves its installation engine to Rust, with faster startup and installs, deterministic cycles and breaking changes.

The package manager known for speed has become even faster. In stable pnpm 12, the installation engine has been fully moved from TypeScript/Node.js to Rust.
This is not an interface redesign, but a 1:1 port. Commands, flags, settings, lockfile format and the node_modules structure remain unchanged. You simply upgrade and get a speed boost without painful migrations.
Main changes:
- Instant cold startup: pnpm ships as a native binary for your platform, without the overhead of starting the Node.js runtime.
- Up to 30Γ faster βwarmβ installs: Rechecking and linking already cached dependencies dropped from around 470 ms to 15 ms. Cold installation in monorepositories became 2β3 times faster.
- Deterministic circular dependencies: pnpm 12 handles package cycles strictly and natively. Lockfiles are now byte-for-byte identical regardless of traversal order, and peer dependency resolution has become 2β3 times faster with lower memory consumption (-25%).
- Project-aware global bins: Global binaries (
node,deno,bun) can now automatically adapt to the version pinned in a particular project.
Breaking Changes: Deprecated CLI flags (such as --prefer-offline) have been removed, unknown keys in pnpm-workspace.yaml are no longer silently ignored, and minimum OS requirements have been raised.
You can upgrade with pnpm self-update or npm i -g pnpm@12.
Rewriting pnpm in Rust turned out to be faster than migrating to ESM
joked Zoltan Kochan
Read the post on the official blog
Have you tried version 12 on your monorepos yet?