Files
Zoltan KochanandClaude Fable 5.1 a11ca5f6e3 feat(lockfile): record directory package specifiers for the frozen check
The lockfile recorded a directory package's children but not the
specifiers the resolver read for them, so the frozen-lockfile check
derived the children from the directory's manifest again and had to
mirror every input axis of the resolver (pnpm/pnpm#17473 last).

Each directory package's `packages:` entry now records `specifiers`:
the children the resolver walked, as the hooked manifest declares them,
before peer shadowing and catalog resolution, grouped as the snapshot
groups them. Both CLIs write it through the resolver's own child
derivation. The check compares the record with the current hooked
manifest and then runs the snapshot checks as before, so a changed
specifier is a change even while its locked resolution still satisfies
it. An entry without the field is checked by the derived walk alone,
and the next resolving install records it.

Part of pnpm/tasks#228.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-29 19:48:46 +01:00
..
2026-10-22 21:48:09 +02:00
2026-10-22 21:48:09 +02:00

pnpm v12 (pacquet)

The pnpm v12 CLI is implemented in Rust. pacquet is its in-repository package name; the published CLI and executable are named pnpm.

pnpm v12 is the target for new feature development. The TypeScript pnpm v11 CLI under ../pnpm11/ is maintained for bug fixes. Bugs present in both versions are fixed in both implementations. Bugs present in only one version are fixed in that version. New features are not backported to v11.

See CONTRIBUTING.md for development setup, debugging, testing, and benchmarking.

Benchmark