Skip to content

pnpm 12.17 can now update your Cargo and Python dependencies too

pnpm outdated and pnpm update can inspect and bump Cargo and Python dependency files as well as npm packages, and override selectors gain dependency-group targeting and wildcards.

Source: pnpm

pnpm 12.17.0 shipped on 30 October. pnpm outdated and pnpm update now inspect and update package manager and runtime versions declared in devEngines.packageManager, packageManager, devEngines.runtime and engines.runtime. With Cargo or Python support turned on in your pnpm settings, the same two commands also inspect and update Cargo dependencies in Cargo.toml and Cargo.lock, and Python dependencies in pyproject.toml and pylock.toml.

The release also extends override selectors: you can now target a single dependency group with :prod, :optional or :peer pseudo-selectors, and use * wildcard patterns on parent and target package names. Removing an optional dependency with a "-" override now also removes its duplicate entry from dependencies. Separately, pnpm peers check accepts a new --global (-g) flag, and the peer dependency warning shown after a global install or update now points you at it.

Why it matters: if your repository mixes a JS workspace with Rust or Python services, pnpm outdated stops being JS-only, giving you one command that surfaces stale dependencies across all three instead of three separate tools. The wildcard and group-targeted override selectors mean you can patch every matching transitive dependency without listing each one by name.

Share

Related reading

More from The Wire

All briefs