Skip to content
pnpm.io·

🔧pnpm 12 Stable: Rust Rewrite, Faster Resolution

pnpm 12 is here, but it's not a drop-in upgrade

TL;DR

pnpm 12 is now stable, a full Rust rewrite, but it doesn't auto-migrate from pnpm 11. Commands, flags, and lockfile formats carry over, but you'll need to install it manually from the next-12 tag.

pnpm 12 is now stable, a complete rewrite in Rust. However, it doesn't auto-migrate from pnpm 11, so you'll need to install it manually from the next-12 tag. This version introduces significant changes like Git dependencies becoming identities and dependency cycles being broken canonically during peer resolution, making lockfiles a pure function of the dependency graph. On large cycle-heavy workspaces, peer resolution is 2-3 times faster and uses 25% less memory, producing smaller lockfiles. If you're dealing with complex dependency graphs, this update could save you time and resources. pnpm 12 also supports project-aware global bins and provisions other package managers like npm, Yarn, and Bun.

pnpm 12 Stable: Rust Rewrite, Faster Resolution — pnpm.io

Key Points

1

pnpm 12 is a complete Rust rewrite, no auto-migration from pnpm 11

2

Git dependencies are now identities, not transport choices

3

Peer resolution on large workspaces is 2-3× faster, uses 25% less memory

4

Lockfiles are now a pure function of the dependency graph

5

Supports project-aware global bins and provisions other package managers

Why It Matters

If you're managing complex dependency graphs in pnpm, the 2-3× faster resolution and 25% less memory usage in pnpm 12 can significantly speed up your build times. However, the lack of auto-migration means you'll need to manually update and test your setup. The new Git dependency identity system and project-aware global bins also offer more control and flexibility, but may require adjustments to your workflow.

pnpmRustdependency-managementpackage-resolutionperformance

Frequently Asked Questions

Why does this matter?

If you're managing complex dependency graphs in pnpm, the 2-3× faster resolution and 25% less memory usage in pnpm 12 can significantly speed up your build times. However, the lack of auto-migration means you'll need to manually update and test your setup. The new Git dependency identity system and project-aware global bins also offer more control and flexibility, but may require adjustments to your workflow.

What happened?

pnpm 12 is now stable, a full Rust rewrite, but it doesn't auto-migrate from pnpm 11. Commands, flags, and lockfile formats carry over, but you'll need to install it manually from the next-12 tag.

Comments

Subscribe to join the conversation...

Be the first to comment

Enjoyed this article?

Get it daily. 7am. Free. Reads in 5 minutes.

Join 3,339 builders reading daily.

Also get