pnpm 12.14.0 lets you exclude builds from its side-effects cache
A new sideEffectsCache.exclude setting stops pnpm reusing a cached native build across machines where the system library it links against might differ.
pnpm 12.14.0 shipped on 15 October with a new sideEffectsCache.exclude setting. pnpm’s side-effects cache normally skips rebuilding a package once it has built it before with the same inputs, restoring the output from a local or remote cache instead. The new setting lets you name packages whose build depends on something that cache key cannot capture, such as a system library a native addon links against. Matching packages are now built fresh in every project and never read from or written to the side-effects cache.
The same release stops install commands waiting on pnpm’s daily update check, which should cut install time against slow or unresponsive registries. It also fixes a crash where pnpm would abort with a core dump if whatever was reading its output closed early, such as pnpm list | head -1, and pnpm login now shows the registry’s npm-notice header during web-based login, so a verification code the registry sends actually appears.
Why it matters: if you maintain a native addon, or run one in a monorepo with a shared remote cache, this closes a real correctness gap. Before this setting existed, a build cached on one machine could get restored on another with a different system library installed, and nothing would tell you. Excluding that package costs you a rebuild every time, but a predictable one beats a silent mismatch.