fetchPnpmDeps: remove fetcherVersion = 1 and 2#523933
Merged
Merged
Conversation
15 tasks
fetcherVersion = 1 and 2 were deprecated in the 26.05 release and scheduled for removal in 26.11. Remove them from supportedFetcherVersions and replace the deprecation warning with a hard throw that points users at the migration to fetcherVersion = 3. No in-tree package still uses fetcherVersion = 1 or 2. The now-unreachable v1/v2 code paths are removed in a follow-up commit. Assisted-by: claude-code with claude-opus-4-7[1m]-xhigh
…ucture With fetcherVersion = 1 and 2 removed, the minimum supported version is 3, so every store is a reproducible tarball with consistent permissions. Drop the now-unreachable `fetcherVersion < 3` branches: - always bundle the store into pnpm-store.tar.zst (drop the direct-to-$out path) - always write $out/.fetcher-version (drop the `> 1` guard) - always normalise permissions (drop the `>= 2` guard) - always extract the tarball in pnpmConfigHook and serve.nix (drop the cp fallback and the `|| echo 1` default) The `>= 4` SQLite-dump guard is kept, since v3 and v4 still differ. Output for existing v3/v4 derivations is byte-identical, so no hashes change. Assisted-by: claude-code with claude-opus-4-7[1m]-xhigh
617e3f2 to
3962275
Compare
gepbird
approved these changes
Jun 2, 2026
gepbird
left a comment
Contributor
There was a problem hiding this comment.
Diff looks good, thanks!
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 523933 --package tests.pnpm --package bash-language-server --package umami --package n8n
Commit: 3962275b5d93040a62d24e77afe21a0314837051
x86_64-linux
✅ 7 packages built:
- bash-language-server
- n8n
- tests.pnpm.pnpm-empty-lockfile
- tests.pnpm.pnpm-fixup-state-db
- tests.pnpm.pnpm_11_v3
- tests.pnpm.pnpm_11_v4
- umami
Contributor
Author
|
Appreciate your review ❤️ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tracking #494184
Removes
fetchPnpmDeps'fetcherVersion = 1and2, which were deprecated in 26.05 and scheduled for removal in 26.11. They nowthrowwith a migration message, and the unreachablefetcherVersion < 3code paths are deleted (direct-to-$outstore, the> 1/>= 2guards, thecpfallback and|| echo 1default inpnpmConfigHook/serve.nix). The>= 4SQLite-dump path is kept.No in-tree package still uses v1/v2, and v3/v4 output is byte-identical — verified with
nix-build --checkonbash-language-server(v3) andautobrr(v4) — so no hashes change. TouchespnpmConfigHook(~195 rebuilds), hencemaster.Plese review diff with hiden whitespaces diff
Split in two commits: (1) throw + docs/release note, (2) dead-code removal.
Things done
passthru.tests.nix-build --checkconfirms v3/v4pnpmDepsrebuild byte-identical.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.Assisted-by: claude-code with claude-opus-4-7[1m]-xhigh