Repository navigation
chore(deps): update pnpm to v12 - #710
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/pnpm-12.x
branch
from
September 11, 2026 20:42
b512165 to
979057d
Compare
renovate
Bot
force-pushed
the
renovate/pnpm-12.x
branch
from
September 16, 2026 11:03
979057d to
6ffd97d
Compare
renovate
Bot
force-pushed
the
renovate/pnpm-12.x
branch
from
September 20, 2026 05:59
6ffd97d to
bd5d686
Compare
renovate
Bot
force-pushed
the
renovate/pnpm-12.x
branch
from
September 24, 2026 01:50
bd5d686 to
ccdb6c0
Compare
renovate
Bot
force-pushed
the
renovate/pnpm-12.x
branch
from
September 29, 2026 18:34
ccdb6c0 to
dcba3d3
Compare
renovate
Bot
force-pushed
the
renovate/pnpm-12.x
branch
from
October 4, 2026 01:38
dcba3d3 to
0416df9
Compare
renovate
Bot
force-pushed
the
renovate/pnpm-12.x
branch
from
October 5, 2026 00:49
0416df9 to
e454fc5
Compare
renovate
Bot
force-pushed
the
renovate/pnpm-12.x
branch
from
October 7, 2026 18:24
e454fc5 to
bd0fc21
Compare
renovate
Bot
force-pushed
the
renovate/pnpm-12.x
branch
from
October 10, 2026 17:06
bd0fc21 to
54c7ac3
Compare
renovate
Bot
force-pushed
the
renovate/pnpm-12.x
branch
from
October 11, 2026 01:00
54c7ac3 to
aceeded
Compare
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
10.18.0→12.11.2Release Notes
pnpm/pnpm (pnpm)
v12.11.2: pnpm 12.11.2Compare Source
This release fixes
--workspace-concurrency=Infinity, filters set by anupdateConfighook, and store fetches withenable-modules-dir=false.Patch Changes
--workspace-concurrency=Infinitynow runs workspace projects with no concurrency limit. It used to fail withinvalid digit found in string#16793.pnpm installand other recursive commands now apply thefilterandfilterProdthat anupdateConfighook sets. They used to run on every workspace project #16792.enable-modules-dir=falsenow also fetches the packages an install reuses from an existing lockfile, so the store holds every package the lockfile lists.Platinum Sponsors
Gold Sponsors
v12.11.1: pnpm 12.11.1Compare Source
This release fixes two ways
pnpm installcould fail, runs tools of any Rust release throughpnx, and treatsregistry.npmjs.comas an alias of the npm registry.Patch Changes
pnpm installno longer fails whenpackageManagerpins the pnpm version that is already running and the registry does not publish that version. pnpm warns and continues. A registry mirror that has not synced a release no longer blocks the commands of a project pinned to it.pnpm installno longer fails withERR_PNPM_CMD_SHIM_CHMODwhennode_modules/.binholds a shim that another user created, if everyone can already execute it and it is not world-writable. This happens when several users share one checkout.enable-modules-dir=false(enableModulesDir: falsethrough the Node.js addon) fetches the registry packages the host can install into the store again, as pnpm v10 did, while still writing nothing undernode_modules. The setting exists for anode_modulesthat something else mounts from the store, such as a FUSE daemon, and that consumer no longer has to download each package on first access. A plain--lockfile-onlyrun still fetches nothing.pnpm packandpnpm publishno longer put.npmignoreand.gitignorefiles in the tarball. Afilesentry that names one still ships it.pnpm now treats
https://registry.npmjs.com/as an alias ofhttps://registry.npmjs.org/. Registry requests, credentials, and trusted publishing use the canonical hostname.pnx --package=rust@<channel> <tool>runs a tool of that Rust release, for examplepnx --package=rust@nightly-2026-01-01 cargo build. pnpm installs the release with the components and targets fromrust-toolchain.tomland the target of each--targetargument.pnpm installnow links agent skills for more coding agents. It detects the agent fromANTIGRAVITY_AGENT,COPILOT_AGENT,COPILOT_CLI,CODEX_THREAD_ID,CODEX_SANDBOX,AI_AGENT, andCLAUDE_CODEpnpm/tasks#116.When the registry rejects
pnpm stage publish, the error message now starts with "Failed to stage package".Platinum Sponsors
Gold Sponsors
v12.11.0: pnpm 12.11.0Compare Source
This release adds Rust toolchain management, links the agent skills that dependencies ship, adds the
permissionssetting, and keeps the colors of streamed script output.Minor Changes
pnpm installnow links the agent skills that direct dependencies ship underskills/<name>/SKILL.mdinto the project's agent skill directories, such as.claude/skills. A package's skills are linked only after you approve them withpnpm approve. Theskills.dirssetting chooses the directories pnpm/rfcs#35.Added the
permissionssetting, which records what each dependency may do. Itsbuildcapability works likeallowBuildsand takes precedence over it.pnpm approve-buildswrites topermissionswhenpnpm-workspace.yamlalready has it, and toallowBuildsotherwise.Added
pnpm permissions, which lists the granted and denied permissions and the packages awaiting approval.pnpm approvereviews build scripts and agent skills in one prompt pnpm/rfcs#36.pnpm now installs and runs Rust toolchains.
cargo.enabled,pnpm installinstalls the toolchain named inrust-toolchain.toml. pnpm verifies the release signature, stores the toolchain once per machine, and links it into.pnpm/rust.pnpm runandpnpm execput itscargoandrustcon thePATH.pnpm add -g rust@<channel>installs a toolchain globally. Thecargoandrustccommands run it outside projects that pin their own.pnpm update -g,pnpm ls -g, andpnpm remove -gmanage it like any global package.pnpm add rust@<channel>pins the toolchain inrust-toolchain.toml.pnpm shim add rustadds project-aware shims forcargo,rustc, and the other Rust tools. In a project with arust-toolchain.toml, they run the toolchain the file names and install it on first use. Elsewhere, the next command of the same name onPATHruns, such as rustup's.pnpm runandpnpm execnow keep the colors of script output that they print under the project's name, such as with--stream. pnpm setsFORCE_COLOR=1for these scripts when its own output is in color, unlessFORCE_COLORis already set.Script output is also rendered more cleanly:
\rshows only its last state.pnpm -r runno longer garbles its live output when a script fails while other scripts are still running.Patch Changes
Installing packages
pnpm no longer panics with "unexpected error when polling the I/O driver" when it runs under QEMU user-mode emulation, such as a
linux/amd64container on an Apple Silicon Mac #16696.pnpm view,pnpm update, and other commands that read registry metadata now work behind proxies that end a response by closing the connection without a TLSclose_notifyalert #16704.pnpm now switches to the version a project pins in
packageManagerordevEngines.packageManagereven whenpnpm-workspace.yamlhas a setting the running pnpm cannot read, such as alockfile.includeResolutionSettingssection. If pnpm does not switch, it still reports that setting #16675.When the
pnpmpackage has to download its native binary on first run, it now uses the registry and credentials from.npmrcand from thenpm_config_registryandpnpm_config_registryenvironment variables.COREPACK_NPM_REGISTRYstill takes precedence. A project.npmrcis not read whenCOREPACK_INTEGRITY_KEYSturns off the signature check #16655.pnpm installandpnpm add --confignow applyminimumReleaseAgewhen they resolve a config dependency. A config dependency range resolves to the newest version that is old enough, so a later cleanpnpm install --frozen-lockfileaccepts the lockfile #16660.pnpm removewithcatalogPruneno longer removes catalog entries thatpnpm-lock.yamlstill records for workspace projects missing from disk. Before, a following frozen install failed withERR_PNPM_LOCKFILE_CONFIG_MISMATCH#16679.With
cargo.enabled,pnpm installnow writes the source replacement for vendored crates into.pnpm/crates/config.tomland includes it as optional from.cargo/config.toml. A checkout without.pnpmbuilds with plain Cargo #16659.With
nodeLinker.typeset toloaded, Node.js now stops withERR_PNPM_LOADER_UNSUPPORTED_NODEwhen it preloads the store loader on a version the loader cannot serve. The supported versions are^24.18.0 || >=26.2.0. On other versions, CommonJS packages imported from ESM failed withCannot find moduleon their first relativerequire().On Windows,
pnpm installno longer fails with "The filename, directory name, or volume label syntax is incorrect" when a package contains a file whose name is invalid on Windows, such asicon.svg?as=metadata.d.ts. pnpm removes the invalid characters from the name and prints a warning that lists the renamed files.On Windows, hoisting no longer fails intermittently with link errors when a junction is created or replaced concurrently pnpm/tasks#53.
Resolving dependencies
pnpm install --no-optionalnow installs the peConfiguration, setup, and pnpm versions
pnpm config get --globalandpnpm config list --globalnow show only the global configuration, also when run inside a project. Settings from the project'spnpm-workspace.yamland.npmrcwere included before. The same applies to--location=global#16598.pnpm now prints config warnings, such as an unset environment variable in
.npmrc, when loading the config fails.pnpm 11 releases older than 11.28.4 can run pnpm 12 again when the
packageManagerfield pins it. Since 12.9.0 they failed withSyntaxError: Invalid or unexpected token#16594.On Windows,
pnpm self-updateno longer runs the update a second time when it replaces apnpm.cmdlinked by pnpm 12.8 or older. cmd.exe read on in the replacedpnpm.cmd, printed an error about a command that is not recognized, and ran the new pnpm once more #16573.pnpm setupnow puts$PNPM_HOME/binfirst onPATHin login shells that inherited it further down, such as the VS Code terminal on macOS. Before, anothernodetook precedence over the one installed bypnpm runtime set node -g. Runpnpm setupagain to update the block in your shell config #16635.pnpm setupnow names the shell config file even if it is already up to date #16608.Updating, auditing, and publishing
pnpm update --latestnow applies thesavePrefixsetting when it rewrites a dependency whose range has no operator of its own, such as<2.0.0.The interactive
pnpm audit --fixpicker now shows each patched version with thesaveExactandsavePrefixstyle that the override is written with #13209.pnpm unpublish <pkg>@<version>now deletes the tarball under the registry's path when the registry is served under one, such as Gitea's npm registry. It used to send the delete to the host root and report success without removing the version #16568. It also no longer mistakes a sibling path such as/npm-mirror/for the registry path/npm/pnpm/tasks#94.Output and messages
A warning about a project's
devEnginesorpackageManagerpin is now printed to stderr. A command such aspnpm cache pathorpnpm list --jsonkeeps only its own output on stdout #16584.pnpm listnow reports the correct package paths whennodeLinkerishoisted#9593.Resolution errors now name the failing dependency and its parent packages. Fatal errors appear as structured error records with their error codes when using
--reporter=ndjson.The error for an invalid git repository in the lockfile now has the code
ERR_PNPM_INVALID_GIT_REPOSITORY. Its message now lists every rejected form of the value.pnpm runtime --helpandpnpm help runtimenow name thesetsubcommand and the runtimes it accepts #16580.Platinum Sponsors
Gold Sponsors
v12.9.1: pnpm 12.9.1Compare Source
This release moves the WebContainer build into a separate
@pnpm/wasmpackage, shrinks thepnpmpackage back to about 4 MB, and fixespnpm publishwith provenance from GitLab CI.Patch Changes
The WebAssembly build for StackBlitz WebContainers now ships as a separate
@pnpm/wasmpackage. Thepnpmand@pnpm/exepackages no longer include it, which brings their unpacked size back from about 55 MB to about 4 MB. In a WebContainer, install@pnpm/wasmwith npm to get thepnpmcommand.pnpm publishwith provenance from GitLab CI is no longer rejected by the npm registry with a 422 error. The provenance statement now includes the GitLab CI variables ininvocation.parameters, as npm does #16551.pnpm audit signaturesnow uses the TLS settings of the redirect target when a registry redirects its signing-keys request, for example to registry.npmjs.org. Acafilescoped to a private registry no longer makes the redirected request fail #16541.Fixed
pnpm install --frozen-lockfilerejecting an up-to-date lockfile when an injected workspace package uses a catalog entry inpeerDependencies#16557.The
[<since>]filter selector works again with Git 2.24 through 2.27 #16561. With Git older than 2.24, the selector now fails with an error that names the required Git version.It also detects changes in projects whose directory names contain non-ASCII characters. Such a change used to be credited to the parent project.
changedFilesIgnorePatternandtestPatternnow match changed files whose names contain non-ASCII characters.The
pnpmexecutable is about 10% smaller. On macOS arm64 it went from 45.1 MB to 40.3 MB.Sped up trust downgrade checks for packages with long release histories.
With
optimisticRepeatInstall: false,pnpm installnow runs the projects' own lifecycle scripts, such asprepare, even whennode_modulesis already up to date #16545.pnpm self-updatenow fails for Homebrew-installed pnpm and prints thebrew upgradecommand for the installed formula, such asbrew upgrade pnpmorbrew upgrade pnpm@11. It used to install a second copy of pnpm that the Homebrew one kept shadowing #16547.Platinum Sponsors
Gold Sponsors
v12.9.0Compare Source
v12.8.2Compare Source
v12.8.1Compare Source
v12.8.0Compare Source
v12.7.0Compare Source
v12.6.0Compare Source
v12.5.1Compare Source
v12.5.0Compare Source
v12.4.2Compare Source
v12.4.1Compare Source
v12.4.0Compare Source
v12.3.4Compare Source
v12.3.3Compare Source
v12.3.2Compare Source
v12.3.1Compare Source
v12.3.0Compare Source
v12.2.1Compare Source
v12.2.0Compare Source
v12.1.0Compare Source
v12.0.0Compare Source
v11.28.5Compare Source
v11.28.4Compare Source
v11.28.3Compare Source
v11.28.2Compare Source
v11.28.1Compare Source
v11.28.0Compare Source
v11.27.1Compare Source
v11.27.0Compare Source
v11.26.0Compare Source
v11.25.0Compare Source
v11.24.0Compare Source
v11.23.0Compare Source
v11.22.0Compare Source
v11.21.0Compare Source
v11.20.0Compare Source
v11.19.0Compare Source
v11.18.0Compare Source
v11.17.0Compare Source
v11.16.0Compare Source
v11.15.1Compare Source
v11.15.0Compare Source
v11.14.0Compare Source
v11.13.1Compare Source
v11.13.0Compare Source
v11.12.0Compare Source
v11.11.0Compare Source
v11.10.0Compare Source
v11.9.0Compare Source
v11.8.0Compare Source
v11.7.0Compare Source
v11.6.0Compare Source
v11.5.3Compare Source
v11.5.2Compare Source
v11.5.1Compare Source
v11.5.0Compare Source
v11.4.0Compare Source
v11.3.0Compare Source
v11.2.2Compare Source
v11.2.1Compare Source
v11.2.0Compare Source
v11.1.3Compare Source
v11.1.2Compare Source
v11.1.1Compare Source
v11.1.0Compare Source
v11.0.9Compare Source
v11.0.8Compare Source
v11.0.7Compare Source
v11.0.6Compare Source
v11.0.5Compare Source
v11.0.4Compare Source
v11.0.3Compare Source
v11.0.2Compare Source
v11.0.1Compare Source
v11.0.0Compare Source
v10.34.6Compare Source
v10.34.5Compare Source
v10.34.4Compare Source
v10.34.3Compare Source
v10.34.2Compare Source
v10.34.1Compare Source
v10.34.0Compare Source
v10.33.4Compare Source
v10.33.3Compare Source
v10.33.2Compare Source
v10.33.1Compare Source
v10.33.0Compare Source
v10.32.1Compare Source
v10.32.0Compare Source
v10.31.0Compare Source
v10.30.3Compare Source
v10.30.2Compare Source
v10.30.1Compare Source
v10.30.0Compare Source
v10.29.3Compare Source
v10.29.2Compare Source
v10.29.1Compare Source
v10.28.2Compare Source
v10.28.1Compare Source
v10.28.0Compare Source
v10.27.0Compare Source
v10.26.2Compare Source
v10.26.1Compare Source
v10.26.0Compare Source
v10.25.0Compare Source
v10.24.0Compare Source
v10.23.0Compare Source
v10.22.0Compare Source
v10.21.0Compare Source
v10.20.0Compare Source
v10.19.0Compare Source
v10.18.3Compare Source
v10.18.2Compare Source
v10.18.1Compare Source