Changelog

pnpm/pnpm · · 23 commits

Loaded linker, rebuilds, and GVS get fixes

Major fixes land for loaded-linker behavior, rebuild validation, and global virtual store repair, plus several resolver and memory improvements.

Loaded linker now behaves correctly on real projects

The experimental loaded linker got several high-impact fixes: it now keeps generated files inside node_modules, supports bundled dependencies inside package-local node_modules, and correctly runs with downloaded Node runtimes. It also refuses Node.js versions where the store loader cannot safely serve CommonJS ESM imports, preventing confusing runtime failures. (zkochane97b095, zkochan2102f9d, zkochan091cc59, zkochan5ab89dd)

Rebuild and lockfile checks no longer over-validate

@pnpm/napi rebuilds now check only patch-related lockfile state, matching what a rebuild can actually affect. This fixes ERR_PNPM_LOCKFILE_CONFIG_MISMATCH for lockfiles carrying unrelated settings drift, while keeping the rebuild frozen and deterministic. (zkochanf070d86)

Global virtual store repairs incomplete slots

Installs with enableGlobalVirtualStore now detect and repair shared slots that were left incomplete by interrupted installs, even when the current lockfile already records the slot. That closes a correctness hole where pnpm could previously trust a shared slot that was missing links or package files. (zkochancd539d7, zkochanf4b9616)

Resolver and install correctness fixes

pnpm now handles more old-lockfile and filtered-install edge cases correctly: it preserves catalog entries during frozen filtered installs, rejects stale npm aliases when matching plain dependency ranges, and avoids failing on optional peers tied to aliased dependencies after override changes. These fixes remove several install-time mismatch and no-matching-version failures. (lazerg9f2e8ea, altaywtf5b87f8f, zkochan2443dff)

Lockfile verification uses much less memory

Lockfile verification against trust policy and minimum release age no longer hydrates and retains every published version manifest for each checked package. That should significantly reduce install memory usage on large lockfiles. (altaywtf629bd20)

Other misc changes

  • Cargo vendored-source config now lives in optional .pnpm/crates/config.toml.
  • Slow-request warnings stop counting queue wait time.
  • pnpm switch relinks stale store bins from older installs.
  • Nested checkout discovery skips separate worktrees/clones.
  • Dependency and release/changelog updates.