pnpm 12.7
pnpm 12.7 lets the global node shim follow .nvmrc and .node-version,
adds pnpm install --allow-build and pnpm publish --publish-wait-timeout,
and creates pnpm-workspace.yaml from the workspaces field of package.json.
pnpm install --force no longer installs optional dependencies built for other
platforms. This release also carries security fixes and a long list of bug
fixes.
pnpm 11.28
pnpm 11.28 adds the forceIgnoresPlatform setting and pnpm update --peer,
and brings a large batch of fixes from pnpm 12 to the JavaScript CLI: pnpm deploy, --filter, nodeLinker: hoisted, and custom modulesDir setups all
behave better. It also carries security fixes for shell completion, bin shims
on Nix, lifecycle scripts inside a custom modulesDir, and userAgent
placeholders in pnpm-workspace.yaml.
pnpm 12.6
pnpm 12.6 ships with automatic dependency deduplication, relocatable
node_modules, --save-types for installing @types/* packages alongside
their counterparts, package.yaml manifest editing, and file: / link:
protocols in catalogs.
pnpm 12.5
pnpm 12.5 expands Python support with editable project packages, shared workspace
environments, automatic interpreter downloads, and lockfiles for multiple
platforms and Python versions. It also accepts Package URLs in pnpm add, adds
machine-wide task concurrency groups, and cleans up obsolete registry metadata
with pnpm cache prune.
pnpm 12.4
pnpm 12.4 installs crates and Python packages next to npm packages in the same
workspace, adds pnpm pipeline to run a workspace's tasks the way a CI job
would, and ships binaries for six more platforms. pnpr 0.1.0-alpha.11, released
alongside 12.4.1, serves Cargo, Python, and container registries beside npm,
publishes across all of them in one transaction, and signs users in through
OIDC.
pnpm 11.26
pnpm 11.26 brings the JavaScript CLI level with what pnpm 12 gained over the
past two weeks: workspace: ranges in catalogs, the supply-chain flags on
remove and update, pnpm change check for CI, and pnpm deploy without
injected dependencies.
pnpm 12.2-12.3
pnpm 12.2 and 12.3 are largely a catch-up pair: a long list of things pnpm 11
did that the Rust CLI did not, put back. Catalogs learned the workspace:
protocol, pnpm remove and pnpm update gained the supply-chain flags, every
project-aware global command became a real executable, and hostname resolution
went back to the system resolver on Linux and Windows. Large workspaces install
noticeably faster.
pnpm 12.1
pnpm 12.1 brings the new workspace task scheduler to the Rust CLI, persists successful recursive tasks for precise retries, expands shared build artifacts to macOS and Windows, and moves login credentials into pnpm's structured global configuration. pnpr 0.1.0-alpha.9, released with it, makes the artifact tier independent and horizontally scalable through S3-compatible storage.
pnpm 11.25
pnpm 11.25 replaces topological batches with a task scheduler, adds configurable
workspace task dependencies and per-task concurrency, and makes interrupted
recursive runs resumable from the work that actually passed. It also introduces
registry revisions, signed build artifacts shared through pnpr, batch approval
for staged packages, automatic pruning of stale audit exceptions, and a
pnpm init pin that follows the latest released pnpm.
pnpm 12.0
pnpm 12 is stable. It is a rewrite of pnpm in Rust. Upgrading should not feel like a migration. The documentation now defaults to pnpm 12, with the pnpm 11 documentation available from the version selector.
The few things that behave differently are listed in What's different in pnpm 12. This post covers what is new.