Files
Zoltan Kochan ffb2a5ad85 fix(store)!: coordinate concurrent read-only index access (#16427)
* fix(store): coordinate concurrent read-only index access

* test(cli): avoid race in concurrency assertion

wait_for_holders already proves that both tasks hold their slots before
release. The later overlap marker assertion races with release_holders
removing the markers before the scripts inspect them.

Clarify that ordinary concurrent installs and frozen-lockfile allow shared
store writes; only frozenStore requires an immutable store.

* fix(store): preserve immutable reader compatibility

Keep the published ReadOnlyStoreIndex contract for finalized read-only stores.

Expose ConcurrentReadOnlyStoreIndex for readers alongside active writers.
This fixes the shared-store use case without requiring immutable callers
to migrate in a patch release.

* fix(store): configure readers through prepared statements

* test(proxy): use local certificate fixtures

* fix(store)!: coordinate read-only index access

Use the normal WAL-aware connection for ReadOnlyStoreIndex and reserve
ImmutableStoreIndex for frozen stores. Update every frozen-store caller.

The maintainer requested a major release of `@pnpm/store.index` so existing
shared-store consumers receive the safe default when upgrading.
The pnpm CLI and internal consumers retain patch releases.

BREAKING CHANGE: Callers using ReadOnlyStoreIndex for a finalized store on
a read-only filesystem must switch to ImmutableStoreIndex.

* test(store): follow updated variable naming rules
2026-09-30 15:27:39 +02:00
..