pnpm 12 Beta 3
- Dependency resolution is faster by filtering package metadata once per packument instead of once per dependency edge when minimumReleaseAge is active
- Parsed semver versions and ranges are now reused instead of re-parsed on every comparison
- Reduced memory use when resolving peer-heavy dependency graphs
- Prevented nested hoisted graphs from expanding into excessive dependency paths
- With excludeLinksFromLockfile enabled, a link: dependency pointing inside the workspace is no longer treated as an external link when it resolves a peer dependency, so the peer suffixes it produces stay identical to an install with the setting off
- Injected (file:) workspace dependencies are no longer affected by the excludeLinksFromLockfile setting
- A registry dependency is now always recorded in pnpm-lock.yaml with an integrity hash, including under --lockfile-only
- Packages from a registry that publishes no subresource-integrity metadata are no longer recorded without an integrity hash, preventing ERR_PNPM_MISSING_TARBALL_INTEGRITY errors on subsequent pnpm install --frozen-lockfile
Patch Changes
-
With
excludeLinksFromLockfileenabled, alink:dependency pointing inside the workspace is no longer treated as an external link when it resolves a peer dependency, so the peer suffixes it produces stay identical to an install with the setting off. Injected (file:) workspace dependencies are no longer affected by the setting either #13556. -
A registry dependency is now always recorded in
pnpm-lock.yamlwith an integrity hash, including under--lockfile-only. Packages from a registry that publishes no subresource-integrity metadata —https://node-registry.bit.cloud/, for one — were recorded without one, so the nextpnpm install --frozen-lockfilefailed withERR_PNPM_MISSING_TARBALL_INTEGRITY#13547. -
Dependency resolution is faster: package metadata is now filtered once per packument instead of once per dependency edge when
minimumReleaseAgeis active, and parsed semver versions and ranges are reused instead of re-parsed on every comparison. -
Reduced memory use when resolving peer-heavy dependency graphs and prevented nested hoisted graphs from expanding into excessive dependency paths.