<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/pnpm-12-s-rust-rewrite-cuts-install-times-by-up-to-90--rmvwogsfc" -->

---
title: pnpm 12’s Rust Rewrite Cuts Install Times by Up to 90%
description: pnpm 12 is now stable, replacing its Node.js/TypeScript core with a Rust rewrite while keeping pnpm 11&#x27;s commands, config, and lockfile format unchanged....
canonical: https://daily.dev/posts/pnpm-12-s-rust-rewrite-cuts-install-times-by-up-to-90--rmvwogsfc
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: pnpm 12’s Rust Rewrite Cuts Install Times by Up to 90% | daily.dev
og:description: pnpm 12 is now stable, replacing its Node.js/TypeScript core with a Rust rewrite while keeping pnpm 11&#x27;s commands, config, and lockfile format unchanged....
og:url: https://daily.dev/posts/pnpm-12-s-rust-rewrite-cuts-install-times-by-up-to-90--rmvwogsfc
og:image: https://api.daily.dev/og/posts/RMvwogSFC.png
og:image:alt: pnpm 12’s Rust Rewrite Cuts Install Times by Up to 90%
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# pnpm 12’s Rust Rewrite Cuts Install Times by Up to 90%

**[Socket](https://daily.dev/sources/socketdev)** · 7 min read · 1 upvotes · 0 comments

## Summary

pnpm 12 is now stable, replacing its Node.js/TypeScript core with a Rust rewrite while keeping pnpm 11's commands, config, and lockfile format unchanged. Vercel's Turborepo monorepo saw median install times drop 64.4% to 90.5% versus pnpm 10.28 across warm/cold store and node_modules scenarios, though a larger native binary makes uncached Corepack startup 11.1% slower. pnpm also had to walk back cross-tool benchmark claims after bugs were found favoring pnpm 12 and mishandling Bun's package counts, so its public benchmark page now only compares against npm and prior pnpm versions. Beyond speed, pnpm 12 adds security and reproducibility features: project-aware global bins, direct provisioning of npm/Yarn/Bun/Node/Deno with signature verification, a registry revisions mechanism for patched artifacts, a signed remote build cache (pnpr), and deterministic cyclic lockfiles. A compatibility guide lists seven behavioral changes, including removal of `pnpm install --resolution-only`, GitHub/GitLab/Bitbucket git dependencies resolving via HTTPS instead of SSH, and unknown workspace settings now being reported rather than silently ignored.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://socket.dev/blog/pnpm-12>

## Questions this post answers

### How much faster is pnpm 12 compared to pnpm 10 for installs?

When Vercel upgraded its 21-project Turborepo workspace installing 1,670 packages, pnpm 12 reduced median install times by 64.4% to 90.5% compared with pnpm 10.28 across six combinations of warm/cold stores, existing/absent node_modules, and enabled/disabled lifecycle scripts. The largest case dropped install time from 1.476 seconds to 142 milliseconds.

_Track real-world pnpm 12 install benchmarks like this one on daily.dev before planning a monorepo upgrade._

### How do I upgrade to pnpm 12 from pnpm 11?

Users on pnpm 11.10 or newer can switch by running `pnpm self-update next-12`, since npm's `latest` tag still points to pnpm 11 and pnpm 12 must be installed from the `next-12` tag. Existing commands, settings, and the lockfile format from pnpm 11 are preserved, so no migration project is required.

_Follow pnpm's rollout details on daily.dev when planning your own upgrade path._

### What behavioral changes could break my CI when upgrading to pnpm 12?

The removal of `pnpm install --resolution-only` is most likely to break existing CI jobs; `pnpm peers check` now handles peer-dependency reporting instead. Git dependencies on GitHub, GitLab, and Bitbucket now resolve via HTTPS instead of SSH, and pnpm-workspace.yaml now reports unknown settings instead of silently ignoring them, which can catch misspelled security controls like minimumReleaseAge.

_Check compatibility notes like these on daily.dev before rolling pnpm 12 into CI pipelines._

---

Tags: [#security](https://daily.dev/tags/security), [#nodejs](https://daily.dev/tags/nodejs), [#rust](https://daily.dev/tags/rust), [#pnpm](https://daily.dev/tags/pnpm)

[View this post on daily.dev](https://daily.dev/posts/pnpm-12-s-rust-rewrite-cuts-install-times-by-up-to-90--rmvwogsfc)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"pnpm 12’s Rust Rewrite Cuts Install Times by Up to 90%","url":"https://daily.dev/posts/pnpm-12-s-rust-rewrite-cuts-install-times-by-up-to-90--rmvwogsfc","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/pnpm-12-s-rust-rewrite-cuts-install-times-by-up-to-90--rmvwogsfc"},"datePublished":"2026-09-01T05:00:51.744Z","dateModified":"2026-09-03T11:30:23.420Z","description":"pnpm 12 is now stable, replacing its Node.js/TypeScript core with a Rust rewrite while keeping pnpm 11's commands, config, and lockfile format unchanged....","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/cc73e0274b860783fa08d34b9268d4f9?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/cc73e0274b860783fa08d34b9268d4f9?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Socket","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Socket","logo":"https://media.daily.dev/image/upload/s---oEn9czC--/f_auto/v1716187892/logos/socketdev","url":"https://daily.dev/sources/socketdev"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/pnpm-12-s-rust-rewrite-cuts-install-times-by-up-to-90--rmvwogsfc","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"security,nodejs,rust,pnpm","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Socket","item":"https://daily.dev/sources/socketdev"},{"@type":"ListItem","position":3,"name":"pnpm 12’s Rust Rewrite Cuts Install Times by Up to 90%"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/pnpm-12-s-rust-rewrite-cuts-install-times-by-up-to-90--rmvwogsfc#faq","mainEntity":[{"@type":"Question","name":"How much faster is pnpm 12 compared to pnpm 10 for installs?","acceptedAnswer":{"@type":"Answer","text":"When Vercel upgraded its 21-project Turborepo workspace installing 1,670 packages, pnpm 12 reduced median install times by 64.4% to 90.5% compared with pnpm 10.28 across six combinations of warm/cold stores, existing/absent node_modules, and enabled/disabled lifecycle scripts. The largest case dropped install time from 1.476 seconds to 142 milliseconds. Track real-world pnpm 12 install benchmarks like this one on daily.dev before planning a monorepo upgrade."}},{"@type":"Question","name":"How do I upgrade to pnpm 12 from pnpm 11?","acceptedAnswer":{"@type":"Answer","text":"Users on pnpm 11.10 or newer can switch by running `pnpm self-update next-12`, since npm's `latest` tag still points to pnpm 11 and pnpm 12 must be installed from the `next-12` tag. Existing commands, settings, and the lockfile format from pnpm 11 are preserved, so no migration project is required. Follow pnpm's rollout details on daily.dev when planning your own upgrade path."}},{"@type":"Question","name":"What behavioral changes could break my CI when upgrading to pnpm 12?","acceptedAnswer":{"@type":"Answer","text":"The removal of `pnpm install --resolution-only` is most likely to break existing CI jobs; `pnpm peers check` now handles peer-dependency reporting instead. Git dependencies on GitHub, GitLab, and Bitbucket now resolve via HTTPS instead of SSH, and pnpm-workspace.yaml now reports unknown settings instead of silently ignoring them, which can catch misspelled security controls like minimumReleaseAge. Check compatibility notes like these on daily.dev before rolling pnpm 12 into CI pipelines."}}]}
```

