Skip to content

fetchPnpmDeps: remove fetcherVersion = 1 and 2#523933

Merged
gepbird merged 2 commits into
NixOS:masterfrom
qweered:remove-pnpm-fetcherversion-1-2
Jun 3, 2026
Merged

fetchPnpmDeps: remove fetcherVersion = 1 and 2#523933
gepbird merged 2 commits into
NixOS:masterfrom
qweered:remove-pnpm-fetcherversion-1-2

Conversation

@qweered

@qweered qweered commented May 25, 2026

Copy link
Copy Markdown
Contributor

Tracking #494184

Removes fetchPnpmDeps' fetcherVersion = 1 and 2, which were deprecated in 26.05 and scheduled for removal in 26.11. They now throw with a migration message, and the unreachable fetcherVersion < 3 code paths are deleted (direct-to-$out store, the > 1/>= 2 guards, the cp fallback and || echo 1 default in pnpmConfigHook/serve.nix). The >= 4 SQLite-dump path is kept.

No in-tree package still uses v1/v2, and v3/v4 output is byte-identical — verified with nix-build --check on bash-language-server (v3) and autobrr (v4) — so no hashes change. Touches pnpmConfigHook (~195 rebuilds), hence master.

Plese review diff with hiden whitespaces diff
Split in two commits: (1) throw + docs/release note, (2) dead-code removal.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.
  • Follows the automation/AI policy.

Assisted-by: claude-code with claude-opus-4-7[1m]-xhigh

@nixpkgs-ci nixpkgs-ci Bot requested review from Scrumplex, gepbird and winterqt May 25, 2026 09:33
@nixpkgs-ci nixpkgs-ci Bot added 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 8.has: changelog This PR adds or changes release notes 6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment 8.has: documentation This PR adds or changes documentation labels May 25, 2026
@nixpkgs-ci nixpkgs-ci Bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label May 30, 2026
qweered added 2 commits May 31, 2026 23:50
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
@qweered qweered force-pushed the remove-pnpm-fetcherversion-1-2 branch from 617e3f2 to 3962275 Compare May 31, 2026 20:52
@nixpkgs-ci nixpkgs-ci Bot removed the 2.status: merge conflict This PR has merge conflicts with the target branch label May 31, 2026

@gepbird gepbird left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@nixpkgs-ci nixpkgs-ci Bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Jun 2, 2026
@gepbird gepbird added this pull request to the merge queue Jun 3, 2026
Merged via the queue into NixOS:master with commit 49ffcc6 Jun 3, 2026
30 of 33 checks passed
@qweered

qweered commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

Appreciate your review ❤️

@qweered qweered deleted the remove-pnpm-fetcherversion-1-2 branch June 3, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment 8.has: changelog This PR adds or changes release notes 8.has: documentation This PR adds or changes documentation 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants