Minor Changes
-
Catalogs can now resolve workspace dependencies through the
workspace:protocol. -
pnpm removeandpnpm updatenow accept--trust-lockfile,--no-trust-lockfile,--trust-policy,--trust-policy-exclude, and--trust-policy-ignore-after.pnpm removechecks the whole lockfile against the active policies unless--trust-lockfileis set. -
Added
pnpm change checkfor CI validation of package versions against theversioning.epicsbands andversioning.fixedgroups inpnpm-workspace.yaml.
Patch Changes
-
Fetch and tarball errors and retry logs now hide URL credentials, query strings, and fragments that could expose secrets.
-
Fixed a race during config dependency updates that could redirect a lockfile write through a symlink #14322.
-
pnpm add --allow-build=!<pkg>now correctly denies builds, including in global installs.pnpm approve-builds <pkg>andpnpm approve-builds !<pkg>now save decisions even when the package is not awaiting approval, with a warning #14067. -
Fixed
pnpm audit --fixfailing without a value or when followed by another flag.pnpm audit --fix=overridenow respectssaveExactandsavePrefixwhen writing overrides #13261, #11523. -
pnpm auditnow excludes ignored advisories from vulnerability totals and severity counts, and reports them separately #14535. -
pnpm deployno longer requiresinjectWorkspacePackages. If a workspace dependency's peer has multiple possible versions, deployment reportsERR_PNPM_DEPLOY_AMBIGUOUS_PEERwith the conflicting versions. Pin the peer withoverridesto deploy without injection #9386. -
Fixed concurrent installs sharing a store occasionally failing with an
ENOENTerror while importing a package file #14353. -
Fixed installation failures when a linked local dependency provides a peer dependency also provided by an ancestor, including with
pnpm deploy --legacy. -
pnpm install --node-linker=hoistedno longer downloads skipped optional dependencies whennode_modulesalready exists #14139. -
Fixed
pnpm installrejecting a symlinked lockfile when config dependencies are unchanged. Updates to config dependencies also preserve lockfiles with a byte order mark. Writes through symlinked lockfiles remain blocked #14372. -
pnpm installnow relinks workspace packages whenpublishConfig.linkDirectorychanges. Frozen installs require the lockfile to be regenerated #14488. -
Auto-installed optional peers now satisfy their declared range even when the workspace root uses a version outside that range #13867.
-
Fixed global virtual store paths for dependency cycles to consistently account for the runtime engine when dependencies have allowed builds #14341.
-
Standalone installations now preserve the bundled
node-gypfiles needed to build native dependencies. -
Downloaded runtimes are now available to dependency lifecycle scripts during installation.
-
Node.js downloads from
nodeDownloadMirrorsnow use URL-scoped npm credentials, including bearer tokens, basic auth, andtokenHelper#14334. -
Fixed
globalDirandglobalBinDirhandling in global configuration and environment variables, including~/expansion. This fixespnpm add -gfailing afterpnpm config set -g global-bin-dir#14336. -
The JavaScript pnpm can again switch to the project's pinned pnpm version on hosts without a matching native binary. If the requested version requires an unavailable native binary, the error now identifies the unsupported host #13622.
-
Global
pnpm configcommands now skip project package manager version switching, allowing authentication to be configured before downloading the pinned version #14463. -
pnpm self-update,pnpm with, and automatic version switching no longer wait through registry retries when a configured registry has no signatures andregistry.npmjs.orgis unavailable #14483. -
Fixed argument forwarding on Windows with
shellEmulatorenabled. Trailing backslashes, line breaks, and literal shell expressions are preserved #14548. -
Relative
scriptShellpaths now resolve from the workspace root. Bare command names such asbashstill usePATH#14422. -
pnpm importnow preserves the project-local lockfile whenlockfileDirpoints elsewhere and restores the destination lockfile on failure. Branch lockfile imports leave the shared lockfile unchanged #14563. -
catalogModeand--save-catalogno longer move local paths, tarballs, orworkspace:<path>specifiers into catalogs #14437. -
--side-effects-cache,--no-side-effects-cache, andPNPM_CONFIG_SIDE_EFFECTS_CACHEnow toggle only the local cache, preserving any remote cache configured insideEffectsCache. -
pnpm unpublishnow handles registry two-factor authentication challenges through web authentication or a one-time password prompt #14464. -
pnpm outdatedandpnpm updatenow follow GitHub Actions references using self-repository syntax, such asuses: $/.github/actions/setup. -
pnpm removenow accepts--unsafe-perm.
Platinum Sponsors
|
|
|
|
|
|
Gold Sponsors
|
|
|
|
|
|
|
|
|
|
|