pnpm 12.8.0 → 12.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # pnpm
2
2
 
3
+ ## 12.8.1
4
+
5
+ pnpm 12.8.1 fixes `pnpm install --frozen-lockfile` rejecting lockfiles with injected workspace packages that have peers, restores the executable bit on files of local directory dependencies, makes `pnpm dedupe` converge, and uses less CPU on many-core machines.
6
+
7
+ ### Patch Changes
8
+
9
+ - `pnpm install --frozen-lockfile` no longer rejects a freshly generated lockfile when an injected workspace package has peer dependencies [#16332](https://github.com/pnpm/pnpm/issues/16332).
10
+
11
+ - Executable files in a `file:` directory dependency or an injected workspace package keep their executable bit again. Since 12.8.0, pnpm installed these files without the permissions they have in their project.
12
+
13
+ - `pnpm dedupe` now reaches a stable lockfile when a package's peer suffix is long enough to be hashed. Before, each run could switch that package's key between the hashed and the spelled-out suffix, so `pnpm dedupe --check` always failed [#16331](https://github.com/pnpm/pnpm/issues/16331).
14
+
15
+ - `pnpm install --frozen-lockfile`, the default in CI, now uses less CPU on machines with more than 8 cores. Warm installs on many-core Windows machines got up to 10% faster. Frozen installs now link with at most 16 worker threads.
16
+
17
+ - `verifyDepsBeforeRun` no longer reports dependencies as outdated after a filtered install just because `pnpm-lock.yaml` has a newer modification time. It checks the lockfile against the packages that install put in place. Before, `pnpm run` reinstalled the whole workspace with lifecycle scripts on, for example after a Docker `COPY` brought in a lockfile with a newer mtime [#16322](https://github.com/pnpm/pnpm/issues/16322).
18
+
19
+ After a filtered install, `verifyDepsBeforeRun` now also checks that the install put the selected projects' dependencies in place. A `node_modules` directory alone no longer counts as proof.
20
+
21
+ - `pnpm run` and `pnpm exec` no longer install a project that has never been installed and has nothing to install. Such a project declares no dependencies, no peer dependencies that `autoInstallPeers` would fetch, and no install lifecycle scripts. The command now runs without writing `node_modules` or `pnpm-lock.yaml` [#16313](https://github.com/pnpm/pnpm/issues/16313).
22
+
23
+ - `pnpm update -g --latest` now upgrades globally installed packages beyond their saved version ranges [#16320](https://github.com/pnpm/pnpm/issues/16320).
24
+
3
25
  ## 12.8.0
4
26
 
5
27
  pnpm 12.8.0 warns when `pnpm pack` or `pnpm publish` would ship a `.env` file that `files` does not list, installs `sharedWorkspaceLockfile: false` workspaces concurrently, applies every setting passed as `--config.<name>=<value>`, and no longer leaves the Windows terminal stuck after Ctrl+C in a script.
@@ -1,9 +1,9 @@
1
1
  {
2
- "lastValidatedTimestamp": 1790578965103,
2
+ "lastValidatedTimestamp": 1790613358937,
3
3
  "projects": {
4
4
  "/home/runner/_work/pnpm/pnpm/pnpm/npm/pnpm/temp-deploy": {
5
5
  "name": "pacquet",
6
- "version": "12.8.0"
6
+ "version": "12.8.1"
7
7
  }
8
8
  },
9
9
  "pnpmfiles": [],
@@ -158,7 +158,7 @@
158
158
  "ini": "6.0.0",
159
159
  "is-gzip": "2.0.0",
160
160
  "is-inner-link": "^5.0.0",
161
- "is-subdir": "^2.0.0",
161
+ "is-subdir": "^2.0.1",
162
162
  "is-windows": "^1.0.2",
163
163
  "isexe": "4.0.0",
164
164
  "jest": "30.4.2",
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "./dist/node_modules/node-gyp/gyp/gyp"
10
10
  ]
11
11
  },
12
- "version": "12.8.0",
12
+ "version": "12.8.1",
13
13
  "description": "Fast, disk space efficient package manager",
14
14
  "keywords": [
15
15
  "pnpm",
@@ -46,20 +46,20 @@
46
46
  "THIRD-PARTY-NOTICES.md"
47
47
  ],
48
48
  "optionalDependencies": {
49
- "@pnpm/exe.win32-x64": "12.8.0",
50
- "@pnpm/exe.win32-arm64": "12.8.0",
51
- "@pnpm/exe.darwin-x64": "12.8.0",
52
- "@pnpm/exe.darwin-arm64": "12.8.0",
53
- "@pnpm/exe.linux-x64": "12.8.0",
54
- "@pnpm/exe.linux-arm64": "12.8.0",
55
- "@pnpm/exe.linux-riscv64": "12.8.0",
56
- "@pnpm/exe.linux-ppc64": "12.8.0",
57
- "@pnpm/exe.linux-s390x": "12.8.0",
58
- "@pnpm/exe.linux-x64-musl": "12.8.0",
59
- "@pnpm/exe.linux-arm64-musl": "12.8.0",
60
- "@pnpm/exe.freebsd-x64": "12.8.0",
61
- "@pnpm/exe.android-arm64": "12.8.0",
62
- "@pnpm/exe.android-x64": "12.8.0"
49
+ "@pnpm/exe.win32-x64": "12.8.1",
50
+ "@pnpm/exe.win32-arm64": "12.8.1",
51
+ "@pnpm/exe.darwin-x64": "12.8.1",
52
+ "@pnpm/exe.darwin-arm64": "12.8.1",
53
+ "@pnpm/exe.linux-x64": "12.8.1",
54
+ "@pnpm/exe.linux-arm64": "12.8.1",
55
+ "@pnpm/exe.linux-riscv64": "12.8.1",
56
+ "@pnpm/exe.linux-ppc64": "12.8.1",
57
+ "@pnpm/exe.linux-s390x": "12.8.1",
58
+ "@pnpm/exe.linux-x64-musl": "12.8.1",
59
+ "@pnpm/exe.linux-arm64-musl": "12.8.1",
60
+ "@pnpm/exe.freebsd-x64": "12.8.1",
61
+ "@pnpm/exe.android-arm64": "12.8.1",
62
+ "@pnpm/exe.android-x64": "12.8.1"
63
63
  },
64
64
  "scripts": {
65
65
  "preinstall": "node install.js",