diff --git a/.changeset/accept-null-proxy-settings.md b/.changeset/accept-null-proxy-settings.md deleted file mode 100644 index 4376583e9c..0000000000 --- a/.changeset/accept-null-proxy-settings.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/config.reader": patch -"pnpm": patch ---- - -pnpm again accepts `httpProxy` and `httpsProxy` set to `null` or written with no value in `pnpm-workspace.yaml` and the global config file, and treats them as unset. Since 11.28.5 these values failed with `ERR_PNPM_INVALID_SETTING`. diff --git a/.changeset/aliased-optional-peer-in-old-lockfile.md b/.changeset/aliased-optional-peer-in-old-lockfile.md deleted file mode 100644 index 85da5b601b..0000000000 --- a/.changeset/aliased-optional-peer-in-old-lockfile.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@pnpm/installing.deps-resolver": patch -"pnpm": patch -"pacquet": patch ---- - -`pnpm install` no longer fails with `ERR_PNPM_NO_MATCHING_VERSION` after a change to `overrides` when the lockfile resolves an optional peer dependency to an npm alias of another package [#16654](https://github.com/pnpm/pnpm/issues/16654). diff --git a/.changeset/auth-unknown-fields.md b/.changeset/auth-unknown-fields.md deleted file mode 100644 index 45d783e265..0000000000 --- a/.changeset/auth-unknown-fields.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@pnpm/config.reader": patch -"pnpm": patch -"pacquet": patch ---- - -A key under a registry URL in the `_auth` setting that does not start with `@` is now skipped with a warning, so a field a later pnpm version adds there no longer breaks this one. A key that holds an `authToken` object but lacks its `@`, such as `org` for `@org`, is still an error. diff --git a/.changeset/bounded-workspace-installs.md b/.changeset/bounded-workspace-installs.md deleted file mode 100644 index 89a87fc12a..0000000000 --- a/.changeset/bounded-workspace-installs.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install` is faster and uses less memory in large workspaces with `sharedWorkspaceLockfile: false`. Each project's install no longer reads the manifests of every other workspace project again. Installs that wait for their workspace dependencies now count toward `workspaceConcurrency` [#16966](https://github.com/pnpm/pnpm/issues/16966). diff --git a/.changeset/calm-lockfiles-rest.md b/.changeset/calm-lockfiles-rest.md deleted file mode 100644 index c47952d1ac..0000000000 --- a/.changeset/calm-lockfiles-rest.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -In a single-project repository, `pnpm install` and `verifyDepsBeforeRun` now record a successful lockfile check, so later runs skip it until the lockfile changes again. Before, every run repeated the check after the lockfile changed [#16993](https://github.com/pnpm/pnpm/issues/16993). diff --git a/.changeset/catalog-prune-keeps-lockfile-catalogs.md b/.changeset/catalog-prune-keeps-lockfile-catalogs.md deleted file mode 100644 index 17a2bd18b8..0000000000 --- a/.changeset/catalog-prune-keeps-lockfile-catalogs.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@pnpm/installing.commands": patch -"@pnpm/installing.deps-installer": patch -"@pnpm/workspace.workspace-manifest-writer": patch -"pnpm": patch ---- - -`catalogPrune` no longer removes catalog entries that `pnpm-lock.yaml` still records for workspace projects missing from disk. This affected `pnpm remove` and installs that leave the lockfile unchanged, such as frozen installs. Before, a following frozen install failed with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` [#16679](https://github.com/pnpm/pnpm/issues/16679). diff --git a/.changeset/changelogs/@pnpm!assert-project@1100.0.37.md b/.changeset/changelogs/@pnpm!assert-project@1100.0.37.md deleted file mode 100644 index e21526ef4e..0000000000 --- a/.changeset/changelogs/@pnpm!assert-project@1100.0.37.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.0.37 - -### Patch Changes - -- Updated dependencies: - - @pnpm/assert-store@1100.0.37 diff --git a/.changeset/changelogs/@pnpm!assert-project@1100.0.38.md b/.changeset/changelogs/@pnpm!assert-project@1100.0.38.md new file mode 100644 index 0000000000..e665f7a01f --- /dev/null +++ b/.changeset/changelogs/@pnpm!assert-project@1100.0.38.md @@ -0,0 +1,10 @@ +## 1100.0.38 + +### Patch Changes + +- Updated dependencies: + - @pnpm/assert-store@1100.0.38 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/testing.registry-mock@1100.0.16 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!assert-store@1100.0.38.md b/.changeset/changelogs/@pnpm!assert-store@1100.0.38.md new file mode 100644 index 0000000000..44d508f560 --- /dev/null +++ b/.changeset/changelogs/@pnpm!assert-store@1100.0.38.md @@ -0,0 +1,8 @@ +## 1100.0.38 + +### Patch Changes + +- Updated dependencies: + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.index@1101.0.3 + - @pnpm/testing.registry-mock@1100.0.16 diff --git a/.changeset/changelogs/@pnpm!auth.commands@1100.3.15.md b/.changeset/changelogs/@pnpm!auth.commands@1100.3.15.md deleted file mode 100644 index 8ac647f8fb..0000000000 --- a/.changeset/changelogs/@pnpm!auth.commands@1100.3.15.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.3.15 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 diff --git a/.changeset/changelogs/@pnpm!auth.commands@1100.3.16.md b/.changeset/changelogs/@pnpm!auth.commands@1100.3.16.md new file mode 100644 index 0000000000..7bd13286e1 --- /dev/null +++ b/.changeset/changelogs/@pnpm!auth.commands@1100.3.16.md @@ -0,0 +1,9 @@ +## 1100.3.16 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.reader@1102.3.6 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/registry-access.client@1100.1.25 diff --git a/.changeset/changelogs/@pnpm!bins.linker@1100.0.38.md b/.changeset/changelogs/@pnpm!bins.linker@1100.0.38.md new file mode 100644 index 0000000000..c33226bbb8 --- /dev/null +++ b/.changeset/changelogs/@pnpm!bins.linker@1100.0.38.md @@ -0,0 +1,12 @@ +## 1100.0.38 + +### Patch Changes + +- Fixed the README usage examples to match these packages' current APIs. + +- Updated dependencies: + - @pnpm/bins.resolver@1100.0.18 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!bins.remover@1100.0.29.md b/.changeset/changelogs/@pnpm!bins.remover@1100.0.29.md new file mode 100644 index 0000000000..d5c9cc9719 --- /dev/null +++ b/.changeset/changelogs/@pnpm!bins.remover@1100.0.29.md @@ -0,0 +1,9 @@ +## 1100.0.29 + +### Patch Changes + +- Updated dependencies: + - @pnpm/bins.resolver@1100.0.18 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!bins.resolver@1100.0.18.md b/.changeset/changelogs/@pnpm!bins.resolver@1100.0.18.md new file mode 100644 index 0000000000..900bf7ef6f --- /dev/null +++ b/.changeset/changelogs/@pnpm!bins.resolver@1100.0.18.md @@ -0,0 +1,8 @@ +## 1100.0.18 + +### Patch Changes + +- Fixed the README usage examples to match these packages' current APIs. + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!building.after-install@1103.0.11.md b/.changeset/changelogs/@pnpm!building.after-install@1103.0.11.md deleted file mode 100644 index 933499aae3..0000000000 --- a/.changeset/changelogs/@pnpm!building.after-install@1103.0.11.md +++ /dev/null @@ -1,13 +0,0 @@ -## 1103.0.11 - -### Patch Changes - -- Updated dependencies: - - @pnpm/building.policy@1100.1.7 - - @pnpm/config.reader@1102.3.5 - - @pnpm/exec.lifecycle@1100.1.24 - - @pnpm/installing.context@1101.0.11 - - @pnpm/installing.deps-restorer@1103.2.5 - - @pnpm/lockfile.settings-checker@1100.2.13 - - @pnpm/store.connection-manager@1101.3.4 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!building.after-install@1103.0.12.md b/.changeset/changelogs/@pnpm!building.after-install@1103.0.12.md new file mode 100644 index 0000000000..c1445146b4 --- /dev/null +++ b/.changeset/changelogs/@pnpm!building.after-install@1103.0.12.md @@ -0,0 +1,32 @@ +## 1103.0.12 + +### Patch Changes + +- An injected workspace package now keeps only the files its manifest lists after a lifecycle script or a script named in `syncInjectedDepsAfterScripts` rebuilds it. Before, these refreshes copied every file of the package directory into the injected copy, including files that `files` or `.npmignore` leave out. With `deployAllFiles: true` the copy still gets every file. + +- Updated dependencies: + - @pnpm/bins.linker@1100.0.38 + - @pnpm/building.pkg-requires-build@1100.0.21 + - @pnpm/building.policy@1100.1.8 + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/config.reader@1102.3.6 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.graph-hasher@1100.3.8 + - @pnpm/deps.path@1101.0.7 + - @pnpm/exec.lifecycle@1100.1.25 + - @pnpm/fs.symlink-dependency@1100.0.25 + - @pnpm/installing.context@1101.0.12 + - @pnpm/installing.deps-restorer@1103.2.6 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/lockfile.settings-checker@1100.2.14 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/lockfile.walker@1100.0.28 + - @pnpm/patching.config@1100.1.10 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.connection-manager@1101.3.5 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/store.index@1101.0.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.task-scheduler@1100.0.5 diff --git a/.changeset/changelogs/@pnpm!building.commands@1101.2.10.md b/.changeset/changelogs/@pnpm!building.commands@1101.2.10.md deleted file mode 100644 index 8f6d52478c..0000000000 --- a/.changeset/changelogs/@pnpm!building.commands@1101.2.10.md +++ /dev/null @@ -1,11 +0,0 @@ -## 1101.2.10 - -### Patch Changes - -- Updated dependencies: - - @pnpm/building.after-install@1103.0.11 - - @pnpm/building.policy@1100.1.7 - - @pnpm/config.reader@1102.3.5 - - @pnpm/config.writer@1100.0.33 - - @pnpm/installing.commands@1101.4.6 - - @pnpm/store.connection-manager@1101.3.4 diff --git a/.changeset/changelogs/@pnpm!building.commands@1101.2.11.md b/.changeset/changelogs/@pnpm!building.commands@1101.2.11.md new file mode 100644 index 0000000000..c163b1ce90 --- /dev/null +++ b/.changeset/changelogs/@pnpm!building.commands@1101.2.11.md @@ -0,0 +1,19 @@ +## 1101.2.11 + +### Patch Changes + +- Updated dependencies: + - @pnpm/building.after-install@1103.0.12 + - @pnpm/building.policy@1100.1.8 + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.reader@1102.3.6 + - @pnpm/config.writer@1100.0.34 + - @pnpm/deps.path@1101.0.7 + - @pnpm/global.packages@1101.1.8 + - @pnpm/installing.commands@1101.4.7 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/store.connection-manager@1101.3.5 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.projects-sorter@1101.0.2 + - @pnpm/workspace.task-scheduler@1100.0.5 + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 diff --git a/.changeset/changelogs/@pnpm!building.during-install@1102.2.8.md b/.changeset/changelogs/@pnpm!building.during-install@1102.2.8.md deleted file mode 100644 index c5ee9c0b2f..0000000000 --- a/.changeset/changelogs/@pnpm!building.during-install@1102.2.8.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1102.2.8 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/exec.lifecycle@1100.1.24 diff --git a/.changeset/changelogs/@pnpm!building.during-install@1102.2.9.md b/.changeset/changelogs/@pnpm!building.during-install@1102.2.9.md new file mode 100644 index 0000000000..fe76722bef --- /dev/null +++ b/.changeset/changelogs/@pnpm!building.during-install@1102.2.9.md @@ -0,0 +1,19 @@ +## 1102.2.9 + +### Patch Changes + +- Updated dependencies: + - @pnpm/bins.linker@1100.0.38 + - @pnpm/building.pkg-requires-build@1100.0.21 + - @pnpm/config.package-is-installable@1100.2.4 + - @pnpm/config.reader@1102.3.6 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.graph-hasher@1100.3.8 + - @pnpm/deps.path@1101.0.7 + - @pnpm/exec.lifecycle@1100.1.25 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/pnpr.client@3.1.4 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.task-scheduler@1100.0.5 diff --git a/.changeset/changelogs/@pnpm!building.pkg-requires-build@1100.0.21.md b/.changeset/changelogs/@pnpm!building.pkg-requires-build@1100.0.21.md new file mode 100644 index 0000000000..535ef992cf --- /dev/null +++ b/.changeset/changelogs/@pnpm!building.pkg-requires-build@1100.0.21.md @@ -0,0 +1,7 @@ +## 1100.0.21 + +### Patch Changes + +- Updated dependencies: + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!building.policy@1100.1.7.md b/.changeset/changelogs/@pnpm!building.policy@1100.1.7.md deleted file mode 100644 index b40b91345a..0000000000 --- a/.changeset/changelogs/@pnpm!building.policy@1100.1.7.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.1.7 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.version-policy@1100.2.8 diff --git a/.changeset/changelogs/@pnpm!building.policy@1100.1.8.md b/.changeset/changelogs/@pnpm!building.policy@1100.1.8.md new file mode 100644 index 0000000000..0cd7ebfa7e --- /dev/null +++ b/.changeset/changelogs/@pnpm!building.policy@1100.1.8.md @@ -0,0 +1,8 @@ +## 1100.1.8 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/deps.path@1101.0.7 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!cache.api@1100.0.50.md b/.changeset/changelogs/@pnpm!cache.api@1100.0.50.md deleted file mode 100644 index a6a7baa10a..0000000000 --- a/.changeset/changelogs/@pnpm!cache.api@1100.0.50.md +++ /dev/null @@ -1,8 +0,0 @@ -## 1100.0.50 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/resolving.npm-resolver@1104.2.6 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!cache.api@1100.0.51.md b/.changeset/changelogs/@pnpm!cache.api@1100.0.51.md new file mode 100644 index 0000000000..9a55555876 --- /dev/null +++ b/.changeset/changelogs/@pnpm!cache.api@1100.0.51.md @@ -0,0 +1,9 @@ +## 1100.0.51 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.reader@1102.3.6 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.index@1101.0.3 diff --git a/.changeset/changelogs/@pnpm!cache.commands@1100.1.12.md b/.changeset/changelogs/@pnpm!cache.commands@1100.1.12.md deleted file mode 100644 index ca035ea2ef..0000000000 --- a/.changeset/changelogs/@pnpm!cache.commands@1100.1.12.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1100.1.12 - -### Patch Changes - -- Updated dependencies: - - @pnpm/cache.api@1100.0.50 - - @pnpm/config.reader@1102.3.5 diff --git a/.changeset/changelogs/@pnpm!cache.commands@1100.1.13.md b/.changeset/changelogs/@pnpm!cache.commands@1100.1.13.md new file mode 100644 index 0000000000..cee8832ed9 --- /dev/null +++ b/.changeset/changelogs/@pnpm!cache.commands@1100.1.13.md @@ -0,0 +1,9 @@ +## 1100.1.13 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cache.api@1100.0.51 + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.reader@1102.3.6 + - @pnpm/store.path@1100.1.3 diff --git a/.changeset/changelogs/@pnpm!cli.commands@1100.0.49.md b/.changeset/changelogs/@pnpm!cli.commands@1100.0.49.md deleted file mode 100644 index 503b4716f7..0000000000 --- a/.changeset/changelogs/@pnpm!cli.commands@1100.0.49.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.0.49 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 diff --git a/.changeset/changelogs/@pnpm!workspace.state@1100.0.50.md b/.changeset/changelogs/@pnpm!cli.commands@1100.0.50.md similarity index 63% rename from .changeset/changelogs/@pnpm!workspace.state@1100.0.50.md rename to .changeset/changelogs/@pnpm!cli.commands@1100.0.50.md index 9588c8aa2e..194cb94f9a 100644 --- a/.changeset/changelogs/@pnpm!workspace.state@1100.0.50.md +++ b/.changeset/changelogs/@pnpm!cli.commands@1100.0.50.md @@ -3,4 +3,4 @@ ### Patch Changes - Updated dependencies: - - @pnpm/config.reader@1102.3.5 + - @pnpm/config.reader@1102.3.6 diff --git a/.changeset/changelogs/@pnpm!cli.default-reporter@1100.3.25.md b/.changeset/changelogs/@pnpm!cli.default-reporter@1100.3.25.md deleted file mode 100644 index 0aa45685b9..0000000000 --- a/.changeset/changelogs/@pnpm!cli.default-reporter@1100.3.25.md +++ /dev/null @@ -1,5 +0,0 @@ -## 1100.3.25 - -### Patch Changes - -- Escape codes in script output that moved the cursor or cleared the screen garbled pnpm's output. pnpm now drops them and keeps only color codes. Color codes are dropped too when pnpm's own output is not in color. diff --git a/.changeset/changelogs/@pnpm!cli.default-reporter@1100.3.26.md b/.changeset/changelogs/@pnpm!cli.default-reporter@1100.3.26.md new file mode 100644 index 0000000000..a6b72015c6 --- /dev/null +++ b/.changeset/changelogs/@pnpm!cli.default-reporter@1100.3.26.md @@ -0,0 +1,9 @@ +## 1100.3.26 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cli.meta@1100.1.3 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.inspection.peers-issues-renderer@1100.0.16 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!workspace.root-finder@1100.1.3.md b/.changeset/changelogs/@pnpm!cli.meta@1100.1.3.md similarity index 54% rename from .changeset/changelogs/@pnpm!workspace.root-finder@1100.1.3.md rename to .changeset/changelogs/@pnpm!cli.meta@1100.1.3.md index ab0c07d5be..c504c0654b 100644 --- a/.changeset/changelogs/@pnpm!workspace.root-finder@1100.1.3.md +++ b/.changeset/changelogs/@pnpm!cli.meta@1100.1.3.md @@ -3,4 +3,4 @@ ### Patch Changes - Updated dependencies: - - @pnpm/workspace.package-patterns@1100.0.2 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!cli.parse-cli-args@1100.1.16.md b/.changeset/changelogs/@pnpm!cli.parse-cli-args@1100.1.16.md deleted file mode 100644 index a01fc251b8..0000000000 --- a/.changeset/changelogs/@pnpm!cli.parse-cli-args@1100.1.16.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.1.16 - -### Patch Changes - -- Updated dependencies: - - @pnpm/workspace.root-finder@1100.1.3 diff --git a/.changeset/changelogs/@pnpm!cli.parse-cli-args@1100.1.17.md b/.changeset/changelogs/@pnpm!cli.parse-cli-args@1100.1.17.md new file mode 100644 index 0000000000..39dfc37955 --- /dev/null +++ b/.changeset/changelogs/@pnpm!cli.parse-cli-args@1100.1.17.md @@ -0,0 +1,6 @@ +## 1100.1.17 + +### Patch Changes + +- Updated dependencies: + - @pnpm/workspace.root-finder@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!cli.utils@1101.0.33.md b/.changeset/changelogs/@pnpm!cli.utils@1101.0.33.md new file mode 100644 index 0000000000..3f3e268a8f --- /dev/null +++ b/.changeset/changelogs/@pnpm!cli.utils@1101.0.33.md @@ -0,0 +1,10 @@ +## 1101.0.33 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cli.meta@1100.1.3 + - @pnpm/config.package-is-installable@1100.2.4 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!config.commands@1101.0.11.md b/.changeset/changelogs/@pnpm!config.commands@1101.0.11.md deleted file mode 100644 index b5431b688d..0000000000 --- a/.changeset/changelogs/@pnpm!config.commands@1101.0.11.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1101.0.11 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/workspace.workspace-manifest-writer@1100.2.7 diff --git a/.changeset/changelogs/@pnpm!config.commands@1101.0.12.md b/.changeset/changelogs/@pnpm!config.commands@1101.0.12.md new file mode 100644 index 0000000000..c10193488d --- /dev/null +++ b/.changeset/changelogs/@pnpm!config.commands@1101.0.12.md @@ -0,0 +1,11 @@ +## 1101.0.12 + +### Patch Changes + +- pnpm now recognizes `externalDependencies` and `autoInstallPeersFromHighestMatch` in `pnpm-workspace.yaml` without warning and forwards both settings to `pnpm install`. Previously, setting `externalDependencies` in `pnpm-workspace.yaml` with `nodeLinker: hoisted` crashed `pnpm install` with `externalDependencies.has is not a function` [pnpm/tasks#166](https://github.com/pnpm/tasks/issues/166). + +- Updated dependencies: + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/config.reader@1102.3.6 + - @pnpm/workspace.workspace-manifest-writer@1100.2.8 diff --git a/.changeset/changelogs/@pnpm!config.normalize-registries@1101.0.4.md b/.changeset/changelogs/@pnpm!config.normalize-registries@1101.0.4.md new file mode 100644 index 0000000000..5aab5ca88d --- /dev/null +++ b/.changeset/changelogs/@pnpm!config.normalize-registries@1101.0.4.md @@ -0,0 +1,8 @@ +## 1101.0.4 + +### Patch Changes + +- Fixed the README usage examples to match these packages' current APIs. + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!config.package-is-installable@1100.2.4.md b/.changeset/changelogs/@pnpm!config.package-is-installable@1100.2.4.md new file mode 100644 index 0000000000..a44779f05b --- /dev/null +++ b/.changeset/changelogs/@pnpm!config.package-is-installable@1100.2.4.md @@ -0,0 +1,9 @@ +## 1100.2.4 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cli.meta@1100.1.3 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/engine.runtime.system-version@1100.0.14 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.inspection.tree-builder@1101.0.11.md b/.changeset/changelogs/@pnpm!config.pick-registry-for-package@1101.0.3.md similarity index 50% rename from .changeset/changelogs/@pnpm!deps.inspection.tree-builder@1101.0.11.md rename to .changeset/changelogs/@pnpm!config.pick-registry-for-package@1101.0.3.md index 81f7830da1..8e746fcb23 100644 --- a/.changeset/changelogs/@pnpm!deps.inspection.tree-builder@1101.0.11.md +++ b/.changeset/changelogs/@pnpm!config.pick-registry-for-package@1101.0.3.md @@ -1,6 +1,6 @@ -## 1101.0.11 +## 1101.0.3 ### Patch Changes - Updated dependencies: - - @pnpm/store.index@1101.0.2 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!config.reader@1102.3.5.md b/.changeset/changelogs/@pnpm!config.reader@1102.3.5.md deleted file mode 100644 index c82781fbb6..0000000000 --- a/.changeset/changelogs/@pnpm!config.reader@1102.3.5.md +++ /dev/null @@ -1,9 +0,0 @@ -## 1102.3.5 - -### Patch Changes - -- pnpm again accepts `httpProxy` and `httpsProxy` set to `null` or written with no value in `pnpm-workspace.yaml` and the global config file, and treats them as unset. Since 11.28.5 these values failed with `ERR_PNPM_INVALID_SETTING`. - -- A key under a registry URL in the `_auth` setting that does not start with `@` is now skipped with a warning, so a field a later pnpm version adds there no longer breaks this one. A key that holds an `authToken` object but lacks its `@`, such as `org` for `@org`, is still an error. - -- pnpm now switches to the pnpm version a project pins even when it cannot read its configuration. Previously, a setting it rejected in the global config file, an `.npmrc` file, `_auth`, or `pnpm-workspace.yaml` stopped every command, `pnpm --version` included. diff --git a/.changeset/changelogs/@pnpm!config.reader@1102.3.6.md b/.changeset/changelogs/@pnpm!config.reader@1102.3.6.md new file mode 100644 index 0000000000..20aa4fec25 --- /dev/null +++ b/.changeset/changelogs/@pnpm!config.reader@1102.3.6.md @@ -0,0 +1,23 @@ +## 1102.3.6 + +### Patch Changes + +- The warning about unrecognized settings in `pnpm-workspace.yaml` and the global `config.yaml` now names `addMissingPeerTypes`, `autoDedupe`, `bootConfig`, `macosBackup`, `nodePackageMap`, `permissions`, `pipelineBase`, `publishWaitTimeout`, `python`, `remoteCache`, `saveTypes`, `skills`, `storeIndexFormat`, and `tools` as pnpm v12 settings [pnpm/tasks#167](https://github.com/pnpm/tasks/issues/167). + +- pnpm now records the pinned pnpm version in the `pnpm-lock.yaml` under the `lockfileDir` set in `pnpm-workspace.yaml`, and resolves a relative `lockfileDir` from the workspace root. pnpm used to write a second `pnpm-lock.yaml` at the workspace root. + +- pnpm now recognizes `externalDependencies` and `autoInstallPeersFromHighestMatch` in `pnpm-workspace.yaml` without warning and forwards both settings to `pnpm install`. Previously, setting `externalDependencies` in `pnpm-workspace.yaml` with `nodeLinker: hoisted` crashed `pnpm install` with `externalDependencies.has is not a function` [pnpm/tasks#166](https://github.com/pnpm/tasks/issues/166). + +- Added the `maxTarballUnpackedSize` setting. `pnpm install` fails with `ERR_PNPM_TARBALL_TOO_LARGE` when the files of one package unpack to more than this many bytes, 4 GiB by default [pnpm/tasks#81](https://github.com/pnpm/tasks/issues/81). + +- `pmOnFail` and `lockfileDir` in `pnpm-workspace.yaml` now stay in force when another setting in that file cannot be read. pnpm used to switch to the pinned version despite `pmOnFail: ignore` in that case. + +- pnpm now ignores a `PNPM_CONFIG_*` environment variable for a URL setting, such as `PNPM_CONFIG_REGISTRY`, when its value is not a URL. Such a value used to make every command fail with `Invalid URL`. + +- Updated dependencies: + - @pnpm/exec.esm-node-path-loader@1100.0.2 + - @pnpm/hooks.pnpmfile@1100.0.37 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 diff --git a/.changeset/changelogs/@pnpm!config.version-policy@1100.2.8.md b/.changeset/changelogs/@pnpm!config.version-policy@1100.2.8.md deleted file mode 100644 index 7fa2406649..0000000000 --- a/.changeset/changelogs/@pnpm!config.version-policy@1100.2.8.md +++ /dev/null @@ -1,5 +0,0 @@ -## 1100.2.8 - -### Patch Changes - -- `pnpm install` and `pnpm add --config` now apply `minimumReleaseAge` when they resolve a config dependency. A config dependency range resolves to the newest version that is old enough, so a later clean `pnpm install --frozen-lockfile` accepts the lockfile [#16660](https://github.com/pnpm/pnpm/issues/16660). diff --git a/.changeset/changelogs/@pnpm!assert-store@1100.0.37.md b/.changeset/changelogs/@pnpm!config.version-policy@1100.2.9.md similarity index 50% rename from .changeset/changelogs/@pnpm!assert-store@1100.0.37.md rename to .changeset/changelogs/@pnpm!config.version-policy@1100.2.9.md index 750e18c60f..65099f0707 100644 --- a/.changeset/changelogs/@pnpm!assert-store@1100.0.37.md +++ b/.changeset/changelogs/@pnpm!config.version-policy@1100.2.9.md @@ -1,6 +1,6 @@ -## 1100.0.37 +## 1100.2.9 ### Patch Changes - Updated dependencies: - - @pnpm/store.index@1101.0.2 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!config.writer@1100.0.33.md b/.changeset/changelogs/@pnpm!config.writer@1100.0.33.md deleted file mode 100644 index 61cb1a589a..0000000000 --- a/.changeset/changelogs/@pnpm!config.writer@1100.0.33.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.0.33 - -### Patch Changes - -- Updated dependencies: - - @pnpm/workspace.workspace-manifest-writer@1100.2.7 diff --git a/.changeset/changelogs/@pnpm!config.writer@1100.0.34.md b/.changeset/changelogs/@pnpm!config.writer@1100.0.34.md new file mode 100644 index 0000000000..cab3040c32 --- /dev/null +++ b/.changeset/changelogs/@pnpm!config.writer@1100.0.34.md @@ -0,0 +1,7 @@ +## 1100.0.34 + +### Patch Changes + +- Updated dependencies: + - @pnpm/types@1102.1.2 + - @pnpm/workspace.workspace-manifest-writer@1100.2.8 diff --git a/.changeset/changelogs/@pnpm!fetching.binary-fetcher@1102.0.20.md b/.changeset/changelogs/@pnpm!core-loggers@1101.0.3.md similarity index 50% rename from .changeset/changelogs/@pnpm!fetching.binary-fetcher@1102.0.20.md rename to .changeset/changelogs/@pnpm!core-loggers@1101.0.3.md index e03c5ca01e..8e746fcb23 100644 --- a/.changeset/changelogs/@pnpm!fetching.binary-fetcher@1102.0.20.md +++ b/.changeset/changelogs/@pnpm!core-loggers@1101.0.3.md @@ -1,6 +1,6 @@ -## 1102.0.20 +## 1101.0.3 ### Patch Changes - Updated dependencies: - - @pnpm/store.index@1101.0.2 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.compliance.audit@1101.0.43.md b/.changeset/changelogs/@pnpm!deps.compliance.audit@1101.0.43.md new file mode 100644 index 0000000000..76b479bd45 --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.compliance.audit@1101.0.43.md @@ -0,0 +1,14 @@ +## 1101.0.43 + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.detect-dep-types@1100.0.28 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.peer-edges@1100.0.3 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/lockfile.walker@1100.0.28 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.compliance.commands@1102.1.10.md b/.changeset/changelogs/@pnpm!deps.compliance.commands@1102.1.10.md deleted file mode 100644 index a486edee2d..0000000000 --- a/.changeset/changelogs/@pnpm!deps.compliance.commands@1102.1.10.md +++ /dev/null @@ -1,11 +0,0 @@ -## 1102.1.10 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/config.version-policy@1100.2.8 - - @pnpm/config.writer@1100.0.33 - - @pnpm/deps.compliance.license-scanner@1101.0.11 - - @pnpm/deps.compliance.sbom@1101.0.10 - - @pnpm/installing.commands@1101.4.6 diff --git a/.changeset/changelogs/@pnpm!deps.compliance.commands@1102.1.11.md b/.changeset/changelogs/@pnpm!deps.compliance.commands@1102.1.11.md new file mode 100644 index 0000000000..9ae30b961d --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.compliance.commands@1102.1.11.md @@ -0,0 +1,30 @@ +## 1102.1.11 + +### Patch Changes + +- `pnpm sbom` now reads project lockfiles in workspaces with `sharedWorkspaceLockfile: false`, including filtered and split output. + +- `pnpm licenses list` reports no licenses for workspace projects not recorded in the lockfile. It errors when `pnpm-lock.yaml` is missing. Empty results now use the requested text or JSON format [pnpm/tasks#174](https://github.com/pnpm/tasks/issues/174). + +- Updated dependencies: + - @pnpm/cli.meta@1100.1.3 + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.pick-registry-for-package@1101.0.3 + - @pnpm/config.reader@1102.3.6 + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/config.writer@1100.0.34 + - @pnpm/deps.compliance.audit@1101.0.43 + - @pnpm/deps.compliance.license-scanner@1101.0.12 + - @pnpm/deps.compliance.sbom@1101.0.11 + - @pnpm/deps.security.signatures@1102.0.10 + - @pnpm/installing.commands@1101.4.7 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/lockfile.walker@1100.0.28 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/store.path@1100.1.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!deps.compliance.license-scanner@1101.0.11.md b/.changeset/changelogs/@pnpm!deps.compliance.license-scanner@1101.0.11.md deleted file mode 100644 index ac295ec09a..0000000000 --- a/.changeset/changelogs/@pnpm!deps.compliance.license-scanner@1101.0.11.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1101.0.11 - -### Patch Changes - -- Updated dependencies: - - @pnpm/store.index@1101.0.2 - - @pnpm/store.pkg-finder@1100.0.40 diff --git a/.changeset/changelogs/@pnpm!deps.compliance.license-scanner@1101.0.12.md b/.changeset/changelogs/@pnpm!deps.compliance.license-scanner@1101.0.12.md new file mode 100644 index 0000000000..c575b5e7bb --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.compliance.license-scanner@1101.0.12.md @@ -0,0 +1,17 @@ +## 1101.0.12 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.package-is-installable@1100.2.4 + - @pnpm/deps.path@1101.0.7 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/lockfile.detect-dep-types@1100.0.28 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/lockfile.walker@1100.0.28 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/store.index@1101.0.3 + - @pnpm/store.pkg-finder@1100.0.41 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.compliance.sbom@1101.0.10.md b/.changeset/changelogs/@pnpm!deps.compliance.sbom@1101.0.10.md deleted file mode 100644 index 925b6579af..0000000000 --- a/.changeset/changelogs/@pnpm!deps.compliance.sbom@1101.0.10.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1101.0.10 - -### Patch Changes - -- Updated dependencies: - - @pnpm/store.index@1101.0.2 - - @pnpm/store.pkg-finder@1100.0.40 diff --git a/.changeset/changelogs/@pnpm!deps.compliance.sbom@1101.0.11.md b/.changeset/changelogs/@pnpm!deps.compliance.sbom@1101.0.11.md new file mode 100644 index 0000000000..65e45e8fd7 --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.compliance.sbom@1101.0.11.md @@ -0,0 +1,20 @@ +## 1101.0.11 + +### Patch Changes + +- `pnpm sbom` now reads project lockfiles in workspaces with `sharedWorkspaceLockfile: false`, including filtered and split output. + +- `pnpm sbom` now reports the repository of a package whose `repository` field is a `gist:` shorthand. + +- Updated dependencies: + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/config.package-is-installable@1100.2.4 + - @pnpm/lockfile.detect-dep-types@1100.0.28 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/lockfile.walker@1100.0.28 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.index@1101.0.3 + - @pnpm/store.pkg-finder@1100.0.41 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.github-actions@1100.1.16.md b/.changeset/changelogs/@pnpm!deps.github-actions@1100.1.16.md deleted file mode 100644 index 30cfc3bac9..0000000000 --- a/.changeset/changelogs/@pnpm!deps.github-actions@1100.1.16.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.1.16 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.version-policy@1100.2.8 diff --git a/.changeset/changelogs/@pnpm!deps.github-actions@1100.1.17.md b/.changeset/changelogs/@pnpm!deps.github-actions@1100.1.17.md new file mode 100644 index 0000000000..0090293b17 --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.github-actions@1100.1.17.md @@ -0,0 +1,8 @@ +## 1100.1.17 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/resolving.git-resolver@1100.1.28 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.graph-builder@1101.1.5.md b/.changeset/changelogs/@pnpm!deps.graph-builder@1101.1.5.md deleted file mode 100644 index b086079323..0000000000 --- a/.changeset/changelogs/@pnpm!deps.graph-builder@1101.1.5.md +++ /dev/null @@ -1,5 +0,0 @@ -## 1101.1.5 - -### Patch Changes - -- With `enableGlobalVirtualStore`, an install that updates `node_modules` now restores the dependency links of a package in the global virtual store that an interrupted install left without them. Before, such an install kept the incomplete package if the project's `node_modules` already recorded it [#16642](https://github.com/pnpm/pnpm/issues/16642). diff --git a/.changeset/changelogs/@pnpm!deps.graph-builder@1101.1.6.md b/.changeset/changelogs/@pnpm!deps.graph-builder@1101.1.6.md new file mode 100644 index 0000000000..5c2479e792 --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.graph-builder@1101.1.6.md @@ -0,0 +1,18 @@ +## 1101.1.6 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/config.package-is-installable@1100.2.4 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.graph-hasher@1100.3.8 + - @pnpm/deps.path@1101.0.7 + - @pnpm/fs.symlink-dependency@1100.0.25 + - @pnpm/hooks.types@1101.0.6 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/patching.config@1100.1.10 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.graph-hasher@1100.3.8.md b/.changeset/changelogs/@pnpm!deps.graph-hasher@1100.3.8.md new file mode 100644 index 0000000000..2e5dbd1d19 --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.graph-hasher@1100.3.8.md @@ -0,0 +1,11 @@ +## 1100.3.8 + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/engine.runtime.system-version@1100.0.14 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.inspection.commands@1101.0.11.md b/.changeset/changelogs/@pnpm!deps.inspection.commands@1101.0.11.md deleted file mode 100644 index d074fd1767..0000000000 --- a/.changeset/changelogs/@pnpm!deps.inspection.commands@1101.0.11.md +++ /dev/null @@ -1,12 +0,0 @@ -## 1101.0.11 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/deps.github-actions@1100.1.16 - - @pnpm/deps.inspection.list@1101.0.11 - - @pnpm/deps.inspection.outdated@1100.1.37 - - @pnpm/global.commands@1102.0.8 - - @pnpm/resolving.default-resolver@1101.0.11 - - @pnpm/resolving.npm-resolver@1104.2.6 diff --git a/.changeset/changelogs/@pnpm!deps.inspection.commands@1101.0.12.md b/.changeset/changelogs/@pnpm!deps.inspection.commands@1101.0.12.md new file mode 100644 index 0000000000..518b1df4ec --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.inspection.commands@1101.0.12.md @@ -0,0 +1,27 @@ +## 1101.0.12 + +### Patch Changes + +- `pnpm why` now reads each selected workspace project's lockfile and modules directory when `sharedWorkspaceLockfile` is `false` [pnpm/tasks#169](https://github.com/pnpm/tasks/issues/169). + +- Updated dependencies: + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.pick-registry-for-package@1101.0.3 + - @pnpm/config.reader@1102.3.6 + - @pnpm/deps.github-actions@1100.1.17 + - @pnpm/deps.inspection.list@1101.1.0 + - @pnpm/deps.inspection.outdated@1100.1.38 + - @pnpm/deps.inspection.peers-checker@1100.0.40 + - @pnpm/deps.inspection.peers-issues-renderer@1100.0.16 + - @pnpm/global.commands@1102.0.9 + - @pnpm/global.packages@1101.1.8 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/resolving.default-resolver@1101.0.12 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/resolving.registry.types@1100.2.4 + - @pnpm/store.path@1100.1.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!deps.inspection.list@1101.0.11.md b/.changeset/changelogs/@pnpm!deps.inspection.list@1101.0.11.md deleted file mode 100644 index bc05d609e5..0000000000 --- a/.changeset/changelogs/@pnpm!deps.inspection.list@1101.0.11.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1101.0.11 - -### Patch Changes - -- Updated dependencies: - - @pnpm/deps.inspection.tree-builder@1101.0.11 diff --git a/.changeset/changelogs/@pnpm!deps.inspection.list@1101.1.0.md b/.changeset/changelogs/@pnpm!deps.inspection.list@1101.1.0.md new file mode 100644 index 0000000000..81a920aee5 --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.inspection.list@1101.1.0.md @@ -0,0 +1,14 @@ +## 1101.1.0 + +### Minor Changes + +- `pnpm why` now reads each selected workspace project's lockfile and modules directory when `sharedWorkspaceLockfile` is `false` [pnpm/tasks#169](https://github.com/pnpm/tasks/issues/169). + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.inspection.tree-builder@1101.1.0 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!deps.inspection.outdated@1100.1.37.md b/.changeset/changelogs/@pnpm!deps.inspection.outdated@1100.1.37.md deleted file mode 100644 index df3421b3f2..0000000000 --- a/.changeset/changelogs/@pnpm!deps.inspection.outdated@1100.1.37.md +++ /dev/null @@ -1,9 +0,0 @@ -## 1100.1.37 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.version-policy@1100.2.8 - - @pnpm/hooks.read-package-hook@1100.3.8 - - @pnpm/installing.client@1100.3.16 - - @pnpm/resolving.npm-resolver@1104.2.6 diff --git a/.changeset/changelogs/@pnpm!deps.inspection.outdated@1100.1.38.md b/.changeset/changelogs/@pnpm!deps.inspection.outdated@1100.1.38.md new file mode 100644 index 0000000000..43fc144127 --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.inspection.outdated@1100.1.38.md @@ -0,0 +1,14 @@ +## 1100.1.38 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/deps.path@1101.0.7 + - @pnpm/hooks.read-package-hook@1100.3.9 + - @pnpm/installing.client@1100.3.17 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.inspection.peers-checker@1100.0.40.md b/.changeset/changelogs/@pnpm!deps.inspection.peers-checker@1100.0.40.md new file mode 100644 index 0000000000..18078250f4 --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.inspection.peers-checker@1100.0.40.md @@ -0,0 +1,9 @@ +## 1100.0.40 + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.walker@1100.0.28 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.inspection.peers-issues-renderer@1100.0.16.md b/.changeset/changelogs/@pnpm!deps.inspection.peers-issues-renderer@1100.0.16.md new file mode 100644 index 0000000000..540c34a398 --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.inspection.peers-issues-renderer@1100.0.16.md @@ -0,0 +1,6 @@ +## 1100.0.16 + +### Patch Changes + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.inspection.tree-builder@1101.1.0.md b/.changeset/changelogs/@pnpm!deps.inspection.tree-builder@1101.1.0.md new file mode 100644 index 0000000000..c4d5cda83c --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.inspection.tree-builder@1101.1.0.md @@ -0,0 +1,20 @@ +## 1101.1.0 + +### Minor Changes + +- `pnpm why` now reads each selected workspace project's lockfile and modules directory when `sharedWorkspaceLockfile` is `false` [pnpm/tasks#169](https://github.com/pnpm/tasks/issues/169). + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/deps.path@1101.0.7 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/lockfile.detect-dep-types@1100.0.28 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.peer-edges@1100.0.3 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.index@1101.0.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.path@1101.0.7.md b/.changeset/changelogs/@pnpm!deps.path@1101.0.7.md new file mode 100644 index 0000000000..c0db5673bb --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.path@1101.0.7.md @@ -0,0 +1,8 @@ +## 1101.0.7 + +### Patch Changes + +- An optional peer that pnpm adds to a project now keeps the version the lockfile recorded for that project only while the dependency graph still holds it. Otherwise it follows its provider to a version the graph holds. Before, pnpm kept a higher version that only the lockfile held, which left two copies of the peer [#16443](https://github.com/pnpm/pnpm/issues/16443). + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!deps.security.signatures@1102.0.10.md b/.changeset/changelogs/@pnpm!deps.security.signatures@1102.0.10.md new file mode 100644 index 0000000000..7716e7a59c --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.security.signatures@1102.0.10.md @@ -0,0 +1,6 @@ +## 1102.0.10 + +### Patch Changes + +- Updated dependencies: + - @pnpm/network.fetch@1100.1.23 diff --git a/.changeset/changelogs/@pnpm!deps.status@1100.1.30.md b/.changeset/changelogs/@pnpm!deps.status@1100.1.30.md deleted file mode 100644 index 2edf7de2aa..0000000000 --- a/.changeset/changelogs/@pnpm!deps.status@1100.1.30.md +++ /dev/null @@ -1,12 +0,0 @@ -## 1100.1.30 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/hooks.read-package-hook@1100.3.8 - - @pnpm/installing.context@1101.0.11 - - @pnpm/lockfile.settings-checker@1100.2.13 - - @pnpm/lockfile.verification@1100.1.12 - - @pnpm/workspace.projects-reader@1101.1.4 - - @pnpm/workspace.state@1100.0.50 diff --git a/.changeset/changelogs/@pnpm!deps.status@1100.1.31.md b/.changeset/changelogs/@pnpm!deps.status@1100.1.31.md new file mode 100644 index 0000000000..412909b796 --- /dev/null +++ b/.changeset/changelogs/@pnpm!deps.status@1100.1.31.md @@ -0,0 +1,39 @@ +## 1100.1.31 + +### Patch Changes + +- `verifyDepsBeforeRun` and repeat `pnpm install` runs now apply `overrides` before comparing a modified `package.json` with `pnpm-lock.yaml` [#17127](https://github.com/pnpm/pnpm/issues/17127). + +- `verifyDepsBeforeRun` no longer treats the workspace root as up to date after a filtered install with `pruneDirectDependencies: true` skipped it [pnpm/tasks#181](https://github.com/pnpm/tasks/issues/181). + +- `pnpm run`, `pnpm exec`, and `pnpm restart` now pass the install flags they were given, such as `--lockfile-dir`, `--modules-dir`, `--store-dir`, `--offline`, and `--ignore-scripts`, to the `pnpm install` that `verifyDepsBeforeRun: install` starts. The check that runs before a script now holds the workspace projects the script's project depends on. It agrees with the repeat-install check on which projects a filtered install left uninstalled, including with per-project lockfiles. Workspace dependencies declared with `link:` are now included in the workspace project graph, so `--filter=...` selects them and, with `sharedWorkspaceLockfile: false` and `injectWorkspacePackages: true`, the check before a script still requires them to be installed. A filtered install no longer forgets the ignored build scripts of the projects it did not select. + +- `verifyDepsBeforeRun` now compares a patch file that changed on disk with the patch hash in the lockfile. A patch that was copied or touched without changing its content no longer marks dependencies as outdated [#16988](https://github.com/pnpm/pnpm/issues/16988). + +- `verifyDepsBeforeRun` now checks whether each importer's resolved catalog versions match the catalog snapshot in `pnpm-lock.yaml`. + + `verifyDepsBeforeRun` now respects `lockfileDir` in single-project repositories. + + When the install that runs before a script leaves `node_modules` out of date, pnpm now prints a warning. + +- The `verifyDepsBeforeRun` check now notices an edited manifest, lockfile, or patch file even when the edit kept the file's modification time, as `cp -p`, `rsync -a`, or an archive extraction leave it. + + After `pnpm install --filter`, `pnpm run` and `pnpm exec` now notice a changed manifest in a project that install left out. A filtered command for a project that install did not reinstall after a lockfile change now installs first. + + `pnpm dedupe --check` and `pnpm install --dry-run` no longer record the dependencies as installed, so the `verifyDepsBeforeRun` check that follows them still notices outdated dependencies. + +- `verifyDepsBeforeRun` now reports the dependencies as outdated when `sharedWorkspaceLockfile` is `false` and the `pnpm-lock.yaml` of a project the command runs is missing. Previously the check reported them as up to date, so `pnpm run` skipped the install [pnpm/tasks#138](https://github.com/pnpm/tasks/issues/138). + +- Updated dependencies: + - @pnpm/config.reader@1102.3.6 + - @pnpm/deps.path@1101.0.7 + - @pnpm/hooks.read-package-hook@1100.3.9 + - @pnpm/installing.context@1101.0.12 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.settings-checker@1100.2.14 + - @pnpm/lockfile.verification@1100.1.13 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.projects-reader@1101.1.5 + - @pnpm/workspace.state@1100.0.51 + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 diff --git a/.changeset/changelogs/@pnpm!engine.pm.commands@1102.1.10.md b/.changeset/changelogs/@pnpm!engine.pm.commands@1102.1.10.md new file mode 100644 index 0000000000..46b9e67a34 --- /dev/null +++ b/.changeset/changelogs/@pnpm!engine.pm.commands@1102.1.10.md @@ -0,0 +1,36 @@ +## 1102.1.10 + +### Patch Changes + +- `pnpm self-update` now updates the project's pnpm pin when Homebrew installed pnpm or Corepack runs it. The global pnpm is left alone [#17001](https://github.com/pnpm/pnpm/issues/17001). + +- `pnpm setup` now completes when Windows registry environment values cannot be read or written. It prints PowerShell commands to configure `PNPM_HOME` and `PATH` without registry access [pnpm/pnpm#17167](https://github.com/pnpm/pnpm/issues/17167). + +- `pnpm setup` now succeeds when it cannot tell which shell configuration file to update, for example in a container where `SHELL` is not set. It installs pnpm and prints the `PNPM_HOME` and `PATH` lines to add yourself. Previously it failed with `ERR_PNPM_UNKNOWN_SHELL`, and so did the installer script at get.pnpm.io [#16973](https://github.com/pnpm/pnpm/issues/16973). + +- Updated dependencies: + - @pnpm/bins.linker@1100.0.38 + - @pnpm/building.during-install@1102.2.9 + - @pnpm/building.policy@1100.1.8 + - @pnpm/cli.meta@1100.1.3 + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.pick-registry-for-package@1101.0.3 + - @pnpm/config.reader@1102.3.6 + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/deps.graph-hasher@1100.3.8 + - @pnpm/deps.security.signatures@1102.0.10 + - @pnpm/exec.npm-lifecycle@1100.0.6 + - @pnpm/global.commands@1102.0.9 + - @pnpm/global.packages@1101.1.8 + - @pnpm/installing.client@1100.3.17 + - @pnpm/installing.deps-restorer@1103.2.6 + - @pnpm/installing.env-installer@1103.0.12 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/store.connection-manager@1101.3.5 + - @pnpm/store.controller@1102.2.6 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!engine.pm.commands@1102.1.9.md b/.changeset/changelogs/@pnpm!engine.pm.commands@1102.1.9.md deleted file mode 100644 index 19148f672a..0000000000 --- a/.changeset/changelogs/@pnpm!engine.pm.commands@1102.1.9.md +++ /dev/null @@ -1,20 +0,0 @@ -## 1102.1.9 - -### Patch Changes - -- pnpm now relinks the bins of a pnpm version it installed earlier for `packageManager` or `pnpm with`. A pnpm 12 version installed by a pnpm release older than 11.28.4 could keep a launcher that ran `node` on the native binary, so every command failed with `SyntaxError: Invalid or unexpected token` [#16646](https://github.com/pnpm/pnpm/issues/16646). - -- `pnpm setup` no longer tries to install pnpm globally from npm's `bin` directory when pnpm was installed with npm. It failed with `Failed to create bin at /bin/pnpm` [#16855](https://github.com/pnpm/pnpm/issues/16855). - -- Updated dependencies: - - @pnpm/building.during-install@1102.2.8 - - @pnpm/building.policy@1100.1.7 - - @pnpm/config.reader@1102.3.5 - - @pnpm/config.version-policy@1100.2.8 - - @pnpm/global.commands@1102.0.8 - - @pnpm/installing.client@1100.3.16 - - @pnpm/installing.deps-restorer@1103.2.5 - - @pnpm/installing.env-installer@1103.0.11 - - @pnpm/resolving.npm-resolver@1104.2.6 - - @pnpm/store.connection-manager@1101.3.4 - - @pnpm/store.controller@1102.2.5 diff --git a/.changeset/changelogs/@pnpm!engine.runtime.bun-resolver@1102.0.27.md b/.changeset/changelogs/@pnpm!engine.runtime.bun-resolver@1102.0.27.md deleted file mode 100644 index b00716a4a0..0000000000 --- a/.changeset/changelogs/@pnpm!engine.runtime.bun-resolver@1102.0.27.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1102.0.27 - -### Patch Changes - -- Updated dependencies: - - @pnpm/fetching.binary-fetcher@1102.0.20 - - @pnpm/resolving.npm-resolver@1104.2.6 diff --git a/.changeset/changelogs/@pnpm!engine.runtime.bun-resolver@1102.0.28.md b/.changeset/changelogs/@pnpm!engine.runtime.bun-resolver@1102.0.28.md new file mode 100644 index 0000000000..66e9617499 --- /dev/null +++ b/.changeset/changelogs/@pnpm!engine.runtime.bun-resolver@1102.0.28.md @@ -0,0 +1,10 @@ +## 1102.0.28 + +### Patch Changes + +- Updated dependencies: + - @pnpm/fetching.binary-fetcher@1102.0.21 + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!engine.runtime.commands@1101.1.10.md b/.changeset/changelogs/@pnpm!engine.runtime.commands@1101.1.10.md new file mode 100644 index 0000000000..450728af95 --- /dev/null +++ b/.changeset/changelogs/@pnpm!engine.runtime.commands@1101.1.10.md @@ -0,0 +1,14 @@ +## 1101.1.10 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.reader@1102.3.6 + - @pnpm/engine.runtime.node-resolver@1101.3.9 + - @pnpm/exec.pnpm-cli-runner@1100.0.6 + - @pnpm/global.commands@1102.0.9 + - @pnpm/global.packages@1101.1.8 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!engine.runtime.commands@1101.1.9.md b/.changeset/changelogs/@pnpm!engine.runtime.commands@1101.1.9.md deleted file mode 100644 index 1ac78c470a..0000000000 --- a/.changeset/changelogs/@pnpm!engine.runtime.commands@1101.1.9.md +++ /dev/null @@ -1,8 +0,0 @@ -## 1101.1.9 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/engine.runtime.node-resolver@1101.3.8 - - @pnpm/global.commands@1102.0.8 diff --git a/.changeset/changelogs/@pnpm!engine.runtime.deno-resolver@1102.0.27.md b/.changeset/changelogs/@pnpm!engine.runtime.deno-resolver@1102.0.27.md deleted file mode 100644 index b00716a4a0..0000000000 --- a/.changeset/changelogs/@pnpm!engine.runtime.deno-resolver@1102.0.27.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1102.0.27 - -### Patch Changes - -- Updated dependencies: - - @pnpm/fetching.binary-fetcher@1102.0.20 - - @pnpm/resolving.npm-resolver@1104.2.6 diff --git a/.changeset/changelogs/@pnpm!engine.runtime.deno-resolver@1102.0.28.md b/.changeset/changelogs/@pnpm!engine.runtime.deno-resolver@1102.0.28.md new file mode 100644 index 0000000000..66e9617499 --- /dev/null +++ b/.changeset/changelogs/@pnpm!engine.runtime.deno-resolver@1102.0.28.md @@ -0,0 +1,10 @@ +## 1102.0.28 + +### Patch Changes + +- Updated dependencies: + - @pnpm/fetching.binary-fetcher@1102.0.21 + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!engine.runtime.node-resolver@1101.3.8.md b/.changeset/changelogs/@pnpm!engine.runtime.node-resolver@1101.3.8.md deleted file mode 100644 index c93e58526e..0000000000 --- a/.changeset/changelogs/@pnpm!engine.runtime.node-resolver@1101.3.8.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1101.3.8 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 diff --git a/.changeset/changelogs/@pnpm!engine.runtime.node-resolver@1101.3.9.md b/.changeset/changelogs/@pnpm!engine.runtime.node-resolver@1101.3.9.md new file mode 100644 index 0000000000..1a38fb652a --- /dev/null +++ b/.changeset/changelogs/@pnpm!engine.runtime.node-resolver@1101.3.9.md @@ -0,0 +1,8 @@ +## 1101.3.9 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.reader@1102.3.6 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!engine.runtime.system-version@1100.0.14.md b/.changeset/changelogs/@pnpm!engine.runtime.system-version@1100.0.14.md new file mode 100644 index 0000000000..2d623c8fbb --- /dev/null +++ b/.changeset/changelogs/@pnpm!engine.runtime.system-version@1100.0.14.md @@ -0,0 +1,7 @@ +## 1100.0.14 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cli.meta@1100.1.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!esm-loader@0.1.1.md b/.changeset/changelogs/@pnpm!esm-loader@0.1.1.md deleted file mode 100644 index ffa99888ce..0000000000 --- a/.changeset/changelogs/@pnpm!esm-loader@0.1.1.md +++ /dev/null @@ -1,7 +0,0 @@ -## 0.1.1 - -### Patch Changes - -- With `nodeLinker.type: loaded`, packages that ship their own `node_modules` directory, such as `npm` with its bundled dependencies, now load from the store. One such package in the install stopped every Node.js process from starting. - -- With `nodeLinker.type` set to `loaded`, Node.js now stops with `ERR_PNPM_LOADER_UNSUPPORTED_NODE` when it preloads the store loader on a version the loader cannot serve. The supported versions are `^24.18.0 || >=26.2.0`. On other versions, CommonJS packages imported from ESM failed with `Cannot find module` on their first relative `require()`. diff --git a/.changeset/changelogs/@pnpm!exe@11.28.6.md b/.changeset/changelogs/@pnpm!exe@11.28.6.md deleted file mode 100644 index 77806472d6..0000000000 --- a/.changeset/changelogs/@pnpm!exe@11.28.6.md +++ /dev/null @@ -1,11 +0,0 @@ -## 11.28.6 - -### Patch Changes - -- Updated dependencies: - - @pnpm/linux-arm64@11.28.6 - - @pnpm/linux-x64@11.28.6 - - @pnpm/linuxstatic-x64@11.28.6 - - @pnpm/macos-arm64@11.28.6 - - @pnpm/win-arm64@11.28.6 - - @pnpm/win-x64@11.28.6 diff --git a/.changeset/changelogs/@pnpm!exe@11.28.7.md b/.changeset/changelogs/@pnpm!exe@11.28.7.md new file mode 100644 index 0000000000..0efccf11db --- /dev/null +++ b/.changeset/changelogs/@pnpm!exe@11.28.7.md @@ -0,0 +1,11 @@ +## 11.28.7 + +### Patch Changes + +- Updated dependencies: + - @pnpm/linux-arm64@11.28.7 + - @pnpm/linux-x64@11.28.7 + - @pnpm/linuxstatic-x64@11.28.7 + - @pnpm/macos-arm64@11.28.7 + - @pnpm/win-arm64@11.28.7 + - @pnpm/win-x64@11.28.7 diff --git a/.changeset/changelogs/@pnpm!exec.commands@1101.1.10.md b/.changeset/changelogs/@pnpm!exec.commands@1101.1.10.md deleted file mode 100644 index 563f838782..0000000000 --- a/.changeset/changelogs/@pnpm!exec.commands@1101.1.10.md +++ /dev/null @@ -1,16 +0,0 @@ -## 1101.1.10 - -### Patch Changes - -- Updated dependencies: - - @pnpm/building.commands@1101.2.10 - - @pnpm/config.reader@1102.3.5 - - @pnpm/config.version-policy@1100.2.8 - - @pnpm/deps.status@1100.1.30 - - @pnpm/engine.runtime.commands@1101.1.9 - - @pnpm/exec.lifecycle@1100.1.24 - - @pnpm/installing.client@1100.3.16 - - @pnpm/installing.commands@1101.4.6 - - @pnpm/workspace.injected-deps-syncer@1100.0.44 - - @pnpm/workspace.projects-filter@1100.0.49 - - @pnpm/workspace.projects-reader@1101.1.4 diff --git a/.changeset/changelogs/@pnpm!exec.commands@1101.1.11.md b/.changeset/changelogs/@pnpm!exec.commands@1101.1.11.md new file mode 100644 index 0000000000..ccbcb23fdb --- /dev/null +++ b/.changeset/changelogs/@pnpm!exec.commands@1101.1.11.md @@ -0,0 +1,43 @@ +## 1101.1.11 + +### Patch Changes + +- An injected workspace package now keeps only the files its manifest lists after a lifecycle script or a script named in `syncInjectedDepsAfterScripts` rebuilds it. Before, these refreshes copied every file of the package directory into the injected copy, including files that `files` or `.npmignore` leave out. With `deployAllFiles: true` the copy still gets every file. + +- `pnpm run`, `pnpm exec`, and `pnpm restart` now pass the install flags they were given, such as `--lockfile-dir`, `--modules-dir`, `--store-dir`, `--offline`, and `--ignore-scripts`, to the `pnpm install` that `verifyDepsBeforeRun: install` starts. The check that runs before a script now holds the workspace projects the script's project depends on. It agrees with the repeat-install check on which projects a filtered install left uninstalled, including with per-project lockfiles. Workspace dependencies declared with `link:` are now included in the workspace project graph, so `--filter=...` selects them and, with `sharedWorkspaceLockfile: false` and `injectWorkspacePackages: true`, the check before a script still requires them to be installed. A filtered install no longer forgets the ignored build scripts of the projects it did not select. + +- With `sharedWorkspaceLockfile: false`, a script listed in `syncInjectedDepsAfterScripts` now updates the injected copies of the package it ran in. Before, those copies kept the files from the last install. + +- A script listed in `syncInjectedDepsAfterScripts` now updates the injected copies of a package that publishes from `publishConfig.directory`. Before, those copies kept the files from the last install. + +- `verifyDepsBeforeRun` now checks whether each importer's resolved catalog versions match the catalog snapshot in `pnpm-lock.yaml`. + + `verifyDepsBeforeRun` now respects `lockfileDir` in single-project repositories. + + When the install that runs before a script leaves `node_modules` out of date, pnpm now prints a warning. + +- Updated dependencies: + - @pnpm/bins.resolver@1100.0.18 + - @pnpm/building.commands@1101.2.11 + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.reader@1102.3.6 + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.status@1100.1.31 + - @pnpm/engine.runtime.commands@1101.1.10 + - @pnpm/engine.runtime.system-version@1100.0.14 + - @pnpm/exec.esm-node-path-loader@1100.0.2 + - @pnpm/exec.lifecycle@1100.1.25 + - @pnpm/exec.npm-lifecycle@1100.0.6 + - @pnpm/exec.pnpm-cli-runner@1100.0.6 + - @pnpm/installing.client@1100.3.17 + - @pnpm/installing.commands@1101.4.7 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/store.path@1100.1.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.injected-deps-syncer@1100.0.45 + - @pnpm/workspace.project-manifest-reader@1100.1.4 + - @pnpm/workspace.projects-filter@1100.0.50 + - @pnpm/workspace.projects-reader@1101.1.5 + - @pnpm/workspace.projects-sorter@1101.0.2 + - @pnpm/workspace.task-scheduler@1100.0.5 diff --git a/.changeset/changelogs/@pnpm!exec.esm-node-path-loader@1100.0.2.md b/.changeset/changelogs/@pnpm!exec.esm-node-path-loader@1100.0.2.md new file mode 100644 index 0000000000..70a175dec6 --- /dev/null +++ b/.changeset/changelogs/@pnpm!exec.esm-node-path-loader@1100.0.2.md @@ -0,0 +1,5 @@ +## 1100.0.2 + +### Patch Changes + +- With `enableGlobalVirtualStore`, a Node.js resolve hook that a script registers now sees the importer as `context.parentURL` after pnpm's `NODE_PATH` fallback fails to find a bare specifier. Hooks that resolve tsconfig `paths` aliases from the importer failed with `ERR_MODULE_NOT_FOUND` [#16979](https://github.com/pnpm/pnpm/issues/16979). diff --git a/.changeset/changelogs/@pnpm!exec.lifecycle@1100.1.24.md b/.changeset/changelogs/@pnpm!exec.lifecycle@1100.1.24.md deleted file mode 100644 index e987b64f7d..0000000000 --- a/.changeset/changelogs/@pnpm!exec.lifecycle@1100.1.24.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.1.24 - -### Patch Changes - -- Updated dependencies: - - @pnpm/fetching.directory-fetcher@1100.0.39 diff --git a/.changeset/changelogs/@pnpm!exec.lifecycle@1100.1.25.md b/.changeset/changelogs/@pnpm!exec.lifecycle@1100.1.25.md new file mode 100644 index 0000000000..15859a9b62 --- /dev/null +++ b/.changeset/changelogs/@pnpm!exec.lifecycle@1100.1.25.md @@ -0,0 +1,17 @@ +## 1100.1.25 + +### Patch Changes + +- Fixed the README usage examples to match these packages' current APIs. + +- An injected workspace package now keeps only the files its manifest lists after a lifecycle script or a script named in `syncInjectedDepsAfterScripts` rebuilds it. Before, these refreshes copied every file of the package directory into the injected copy, including files that `files` or `.npmignore` leave out. With `deployAllFiles: true` the copy still gets every file. + +- Updated dependencies: + - @pnpm/bins.linker@1100.0.38 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/exec.npm-lifecycle@1100.0.6 + - @pnpm/fetching.directory-fetcher@1100.0.40 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.task-scheduler@1100.0.5 diff --git a/.changeset/changelogs/@pnpm!exec.npm-lifecycle@1100.0.6.md b/.changeset/changelogs/@pnpm!exec.npm-lifecycle@1100.0.6.md new file mode 100644 index 0000000000..21d8ff6d55 --- /dev/null +++ b/.changeset/changelogs/@pnpm!exec.npm-lifecycle@1100.0.6.md @@ -0,0 +1,6 @@ +## 1100.0.6 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cli.meta@1100.1.3 diff --git a/.changeset/changelogs/@pnpm!exec.pnpm-cli-runner@1100.0.6.md b/.changeset/changelogs/@pnpm!exec.pnpm-cli-runner@1100.0.6.md new file mode 100644 index 0000000000..21d8ff6d55 --- /dev/null +++ b/.changeset/changelogs/@pnpm!exec.pnpm-cli-runner@1100.0.6.md @@ -0,0 +1,6 @@ +## 1100.0.6 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cli.meta@1100.1.3 diff --git a/.changeset/changelogs/@pnpm!exec.prepare-package@1100.0.43.md b/.changeset/changelogs/@pnpm!exec.prepare-package@1100.0.43.md deleted file mode 100644 index d8a68a5b35..0000000000 --- a/.changeset/changelogs/@pnpm!exec.prepare-package@1100.0.43.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.0.43 - -### Patch Changes - -- Updated dependencies: - - @pnpm/exec.lifecycle@1100.1.24 diff --git a/.changeset/changelogs/@pnpm!exec.prepare-package@1100.0.44.md b/.changeset/changelogs/@pnpm!exec.prepare-package@1100.0.44.md new file mode 100644 index 0000000000..27f154c052 --- /dev/null +++ b/.changeset/changelogs/@pnpm!exec.prepare-package@1100.0.44.md @@ -0,0 +1,8 @@ +## 1100.0.44 + +### Patch Changes + +- Updated dependencies: + - @pnpm/exec.lifecycle@1100.1.25 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!fetching.binary-fetcher@1102.0.21.md b/.changeset/changelogs/@pnpm!fetching.binary-fetcher@1102.0.21.md new file mode 100644 index 0000000000..9b990a51f0 --- /dev/null +++ b/.changeset/changelogs/@pnpm!fetching.binary-fetcher@1102.0.21.md @@ -0,0 +1,10 @@ +## 1102.0.21 + +### Patch Changes + +- Added the `maxTarballUnpackedSize` setting. `pnpm install` fails with `ERR_PNPM_TARBALL_TOO_LARGE` when the files of one package unpack to more than this many bytes, 4 GiB by default [pnpm/tasks#81](https://github.com/pnpm/tasks/issues/81). + +- Updated dependencies: + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.index@1101.0.3 diff --git a/.changeset/changelogs/@pnpm!fetching.directory-fetcher@1100.0.39.md b/.changeset/changelogs/@pnpm!fetching.directory-fetcher@1100.0.39.md deleted file mode 100644 index 3e685c597e..0000000000 --- a/.changeset/changelogs/@pnpm!fetching.directory-fetcher@1100.0.39.md +++ /dev/null @@ -1,5 +0,0 @@ -## 1100.0.39 - -### Patch Changes - -- A script listed in `syncInjectedDepsAfterScripts` no longer fails when it rewrites `package.json` while pnpm is copying its edits into the injected copies. The sync after the script now replaces a half-copied manifest. diff --git a/.changeset/changelogs/@pnpm!fetching.directory-fetcher@1100.0.40.md b/.changeset/changelogs/@pnpm!fetching.directory-fetcher@1100.0.40.md new file mode 100644 index 0000000000..4526640925 --- /dev/null +++ b/.changeset/changelogs/@pnpm!fetching.directory-fetcher@1100.0.40.md @@ -0,0 +1,15 @@ +## 1100.0.40 + +### Patch Changes + +- A script listed in `syncInjectedDepsAfterScripts` now keeps a package's links to its own files as links in the injected copies, the way `pnpm install` writes them. It no longer fails when the package links to one directory twice or links back to a directory above the link. `pnpm install` with `deployAllFiles` no longer fails on such a link back either. + +- An injected workspace package now keeps only the files its manifest lists after a lifecycle script or a script named in `syncInjectedDepsAfterScripts` rebuilds it. Before, these refreshes copied every file of the package directory into the injected copy, including files that `files` or `.npmignore` leave out. With `deployAllFiles: true` the copy still gets every file. + +- Updated dependencies: + - @pnpm/building.pkg-requires-build@1100.0.21 + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/fs.packlist@1100.0.9 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!fetching.fetcher-base@1100.2.13.md b/.changeset/changelogs/@pnpm!fetching.fetcher-base@1100.2.13.md new file mode 100644 index 0000000000..4fc19b718b --- /dev/null +++ b/.changeset/changelogs/@pnpm!fetching.fetcher-base@1100.2.13.md @@ -0,0 +1,7 @@ +## 1100.2.13 + +### Patch Changes + +- Updated dependencies: + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!fetching.git-fetcher@1102.0.25.md b/.changeset/changelogs/@pnpm!fetching.git-fetcher@1102.0.25.md deleted file mode 100644 index 4e73eef3ab..0000000000 --- a/.changeset/changelogs/@pnpm!fetching.git-fetcher@1102.0.25.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1102.0.25 - -### Patch Changes - -- Updated dependencies: - - @pnpm/exec.prepare-package@1100.0.43 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!fetching.git-fetcher@1102.0.26.md b/.changeset/changelogs/@pnpm!fetching.git-fetcher@1102.0.26.md new file mode 100644 index 0000000000..96ecad3b12 --- /dev/null +++ b/.changeset/changelogs/@pnpm!fetching.git-fetcher@1102.0.26.md @@ -0,0 +1,10 @@ +## 1102.0.26 + +### Patch Changes + +- Updated dependencies: + - @pnpm/exec.prepare-package@1100.0.44 + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/fs.packlist@1100.0.9 + - @pnpm/resolving.git-resolver@1100.1.28 + - @pnpm/store.index@1101.0.3 diff --git a/.changeset/changelogs/@pnpm!fetching.pick-fetcher@1100.1.15.md b/.changeset/changelogs/@pnpm!fetching.pick-fetcher@1100.1.15.md new file mode 100644 index 0000000000..a43d6c44ca --- /dev/null +++ b/.changeset/changelogs/@pnpm!fetching.pick-fetcher@1100.1.15.md @@ -0,0 +1,8 @@ +## 1100.1.15 + +### Patch Changes + +- Updated dependencies: + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/hooks.types@1101.0.6 + - @pnpm/resolving.resolver-base@1101.3.3 diff --git a/.changeset/changelogs/@pnpm!fetching.tarball-fetcher@1102.1.10.md b/.changeset/changelogs/@pnpm!fetching.tarball-fetcher@1102.1.10.md new file mode 100644 index 0000000000..b08dc32e66 --- /dev/null +++ b/.changeset/changelogs/@pnpm!fetching.tarball-fetcher@1102.1.10.md @@ -0,0 +1,17 @@ +## 1102.1.10 + +### Patch Changes + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- Added the `maxTarballUnpackedSize` setting. `pnpm install` fails with `ERR_PNPM_TARBALL_TOO_LARGE` when the files of one package unpack to more than this many bytes, 4 GiB by default [pnpm/tasks#81](https://github.com/pnpm/tasks/issues/81). + +- Updated dependencies: + - @pnpm/core-loggers@1101.0.3 + - @pnpm/exec.prepare-package@1100.0.44 + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/fs.packlist@1100.0.9 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.index@1101.0.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!fetching.tarball-fetcher@1102.1.9.md b/.changeset/changelogs/@pnpm!fetching.tarball-fetcher@1102.1.9.md deleted file mode 100644 index 1fda616b64..0000000000 --- a/.changeset/changelogs/@pnpm!fetching.tarball-fetcher@1102.1.9.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1102.1.9 - -### Patch Changes - -- Updated dependencies: - - @pnpm/exec.prepare-package@1100.0.43 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!fs.indexed-pkg-importer@1100.0.34.md b/.changeset/changelogs/@pnpm!fs.indexed-pkg-importer@1100.0.34.md deleted file mode 100644 index 7d02317aa3..0000000000 --- a/.changeset/changelogs/@pnpm!fs.indexed-pkg-importer@1100.0.34.md +++ /dev/null @@ -1,9 +0,0 @@ -## 1100.0.34 - -### Patch Changes - -- `pnpm install` hardlinks files from a group-writable or world-writable store again. Before this fix, pnpm copied every file from such a store into `node_modules` [#16677](https://github.com/pnpm/pnpm/issues/16677). - -- Sped up frozen installs of unchanged injected workspace packages that use hardlinks. - -- The warning about renamed package files with invalid names no longer prints control characters from those file names. diff --git a/.changeset/changelogs/@pnpm!fs.indexed-pkg-importer@1100.0.35.md b/.changeset/changelogs/@pnpm!fs.indexed-pkg-importer@1100.0.35.md new file mode 100644 index 0000000000..31b837e17f --- /dev/null +++ b/.changeset/changelogs/@pnpm!fs.indexed-pkg-importer@1100.0.35.md @@ -0,0 +1,11 @@ +## 1100.0.35 + +### Patch Changes + +- Concurrent installs that import the same package into one project now all complete. One of them used to fail with `ENOTEMPTY` when its copy of the package collided with the copy another install had already placed [pnpm/tasks#48](https://github.com/pnpm/tasks/issues/48). + +- A script listed in `syncInjectedDepsAfterScripts` now keeps a package's links to its own files as links in the injected copies, the way `pnpm install` writes them. It no longer fails when the package links to one directory twice or links back to a directory above the link. `pnpm install` with `deployAllFiles` no longer fails on such a link back either. + +- Updated dependencies: + - @pnpm/core-loggers@1101.0.3 + - @pnpm/store.controller-types@1101.3.4 diff --git a/.changeset/changelogs/@pnpm!fs.packlist@1100.0.9.md b/.changeset/changelogs/@pnpm!fs.packlist@1100.0.9.md new file mode 100644 index 0000000000..50a5261f92 --- /dev/null +++ b/.changeset/changelogs/@pnpm!fs.packlist@1100.0.9.md @@ -0,0 +1,6 @@ +## 1100.0.9 + +### Patch Changes + +- Updated dependencies: + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!fs.symlink-dependency@1100.0.25.md b/.changeset/changelogs/@pnpm!fs.symlink-dependency@1100.0.25.md new file mode 100644 index 0000000000..e381f96cd9 --- /dev/null +++ b/.changeset/changelogs/@pnpm!fs.symlink-dependency@1100.0.25.md @@ -0,0 +1,9 @@ +## 1100.0.25 + +### Patch Changes + +- `pnpm install` now succeeds when `node_modules` is a symlink to an existing directory. Dependency hoisting previously rejected a symlinked `node_modules` as an invalid destination [pnpm/pnpm#17157](https://github.com/pnpm/pnpm/issues/17157). + +- Updated dependencies: + - @pnpm/core-loggers@1101.0.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!global.commands@1102.0.8.md b/.changeset/changelogs/@pnpm!global.commands@1102.0.8.md deleted file mode 100644 index 574d7c20c0..0000000000 --- a/.changeset/changelogs/@pnpm!global.commands@1102.0.8.md +++ /dev/null @@ -1,9 +0,0 @@ -## 1102.0.8 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/deps.inspection.list@1101.0.11 - - @pnpm/installing.deps-installer@1104.2.5 - - @pnpm/store.connection-manager@1101.3.4 diff --git a/.changeset/changelogs/@pnpm!global.commands@1102.0.9.md b/.changeset/changelogs/@pnpm!global.commands@1102.0.9.md new file mode 100644 index 0000000000..2b9b5662ea --- /dev/null +++ b/.changeset/changelogs/@pnpm!global.commands@1102.0.9.md @@ -0,0 +1,21 @@ +## 1102.0.9 + +### Patch Changes + +- Updated dependencies: + - @pnpm/bins.linker@1100.0.38 + - @pnpm/bins.remover@1100.0.29 + - @pnpm/bins.resolver@1100.0.18 + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.reader@1102.3.6 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.inspection.list@1101.1.0 + - @pnpm/global.packages@1101.1.8 + - @pnpm/installing.deps-installer@1104.2.6 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/resolving.local-resolver@1101.2.7 + - @pnpm/store.connection-manager@1101.3.5 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!global.packages@1101.1.8.md b/.changeset/changelogs/@pnpm!global.packages@1101.1.8.md new file mode 100644 index 0000000000..88b9bcd7ac --- /dev/null +++ b/.changeset/changelogs/@pnpm!global.packages@1101.1.8.md @@ -0,0 +1,8 @@ +## 1101.1.8 + +### Patch Changes + +- Updated dependencies: + - @pnpm/bins.resolver@1100.0.18 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!hooks.pnpmfile@1100.0.37.md b/.changeset/changelogs/@pnpm!hooks.pnpmfile@1100.0.37.md new file mode 100644 index 0000000000..8f974e6c7e --- /dev/null +++ b/.changeset/changelogs/@pnpm!hooks.pnpmfile@1100.0.37.md @@ -0,0 +1,10 @@ +## 1100.0.37 + +### Patch Changes + +- Updated dependencies: + - @pnpm/core-loggers@1101.0.3 + - @pnpm/hooks.types@1101.0.6 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!hooks.read-package-hook@1100.3.8.md b/.changeset/changelogs/@pnpm!hooks.read-package-hook@1100.3.8.md deleted file mode 100644 index 1b4d20f8db..0000000000 --- a/.changeset/changelogs/@pnpm!hooks.read-package-hook@1100.3.8.md +++ /dev/null @@ -1,5 +0,0 @@ -## 1100.3.8 - -### Patch Changes - -- Removal overrides such as `"debug>supports-color": "-"` now also apply to an optional peer that a package declares only in `peerDependenciesMeta` [#16681](https://github.com/pnpm/pnpm/issues/16681). diff --git a/.changeset/changelogs/@pnpm!hooks.read-package-hook@1100.3.9.md b/.changeset/changelogs/@pnpm!hooks.read-package-hook@1100.3.9.md new file mode 100644 index 0000000000..0dbe7a8cef --- /dev/null +++ b/.changeset/changelogs/@pnpm!hooks.read-package-hook@1100.3.9.md @@ -0,0 +1,9 @@ +## 1100.3.9 + +### Patch Changes + +- pnpm now measures a `pnpm.overrides` entry written as a `workspace:` path, such as `workspace:./packages/foo`, from the directory holding `pnpm-workspace.yaml`. It used to be measured from each package the override rewrote. The install then linked a directory that does not exist, or failed if workspace packages were injected [#17010](https://github.com/pnpm/pnpm/issues/17010). + +- Updated dependencies: + - @pnpm/resolving.local-resolver@1101.2.7 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!hooks.types@1101.0.6.md b/.changeset/changelogs/@pnpm!hooks.types@1101.0.6.md new file mode 100644 index 0000000000..0b7f918bd3 --- /dev/null +++ b/.changeset/changelogs/@pnpm!hooks.types@1101.0.6.md @@ -0,0 +1,9 @@ +## 1101.0.6 + +### Patch Changes + +- Updated dependencies: + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!installing.client@1100.3.16.md b/.changeset/changelogs/@pnpm!installing.client@1100.3.16.md deleted file mode 100644 index 4d67879804..0000000000 --- a/.changeset/changelogs/@pnpm!installing.client@1100.3.16.md +++ /dev/null @@ -1,13 +0,0 @@ -## 1100.3.16 - -### Patch Changes - -- Updated dependencies: - - @pnpm/engine.runtime.node-resolver@1101.3.8 - - @pnpm/fetching.binary-fetcher@1102.0.20 - - @pnpm/fetching.directory-fetcher@1100.0.39 - - @pnpm/fetching.git-fetcher@1102.0.25 - - @pnpm/fetching.tarball-fetcher@1102.1.9 - - @pnpm/resolving.default-resolver@1101.0.11 - - @pnpm/resolving.npm-resolver@1104.2.6 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!installing.client@1100.3.17.md b/.changeset/changelogs/@pnpm!installing.client@1100.3.17.md new file mode 100644 index 0000000000..1d7bd10459 --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.client@1100.3.17.md @@ -0,0 +1,20 @@ +## 1100.3.17 + +### Patch Changes + +- Added the `maxTarballUnpackedSize` setting. `pnpm install` fails with `ERR_PNPM_TARBALL_TOO_LARGE` when the files of one package unpack to more than this many bytes, 4 GiB by default [pnpm/tasks#81](https://github.com/pnpm/tasks/issues/81). + +- Updated dependencies: + - @pnpm/engine.runtime.node-resolver@1101.3.9 + - @pnpm/fetching.binary-fetcher@1102.0.21 + - @pnpm/fetching.directory-fetcher@1100.0.40 + - @pnpm/fetching.git-fetcher@1102.0.26 + - @pnpm/fetching.tarball-fetcher@1102.1.10 + - @pnpm/hooks.types@1101.0.6 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/resolving.default-resolver@1101.0.12 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.index@1101.0.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!installing.commands@1101.4.6.md b/.changeset/changelogs/@pnpm!installing.commands@1101.4.6.md deleted file mode 100644 index 08c3c77f6d..0000000000 --- a/.changeset/changelogs/@pnpm!installing.commands@1101.4.6.md +++ /dev/null @@ -1,33 +0,0 @@ -## 1101.4.6 - -### Patch Changes - -- `catalogPrune` no longer removes catalog entries that `pnpm-lock.yaml` still records for workspace projects missing from disk. This affected `pnpm remove` and installs that leave the lockfile unchanged, such as frozen installs. Before, a following frozen install failed with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` [#16679](https://github.com/pnpm/pnpm/issues/16679). - -- A filtered install, such as `pnpm install --filter `, now keeps the `pnpm-lock.yaml` entries of workspace projects that are missing from disk, as in a sparse checkout. Their importers, packages, and catalog entries stay even when the filter matches every project on disk [#16931](https://github.com/pnpm/pnpm/issues/16931). - -- With `sharedWorkspaceLockfile: false`, an injected workspace package installed in the same run as its dependent now holds only the files its `files` field selects. The copy used to also hold other files of the project, such as `tsconfig.json` [#16683](https://github.com/pnpm/pnpm/issues/16683). - -- Updated dependencies: - - @pnpm/building.after-install@1103.0.11 - - @pnpm/building.policy@1100.1.7 - - @pnpm/config.reader@1102.3.5 - - @pnpm/config.version-policy@1100.2.8 - - @pnpm/config.writer@1100.0.33 - - @pnpm/deps.github-actions@1100.1.16 - - @pnpm/deps.inspection.outdated@1100.1.37 - - @pnpm/deps.status@1100.1.30 - - @pnpm/global.commands@1102.0.8 - - @pnpm/installing.context@1101.0.11 - - @pnpm/installing.deps-installer@1104.2.5 - - @pnpm/installing.env-installer@1103.0.11 - - @pnpm/resolving.npm-resolver@1104.2.6 - - @pnpm/store.connection-manager@1101.3.4 - - @pnpm/store.controller@1102.2.5 - - @pnpm/workspace.injected-deps-syncer@1100.0.44 - - @pnpm/workspace.projects-filter@1100.0.49 - - @pnpm/workspace.projects-graph@1100.0.44 - - @pnpm/workspace.projects-reader@1101.1.4 - - @pnpm/workspace.root-finder@1100.1.3 - - @pnpm/workspace.state@1100.0.50 - - @pnpm/workspace.workspace-manifest-writer@1100.2.7 diff --git a/.changeset/changelogs/@pnpm!installing.commands@1101.4.7.md b/.changeset/changelogs/@pnpm!installing.commands@1101.4.7.md new file mode 100644 index 0000000000..497f53774f --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.commands@1101.4.7.md @@ -0,0 +1,77 @@ +## 1101.4.7 + +### Patch Changes + +- Fixed `pnpm install --frozen-lockfile` and `verifyDepsBeforeRun` failing inside a directory created by `pnpm deploy`. `pnpm deploy` now writes self-contained workspace and lockfile settings. `pnpm deploy` also prunes unused `patchedDependencies` and preserves workspace-level dependency resolutions on deployed directory dependencies. + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- pnpm now recognizes `externalDependencies` and `autoInstallPeersFromHighestMatch` in `pnpm-workspace.yaml` without warning and forwards both settings to `pnpm install`. Previously, setting `externalDependencies` in `pnpm-workspace.yaml` with `nodeLinker: hoisted` crashed `pnpm install` with `externalDependencies.has is not a function` [pnpm/tasks#166](https://github.com/pnpm/tasks/issues/166). + +- With `sharedWorkspaceLockfile: false`, `pnpm install` now runs the `preResolution` hooks and custom resolvers and fetchers of the workspace root's pnpmfile for every project, next to the project's own. A global pnpmfile now runs once per project, and each project's lockfile records the checksum of the root pnpmfile when the project has none of its own. Before, a project's own pnpmfile replaced these root hooks, the global hooks ran twice, and edits to the root pnpmfile could go unnoticed. + +- When `pnpm install` resolves a dependency again, it now reuses a version that the install already resolved for the same package, as a fresh install does. Before, it kept the version the lockfile pinned and added a second copy of the package. A locked version still stays when nothing else in the install prefers another version. To pin a transitive dependency on purpose, use `overrides` [#17084](https://github.com/pnpm/pnpm/issues/17084). + +- Fixed patching in workspaces with `sharedWorkspaceLockfile: false`. `pnpm patch`, `pnpm patch-commit`, and `pnpm patch-remove` now resolve patch files and `patchedDependencies` entries at the workspace root. `pnpm install` now checks configured patches across all workspace projects before reporting unused patches. + +- `minimumReleaseAgeExcludePrune` and `trustPolicyExcludePrune` now keep exclusions for resolved configuration dependencies and their transitive dependencies [pnpm/pnpm#17142](https://github.com/pnpm/pnpm/issues/17142). + +- `pnpm prune` now removes extraneous direct packages from `node_modules` when `package.json` and `pnpm-lock.yaml` are already in sync. `pnpm prune` also accepts `--filter` and `--recursive` (`-r`) to prune selected workspace projects without removing dependencies of unselected projects. + +- `pnpm install` now removes config dependencies that are no longer declared, including when the entire `configDependencies` setting is removed. Frozen installs reject a lockfile that still records removed config dependencies. + +- `pnpm run`, `pnpm exec`, and `pnpm restart` now pass the install flags they were given, such as `--lockfile-dir`, `--modules-dir`, `--store-dir`, `--offline`, and `--ignore-scripts`, to the `pnpm install` that `verifyDepsBeforeRun: install` starts. The check that runs before a script now holds the workspace projects the script's project depends on. It agrees with the repeat-install check on which projects a filtered install left uninstalled, including with per-project lockfiles. Workspace dependencies declared with `link:` are now included in the workspace project graph, so `--filter=...` selects them and, with `sharedWorkspaceLockfile: false` and `injectWorkspacePackages: true`, the check before a script still requires them to be installed. A filtered install no longer forgets the ignored build scripts of the projects it did not select. + +- The `verifyDepsBeforeRun` check now notices an edited manifest, lockfile, or patch file even when the edit kept the file's modification time, as `cp -p`, `rsync -a`, or an archive extraction leave it. + + After `pnpm install --filter`, `pnpm run` and `pnpm exec` now notice a changed manifest in a project that install left out. A filtered command for a project that install did not reinstall after a lockfile change now installs first. + + `pnpm dedupe --check` and `pnpm install --dry-run` no longer record the dependencies as installed, so the `verifyDepsBeforeRun` check that follows them still notices outdated dependencies. + +- Updated dependencies: + - @pnpm/building.after-install@1103.0.12 + - @pnpm/building.policy@1100.1.8 + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.pick-registry-for-package@1101.0.3 + - @pnpm/config.reader@1102.3.6 + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/config.writer@1100.0.34 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.github-actions@1100.1.17 + - @pnpm/deps.inspection.outdated@1100.1.38 + - @pnpm/deps.path@1101.0.7 + - @pnpm/deps.security.signatures@1102.0.10 + - @pnpm/deps.status@1100.1.31 + - @pnpm/global.commands@1102.0.9 + - @pnpm/global.packages@1101.1.8 + - @pnpm/hooks.pnpmfile@1100.0.37 + - @pnpm/installing.context@1101.0.12 + - @pnpm/installing.dedupe.check@1100.1.17 + - @pnpm/installing.deps-installer@1104.2.6 + - @pnpm/installing.env-installer@1103.0.12 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/resolving.local-resolver@1101.2.7 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.connection-manager@1101.3.5 + - @pnpm/store.controller@1102.2.6 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.injected-deps-syncer@1100.0.45 + - @pnpm/workspace.project-manifest-reader@1100.1.4 + - @pnpm/workspace.project-manifest-writer@1100.0.21 + - @pnpm/workspace.projects-filter@1100.0.50 + - @pnpm/workspace.projects-graph@1100.0.45 + - @pnpm/workspace.projects-reader@1101.1.5 + - @pnpm/workspace.projects-sorter@1101.0.2 + - @pnpm/workspace.root-finder@1100.1.4 + - @pnpm/workspace.state@1100.0.51 + - @pnpm/workspace.task-scheduler@1100.0.5 + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 + - @pnpm/workspace.workspace-manifest-writer@1100.2.8 diff --git a/.changeset/changelogs/@pnpm!installing.context@1101.0.11.md b/.changeset/changelogs/@pnpm!installing.context@1101.0.11.md deleted file mode 100644 index ca863e7a44..0000000000 --- a/.changeset/changelogs/@pnpm!installing.context@1101.0.11.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1101.0.11 - -### Patch Changes - -- Updated dependencies: - - @pnpm/store.controller@1102.2.5 diff --git a/.changeset/changelogs/@pnpm!installing.context@1101.0.12.md b/.changeset/changelogs/@pnpm!installing.context@1101.0.12.md new file mode 100644 index 0000000000..514d417ce0 --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.context@1101.0.12.md @@ -0,0 +1,15 @@ +## 1101.0.12 + +### Patch Changes + +- `pnpm prune` now removes extraneous direct packages from `node_modules` when `package.json` and `pnpm-lock.yaml` are already in sync. `pnpm prune` also accepts `--filter` and `--recursive` (`-r`) to prune selected workspace projects without removing dependencies of unselected projects. + +- Updated dependencies: + - @pnpm/core-loggers@1101.0.3 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/installing.read-projects-context@1101.0.11 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.pruner@1100.0.28 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.controller@1102.2.6 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!installing.dedupe.check@1100.1.17.md b/.changeset/changelogs/@pnpm!installing.dedupe.check@1100.1.17.md new file mode 100644 index 0000000000..d31e61ba3e --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.dedupe.check@1100.1.17.md @@ -0,0 +1,7 @@ +## 1100.1.17 + +### Patch Changes + +- Updated dependencies: + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!installing.deps-installer@1104.2.5.md b/.changeset/changelogs/@pnpm!installing.deps-installer@1104.2.5.md deleted file mode 100644 index 73fd3ed821..0000000000 --- a/.changeset/changelogs/@pnpm!installing.deps-installer@1104.2.5.md +++ /dev/null @@ -1,26 +0,0 @@ -## 1104.2.5 - -### Patch Changes - -- `catalogPrune` no longer removes catalog entries that `pnpm-lock.yaml` still records for workspace projects missing from disk. This affected `pnpm remove` and installs that leave the lockfile unchanged, such as frozen installs. Before, a following frozen install failed with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` [#16679](https://github.com/pnpm/pnpm/issues/16679). - -- `pnpm install --fix-lockfile` no longer removes the `deprecated` and `hasBin` fields from lockfile entries [#6600](https://github.com/pnpm/pnpm/issues/6600). - -- `pnpm dedupe` now preserves a hoisted workspace package when another package uses a separately installed peer with the same name [pnpm/pnpm#16935](https://github.com/pnpm/pnpm/issues/16935). - -- Updated dependencies: - - @pnpm/building.after-install@1103.0.11 - - @pnpm/building.during-install@1102.2.8 - - @pnpm/building.policy@1100.1.7 - - @pnpm/config.version-policy@1100.2.8 - - @pnpm/exec.lifecycle@1100.1.24 - - @pnpm/hooks.read-package-hook@1100.3.8 - - @pnpm/installing.context@1101.0.11 - - @pnpm/installing.deps-resolver@1102.2.8 - - @pnpm/installing.deps-restorer@1103.2.5 - - @pnpm/installing.linking.hoist@1100.0.38 - - @pnpm/installing.package-requester@1102.2.5 - - @pnpm/lockfile.settings-checker@1100.2.13 - - @pnpm/lockfile.verification@1100.1.12 - - @pnpm/resolving.npm-resolver@1104.2.6 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!installing.deps-installer@1104.2.6.md b/.changeset/changelogs/@pnpm!installing.deps-installer@1104.2.6.md new file mode 100644 index 0000000000..81febdabd5 --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.deps-installer@1104.2.6.md @@ -0,0 +1,66 @@ +## 1104.2.6 + +### Patch Changes + +- A package that lists the same dependency in `dependencies` and as an optional peer now gets the peer bound when a project adds a provider for it later. The lockfile now records every peer a package declares, including one its own dependency supplies [#17056](https://github.com/pnpm/pnpm/issues/17056). + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- `pnpm install --frozen-lockfile` now fails with `ERR_PNPM_OUTDATED_LOCKFILE` when the dependencies of an injected workspace package no longer match the lockfile. Before, it installed the stale dependencies when `sharedWorkspaceLockfile` was `false` [#17008](https://github.com/pnpm/pnpm/issues/17008). + +- `pnpm add` no longer warns that a gist dependency was replaced from a different source when the new specifier names the same gist in another form, such as `gist:` and `https://gist.github.com//`. + +- A filtered `pnpm install --no-lockfile` with `hoistWorkspacePackages` now hoists every workspace project into `node_modules/.pnpm/node_modules`. It used to hoist only the selected projects [pnpm/tasks#168](https://github.com/pnpm/tasks/issues/168). + +- An injected workspace package now keeps only the files its manifest lists after a lifecycle script or a script named in `syncInjectedDepsAfterScripts` rebuilds it. Before, these refreshes copied every file of the package directory into the injected copy, including files that `files` or `.npmignore` leave out. With `deployAllFiles: true` the copy still gets every file. + +- When `pnpm install` resolves a dependency again, it now reuses a version that the install already resolved for the same package, as a fresh install does. Before, it kept the version the lockfile pinned and added a second copy of the package. A locked version still stays when nothing else in the install prefers another version. To pin a transitive dependency on purpose, use `overrides` [#17084](https://github.com/pnpm/pnpm/issues/17084). + +- Fixed patching in workspaces with `sharedWorkspaceLockfile: false`. `pnpm patch`, `pnpm patch-commit`, and `pnpm patch-remove` now resolve patch files and `patchedDependencies` entries at the workspace root. `pnpm install` now checks configured patches across all workspace projects before reporting unused patches. + +- `pnpm prune` now removes extraneous direct packages from `node_modules` when `package.json` and `pnpm-lock.yaml` are already in sync. `pnpm prune` also accepts `--filter` and `--recursive` (`-r`) to prune selected workspace projects without removing dependencies of unselected projects. + +- Updated dependencies: + - @pnpm/bins.linker@1100.0.38 + - @pnpm/bins.remover@1100.0.29 + - @pnpm/building.after-install@1103.0.12 + - @pnpm/building.during-install@1102.2.9 + - @pnpm/building.policy@1100.1.8 + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/config.package-is-installable@1100.2.4 + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.graph-hasher@1100.3.8 + - @pnpm/deps.path@1101.0.7 + - @pnpm/exec.lifecycle@1100.1.25 + - @pnpm/fs.symlink-dependency@1100.0.25 + - @pnpm/hooks.read-package-hook@1100.3.9 + - @pnpm/hooks.types@1101.0.6 + - @pnpm/installing.context@1101.0.12 + - @pnpm/installing.deps-resolver@1102.2.9 + - @pnpm/installing.deps-restorer@1103.2.6 + - @pnpm/installing.linking.direct-dep-linker@1100.0.25 + - @pnpm/installing.linking.hoist@1100.0.39 + - @pnpm/installing.linking.modules-cleaner@1100.1.30 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/installing.package-requester@1102.2.6 + - @pnpm/lockfile.filtering@1100.2.13 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.preferred-versions@1100.0.39 + - @pnpm/lockfile.pruner@1100.0.28 + - @pnpm/lockfile.settings-checker@1100.2.14 + - @pnpm/lockfile.to-pnp@1101.0.11 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/lockfile.verification@1100.1.13 + - @pnpm/lockfile.walker@1100.0.28 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/patching.config@1100.1.10 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/pnpr.client@3.1.4 + - @pnpm/resolving.local-resolver@1101.2.7 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/store.index@1101.0.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!installing.deps-resolver@1102.2.8.md b/.changeset/changelogs/@pnpm!installing.deps-resolver@1102.2.8.md deleted file mode 100644 index dce03c7180..0000000000 --- a/.changeset/changelogs/@pnpm!installing.deps-resolver@1102.2.8.md +++ /dev/null @@ -1,15 +0,0 @@ -## 1102.2.8 - -### Patch Changes - -- `pnpm install` no longer fails with `ERR_PNPM_NO_MATCHING_VERSION` after a change to `overrides` when the lockfile resolves an optional peer dependency to an npm alias of another package [#16654](https://github.com/pnpm/pnpm/issues/16654). - -- A filtered install, such as `pnpm install --filter `, now keeps the `pnpm-lock.yaml` entries of workspace projects that are missing from disk, as in a sparse checkout. Their importers, packages, and catalog entries stay even when the filter matches every project on disk [#16931](https://github.com/pnpm/pnpm/issues/16931). - -- pnpm no longer drops a dependency that a package also declares as an optional peer dependency, for example `ajv` of `ajv-formats`. Since 11.28.0, in some dependency graphs the package got the dependency neither as a dependency nor as a peer, and failed to import it [#16901](https://github.com/pnpm/pnpm/issues/16901). - -- `pnpm install` and `pnpm dedupe` now link an optional peer to the workspace package that the workspace root depends on when the picked version matches it. Previously they installed the registry package with the same name and version [pnpm/pnpm#16706](https://github.com/pnpm/pnpm/issues/16706). - -- Updated dependencies: - - @pnpm/config.version-policy@1100.2.8 - - @pnpm/resolving.npm-resolver@1104.2.6 diff --git a/.changeset/changelogs/@pnpm!installing.deps-resolver@1102.2.9.md b/.changeset/changelogs/@pnpm!installing.deps-resolver@1102.2.9.md new file mode 100644 index 0000000000..b930a59528 --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.deps-resolver@1102.2.9.md @@ -0,0 +1,46 @@ +## 1102.2.9 + +### Patch Changes + +- When another workspace project adds a different version of a package, a project's auto-installed peer on that package now moves to the version a fresh install picks. It used to stay on its locked version while any other project still accepted that version [#17058](https://github.com/pnpm/pnpm/issues/17058). + +- A package that lists the same dependency in `dependencies` and as an optional peer now gets the peer bound when a project adds a provider for it later. The lockfile now records every peer a package declares, including one its own dependency supplies [#17056](https://github.com/pnpm/pnpm/issues/17056). + +- `pnpm deploy` now records the peer dependencies of the workspace packages it copies into the deployed lockfile. Before, pnpm rejected that lockfile with `--frozen-lockfile` when a deployed workspace package declared a peer and `injectWorkspacePackages` was off [#17093](https://github.com/pnpm/pnpm/issues/17093). + +- Fixed `pnpm install --frozen-lockfile` and `verifyDepsBeforeRun` failing inside a directory created by `pnpm deploy`. `pnpm deploy` now writes self-contained workspace and lockfile settings. `pnpm deploy` also prunes unused `patchedDependencies` and preserves workspace-level dependency resolutions on deployed directory dependencies. + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- `pnpm install --frozen-lockfile` now fails with `ERR_PNPM_OUTDATED_LOCKFILE` when the dependencies of an injected workspace package no longer match the lockfile. Before, it installed the stale dependencies when `sharedWorkspaceLockfile` was `false` [#17008](https://github.com/pnpm/pnpm/issues/17008). + +- An injected workspace dependency now becomes a link when its dependencies match the workspace package's own, also on an install that leaves the package's installed dependencies as they are. Before, such an install kept it as a copy [#17094](https://github.com/pnpm/pnpm/issues/17094). + +- An injected workspace package that was linked now becomes a copy when the project that depends on it starts providing one of its peers at a version the package's own workspace context lacks. The link used to stay until that dependency was updated, so the package could not find the peer the project provides [#17057](https://github.com/pnpm/pnpm/issues/17057). + +- When `pnpm install` resolves a dependency again, it now reuses a version that the install already resolved for the same package, as a fresh install does. Before, it kept the version the lockfile pinned and added a second copy of the package. A locked version still stays when nothing else in the install prefers another version. To pin a transitive dependency on purpose, use `overrides` [#17084](https://github.com/pnpm/pnpm/issues/17084). + +- An optional peer that pnpm adds to a project now keeps the version the lockfile recorded for that project only while the dependency graph still holds it. Otherwise it follows its provider to a version the graph holds. Before, pnpm kept a higher version that only the lockfile held, which left two copies of the peer [#16443](https://github.com/pnpm/pnpm/issues/16443). + +- Fixed patching in workspaces with `sharedWorkspaceLockfile: false`. `pnpm patch`, `pnpm patch-commit`, and `pnpm patch-remove` now resolve patch files and `patchedDependencies` entries at the workspace root. `pnpm install` now checks configured patches across all workspace projects before reporting unused patches. + +- Updated dependencies: + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.graph-hasher@1100.3.8 + - @pnpm/deps.path@1101.0.7 + - @pnpm/fetching.pick-fetcher@1100.1.15 + - @pnpm/fs.symlink-dependency@1100.0.25 + - @pnpm/hooks.types@1101.0.6 + - @pnpm/lockfile.preferred-versions@1100.0.39 + - @pnpm/lockfile.pruner@1100.0.28 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/patching.config@1100.1.10 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!installing.deps-restorer@1103.2.5.md b/.changeset/changelogs/@pnpm!installing.deps-restorer@1103.2.5.md deleted file mode 100644 index 4b84c26bfb..0000000000 --- a/.changeset/changelogs/@pnpm!installing.deps-restorer@1103.2.5.md +++ /dev/null @@ -1,17 +0,0 @@ -## 1103.2.5 - -### Patch Changes - -- Removing a `link:` dependency now also removes its symlink from `node_modules` when `nodeLinker` is `hoisted` [#16884](https://github.com/pnpm/pnpm/issues/16884). - -- `pnpm dedupe` now preserves a hoisted workspace package when another package uses a separately installed peer with the same name [pnpm/pnpm#16935](https://github.com/pnpm/pnpm/issues/16935). - -- Sped up frozen installs of unchanged injected workspace packages that use hardlinks. - -- Updated dependencies: - - @pnpm/building.during-install@1102.2.8 - - @pnpm/building.policy@1100.1.7 - - @pnpm/deps.graph-builder@1101.1.5 - - @pnpm/exec.lifecycle@1100.1.24 - - @pnpm/installing.linking.hoist@1100.0.38 - - @pnpm/installing.package-requester@1102.2.5 diff --git a/.changeset/changelogs/@pnpm!installing.deps-restorer@1103.2.6.md b/.changeset/changelogs/@pnpm!installing.deps-restorer@1103.2.6.md new file mode 100644 index 0000000000..e81dacde1e --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.deps-restorer@1103.2.6.md @@ -0,0 +1,43 @@ +## 1103.2.6 + +### Patch Changes + +- Filtered installs remove obsolete dependencies from the installed lockfile while preserving dependencies still needed by unselected projects. + +- An injected workspace package now keeps only the files its manifest lists after a lifecycle script or a script named in `syncInjectedDepsAfterScripts` rebuilds it. Before, these refreshes copied every file of the package directory into the injected copy, including files that `files` or `.npmignore` leave out. With `deployAllFiles: true` the copy still gets every file. + +- `verifyDepsBeforeRun` no longer treats the workspace root as up to date after a filtered install with `pruneDirectDependencies: true` skipped it [pnpm/tasks#181](https://github.com/pnpm/tasks/issues/181). + +- `pnpm prune` now removes extraneous direct packages from `node_modules` when `package.json` and `pnpm-lock.yaml` are already in sync. `pnpm prune` also accepts `--filter` and `--recursive` (`-r`) to prune selected workspace projects without removing dependencies of unselected projects. + +- `pnpm run`, `pnpm exec`, and `pnpm restart` now pass the install flags they were given, such as `--lockfile-dir`, `--modules-dir`, `--store-dir`, `--offline`, and `--ignore-scripts`, to the `pnpm install` that `verifyDepsBeforeRun: install` starts. The check that runs before a script now holds the workspace projects the script's project depends on. It agrees with the repeat-install check on which projects a filtered install left uninstalled, including with per-project lockfiles. Workspace dependencies declared with `link:` are now included in the workspace project graph, so `--filter=...` selects them and, with `sharedWorkspaceLockfile: false` and `injectWorkspacePackages: true`, the check before a script still requires them to be installed. A filtered install no longer forgets the ignored build scripts of the projects it did not select. + +- Updated dependencies: + - @pnpm/bins.linker@1100.0.38 + - @pnpm/bins.remover@1100.0.29 + - @pnpm/building.during-install@1102.2.9 + - @pnpm/building.policy@1100.1.8 + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/config.package-is-installable@1100.2.4 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.graph-builder@1101.1.6 + - @pnpm/deps.graph-hasher@1100.3.8 + - @pnpm/deps.path@1101.0.7 + - @pnpm/exec.lifecycle@1100.1.25 + - @pnpm/fs.symlink-dependency@1100.0.25 + - @pnpm/installing.linking.direct-dep-linker@1100.0.25 + - @pnpm/installing.linking.hoist@1100.0.39 + - @pnpm/installing.linking.modules-cleaner@1100.1.30 + - @pnpm/installing.linking.real-hoist@1100.1.23 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/installing.package-requester@1102.2.6 + - @pnpm/lockfile.filtering@1100.2.13 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.to-pnp@1101.0.11 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/patching.config@1100.1.10 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/pnpr.client@3.1.4 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!installing.env-installer@1103.0.11.md b/.changeset/changelogs/@pnpm!installing.env-installer@1103.0.11.md deleted file mode 100644 index 982963cdde..0000000000 --- a/.changeset/changelogs/@pnpm!installing.env-installer@1103.0.11.md +++ /dev/null @@ -1,12 +0,0 @@ -## 1103.0.11 - -### Patch Changes - -- `pnpm install` and `pnpm add --config` now apply `minimumReleaseAge` when they resolve a config dependency. A config dependency range resolves to the newest version that is old enough, so a later clean `pnpm install --frozen-lockfile` accepts the lockfile [#16660](https://github.com/pnpm/pnpm/issues/16660). - -- Updated dependencies: - - @pnpm/config.version-policy@1100.2.8 - - @pnpm/config.writer@1100.0.33 - - @pnpm/installing.deps-resolver@1102.2.8 - - @pnpm/resolving.npm-resolver@1104.2.6 - - @pnpm/store.controller@1102.2.5 diff --git a/.changeset/changelogs/@pnpm!installing.env-installer@1103.0.12.md b/.changeset/changelogs/@pnpm!installing.env-installer@1103.0.12.md new file mode 100644 index 0000000000..5b8b7b2576 --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.env-installer@1103.0.12.md @@ -0,0 +1,33 @@ +## 1103.0.12 + +### Patch Changes + +- `minimumReleaseAgeExcludePrune` and `trustPolicyExcludePrune` now keep exclusions for resolved configuration dependencies and their transitive dependencies [pnpm/pnpm#17142](https://github.com/pnpm/pnpm/issues/17142). + +- `pnpm install` now removes config dependencies that are no longer declared, including when the entire `configDependencies` setting is removed. Frozen installs reject a lockfile that still records removed config dependencies. + +- pnpm now applies `trustPolicy` to the pnpm version a project pins in `packageManager` or `devEngines.packageManager`. A pinned version whose trust evidence was downgraded fails the command before pnpm switches to it or records it in the lockfile [#16319](https://github.com/pnpm/pnpm/issues/16319). + +- Updated dependencies: + - @pnpm/config.package-is-installable@1100.2.4 + - @pnpm/config.pick-registry-for-package@1101.0.3 + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/config.writer@1100.0.34 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.graph-hasher@1100.3.8 + - @pnpm/deps.path@1101.0.7 + - @pnpm/fs.symlink-dependency@1100.0.25 + - @pnpm/installing.deps-resolver@1102.2.9 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.pruner@1100.0.28 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/resolving.tarball-url@1101.1.5 + - @pnpm/store.controller@1102.2.6 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!installing.linking.direct-dep-linker@1100.0.25.md b/.changeset/changelogs/@pnpm!installing.linking.direct-dep-linker@1100.0.25.md new file mode 100644 index 0000000000..96a3f4c88b --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.linking.direct-dep-linker@1100.0.25.md @@ -0,0 +1,7 @@ +## 1100.0.25 + +### Patch Changes + +- Updated dependencies: + - @pnpm/core-loggers@1101.0.3 + - @pnpm/fs.symlink-dependency@1100.0.25 diff --git a/.changeset/changelogs/@pnpm!installing.linking.hoist@1100.0.38.md b/.changeset/changelogs/@pnpm!installing.linking.hoist@1100.0.38.md deleted file mode 100644 index 9189d44493..0000000000 --- a/.changeset/changelogs/@pnpm!installing.linking.hoist@1100.0.38.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1100.0.38 - -### Patch Changes - -- `pnpm dedupe` now preserves a hoisted workspace package when another package uses a separately installed peer with the same name [pnpm/pnpm#16935](https://github.com/pnpm/pnpm/issues/16935). - -- Fixed `pnpm install` failing on Windows with `EPERM` on `rmdir node_modules/@scope` when several workspace packages under one scope are hoisted, for example with `nodeLinker: hoisted` [#16690](https://github.com/pnpm/pnpm/issues/16690). diff --git a/.changeset/changelogs/@pnpm!installing.linking.hoist@1100.0.39.md b/.changeset/changelogs/@pnpm!installing.linking.hoist@1100.0.39.md new file mode 100644 index 0000000000..306057803f --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.linking.hoist@1100.0.39.md @@ -0,0 +1,9 @@ +## 1100.0.39 + +### Patch Changes + +- Updated dependencies: + - @pnpm/bins.linker@1100.0.38 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/fs.symlink-dependency@1100.0.25 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!installing.linking.modules-cleaner@1100.1.30.md b/.changeset/changelogs/@pnpm!installing.linking.modules-cleaner@1100.1.30.md new file mode 100644 index 0000000000..8a2ab119f9 --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.linking.modules-cleaner@1100.1.30.md @@ -0,0 +1,15 @@ +## 1100.1.30 + +### Patch Changes + +- `pnpm prune` now removes extraneous direct packages from `node_modules` when `package.json` and `pnpm-lock.yaml` are already in sync. `pnpm prune` also accepts `--filter` and `--recursive` (`-r`) to prune selected workspace projects without removing dependencies of unselected projects. + +- Updated dependencies: + - @pnpm/bins.remover@1100.0.29 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.filtering@1100.2.13 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!installing.linking.real-hoist@1100.1.23.md b/.changeset/changelogs/@pnpm!installing.linking.real-hoist@1100.1.23.md new file mode 100644 index 0000000000..a0dfbeca9e --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.linking.real-hoist@1100.1.23.md @@ -0,0 +1,10 @@ +## 1100.1.23 + +### Patch Changes + +- pnpm now recognizes `externalDependencies` and `autoInstallPeersFromHighestMatch` in `pnpm-workspace.yaml` without warning and forwards both settings to `pnpm install`. Previously, setting `externalDependencies` in `pnpm-workspace.yaml` with `nodeLinker: hoisted` crashed `pnpm install` with `externalDependencies.has is not a function` [pnpm/tasks#166](https://github.com/pnpm/tasks/issues/166). + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 diff --git a/.changeset/changelogs/@pnpm!installing.modules-yaml@1101.0.7.md b/.changeset/changelogs/@pnpm!installing.modules-yaml@1101.0.7.md new file mode 100644 index 0000000000..4b6f3ad3fa --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.modules-yaml@1101.0.7.md @@ -0,0 +1,6 @@ +## 1101.0.7 + +### Patch Changes + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!installing.package-requester@1102.2.5.md b/.changeset/changelogs/@pnpm!installing.package-requester@1102.2.5.md deleted file mode 100644 index f6e3905393..0000000000 --- a/.changeset/changelogs/@pnpm!installing.package-requester@1102.2.5.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1102.2.5 - -### Patch Changes - -- Updated dependencies: - - @pnpm/exec.prepare-package@1100.0.43 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!installing.package-requester@1102.2.6.md b/.changeset/changelogs/@pnpm!installing.package-requester@1102.2.6.md new file mode 100644 index 0000000000..22da9610a1 --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.package-requester@1102.2.6.md @@ -0,0 +1,18 @@ +## 1102.2.6 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.package-is-installable@1100.2.4 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.path@1101.0.7 + - @pnpm/exec.prepare-package@1100.0.44 + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/fetching.pick-fetcher@1100.1.15 + - @pnpm/hooks.types@1101.0.6 + - @pnpm/resolving.local-resolver@1101.2.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/store.index@1101.0.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!installing.read-projects-context@1101.0.11.md b/.changeset/changelogs/@pnpm!installing.read-projects-context@1101.0.11.md new file mode 100644 index 0000000000..0cf1fb64f8 --- /dev/null +++ b/.changeset/changelogs/@pnpm!installing.read-projects-context@1101.0.11.md @@ -0,0 +1,9 @@ +## 1101.0.11 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!linux-arm64@11.28.6.md b/.changeset/changelogs/@pnpm!linux-arm64@11.28.6.md deleted file mode 100644 index 6e930147b6..0000000000 --- a/.changeset/changelogs/@pnpm!linux-arm64@11.28.6.md +++ /dev/null @@ -1 +0,0 @@ -## 11.28.6 diff --git a/.changeset/changelogs/@pnpm!linux-arm64@11.28.7.md b/.changeset/changelogs/@pnpm!linux-arm64@11.28.7.md new file mode 100644 index 0000000000..a3ead108aa --- /dev/null +++ b/.changeset/changelogs/@pnpm!linux-arm64@11.28.7.md @@ -0,0 +1 @@ +## 11.28.7 diff --git a/.changeset/changelogs/@pnpm!linux-x64@11.28.6.md b/.changeset/changelogs/@pnpm!linux-x64@11.28.6.md deleted file mode 100644 index 6e930147b6..0000000000 --- a/.changeset/changelogs/@pnpm!linux-x64@11.28.6.md +++ /dev/null @@ -1 +0,0 @@ -## 11.28.6 diff --git a/.changeset/changelogs/@pnpm!linux-x64@11.28.7.md b/.changeset/changelogs/@pnpm!linux-x64@11.28.7.md new file mode 100644 index 0000000000..a3ead108aa --- /dev/null +++ b/.changeset/changelogs/@pnpm!linux-x64@11.28.7.md @@ -0,0 +1 @@ +## 11.28.7 diff --git a/.changeset/changelogs/@pnpm!linuxstatic-x64@11.28.6.md b/.changeset/changelogs/@pnpm!linuxstatic-x64@11.28.6.md deleted file mode 100644 index 6e930147b6..0000000000 --- a/.changeset/changelogs/@pnpm!linuxstatic-x64@11.28.6.md +++ /dev/null @@ -1 +0,0 @@ -## 11.28.6 diff --git a/.changeset/changelogs/@pnpm!linuxstatic-x64@11.28.7.md b/.changeset/changelogs/@pnpm!linuxstatic-x64@11.28.7.md new file mode 100644 index 0000000000..a3ead108aa --- /dev/null +++ b/.changeset/changelogs/@pnpm!linuxstatic-x64@11.28.7.md @@ -0,0 +1 @@ +## 11.28.7 diff --git a/.changeset/changelogs/@pnpm!lockfile.detect-dep-types@1100.0.28.md b/.changeset/changelogs/@pnpm!lockfile.detect-dep-types@1100.0.28.md new file mode 100644 index 0000000000..6fb081470a --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.detect-dep-types@1100.0.28.md @@ -0,0 +1,9 @@ +## 1100.0.28 + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.peer-edges@1100.0.3 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!lockfile.filtering@1100.2.13.md b/.changeset/changelogs/@pnpm!lockfile.filtering@1100.2.13.md new file mode 100644 index 0000000000..c3b0d82899 --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.filtering@1100.2.13.md @@ -0,0 +1,12 @@ +## 1100.2.13 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.package-is-installable@1100.2.4 + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.peer-edges@1100.0.3 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/lockfile.walker@1100.0.28 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!lockfile.fs@1100.2.14.md b/.changeset/changelogs/@pnpm!lockfile.fs@1100.2.14.md new file mode 100644 index 0000000000..22f5fe58d9 --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.fs@1100.2.14.md @@ -0,0 +1,11 @@ +## 1100.2.14 + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.merger@1100.0.26 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/patching.config@1100.1.10 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!lockfile.make-dedicated-lockfile@1100.0.47.md b/.changeset/changelogs/@pnpm!lockfile.make-dedicated-lockfile@1100.0.47.md deleted file mode 100644 index 88241a126b..0000000000 --- a/.changeset/changelogs/@pnpm!lockfile.make-dedicated-lockfile@1100.0.47.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.0.47 - -### Patch Changes - -- Updated dependencies: - - @pnpm/workspace.root-finder@1100.1.3 diff --git a/.changeset/changelogs/@pnpm!lockfile.make-dedicated-lockfile@1100.0.48.md b/.changeset/changelogs/@pnpm!lockfile.make-dedicated-lockfile@1100.0.48.md new file mode 100644 index 0000000000..5198409982 --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.make-dedicated-lockfile@1100.0.48.md @@ -0,0 +1,11 @@ +## 1100.0.48 + +### Patch Changes + +- Updated dependencies: + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.pruner@1100.0.28 + - @pnpm/releasing.exportable-manifest@1100.3.8 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 + - @pnpm/workspace.root-finder@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!lockfile.merger@1100.0.26.md b/.changeset/changelogs/@pnpm!lockfile.merger@1100.0.26.md new file mode 100644 index 0000000000..9f9024adc3 --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.merger@1100.0.26.md @@ -0,0 +1,7 @@ +## 1100.0.26 + +### Patch Changes + +- Updated dependencies: + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!lockfile.peer-edges@1100.0.3.md b/.changeset/changelogs/@pnpm!lockfile.peer-edges@1100.0.3.md new file mode 100644 index 0000000000..3fa328b5a3 --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.peer-edges@1100.0.3.md @@ -0,0 +1,10 @@ +## 1100.0.3 + +### Patch Changes + +- `pnpm install --prod` no longer drops a dependency that a package declares both as an optional peer and as its own dependency, when the package resolved it as its own dependency and a dev dependency provides the same package under another alias. + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!lockfile.preferred-versions@1100.0.39.md b/.changeset/changelogs/@pnpm!lockfile.preferred-versions@1100.0.39.md new file mode 100644 index 0000000000..8ee792aa92 --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.preferred-versions@1100.0.39.md @@ -0,0 +1,11 @@ +## 1100.0.39 + +### Patch Changes + +- When `pnpm install` resolves a dependency again, it now reuses a version that the install already resolved for the same package, as a fresh install does. Before, it kept the version the lockfile pinned and added a second copy of the package. A locked version still stays when nothing else in the install prefers another version. To pin a transitive dependency on purpose, use `overrides` [#17084](https://github.com/pnpm/pnpm/issues/17084). + +- Updated dependencies: + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!lockfile.pruner@1100.0.28.md b/.changeset/changelogs/@pnpm!lockfile.pruner@1100.0.28.md new file mode 100644 index 0000000000..e7744314a0 --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.pruner@1100.0.28.md @@ -0,0 +1,8 @@ +## 1100.0.28 + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!lockfile.settings-checker@1100.2.13.md b/.changeset/changelogs/@pnpm!lockfile.settings-checker@1100.2.13.md deleted file mode 100644 index e0b1240dee..0000000000 --- a/.changeset/changelogs/@pnpm!lockfile.settings-checker@1100.2.13.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.2.13 - -### Patch Changes - -- Updated dependencies: - - @pnpm/lockfile.verification@1100.1.12 diff --git a/.changeset/changelogs/@pnpm!lockfile.settings-checker@1100.2.14.md b/.changeset/changelogs/@pnpm!lockfile.settings-checker@1100.2.14.md new file mode 100644 index 0000000000..50b7e072dc --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.settings-checker@1100.2.14.md @@ -0,0 +1,7 @@ +## 1100.2.14 + +### Patch Changes + +- Updated dependencies: + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.verification@1100.1.13 diff --git a/.changeset/changelogs/@pnpm!lockfile.to-pnp@1101.0.11.md b/.changeset/changelogs/@pnpm!lockfile.to-pnp@1101.0.11.md new file mode 100644 index 0000000000..e0ee4017b3 --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.to-pnp@1101.0.11.md @@ -0,0 +1,10 @@ +## 1101.0.11 + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/fs.symlink-dependency@1100.0.25 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!lockfile.types@1100.1.5.md b/.changeset/changelogs/@pnpm!lockfile.types@1100.1.5.md new file mode 100644 index 0000000000..5216a7eecb --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.types@1100.1.5.md @@ -0,0 +1,9 @@ +## 1100.1.5 + +### Patch Changes + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- Updated dependencies: + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!lockfile.utils@1102.1.7.md b/.changeset/changelogs/@pnpm!lockfile.utils@1102.1.7.md new file mode 100644 index 0000000000..972b4366f4 --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.utils@1102.1.7.md @@ -0,0 +1,14 @@ +## 1102.1.7 + +### Patch Changes + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- Updated dependencies: + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/deps.path@1101.0.7 + - @pnpm/hooks.types@1101.0.6 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/resolving.tarball-url@1101.1.5 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!lockfile.verification@1100.1.12.md b/.changeset/changelogs/@pnpm!lockfile.verification@1100.1.12.md deleted file mode 100644 index 2c57990dd5..0000000000 --- a/.changeset/changelogs/@pnpm!lockfile.verification@1100.1.12.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.1.12 - -### Patch Changes - -- Updated dependencies: - - @pnpm/installing.context@1101.0.11 diff --git a/.changeset/changelogs/@pnpm!lockfile.verification@1100.1.13.md b/.changeset/changelogs/@pnpm!lockfile.verification@1100.1.13.md new file mode 100644 index 0000000000..beddd5e28e --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.verification@1100.1.13.md @@ -0,0 +1,25 @@ +## 1100.1.13 + +### Patch Changes + +- `pnpm install --frozen-lockfile` no longer fails with `ERR_PNPM_OUTDATED_LOCKFILE` when an injected workspace package depends on a local directory under another name, such as `"renamed": "file:../b"` [#17130](https://github.com/pnpm/pnpm/issues/17130). + +- Fixed `pnpm install --frozen-lockfile` and `verifyDepsBeforeRun` failing inside a directory created by `pnpm deploy`. `pnpm deploy` now writes self-contained workspace and lockfile settings. `pnpm deploy` also prunes unused `patchedDependencies` and preserves workspace-level dependency resolutions on deployed directory dependencies. + +- `pnpm install --frozen-lockfile` now fails with `ERR_PNPM_OUTDATED_LOCKFILE` when the dependencies of an injected workspace package no longer match the lockfile. Before, it installed the stale dependencies when `sharedWorkspaceLockfile` was `false` [#17008](https://github.com/pnpm/pnpm/issues/17008). + +- `pnpm install --frozen-lockfile` now fails with `ERR_PNPM_OUTDATED_LOCKFILE` when a local directory dependency, such as an injected workspace package, changes a dependency to a different tarball URL or git commit [#17129](https://github.com/pnpm/pnpm/issues/17129). + +- `pnpm install --frozen-lockfile` now fails with `ERR_PNPM_OUTDATED_LOCKFILE` when the dependencies of a transitive injected or local directory dependency no longer match the lockfile, even when that dependency is not a workspace importer. Before, only the immediate directory dependency's children were checked, so a stale transitive snapshot was installed silently [#17128](https://github.com/pnpm/pnpm/issues/17128). + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/installing.context@1101.0.12 + - @pnpm/installing.deps-resolver@1102.2.9 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/resolving.git-resolver@1100.1.28 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!lockfile.walker@1100.0.28.md b/.changeset/changelogs/@pnpm!lockfile.walker@1100.0.28.md new file mode 100644 index 0000000000..6fb081470a --- /dev/null +++ b/.changeset/changelogs/@pnpm!lockfile.walker@1100.0.28.md @@ -0,0 +1,9 @@ +## 1100.0.28 + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.peer-edges@1100.0.3 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!macos-arm64@11.28.6.md b/.changeset/changelogs/@pnpm!macos-arm64@11.28.6.md deleted file mode 100644 index 6e930147b6..0000000000 --- a/.changeset/changelogs/@pnpm!macos-arm64@11.28.6.md +++ /dev/null @@ -1 +0,0 @@ -## 11.28.6 diff --git a/.changeset/changelogs/@pnpm!macos-arm64@11.28.7.md b/.changeset/changelogs/@pnpm!macos-arm64@11.28.7.md new file mode 100644 index 0000000000..a3ead108aa --- /dev/null +++ b/.changeset/changelogs/@pnpm!macos-arm64@11.28.7.md @@ -0,0 +1 @@ +## 11.28.7 diff --git a/.changeset/changelogs/@pnpm!modules-mounter.daemon@1100.0.50.md b/.changeset/changelogs/@pnpm!modules-mounter.daemon@1100.0.50.md deleted file mode 100644 index 4c0a66e011..0000000000 --- a/.changeset/changelogs/@pnpm!modules-mounter.daemon@1100.0.50.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1100.0.50 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!modules-mounter.daemon@1100.0.51.md b/.changeset/changelogs/@pnpm!modules-mounter.daemon@1100.0.51.md new file mode 100644 index 0000000000..86d5f9bad8 --- /dev/null +++ b/.changeset/changelogs/@pnpm!modules-mounter.daemon@1100.0.51.md @@ -0,0 +1,13 @@ +## 1100.0.51 + +### Patch Changes + +- Updated dependencies: + - @pnpm/config.reader@1102.3.6 + - @pnpm/deps.path@1101.0.7 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.index@1101.0.3 + - @pnpm/store.path@1100.1.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!napi@12.14.0.md b/.changeset/changelogs/@pnpm!napi@12.14.0.md deleted file mode 100644 index eafa432d3b..0000000000 --- a/.changeset/changelogs/@pnpm!napi@12.14.0.md +++ /dev/null @@ -1 +0,0 @@ -## 12.14.0 diff --git a/.changeset/changelogs/@pnpm!napi@12.15.0.md b/.changeset/changelogs/@pnpm!napi@12.15.0.md new file mode 100644 index 0000000000..3bdc5233c5 --- /dev/null +++ b/.changeset/changelogs/@pnpm!napi@12.15.0.md @@ -0,0 +1 @@ +## 12.15.0 diff --git a/.changeset/changelogs/@pnpm!network.auth-header@1101.1.17.md b/.changeset/changelogs/@pnpm!network.auth-header@1101.1.17.md new file mode 100644 index 0000000000..01cd86f9d8 --- /dev/null +++ b/.changeset/changelogs/@pnpm!network.auth-header@1101.1.17.md @@ -0,0 +1,6 @@ +## 1101.1.17 + +### Patch Changes + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!network.fetch@1100.1.23.md b/.changeset/changelogs/@pnpm!network.fetch@1100.1.23.md new file mode 100644 index 0000000000..51dded153a --- /dev/null +++ b/.changeset/changelogs/@pnpm!network.fetch@1100.1.23.md @@ -0,0 +1,7 @@ +## 1100.1.23 + +### Patch Changes + +- Updated dependencies: + - @pnpm/core-loggers@1101.0.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!patching.commands@1101.0.12.md b/.changeset/changelogs/@pnpm!patching.commands@1101.0.12.md deleted file mode 100644 index 9cb3e11385..0000000000 --- a/.changeset/changelogs/@pnpm!patching.commands@1101.0.12.md +++ /dev/null @@ -1,9 +0,0 @@ -## 1101.0.12 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/config.writer@1100.0.33 - - @pnpm/installing.commands@1101.4.6 - - @pnpm/store.connection-manager@1101.3.4 diff --git a/.changeset/changelogs/@pnpm!patching.commands@1101.0.13.md b/.changeset/changelogs/@pnpm!patching.commands@1101.0.13.md new file mode 100644 index 0000000000..ede1775350 --- /dev/null +++ b/.changeset/changelogs/@pnpm!patching.commands@1101.0.13.md @@ -0,0 +1,22 @@ +## 1101.0.13 + +### Patch Changes + +- Fixed patching in workspaces with `sharedWorkspaceLockfile: false`. `pnpm patch`, `pnpm patch-commit`, and `pnpm patch-remove` now resolve patch files and `patchedDependencies` entries at the workspace root. `pnpm install` now checks configured patches across all workspace projects before reporting unused patches. + +- Updated dependencies: + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.reader@1102.3.6 + - @pnpm/config.writer@1100.0.34 + - @pnpm/fs.packlist@1100.0.9 + - @pnpm/installing.commands@1101.4.7 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.pruner@1100.0.28 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/store.connection-manager@1101.3.5 + - @pnpm/store.path@1100.1.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 diff --git a/.changeset/changelogs/@pnpm!patching.config@1100.1.10.md b/.changeset/changelogs/@pnpm!patching.config@1100.1.10.md new file mode 100644 index 0000000000..240d9eb7a0 --- /dev/null +++ b/.changeset/changelogs/@pnpm!patching.config@1100.1.10.md @@ -0,0 +1,6 @@ +## 1100.1.10 + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 diff --git a/.changeset/changelogs/@pnpm!pkg-manifest.commands@1100.1.34.md b/.changeset/changelogs/@pnpm!pkg-manifest.commands@1100.1.34.md deleted file mode 100644 index 015a54b337..0000000000 --- a/.changeset/changelogs/@pnpm!pkg-manifest.commands@1100.1.34.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.1.34 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 diff --git a/.changeset/changelogs/@pnpm!pkg-manifest.commands@1100.1.35.md b/.changeset/changelogs/@pnpm!pkg-manifest.commands@1100.1.35.md new file mode 100644 index 0000000000..c86fb2cd96 --- /dev/null +++ b/.changeset/changelogs/@pnpm!pkg-manifest.commands@1100.1.35.md @@ -0,0 +1,10 @@ +## 1100.1.35 + +### Patch Changes + +- `pnpm pkg fix` now converts a `repository` string such as `github:pnpm/example` to the object form, as `npm pkg fix` does. It also normalizes a GitHub, GitLab, or Bitbucket repository URL the way `npm pkg fix` does [pnpm/pnpm#16980](https://github.com/pnpm/pnpm/issues/16980). + +- Updated dependencies: + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.reader@1102.3.6 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!pkg-manifest.reader@1100.0.23.md b/.changeset/changelogs/@pnpm!pkg-manifest.reader@1100.0.23.md new file mode 100644 index 0000000000..6b96b346e6 --- /dev/null +++ b/.changeset/changelogs/@pnpm!pkg-manifest.reader@1100.0.23.md @@ -0,0 +1,6 @@ +## 1100.0.23 + +### Patch Changes + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!pkg-manifest.utils@1100.4.10.md b/.changeset/changelogs/@pnpm!pkg-manifest.utils@1100.4.10.md new file mode 100644 index 0000000000..662b3d2310 --- /dev/null +++ b/.changeset/changelogs/@pnpm!pkg-manifest.utils@1100.4.10.md @@ -0,0 +1,7 @@ +## 1100.4.10 + +### Patch Changes + +- Updated dependencies: + - @pnpm/core-loggers@1101.0.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!pnpr.client@3.1.4.md b/.changeset/changelogs/@pnpm!pnpr.client@3.1.4.md new file mode 100644 index 0000000000..a96c0c8da5 --- /dev/null +++ b/.changeset/changelogs/@pnpm!pnpr.client@3.1.4.md @@ -0,0 +1,14 @@ +## 3.1.4 + +### Patch Changes + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- Updated dependencies: + - @pnpm/deps.graph-hasher@1100.3.8 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!pnpr@0.1.0-alpha.16.md b/.changeset/changelogs/@pnpm!pnpr@0.1.0-alpha.16.md new file mode 100644 index 0000000000..897b4f18bf --- /dev/null +++ b/.changeset/changelogs/@pnpm!pnpr@0.1.0-alpha.16.md @@ -0,0 +1,81 @@ +## 0.1.0-alpha.16 + +pnpr 0.1.0-alpha.16 serves every ecosystem under its own URL prefix, moves hosted storage to a new layout upgraded with `pnpr upgrade-storage`, and replaces `artifacts.compilerCaches` and `pipeline.workspaces` with `artifacts.orgs`. It also adds tar registries, zstd metadata and tarball compression, npm audit and provenance endpoints, Prometheus metrics, and `pnpr` maintenance commands. + +### Minor Changes + +- pnpr now serves npm under `/npm/` even when npm is the only ecosystem it serves. The npm registry URL is `https:///npm/`, and a named registry is at `https:///npm/~/`. + + Cargo, Python, and container image registries likewise always sit under their own prefix. The default container image registry still answers at `/v2/` on the host root. + +- pnpr stores hosted packages in a new layout. Each org has its own namespace, and every package keeps its document and blobs in separate places. The layout is the same on disk and in S3. + + pnpr no longer starts on a store in the earlier layout. Back the store up and convert it with `pnpr upgrade-storage`. On first start, pnpr also empties the proxy cache, which refills on demand. + +- `artifacts.orgs` declares who may read and who may publish what an organization owns: its signed artifacts, its Cargo compilation cache, and its pipeline run records. It replaces `artifacts.compilerCaches` and `pipeline.workspaces`, which are no longer accepted. + + Signed artifacts no longer require the organization's name to match the account that reads or publishes them. Pipeline runs are recorded under an organization, and run URLs include it. Runs recorded by earlier versions are not listed. + +- All configuration sections now strictly validate schema fields and reject unrecognized keys, unset environment variable references in secret fields, and the retired top-level `uplinks` and `upstreams` blocks. Configure upstreams in `registries` instead. Configuration keys accept both camelCase and snake_case names. Per-ecosystem validation rejects `teamsManagedBy: api` and package `unpublish` rules on Cargo and PyPI registries. + + `secrets` now supports independent cache and OCI secret configuration, and derives domain-separated subkeys when a single root `secret` is provided. Moving a registry into an ecosystem group preserves its team rosters and rule overrides, persisted documents now record a `formatVersion`, and the default configuration file proxies the public npm registry with self-registration disabled by default. + +- A registry with `tarballs: tar` serves each version as the uncompressed tar of its `.tgz`. pnpr compresses the tar with zstd or gzip, as the request accepts. The registry's metadata pins the hash of the tar. + + Every registry now also serves a version's tarball at `/@`. + +- The `/npm/-/tarballs/sha512/` route now names a package by the SHA-512 of its uncompressed tar, on `.tgz` and tar registries alike. It serves the tar with `gzip` or `zstd` content coding, or none, as the client's `Accept-Encoding` allows. pnpr records a hosted version's digest reference when the version is published. pnpr checks a proxied upstream revision against its digest before it caches or serves it. + + pnpr now keeps `dist.revision: 0` for an original in upstream revision metadata. pnpr keeps revision metadata only when its history lists revision 0. A revision's `dist` omits `shasum` and `signatures`. Tar registries keep revision metadata. + +- pnpr now serves verified tarball metadata under `dist.pnpr` in package metadata once it has scanned a version's tarball: `requiresBuild`, precalculated binary targets and shebang runtimes, unpacked size, and file count. `POST /-/pnpr/v0/resolve` also includes `requiresBuild` on `package` frames. pnpr strips any `dist.pnpr` field sent by a publisher or an upstream registry. + +- `PUT /-/pnpr/v0/artifacts/blob` stores one blob of a signed artifact ahead of the envelope that names it, streamed from the request body. A blob can be up to 4 GiB. `HEAD` on the same URL tells whether a blob is stored. + + `artifacts.quota.ownerGiB` and `artifacts.quota.totalGiB` set how much the artifact store keeps. They default to 1 GiB per owner and 10 GiB in total. + +- pnpr now supports token creation via `POST /-/npm/v1/tokens` with `--read-only`, CIDR restrictions, expiry, and token naming. Expired tokens are rejected during authentication. Token authentication updates the `last_used_at` timestamp. Read-only tokens are permitted to access npm audit endpoints [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). + +- pnpr now supports the npm audit endpoints: `POST /-/npm/v1/security/advisories/bulk`, `POST /-/npm/v1/security/audits`, and `POST /-/npm/v1/security/audits/quick`. Bulk advisory queries evaluate against local records when an OSV database is enabled. Requests forward to configured upstream registries when OSV is disabled [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). + +- pnpr now accepts `.sigstore` provenance attachments during `npm publish` and serves `/-/npm/v1/attestations/{spec}` and `/-/npm/v1/keys` endpoints [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). + +- pnpr now supports cache size caps, TTL retention, and orphan namespace pruning. The `cache:` setting accepts `maxSize` and `maxAge` limits to bound upstream proxy storage and evict stale files. Startup sweeps prune orphaned upstream namespaces left behind by ephemeral per-process secrets. The new `pnpr cache-gc` command reclaims cache storage on demand with support for dry runs, custom size caps, age limits, and orphan-only cleanup [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). + +- pnpr now exposes Prometheus metrics at `GET /metrics` and `GET /-/metrics`, tracks request IDs, and enriches access logs [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). The metrics endpoint emits standard Prometheus text format with in-flight gauges, request counters, duration histograms, and cache statistics. Requests forward and echo `x-request-id` headers or receive generated UUIDs. Access logs under `pnpr::access` record request IDs, authenticated usernames, client IPs, user agents, status codes, latencies, and byte counts. + +- pnpr now emits structured audit records under tracing target `pnpr::audit` at `info` level [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). Audit events cover user management, rule overrides, team membership and package access, SCIM operations, and package deletion. When structured JSON logging is enabled, each audit record inherits the active request metadata including the request ID and client IP. + +- pnpr now resolves client IP addresses through trusted reverse proxies using the new `trustedProxies` and `trustedProxyHeader` settings. Forwarding headers from trusted peers are traversed to record the client IP in access logs and enforce token CIDR restrictions [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). + +- Package write requests now check permissions before buffering large request bodies. Upstream packument fetches are coalesced across concurrent requests. Login endpoints enforce rate limits, and incoming requests support a configurable `requestTimeout` [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). + +- pnpr now responds to Unix `SIGTERM` signals with graceful shutdown, stopping new connections and completing in-flight requests before exiting. Dedicated readiness at `/-/ready` and liveness at `/-/live` are now available for container orchestration, and `/-/ping` returns 503 when backend storage or auth is inaccessible [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). + +### Patch Changes + +- Self-registration can no longer claim the username of a configured admin, an OIDC binding, a workload binding, or a SCIM-provisioned user. The new `pnpr add-user` command creates accounts under reserved usernames [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). + +- New auth files default to 0600 permissions on Unix. Login requests on disabled registration return 401 to prevent user enumeration. Passwords exceeding 71 bytes are rejected to prevent bcrypt truncation. Published package versions remain immutable across partial unpublish requests. + +- pnpr now records package maintainers on publish, supports the `$owners` access token in package access rules, and handles `npm owner` maintainer mutations. Unpublished packages and versions are recorded in tombstones to prevent package squatting and republishing of removed versions [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). + +- pnpr can now use a libsql or Turso database for users and tokens. Before, a `backend.libsql` block made pnpr crash at startup. pnpr checks the database's certificate against the system trust store. It refuses to send `authToken` over plain `http://` unless the database is on a loopback host. + +- pnpr now tracks database schema versions and migrates existing SQLite, PostgreSQL, MySQL, and libsql auth databases at startup. MySQL auth backends now use binary collation for case-sensitive username lookups [pnpm/tasks#131](https://github.com/pnpm/tasks/issues/131). + +- Added the login web flow at `/-/v1/login` so `npm login` and `pnpm login` authenticate via browser SSO when an OIDC login provider is configured. + +- Added the `pnpr serve` subcommand. Bare `pnpr` remains supported as an alias. Server flags such as `--listen` and `--packument-ttl` are now scoped to `serve` and are no longer accepted on maintenance commands. + +- Added maintenance subcommands to `pnpr`. `config check` inspects configuration diagnostics, `verify` audits hosted documents and storage blobs, `export` dumps packages and authentication records, `migrate-storage` migrates packages from local storage to S3, and `import-htpasswd` imports Apache and Verdaccio user accounts with automatic bcrypt upgrade. + +- pnpr now compresses package metadata with zstd for clients that accept it. A full packument such as vite's is served in about 650 KB with zstd and 4.9 MB with gzip. pnpr also accepts zstd-compressed responses from upstream registries. + +- Packument responses now emit `ETag`, `Vary: Accept`, and `Cache-Control` headers. Conditional requests sending `If-None-Match` or `If-Modified-Since` now return `304 Not Modified` when unchanged. + +- When pnpm sends the `addMissingPeerTypes` setting, pnpr now resolves the matching `@types` packages as optional peers of the packages that peer-depend on a library. + +- Added protocol versioning between the pnpm client and pnpr server, verified applied resolution policies in resolution responses, and preserved structured error codes across the wire. + +- Added a Node.js fallback wrapper script for `@pnpm/pnpr` when install scripts are skipped, updated Node engines requirement to `>=18`, and added an init process to the pnpr Docker container image. diff --git a/.changeset/changelogs/@pnpm!prepare@1100.0.37.md b/.changeset/changelogs/@pnpm!prepare@1100.0.37.md deleted file mode 100644 index 2718e294f1..0000000000 --- a/.changeset/changelogs/@pnpm!prepare@1100.0.37.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.0.37 - -### Patch Changes - -- Updated dependencies: - - @pnpm/assert-project@1100.0.37 diff --git a/.changeset/changelogs/@pnpm!prepare@1100.0.38.md b/.changeset/changelogs/@pnpm!prepare@1100.0.38.md new file mode 100644 index 0000000000..d56a60e5b1 --- /dev/null +++ b/.changeset/changelogs/@pnpm!prepare@1100.0.38.md @@ -0,0 +1,7 @@ +## 1100.0.38 + +### Patch Changes + +- Updated dependencies: + - @pnpm/assert-project@1100.0.38 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!registry-access.client@1100.1.25.md b/.changeset/changelogs/@pnpm!registry-access.client@1100.1.25.md new file mode 100644 index 0000000000..132d634d95 --- /dev/null +++ b/.changeset/changelogs/@pnpm!registry-access.client@1100.1.25.md @@ -0,0 +1,6 @@ +## 1100.1.25 + +### Patch Changes + +- Updated dependencies: + - @pnpm/network.fetch@1100.1.23 diff --git a/.changeset/changelogs/@pnpm!registry-access.commands@1101.0.11.md b/.changeset/changelogs/@pnpm!registry-access.commands@1101.0.11.md deleted file mode 100644 index 23976527af..0000000000 --- a/.changeset/changelogs/@pnpm!registry-access.commands@1101.0.11.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1101.0.11 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 diff --git a/.changeset/changelogs/@pnpm!registry-access.commands@1101.0.12.md b/.changeset/changelogs/@pnpm!registry-access.commands@1101.0.12.md new file mode 100644 index 0000000000..cc0c579e54 --- /dev/null +++ b/.changeset/changelogs/@pnpm!registry-access.commands@1101.0.12.md @@ -0,0 +1,15 @@ +## 1101.0.12 + +### Patch Changes + +- `pnpm owner ls` now lists the owners of a package on the npm registry. It reported every package as not found. + +- Updated dependencies: + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.pick-registry-for-package@1101.0.3 + - @pnpm/config.reader@1102.3.6 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/registry-access.client@1100.1.25 + - @pnpm/resolving.registry.types@1100.2.4 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!releasing.commands@1101.2.10.md b/.changeset/changelogs/@pnpm!releasing.commands@1101.2.10.md new file mode 100644 index 0000000000..b23efa6808 --- /dev/null +++ b/.changeset/changelogs/@pnpm!releasing.commands@1101.2.10.md @@ -0,0 +1,42 @@ +## 1101.2.10 + +### Patch Changes + +- `pnpm deploy` now records the peer dependencies of the workspace packages it copies into the deployed lockfile. Before, pnpm rejected that lockfile with `--frozen-lockfile` when a deployed workspace package declared a peer and `injectWorkspacePackages` was off [#17093](https://github.com/pnpm/pnpm/issues/17093). + +- Fixed `pnpm install --frozen-lockfile` and `verifyDepsBeforeRun` failing inside a directory created by `pnpm deploy`. `pnpm deploy` now writes self-contained workspace and lockfile settings. `pnpm deploy` also prunes unused `patchedDependencies` and preserves workspace-level dependency resolutions on deployed directory dependencies. + +- Trusted publishing with OIDC now works with registries whose URL has a path, such as `https://registry.example/npm/private/`. pnpm previously sent the token exchange request to the root of the registry host. + +- Updated dependencies: + - @pnpm/bins.resolver@1100.0.18 + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.pick-registry-for-package@1101.0.3 + - @pnpm/config.reader@1102.3.6 + - @pnpm/deps.path@1101.0.7 + - @pnpm/engine.runtime.commands@1101.1.10 + - @pnpm/engine.runtime.node-resolver@1101.3.9 + - @pnpm/exec.lifecycle@1100.1.25 + - @pnpm/exec.pnpm-cli-runner@1100.0.6 + - @pnpm/fetching.directory-fetcher@1100.0.40 + - @pnpm/fs.indexed-pkg-importer@1100.0.35 + - @pnpm/fs.packlist@1100.0.9 + - @pnpm/installing.client@1100.3.17 + - @pnpm/installing.commands@1101.4.7 + - @pnpm/installing.deps-resolver@1102.2.9 + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/lockfile.peer-edges@1100.0.3 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/network.fetch@1100.1.23 + - @pnpm/releasing.exportable-manifest@1100.3.8 + - @pnpm/releasing.versioning@1100.3.7 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/resolving.registry.types@1100.2.4 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.projects-filter@1100.0.50 + - @pnpm/workspace.projects-graph@1100.0.45 + - @pnpm/workspace.projects-sorter@1101.0.2 + - @pnpm/workspace.task-scheduler@1100.0.5 + - @pnpm/workspace.workspace-manifest-writer@1100.2.8 diff --git a/.changeset/changelogs/@pnpm!releasing.commands@1101.2.9.md b/.changeset/changelogs/@pnpm!releasing.commands@1101.2.9.md deleted file mode 100644 index 61ab165dec..0000000000 --- a/.changeset/changelogs/@pnpm!releasing.commands@1101.2.9.md +++ /dev/null @@ -1,23 +0,0 @@ -## 1101.2.9 - -### Patch Changes - -- `pnpm deploy` in a workspace with `injectWorkspacePackages` no longer crashes when a linked workspace package declares a peer dependency named after an `Object.prototype` member, such as `constructor`. - -- `pnpm deploy` without `injectWorkspacePackages` now binds a peer dependency of a linked workspace package to the version its parent provides, as an injected install does. Previously the deploy failed with `ERR_PNPM_DEPLOY_AMBIGUOUS_PEER` whenever other packages in the deployed graph depended on different versions of that peer [#16807](https://github.com/pnpm/pnpm/issues/16807). - -- When the registry rejects `pnpm stage publish`, the error message now starts with "Failed to stage package". - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/engine.runtime.commands@1101.1.9 - - @pnpm/engine.runtime.node-resolver@1101.3.8 - - @pnpm/exec.lifecycle@1100.1.24 - - @pnpm/fetching.directory-fetcher@1100.0.39 - - @pnpm/fs.indexed-pkg-importer@1100.0.34 - - @pnpm/installing.client@1100.3.16 - - @pnpm/installing.commands@1101.4.6 - - @pnpm/resolving.npm-resolver@1104.2.6 - - @pnpm/workspace.projects-filter@1100.0.49 - - @pnpm/workspace.projects-graph@1100.0.44 - - @pnpm/workspace.workspace-manifest-writer@1100.2.7 diff --git a/.changeset/changelogs/@pnpm!releasing.exportable-manifest@1100.3.8.md b/.changeset/changelogs/@pnpm!releasing.exportable-manifest@1100.3.8.md new file mode 100644 index 0000000000..89f6555993 --- /dev/null +++ b/.changeset/changelogs/@pnpm!releasing.exportable-manifest@1100.3.8.md @@ -0,0 +1,8 @@ +## 1100.3.8 + +### Patch Changes + +- Updated dependencies: + - @pnpm/bins.resolver@1100.0.18 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!releasing.versioning@1100.3.7.md b/.changeset/changelogs/@pnpm!releasing.versioning@1100.3.7.md new file mode 100644 index 0000000000..015ba50ea2 --- /dev/null +++ b/.changeset/changelogs/@pnpm!releasing.versioning@1100.3.7.md @@ -0,0 +1,7 @@ +## 1100.3.7 + +### Patch Changes + +- Updated dependencies: + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!resolving.default-resolver@1101.0.11.md b/.changeset/changelogs/@pnpm!resolving.default-resolver@1101.0.11.md deleted file mode 100644 index b7fdb5441a..0000000000 --- a/.changeset/changelogs/@pnpm!resolving.default-resolver@1101.0.11.md +++ /dev/null @@ -1,9 +0,0 @@ -## 1101.0.11 - -### Patch Changes - -- Updated dependencies: - - @pnpm/engine.runtime.bun-resolver@1102.0.27 - - @pnpm/engine.runtime.deno-resolver@1102.0.27 - - @pnpm/engine.runtime.node-resolver@1101.3.8 - - @pnpm/resolving.npm-resolver@1104.2.6 diff --git a/.changeset/changelogs/@pnpm!resolving.default-resolver@1101.0.12.md b/.changeset/changelogs/@pnpm!resolving.default-resolver@1101.0.12.md new file mode 100644 index 0000000000..4cdebef5a3 --- /dev/null +++ b/.changeset/changelogs/@pnpm!resolving.default-resolver@1101.0.12.md @@ -0,0 +1,16 @@ +## 1101.0.12 + +### Patch Changes + +- Updated dependencies: + - @pnpm/engine.runtime.bun-resolver@1102.0.28 + - @pnpm/engine.runtime.deno-resolver@1102.0.28 + - @pnpm/engine.runtime.node-resolver@1101.3.9 + - @pnpm/hooks.types@1101.0.6 + - @pnpm/network.auth-header@1101.1.17 + - @pnpm/resolving.git-resolver@1100.1.28 + - @pnpm/resolving.local-resolver@1101.2.7 + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/resolving.tarball-resolver@1100.1.18 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!resolving.git-resolver@1100.1.28.md b/.changeset/changelogs/@pnpm!resolving.git-resolver@1100.1.28.md new file mode 100644 index 0000000000..8bd750fb3a --- /dev/null +++ b/.changeset/changelogs/@pnpm!resolving.git-resolver@1100.1.28.md @@ -0,0 +1,9 @@ +## 1100.1.28 + +### Patch Changes + +- `pnpm install --frozen-lockfile` now fails with `ERR_PNPM_OUTDATED_LOCKFILE` when a local directory dependency, such as an injected workspace package, changes a dependency to a different tarball URL or git commit [#17129](https://github.com/pnpm/pnpm/issues/17129). + +- Updated dependencies: + - @pnpm/network.fetch@1100.1.23 + - @pnpm/resolving.resolver-base@1101.3.3 diff --git a/.changeset/changelogs/@pnpm!resolving.local-resolver@1101.2.7.md b/.changeset/changelogs/@pnpm!resolving.local-resolver@1101.2.7.md new file mode 100644 index 0000000000..583b772993 --- /dev/null +++ b/.changeset/changelogs/@pnpm!resolving.local-resolver@1101.2.7.md @@ -0,0 +1,9 @@ +## 1101.2.7 + +### Patch Changes + +- Updated dependencies: + - @pnpm/deps.path@1101.0.7 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!resolving.npm-resolver@1104.2.6.md b/.changeset/changelogs/@pnpm!resolving.npm-resolver@1104.2.6.md deleted file mode 100644 index e575bc11ec..0000000000 --- a/.changeset/changelogs/@pnpm!resolving.npm-resolver@1104.2.6.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1104.2.6 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.version-policy@1100.2.8 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!resolving.npm-resolver@1104.2.7.md b/.changeset/changelogs/@pnpm!resolving.npm-resolver@1104.2.7.md new file mode 100644 index 0000000000..a9b9a34251 --- /dev/null +++ b/.changeset/changelogs/@pnpm!resolving.npm-resolver@1104.2.7.md @@ -0,0 +1,34 @@ +## 1104.2.7 + +### Patch Changes + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- With `minimumReleaseAge` set and full metadata in use, pnpm now keeps using cached metadata that the registry confirms is current, also when that metadata has no publish times. Previously, pnpm downloaded such metadata again on every install. + +- When `pnpm install` resolves a dependency again, it now reuses a version that the install already resolved for the same package, as a fresh install does. Before, it kept the version the lockfile pinned and added a second copy of the package. A locked version still stays when nothing else in the install prefers another version. To pin a transitive dependency on purpose, use `overrides` [#17084](https://github.com/pnpm/pnpm/issues/17084). + +- `pnpm add` now reads the package name correctly from a tarball URL under a registry URL that has a path, such as `https://example.com/npm/`. Before, the registry path became part of the name, so a scoped package failed with `ERR_PNPM_INVALID_PACKAGE_NAME`. + +- pnpm now fails with `ERR_PNPM_REGISTRY_NAME_MISMATCH` if a registry returns metadata for a package other than the one requested. Before, pnpm installed the package under the name in the metadata, so `allowBuilds` rules for the requested package did not apply to it. + +- With `minimumReleaseAge` set, packages listed in `minimumReleaseAgeExclude` now resolve from cached metadata without a registry request when the lockfile already has the version their range picks. Packages resolve the same way without `minimumReleaseAge`. + +- With `minimumReleaseAge` set, pnpm sends one conditional metadata request instead of two for a package whose cached metadata already holds the full document, but without every version's publish time. + +- With `minimumReleaseAge` set, pnpm now revalidates a package's cached full metadata with its ETag, so an unchanged registry answers with `304`. Before, if the registry did not list a publish time for every version, pnpm downloaded that metadata again whenever the cached copy was older than `minimumReleaseAge`. + +- Updated dependencies: + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/config.pick-registry-for-package@1101.0.3 + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/core-loggers@1101.0.3 + - @pnpm/deps.path@1101.0.7 + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/resolving.registry.pkg-metadata-filter@1100.0.24 + - @pnpm/resolving.registry.types@1100.2.4 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/resolving.tarball-url@1101.1.5 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.index@1101.0.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!resolving.registry.pkg-metadata-filter@1100.0.24.md b/.changeset/changelogs/@pnpm!resolving.registry.pkg-metadata-filter@1100.0.24.md new file mode 100644 index 0000000000..57d1ffb077 --- /dev/null +++ b/.changeset/changelogs/@pnpm!resolving.registry.pkg-metadata-filter@1100.0.24.md @@ -0,0 +1,6 @@ +## 1100.0.24 + +### Patch Changes + +- Updated dependencies: + - @pnpm/resolving.registry.types@1100.2.4 diff --git a/.changeset/changelogs/@pnpm!resolving.registry.types@1100.2.4.md b/.changeset/changelogs/@pnpm!resolving.registry.types@1100.2.4.md new file mode 100644 index 0000000000..0a60311971 --- /dev/null +++ b/.changeset/changelogs/@pnpm!resolving.registry.types@1100.2.4.md @@ -0,0 +1,8 @@ +## 1100.2.4 + +### Patch Changes + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!resolving.resolver-base@1101.3.3.md b/.changeset/changelogs/@pnpm!resolving.resolver-base@1101.3.3.md new file mode 100644 index 0000000000..dbbbe87cb3 --- /dev/null +++ b/.changeset/changelogs/@pnpm!resolving.resolver-base@1101.3.3.md @@ -0,0 +1,10 @@ +## 1101.3.3 + +### Patch Changes + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- When `pnpm install` resolves a dependency again, it now reuses a version that the install already resolved for the same package, as a fresh install does. Before, it kept the version the lockfile pinned and added a second copy of the package. A locked version still stays when nothing else in the install prefers another version. To pin a transitive dependency on purpose, use `overrides` [#17084](https://github.com/pnpm/pnpm/issues/17084). + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!resolving.tarball-resolver@1100.1.18.md b/.changeset/changelogs/@pnpm!resolving.tarball-resolver@1100.1.18.md new file mode 100644 index 0000000000..11c288a169 --- /dev/null +++ b/.changeset/changelogs/@pnpm!resolving.tarball-resolver@1100.1.18.md @@ -0,0 +1,6 @@ +## 1100.1.18 + +### Patch Changes + +- Updated dependencies: + - @pnpm/resolving.resolver-base@1101.3.3 diff --git a/.changeset/changelogs/@pnpm!resolving.tarball-url@1101.1.5.md b/.changeset/changelogs/@pnpm!resolving.tarball-url@1101.1.5.md new file mode 100644 index 0000000000..58d2d22836 --- /dev/null +++ b/.changeset/changelogs/@pnpm!resolving.tarball-url@1101.1.5.md @@ -0,0 +1,8 @@ +## 1101.1.5 + +### Patch Changes + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!store.cafs@1100.3.8.md b/.changeset/changelogs/@pnpm!store.cafs@1100.3.8.md new file mode 100644 index 0000000000..f2183c47b0 --- /dev/null +++ b/.changeset/changelogs/@pnpm!store.cafs@1100.3.8.md @@ -0,0 +1,11 @@ +## 1100.3.8 + +### Patch Changes + +- Added the `maxTarballUnpackedSize` setting. `pnpm install` fails with `ERR_PNPM_TARBALL_TOO_LARGE` when the files of one package unpack to more than this many bytes, 4 GiB by default [pnpm/tasks#81](https://github.com/pnpm/tasks/issues/81). + +- Updated dependencies: + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/store.file-mode@1100.0.2 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!store.commands@1101.0.11.md b/.changeset/changelogs/@pnpm!store.commands@1101.0.11.md deleted file mode 100644 index 52fcd7976b..0000000000 --- a/.changeset/changelogs/@pnpm!store.commands@1101.0.11.md +++ /dev/null @@ -1,10 +0,0 @@ -## 1101.0.11 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/installing.client@1100.3.16 - - @pnpm/installing.context@1101.0.11 - - @pnpm/store.connection-manager@1101.3.4 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!store.commands@1101.0.12.md b/.changeset/changelogs/@pnpm!store.commands@1101.0.12.md new file mode 100644 index 0000000000..57a957e29d --- /dev/null +++ b/.changeset/changelogs/@pnpm!store.commands@1101.0.12.md @@ -0,0 +1,21 @@ +## 1101.0.12 + +### Patch Changes + +- Updated dependencies: + - @pnpm/building.pkg-requires-build@1100.0.21 + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/config.reader@1102.3.6 + - @pnpm/deps.path@1101.0.7 + - @pnpm/global.packages@1101.1.8 + - @pnpm/installing.client@1100.3.17 + - @pnpm/installing.context@1101.0.12 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/lockfile.utils@1102.1.7 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.connection-manager@1101.3.5 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/store.index@1101.0.3 + - @pnpm/store.path@1100.1.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!store.connection-manager@1101.3.4.md b/.changeset/changelogs/@pnpm!store.connection-manager@1101.3.4.md deleted file mode 100644 index 86bb4e26fe..0000000000 --- a/.changeset/changelogs/@pnpm!store.connection-manager@1101.3.4.md +++ /dev/null @@ -1,9 +0,0 @@ -## 1101.3.4 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/installing.client@1100.3.16 - - @pnpm/store.controller@1102.2.5 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!store.connection-manager@1101.3.5.md b/.changeset/changelogs/@pnpm!store.connection-manager@1101.3.5.md new file mode 100644 index 0000000000..96bcfbed35 --- /dev/null +++ b/.changeset/changelogs/@pnpm!store.connection-manager@1101.3.5.md @@ -0,0 +1,16 @@ +## 1101.3.5 + +### Patch Changes + +- Added the `maxTarballUnpackedSize` setting. `pnpm install` fails with `ERR_PNPM_TARBALL_TOO_LARGE` when the files of one package unpack to more than this many bytes, 4 GiB by default [pnpm/tasks#81](https://github.com/pnpm/tasks/issues/81). + +- Updated dependencies: + - @pnpm/cli.meta@1100.1.3 + - @pnpm/config.normalize-registries@1101.0.4 + - @pnpm/config.reader@1102.3.6 + - @pnpm/installing.client@1100.3.17 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.controller@1102.2.6 + - @pnpm/store.index@1101.0.3 + - @pnpm/store.path@1100.1.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!store.controller-types@1101.3.4.md b/.changeset/changelogs/@pnpm!store.controller-types@1101.3.4.md new file mode 100644 index 0000000000..2e2df0fa99 --- /dev/null +++ b/.changeset/changelogs/@pnpm!store.controller-types@1101.3.4.md @@ -0,0 +1,10 @@ +## 1101.3.4 + +### Patch Changes + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- Updated dependencies: + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!store.controller@1102.2.5.md b/.changeset/changelogs/@pnpm!store.controller@1102.2.5.md deleted file mode 100644 index 09aa540a5d..0000000000 --- a/.changeset/changelogs/@pnpm!store.controller@1102.2.5.md +++ /dev/null @@ -1,8 +0,0 @@ -## 1102.2.5 - -### Patch Changes - -- Updated dependencies: - - @pnpm/installing.package-requester@1102.2.5 - - @pnpm/store.create-cafs-store@1100.0.35 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!store.controller@1102.2.6.md b/.changeset/changelogs/@pnpm!store.controller@1102.2.6.md new file mode 100644 index 0000000000..e59130b5e9 --- /dev/null +++ b/.changeset/changelogs/@pnpm!store.controller@1102.2.6.md @@ -0,0 +1,14 @@ +## 1102.2.6 + +### Patch Changes + +- Updated dependencies: + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/hooks.types@1101.0.6 + - @pnpm/installing.package-requester@1102.2.6 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/store.create-cafs-store@1100.0.36 + - @pnpm/store.index@1101.0.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!store.create-cafs-store@1100.0.35.md b/.changeset/changelogs/@pnpm!store.create-cafs-store@1100.0.35.md deleted file mode 100644 index b6f00c1474..0000000000 --- a/.changeset/changelogs/@pnpm!store.create-cafs-store@1100.0.35.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.0.35 - -### Patch Changes - -- Updated dependencies: - - @pnpm/fs.indexed-pkg-importer@1100.0.34 diff --git a/.changeset/changelogs/@pnpm!store.create-cafs-store@1100.0.36.md b/.changeset/changelogs/@pnpm!store.create-cafs-store@1100.0.36.md new file mode 100644 index 0000000000..d07fc28dbf --- /dev/null +++ b/.changeset/changelogs/@pnpm!store.create-cafs-store@1100.0.36.md @@ -0,0 +1,10 @@ +## 1100.0.36 + +### Patch Changes + +- Updated dependencies: + - @pnpm/building.pkg-requires-build@1100.0.21 + - @pnpm/fetching.fetcher-base@1100.2.13 + - @pnpm/fs.indexed-pkg-importer@1100.0.35 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.controller-types@1101.3.4 diff --git a/.changeset/changelogs/@pnpm!store.file-mode@1100.0.2.md b/.changeset/changelogs/@pnpm!store.file-mode@1100.0.2.md new file mode 100644 index 0000000000..d144a6b37c --- /dev/null +++ b/.changeset/changelogs/@pnpm!store.file-mode@1100.0.2.md @@ -0,0 +1,5 @@ +## 1100.0.2 + +### Patch Changes + +- Fixed `pnpm install` failing on macOS with `EISDIR` when it creates store directories in a group-writable store under a umask that removes owner read, such as `0o477`. diff --git a/.changeset/changelogs/@pnpm!store.index@1101.0.2.md b/.changeset/changelogs/@pnpm!store.index@1101.0.2.md deleted file mode 100644 index 67235d0581..0000000000 --- a/.changeset/changelogs/@pnpm!store.index@1101.0.2.md +++ /dev/null @@ -1,5 +0,0 @@ -## 1101.0.2 - -### Patch Changes - -- An install that adds nothing to the store no longer changes the modification time of the store directory. CI caches that check modification times, such as GitLab's, no longer re-upload an unchanged store [#16929](https://github.com/pnpm/pnpm/issues/16929). diff --git a/.changeset/changelogs/@pnpm!store.index@1101.0.3.md b/.changeset/changelogs/@pnpm!store.index@1101.0.3.md new file mode 100644 index 0000000000..cfcc8962fe --- /dev/null +++ b/.changeset/changelogs/@pnpm!store.index@1101.0.3.md @@ -0,0 +1,6 @@ +## 1101.0.3 + +### Patch Changes + +- Updated dependencies: + - @pnpm/store.file-mode@1100.0.2 diff --git a/.changeset/changelogs/@pnpm!store.path@1100.1.3.md b/.changeset/changelogs/@pnpm!store.path@1100.1.3.md new file mode 100644 index 0000000000..d489fb661e --- /dev/null +++ b/.changeset/changelogs/@pnpm!store.path@1100.1.3.md @@ -0,0 +1,5 @@ +## 1100.1.3 + +### Patch Changes + +- Fixed the README usage examples to match these packages' current APIs. diff --git a/.changeset/changelogs/@pnpm!store.pkg-finder@1100.0.40.md b/.changeset/changelogs/@pnpm!store.pkg-finder@1100.0.40.md deleted file mode 100644 index 4a89b632de..0000000000 --- a/.changeset/changelogs/@pnpm!store.pkg-finder@1100.0.40.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1100.0.40 - -### Patch Changes - -- Updated dependencies: - - @pnpm/fetching.directory-fetcher@1100.0.39 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!store.pkg-finder@1100.0.41.md b/.changeset/changelogs/@pnpm!store.pkg-finder@1100.0.41.md new file mode 100644 index 0000000000..04bfdc00fe --- /dev/null +++ b/.changeset/changelogs/@pnpm!store.pkg-finder@1100.0.41.md @@ -0,0 +1,10 @@ +## 1100.0.41 + +### Patch Changes + +- Updated dependencies: + - @pnpm/fetching.directory-fetcher@1100.0.40 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.index@1101.0.3 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!testing.temp-store@1101.0.11.md b/.changeset/changelogs/@pnpm!testing.temp-store@1101.0.11.md deleted file mode 100644 index 6a51298e12..0000000000 --- a/.changeset/changelogs/@pnpm!testing.temp-store@1101.0.11.md +++ /dev/null @@ -1,8 +0,0 @@ -## 1101.0.11 - -### Patch Changes - -- Updated dependencies: - - @pnpm/installing.client@1100.3.16 - - @pnpm/store.controller@1102.2.5 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!testing.temp-store@1101.0.12.md b/.changeset/changelogs/@pnpm!testing.temp-store@1101.0.12.md new file mode 100644 index 0000000000..cccc43f497 --- /dev/null +++ b/.changeset/changelogs/@pnpm!testing.temp-store@1101.0.12.md @@ -0,0 +1,13 @@ +## 1101.0.12 + +### Patch Changes + +- The temporary store now addresses the test registry at `/npm/`. + +- Updated dependencies: + - @pnpm/installing.client@1100.3.17 + - @pnpm/resolving.resolver-base@1101.3.3 + - @pnpm/store.controller@1102.2.6 + - @pnpm/store.controller-types@1101.3.4 + - @pnpm/store.index@1101.0.3 + - @pnpm/testing.registry-mock@1100.0.16 diff --git a/.changeset/changelogs/@pnpm!types@1102.1.2.md b/.changeset/changelogs/@pnpm!types@1102.1.2.md new file mode 100644 index 0000000000..484cf5dfd7 --- /dev/null +++ b/.changeset/changelogs/@pnpm!types@1102.1.2.md @@ -0,0 +1,5 @@ +## 1102.1.2 + +### Patch Changes + +- pnpm now recognizes `externalDependencies` and `autoInstallPeersFromHighestMatch` in `pnpm-workspace.yaml` without warning and forwards both settings to `pnpm install`. Previously, setting `externalDependencies` in `pnpm-workspace.yaml` with `nodeLinker: hoisted` crashed `pnpm install` with `externalDependencies.has is not a function` [pnpm/tasks#166](https://github.com/pnpm/tasks/issues/166). diff --git a/.changeset/changelogs/@pnpm!win-arm64@11.28.6.md b/.changeset/changelogs/@pnpm!win-arm64@11.28.6.md deleted file mode 100644 index 6e930147b6..0000000000 --- a/.changeset/changelogs/@pnpm!win-arm64@11.28.6.md +++ /dev/null @@ -1 +0,0 @@ -## 11.28.6 diff --git a/.changeset/changelogs/@pnpm!win-arm64@11.28.7.md b/.changeset/changelogs/@pnpm!win-arm64@11.28.7.md new file mode 100644 index 0000000000..a3ead108aa --- /dev/null +++ b/.changeset/changelogs/@pnpm!win-arm64@11.28.7.md @@ -0,0 +1 @@ +## 11.28.7 diff --git a/.changeset/changelogs/@pnpm!win-x64@11.28.6.md b/.changeset/changelogs/@pnpm!win-x64@11.28.6.md deleted file mode 100644 index 6e930147b6..0000000000 --- a/.changeset/changelogs/@pnpm!win-x64@11.28.6.md +++ /dev/null @@ -1 +0,0 @@ -## 11.28.6 diff --git a/.changeset/changelogs/@pnpm!win-x64@11.28.7.md b/.changeset/changelogs/@pnpm!win-x64@11.28.7.md new file mode 100644 index 0000000000..a3ead108aa --- /dev/null +++ b/.changeset/changelogs/@pnpm!win-x64@11.28.7.md @@ -0,0 +1 @@ +## 11.28.7 diff --git a/.changeset/changelogs/@pnpm!worker@1100.4.10.md b/.changeset/changelogs/@pnpm!worker@1100.4.10.md new file mode 100644 index 0000000000..353d3acba8 --- /dev/null +++ b/.changeset/changelogs/@pnpm!worker@1100.4.10.md @@ -0,0 +1,12 @@ +## 1100.4.10 + +### Patch Changes + +- Added the `maxTarballUnpackedSize` setting. `pnpm install` fails with `ERR_PNPM_TARBALL_TOO_LARGE` when the files of one package unpack to more than this many bytes, 4 GiB by default [pnpm/tasks#81](https://github.com/pnpm/tasks/issues/81). + +- Updated dependencies: + - @pnpm/building.pkg-requires-build@1100.0.21 + - @pnpm/fs.symlink-dependency@1100.0.25 + - @pnpm/store.cafs@1100.3.8 + - @pnpm/store.create-cafs-store@1100.0.36 + - @pnpm/store.index@1101.0.3 diff --git a/.changeset/changelogs/@pnpm!worker@1100.4.9.md b/.changeset/changelogs/@pnpm!worker@1100.4.9.md deleted file mode 100644 index 9b7bf890ad..0000000000 --- a/.changeset/changelogs/@pnpm!worker@1100.4.9.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1100.4.9 - -### Patch Changes - -- Updated dependencies: - - @pnpm/store.create-cafs-store@1100.0.35 - - @pnpm/store.index@1101.0.2 diff --git a/.changeset/changelogs/@pnpm!workspace.commands@1100.2.10.md b/.changeset/changelogs/@pnpm!workspace.commands@1100.2.10.md new file mode 100644 index 0000000000..09207598a6 --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.commands@1100.2.10.md @@ -0,0 +1,11 @@ +## 1100.2.10 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cli.meta@1100.1.3 + - @pnpm/cli.utils@1101.0.33 + - @pnpm/config.reader@1102.3.6 + - @pnpm/engine.pm.commands@1102.1.10 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-writer@1100.0.21 diff --git a/.changeset/changelogs/@pnpm!workspace.commands@1100.2.9.md b/.changeset/changelogs/@pnpm!workspace.commands@1100.2.9.md deleted file mode 100644 index 3e26b23bec..0000000000 --- a/.changeset/changelogs/@pnpm!workspace.commands@1100.2.9.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1100.2.9 - -### Patch Changes - -- Updated dependencies: - - @pnpm/config.reader@1102.3.5 - - @pnpm/engine.pm.commands@1102.1.9 diff --git a/.changeset/changelogs/@pnpm!workspace.injected-deps-syncer@1100.0.44.md b/.changeset/changelogs/@pnpm!workspace.injected-deps-syncer@1100.0.44.md deleted file mode 100644 index 687b89d7af..0000000000 --- a/.changeset/changelogs/@pnpm!workspace.injected-deps-syncer@1100.0.44.md +++ /dev/null @@ -1,11 +0,0 @@ -## 1100.0.44 - -### Patch Changes - -- With `sharedWorkspaceLockfile: false`, an injected workspace package installed in the same run as its dependent now holds only the files its `files` field selects. The copy used to also hold other files of the project, such as `tsconfig.json` [#16683](https://github.com/pnpm/pnpm/issues/16683). - -- A script listed in `syncInjectedDepsAfterScripts` no longer fails when it rewrites `package.json` while pnpm is copying its edits into the injected copies. The sync after the script now replaces a half-copied manifest. - -- Updated dependencies: - - @pnpm/fetching.directory-fetcher@1100.0.39 - - @pnpm/workspace.projects-reader@1101.1.4 diff --git a/.changeset/changelogs/@pnpm!workspace.injected-deps-syncer@1100.0.45.md b/.changeset/changelogs/@pnpm!workspace.injected-deps-syncer@1100.0.45.md new file mode 100644 index 0000000000..bea0326a4d --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.injected-deps-syncer@1100.0.45.md @@ -0,0 +1,22 @@ +## 1100.0.45 + +### Patch Changes + +- A script listed in `syncInjectedDepsAfterScripts` now keeps a package's links to its own files as links in the injected copies, the way `pnpm install` writes them. It no longer fails when the package links to one directory twice or links back to a directory above the link. `pnpm install` with `deployAllFiles` no longer fails on such a link back either. + +- An injected workspace package now keeps only the files its manifest lists after a lifecycle script or a script named in `syncInjectedDepsAfterScripts` rebuilds it. Before, these refreshes copied every file of the package directory into the injected copy, including files that `files` or `.npmignore` leave out. With `deployAllFiles: true` the copy still gets every file. + +- With `sharedWorkspaceLockfile: false`, a script listed in `syncInjectedDepsAfterScripts` now updates the injected copies of the package it ran in. Before, those copies kept the files from the last install. + +- A script listed in `syncInjectedDepsAfterScripts` now updates the injected copies of a package that publishes from `publishConfig.directory`. Before, those copies kept the files from the last install. + +- Updated dependencies: + - @pnpm/bins.linker@1100.0.38 + - @pnpm/bins.remover@1100.0.29 + - @pnpm/bins.resolver@1100.0.18 + - @pnpm/fetching.directory-fetcher@1100.0.40 + - @pnpm/fs.indexed-pkg-importer@1100.0.35 + - @pnpm/installing.modules-yaml@1101.0.7 + - @pnpm/pkg-manifest.reader@1100.0.23 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.projects-reader@1101.1.5 diff --git a/.changeset/changelogs/@pnpm!workspace.package-patterns@1100.0.2.md b/.changeset/changelogs/@pnpm!workspace.package-patterns@1100.0.2.md deleted file mode 100644 index 237b8cf551..0000000000 --- a/.changeset/changelogs/@pnpm!workspace.package-patterns@1100.0.2.md +++ /dev/null @@ -1,5 +0,0 @@ -## 1100.0.2 - -### Patch Changes - -- Sped up workspace discovery with subtree exclusions such as `!generated/**`. diff --git a/.changeset/changelogs/@pnpm!workspace.project-manifest-reader@1100.1.4.md b/.changeset/changelogs/@pnpm!workspace.project-manifest-reader@1100.1.4.md new file mode 100644 index 0000000000..b9b19e5315 --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.project-manifest-reader@1100.1.4.md @@ -0,0 +1,8 @@ +## 1100.1.4 + +### Patch Changes + +- Updated dependencies: + - @pnpm/pkg-manifest.utils@1100.4.10 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-writer@1100.0.21 diff --git a/.changeset/changelogs/@pnpm!workspace.project-manifest-writer@1100.0.21.md b/.changeset/changelogs/@pnpm!workspace.project-manifest-writer@1100.0.21.md new file mode 100644 index 0000000000..e8faa52da1 --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.project-manifest-writer@1100.0.21.md @@ -0,0 +1,6 @@ +## 1100.0.21 + +### Patch Changes + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!workspace.projects-filter@1100.0.49.md b/.changeset/changelogs/@pnpm!workspace.projects-filter@1100.0.49.md deleted file mode 100644 index d97205809f..0000000000 --- a/.changeset/changelogs/@pnpm!workspace.projects-filter@1100.0.49.md +++ /dev/null @@ -1,7 +0,0 @@ -## 1100.0.49 - -### Patch Changes - -- Updated dependencies: - - @pnpm/workspace.projects-graph@1100.0.44 - - @pnpm/workspace.projects-reader@1101.1.4 diff --git a/.changeset/changelogs/@pnpm!workspace.projects-filter@1100.0.50.md b/.changeset/changelogs/@pnpm!workspace.projects-filter@1100.0.50.md new file mode 100644 index 0000000000..1b1b6bf551 --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.projects-filter@1100.0.50.md @@ -0,0 +1,8 @@ +## 1100.0.50 + +### Patch Changes + +- Updated dependencies: + - @pnpm/workspace.projects-graph@1100.0.45 + - @pnpm/workspace.projects-reader@1101.1.5 + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 diff --git a/.changeset/changelogs/@pnpm!workspace.projects-graph@1100.0.44.md b/.changeset/changelogs/@pnpm!workspace.projects-graph@1100.0.44.md deleted file mode 100644 index 86d646aa7b..0000000000 --- a/.changeset/changelogs/@pnpm!workspace.projects-graph@1100.0.44.md +++ /dev/null @@ -1,6 +0,0 @@ -## 1100.0.44 - -### Patch Changes - -- Updated dependencies: - - @pnpm/resolving.npm-resolver@1104.2.6 diff --git a/.changeset/changelogs/@pnpm!workspace.projects-graph@1100.0.45.md b/.changeset/changelogs/@pnpm!workspace.projects-graph@1100.0.45.md new file mode 100644 index 0000000000..1763ae1afb --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.projects-graph@1100.0.45.md @@ -0,0 +1,9 @@ +## 1100.0.45 + +### Patch Changes + +- `pnpm run`, `pnpm exec`, and `pnpm restart` now pass the install flags they were given, such as `--lockfile-dir`, `--modules-dir`, `--store-dir`, `--offline`, and `--ignore-scripts`, to the `pnpm install` that `verifyDepsBeforeRun: install` starts. The check that runs before a script now holds the workspace projects the script's project depends on. It agrees with the repeat-install check on which projects a filtered install left uninstalled, including with per-project lockfiles. Workspace dependencies declared with `link:` are now included in the workspace project graph, so `--filter=...` selects them and, with `sharedWorkspaceLockfile: false` and `injectWorkspacePackages: true`, the check before a script still requires them to be installed. A filtered install no longer forgets the ignored build scripts of the projects it did not select. + +- Updated dependencies: + - @pnpm/resolving.npm-resolver@1104.2.7 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!workspace.projects-reader@1101.1.4.md b/.changeset/changelogs/@pnpm!workspace.projects-reader@1101.1.4.md deleted file mode 100644 index 6329776097..0000000000 --- a/.changeset/changelogs/@pnpm!workspace.projects-reader@1101.1.4.md +++ /dev/null @@ -1,8 +0,0 @@ -## 1101.1.4 - -### Patch Changes - -- Sped up workspace discovery with subtree exclusions such as `!generated/**`. - -- Updated dependencies: - - @pnpm/workspace.package-patterns@1100.0.2 diff --git a/.changeset/changelogs/@pnpm!workspace.projects-reader@1101.1.5.md b/.changeset/changelogs/@pnpm!workspace.projects-reader@1101.1.5.md new file mode 100644 index 0000000000..65feae4e3c --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.projects-reader@1101.1.5.md @@ -0,0 +1,8 @@ +## 1101.1.5 + +### Patch Changes + +- Updated dependencies: + - @pnpm/cli.utils@1101.0.33 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.project-manifest-reader@1100.1.4 diff --git a/.changeset/changelogs/@pnpm!workspace.projects-sorter@1101.0.2.md b/.changeset/changelogs/@pnpm!workspace.projects-sorter@1101.0.2.md new file mode 100644 index 0000000000..f225c0114f --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.projects-sorter@1101.0.2.md @@ -0,0 +1,6 @@ +## 1101.0.2 + +### Patch Changes + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!workspace.root-finder@1100.1.4.md b/.changeset/changelogs/@pnpm!workspace.root-finder@1100.1.4.md new file mode 100644 index 0000000000..2ac3f5e297 --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.root-finder@1100.1.4.md @@ -0,0 +1,6 @@ +## 1100.1.4 + +### Patch Changes + +- Updated dependencies: + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 diff --git a/.changeset/changelogs/@pnpm!workspace.state@1100.0.51.md b/.changeset/changelogs/@pnpm!workspace.state@1100.0.51.md new file mode 100644 index 0000000000..ed7e241021 --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.state@1100.0.51.md @@ -0,0 +1,15 @@ +## 1100.0.51 + +### Patch Changes + +- `pnpm run`, `pnpm exec`, and `pnpm restart` now pass the install flags they were given, such as `--lockfile-dir`, `--modules-dir`, `--store-dir`, `--offline`, and `--ignore-scripts`, to the `pnpm install` that `verifyDepsBeforeRun: install` starts. The check that runs before a script now holds the workspace projects the script's project depends on. It agrees with the repeat-install check on which projects a filtered install left uninstalled, including with per-project lockfiles. Workspace dependencies declared with `link:` are now included in the workspace project graph, so `--filter=...` selects them and, with `sharedWorkspaceLockfile: false` and `injectWorkspacePackages: true`, the check before a script still requires them to be installed. A filtered install no longer forgets the ignored build scripts of the projects it did not select. + +- The `verifyDepsBeforeRun` check now notices an edited manifest, lockfile, or patch file even when the edit kept the file's modification time, as `cp -p`, `rsync -a`, or an archive extraction leave it. + + After `pnpm install --filter`, `pnpm run` and `pnpm exec` now notice a changed manifest in a project that install left out. A filtered command for a project that install did not reinstall after a lockfile change now installs first. + + `pnpm dedupe --check` and `pnpm install --dry-run` no longer record the dependencies as installed, so the `verifyDepsBeforeRun` check that follows them still notices outdated dependencies. + +- Updated dependencies: + - @pnpm/config.reader@1102.3.6 + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!workspace.task-scheduler@1100.0.5.md b/.changeset/changelogs/@pnpm!workspace.task-scheduler@1100.0.5.md new file mode 100644 index 0000000000..3ad6cb7762 --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.task-scheduler@1100.0.5.md @@ -0,0 +1,6 @@ +## 1100.0.5 + +### Patch Changes + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!workspace.workspace-manifest-reader@1100.3.0.md b/.changeset/changelogs/@pnpm!workspace.workspace-manifest-reader@1100.3.0.md new file mode 100644 index 0000000000..2b2d82b136 --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.workspace-manifest-reader@1100.3.0.md @@ -0,0 +1,10 @@ +## 1100.3.0 + +### Minor Changes + +- `pmOnFail` and `lockfileDir` in `pnpm-workspace.yaml` now stay in force when another setting in that file cannot be read. pnpm used to switch to the pinned version despite `pmOnFail: ignore` in that case. + +### Patch Changes + +- Updated dependencies: + - @pnpm/types@1102.1.2 diff --git a/.changeset/changelogs/@pnpm!workspace.workspace-manifest-writer@1100.2.7.md b/.changeset/changelogs/@pnpm!workspace.workspace-manifest-writer@1100.2.7.md deleted file mode 100644 index 7161674934..0000000000 --- a/.changeset/changelogs/@pnpm!workspace.workspace-manifest-writer@1100.2.7.md +++ /dev/null @@ -1,9 +0,0 @@ -## 1100.2.7 - -### Patch Changes - -- `catalogPrune` no longer removes catalog entries that `pnpm-lock.yaml` still records for workspace projects missing from disk. This affected `pnpm remove` and installs that leave the lockfile unchanged, such as frozen installs. Before, a following frozen install failed with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` [#16679](https://github.com/pnpm/pnpm/issues/16679). - -- Updated dependencies: - - @pnpm/building.policy@1100.1.7 - - @pnpm/config.version-policy@1100.2.8 diff --git a/.changeset/changelogs/@pnpm!workspace.workspace-manifest-writer@1100.2.8.md b/.changeset/changelogs/@pnpm!workspace.workspace-manifest-writer@1100.2.8.md new file mode 100644 index 0000000000..9285b3ff8f --- /dev/null +++ b/.changeset/changelogs/@pnpm!workspace.workspace-manifest-writer@1100.2.8.md @@ -0,0 +1,10 @@ +## 1100.2.8 + +### Patch Changes + +- Updated dependencies: + - @pnpm/building.policy@1100.1.8 + - @pnpm/config.version-policy@1100.2.9 + - @pnpm/lockfile.types@1100.1.5 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 diff --git a/.changeset/changelogs/pacquet@12.14.0.md b/.changeset/changelogs/pacquet@12.14.0.md deleted file mode 100644 index 1de573ced1..0000000000 --- a/.changeset/changelogs/pacquet@12.14.0.md +++ /dev/null @@ -1,51 +0,0 @@ -## 12.14.0 - -This release adds the `sideEffectsCache.exclude` setting, stops `pnpm install` from waiting on the daily update check, and keeps pnpm from aborting with a core dump when the reader of its output exits. - -### Minor Changes - -- Added the `sideEffectsCache.exclude` setting for packages whose build depends on something pnpm cannot include in the cache key, such as the system libraries a native addon links against. pnpm builds the listed packages in every project and never restores or saves their builds through the side-effects cache, locally or on a `remoteCache` server. Under the global virtual store, each project gets its own copy of these packages and of the packages that depend on them. Entries use the same `name`, `@scope/*`, and `name@version` patterns as `minimumReleaseAgeExclude` [#5271](https://github.com/pnpm/pnpm/issues/5271). - -- `pnpm login` now prints the `npm-notice` response header during web-based login. Registries use it to show the verification code that completes the sign-in in the browser. - -### Patch Changes - -#### Installing packages - -- `pnpm install` and `pnpm add` no longer wait for the daily update check. If the command finishes first, pnpm skips the update notice and checks again next time. On a registry that accepted the connection but never answered, an install that had nothing to do used to take minutes [#16839](https://github.com/pnpm/pnpm/issues/16839). - -- `pnpm install`, `pnpm add` and `pnpm update` now reuse `pnpm-lock.yaml` when the workspace configures a catalog entry that no dependency references, such as an unused entry or one whose package an `overrides` entry replaces. Before, every resolution in such a workspace resolved all dependencies again from the registry [#16923](https://github.com/pnpm/pnpm/issues/16923). - -- `pnpm install` now looks up a git dependency's branch or tag once per install, even when many workspace projects depend on it. With `linkWorkspacePackages` enabled, it used to run `git ls-remote` once per project [#16899](https://github.com/pnpm/pnpm/issues/16899). - -- A filtered install, such as `pnpm install --filter `, now keeps the `pnpm-lock.yaml` entries of workspace projects that are missing from disk, as in a sparse checkout. Their importers, packages, and catalog entries stay even when the filter matches every project on disk [#16931](https://github.com/pnpm/pnpm/issues/16931). - -- pnpm now decides whether a dependency that a package also declares as an optional peer is linked as a dependency or as a peer from the shallowest path that reaches the package. When an existing lockfile records such a dependency as a regular dependency and a newly added dependency now provides the peer, pnpm records it as a peer, as a fresh install does. The lockfile entry of such a package can change on the next install [#16901](https://github.com/pnpm/pnpm/issues/16901). - -- An install that adds nothing to the store no longer changes the modification time of the store directory. CI caches that check modification times, such as GitLab's, no longer re-upload an unchanged store [#16929](https://github.com/pnpm/pnpm/issues/16929). - -#### Running commands and scripts - -- pnpm no longer aborts with a core dump when the reader of its output has exited, as in `pnpm list | head -1` or `pnpm start 2>&1 | head -1`. The command finishes with its usual exit code, and a failing script's exit code is kept. A write to stdout that fails for another reason, such as a full disk, ends the command with exit code 1 [#16904](https://github.com/pnpm/pnpm/issues/16904) [pnpm/tasks#132](https://github.com/pnpm/tasks/issues/132). - -- On Windows, `pnpm exec`, `pnpm run`, and commands such as `pnpm nx` now return when the command they run exits, even if it left a detached process running and pnpm's output is redirected or piped. Previously a shell reading that output waited until the detached process, such as the Nx daemon, exited [#16930](https://github.com/pnpm/pnpm/issues/16930). - -- Commands that do not write the project manifest now leave a missing `package.json` absent. This covers queries such as `pnpm why` and `pnpm outdated`, `pnpm fetch`, `pnpm dedupe --check`, and commands that exit with an error, such as `pnpm rt ls`. These commands used to create one from the initialization template. `pnpm sbom` run from a lockfile alone now reports the root component as `unknown` with version `0.0.0` [#16907](https://github.com/pnpm/pnpm/issues/16907). - -- `pnpm run` now reports a failed script as a JSON record under `--reporter=ndjson`. It printed a plain `[ELIFECYCLE]` line to stderr. - -- `pnpm run` no longer prints `[ELIFECYCLE] Command failed with exit code N.` to stderr when a script fails under `--reporter=silent`, `--silent`, or `--loglevel=silent`. - -- `pnpm pipeline --dry-run` no longer writes a run report when no projects are selected. With `--json` it prints `{"tasks": []}` [pnpm/tasks#126](https://github.com/pnpm/tasks/issues/126). - -#### Packing and publishing - -- `pnpm pack` and `pnpm publish` now ship the whole gitignored directory that `main`, `browser`, or `bin` points into, as npm does. Previously only the `main` and `bin` files themselves were packed, and a gitignored `browser` file was left out [#16908](https://github.com/pnpm/pnpm/issues/16908). - -- `pnpm pack` and `pnpm publish` now honor a `.npmignore` or `.gitignore` inside a subdirectory when `package.json` has a `files` field. The package root's ignore files and those inherited from the workspace are still skipped [#16909](https://github.com/pnpm/pnpm/issues/16909). - -#### Setting up pnpm and toolchains - -- `--registry`, `--https-proxy`, `--http-proxy`, and `--no-proxy` now apply when pnpm resolves and downloads the pnpm version a project pins in `packageManager`. Before, these lookups went to `https://registry.npmjs.org/`, which a firewall that only allows a private registry blocks [#16911](https://github.com/pnpm/pnpm/discussions/16911). - -- On Windows, `pnpm install` now installs the Rust toolchain for rustup's default host, so a machine set up with `rustup set default-host x86_64-pc-windows-gnu` gets the MinGW toolchain. Without a default host, pnpm installs the MSVC toolchain for the machine's architecture, as rustup does. This includes a pnpm built for MinGW, such as the MSYS2 package, which has installed the MinGW toolchain since 12.13.0. An x64 pnpm on ARM64 Windows now installs the ARM64 toolchain [#16854](https://github.com/pnpm/pnpm/issues/16854). diff --git a/.changeset/changelogs/pacquet@12.15.0.md b/.changeset/changelogs/pacquet@12.15.0.md new file mode 100644 index 0000000000..64fbf8c51f --- /dev/null +++ b/.changeset/changelogs/pacquet@12.15.0.md @@ -0,0 +1,188 @@ +## 12.15.0 + +This release lets `pnpm-workspace.yaml` delegate settings to other files and config dependencies with `include`, adds `lockfile.integrityTarget: tar` and tar-registry support, accepts zstd-compressed registry responses, and honors `SOURCE_DATE_EPOCH` in `pnpm deploy` and `pnpm install`. It also rejects registry metadata that names a different package than the one requested and speeds up workspace installs and macOS file linking. + +### Minor Changes + +- `pnpm-workspace.yaml` can now delegate settings to other YAML files and to config dependencies through a new `include` field. Each source may define only the settings the root manifest delegates to it. Every setting has one owner. Commands that change settings write each one to the file that owns it. A relative path in an included file is relative to that file. See [Splitting Settings Across Files](https://pnpm.io/config-includes). + + A config dependency supplies its settings through the YAML file named in the `pnpm.config` field of its `package.json`. The new `bootConfig` setting sets the release-age and trust policy pnpm uses to install config dependencies and the pnpm version from `packageManager`. + +- Added the `lockfile.integrityTarget` setting. With `integrityTarget: tar`, `pnpm-lock.yaml` pins the hash of every package's uncompressed tar, so the lockfile no longer changes when a registry recompresses its tarballs or serves them as tars. pnpm learns a version's tar hash from the store or by downloading it once. `pnpm audit signatures` ties the tar hash to the signed `.tgz` integrity. + + ```yaml title="pnpm-workspace.yaml" + lockfile: + integrityTarget: tar + ``` + +- pnpm can now install from a registry that serves uncompressed tars with zstd or gzip content coding. `pnpm-lock.yaml` records the hash of each tar. Declare such a registry with `serverType: pnpr` in `registries` to keep tarball URLs out of the lockfile. See [Tar registries](https://pnpm.io/registries#tar-registries). + + pnpm now decodes the content coding of tarball downloads itself. It rejects a zstd response whose window is larger than 8 MiB. + + Added the `maxTarballUnpackedSize` setting. It caps the bytes the files of one package may unpack to, 4 GiB by default. + +- Registry revisions now always pin the hash of the uncompressed tar, the original included. pnpm records an original selected through the revision protocol, for example with a `+r0` specifier, as `revision: 0` in the lockfile and fetches it from the registry's digest route. pnpm checks a revision's tar whether the registry sends it as a tar, gzip, or zstd. Revision metadata must list revision 0 and mark the selected revision. pnpm rejects incomplete revision metadata with `ERR_PNPM_MALFORMED_METADATA`. + +- pnpm now accepts zstd-compressed responses. Registries that serve zstd send package metadata in fewer bytes than with gzip, most of all the full metadata that settings such as `minimumReleaseAge` and `trustPolicy` read. + +- `pnpm deploy` and `pnpm install` now use the `SOURCE_DATE_EPOCH` environment variable as an upper bound for timestamps in `node_modules/.modules.yaml` and `node_modules/.pnpm-workspace-state-v1.json`. With an equivalently prepared deploy target and an epoch no later than the timestamps that would otherwise be recorded, deploying the same project twice produces identical files [#17171](https://github.com/pnpm/pnpm/issues/17171). + +- `pnpm update --interactive` now highlights the row under the cursor in cyan while keeping the colors of its version changes. + +### Patch Changes + +#### Security + +- pnpm now fails with `ERR_PNPM_REGISTRY_NAME_MISMATCH` if a registry returns metadata for a package other than the one requested. Before, pnpm installed the package under the name in the metadata, so `allowBuilds` rules for the requested package did not apply to it. + +- `minimumReleaseAgeExcludePrune` and `trustPolicyExcludePrune` now keep exclusions for resolved configuration dependencies and their transitive dependencies [#17142](https://github.com/pnpm/pnpm/issues/17142). + +#### Resolving dependencies + +- When `pnpm install` resolves a dependency again, it now reuses a version that the install already resolved for the same package, as a fresh install does. Before, it kept the version the lockfile pinned and added a second copy of the package. A locked version still stays when nothing else in the install prefers another version. To pin a transitive dependency on purpose, use `overrides` [#17084](https://github.com/pnpm/pnpm/issues/17084). + +- When another workspace project adds a different version of a package, a project's auto-installed peer on that package now moves to the version a fresh install picks. It used to stay on its locked version while any other project still accepted that version [#17058](https://github.com/pnpm/pnpm/issues/17058). + +- A package that lists the same dependency in `dependencies` and as an optional peer now gets the peer bound when a project adds a provider for it later. The lockfile now records every peer a package declares, including one its own dependency supplies [#17056](https://github.com/pnpm/pnpm/issues/17056). + +- `pnpm install --prod` and `pnpm deploy --prod` no longer drop a dependency that a package declares both as an optional peer and as its own dependency, when the package resolved it as its own dependency and a dev dependency provides the same package under another alias. + +- `pnpm install` with an existing lockfile and a second `pnpm dedupe` now keep optional peer bindings that point into a dependency cycle or back into the dependent package. Before, the second run dropped the optional peer binding from the lockfile snapshot key. + +- `pnpm install` and `pnpm dedupe` now preserve own-dependency and peer-dependency bindings when reusing a lockfile whose peer suffixes were hashed by `peersSuffixMaxLength`. + + Upgrading a direct dependency in one workspace project now refreshes matching transitive pins in sibling projects during the same `pnpm install` pass. + +- With `resolvePeersFromWorkspaceRoot: false`, a workspace project no longer binds a peer to a version that only another project's dependencies provide. pnpm now auto-installs a version that satisfies the peer range for that project. Before, the project got a version outside the range, with no peer warning. + +- `pnpm install`, `pnpm add`, and `pnpm update` now reuse the lockfile's resolution for dependencies that take part in a dependency cycle, such as `mlly` and `pkg-types`. They re-resolved those packages and everything that depends on them from the registry before [pnpm/tasks#130](https://github.com/pnpm/tasks/issues/130). + +- pnpm now measures a `pnpm.overrides` entry written as a `workspace:` path, such as `workspace:./packages/foo`, from the directory holding `pnpm-workspace.yaml`. It used to be measured from each package the override rewrote. The install then linked a directory that does not exist, or failed if workspace packages were injected [#17010](https://github.com/pnpm/pnpm/issues/17010). + +- `pnpm install` now removes config dependencies that are no longer declared, including when the entire `configDependencies` setting is removed. Frozen installs reject a lockfile that still records removed config dependencies. + +- `pnpm install --update-checksums` now re-resolves every locked package and records the integrity the registry reports now. + +- `pnpm add` and `pnpm install` now accept `gist:` dependencies and GitHub Gist URLs, and install them from the gist's archive. `pnpm pkg fix` normalizes a `gist:` repository the way `npm pkg fix` does, `pnpm licenses` links a gist package to its gist page, and `pnpm sbom` reports the repository of a package whose `repository` field is a `gist:` shorthand. + +- `pnpm add` now reads the package name correctly from a tarball URL under a registry URL that has a path, such as `https://example.com/npm/`, and installs a registry tarball URL with a malformed percent escape as a plain tarball URL. Before, the registry path became part of the name, so a scoped package failed with `ERR_PNPM_INVALID_PACKAGE_NAME`. + +- With `minimumReleaseAge` set, pnpm now revalidates a package's cached full metadata with a single ETag request so an unchanged registry answers with `304`, even when the registry does not list a publish time for every version. Previously, pnpm downloaded that metadata again whenever the cached copy was older than `minimumReleaseAge`. With `resolutionMode` set to `lowest-direct` or `time-based`, pnpm also reuses that metadata across every workspace project that depends on the package. + +- When pnpm revalidates cached registry metadata, it now sends `If-Modified-Since` when the registry's modification time is a date without a time, and no longer crashes when the modification time is before 1970. + +- Added protocol versioning between the pnpm client and pnpr server, verified applied resolution policies in resolution responses, and preserved structured error codes across the wire. + +#### Performance + +- Sped up `pnpm install` on macOS. On a 12-core Mac, installing 1352 packages from a warm store took 1.3 seconds, down from 2.2. pnpm now writes package files into `node_modules` with 4 threads on macOS, whatever the number of CPU cores. Set the `PNPM_MACOS_LINK_THREADS` environment variable to use a different number of threads, or to `0` to write files with the threads pnpm uses for the rest of the install. + +- `pnpm install` is faster and uses less memory in large workspaces with `sharedWorkspaceLockfile: false`. Each project's install no longer reads the manifests of every other workspace project again. Installs that wait for their workspace dependencies now count toward `workspaceConcurrency` [#16966](https://github.com/pnpm/pnpm/issues/16966). + +- Sped up workspace project discovery, dependency resolution, lockfile up-to-date checks, and peer dependency checks in large workspaces [#16839](https://github.com/pnpm/pnpm/issues/16839) [pnpm/tasks#9](https://github.com/pnpm/tasks/issues/9). On a workspace with 6,833 projects, the lockfile up-to-date check uses about 1 second less CPU time. The peer dependency check at the end of an install now checks linked workspace projects against the manifests already in memory, without reading each `package.json` again. + +- Sped up bin linking and build planning during `pnpm install`. Package binary targets and shebang runtimes are now precalculated during tarball extraction and served in `pnpr` registry metadata alongside verified `requiresBuild`, tarball size, and file-count metadata. + +- Lowered peak memory when pnpm downloads many packuments, such as during lockfile verification with `trustPolicy` on Linux. In one 1,800-entry workspace, a lockfile update now peaks at 1.8 to 2.0 GB. It peaked at 2.6 to 3.7 GB before [#17020](https://github.com/pnpm/pnpm/issues/17020). + +- `pnpm install` in a Cargo workspace skips crates that an earlier install already unpacked into the store. Before, a repeat install processed every crate in `Cargo.lock` again. `pnpm install --force` unpacks every crate again [pnpm/tasks#69](https://github.com/pnpm/tasks/issues/69). + +#### Linking node_modules and workspaces + +- Concurrent installs that import the same package into one project now all complete. One of them used to fail with `ENOTEMPTY` when its copy of the package collided with the copy another install had already placed [pnpm/tasks#48](https://github.com/pnpm/tasks/issues/48). + +- `pnpm install` now succeeds when `node_modules` is a symlink to an existing directory. Dependency hoisting previously rejected a symlinked `node_modules` as an invalid destination [#17157](https://github.com/pnpm/pnpm/issues/17157). + +- A filtered first install under the isolated linker now links every workspace project by name into `node_modules/.pnpm/node_modules`, not only the selected ones [pnpm/tasks#155](https://github.com/pnpm/tasks/issues/155). + +- With `nodeLinker: hoisted`, a filtered install such as `pnpm --filter app add ` keeps the root `node_modules` links and bins of the workspace projects it did not select. A project with no dependencies of its own lost them until the next full install. + +- `pnpm install --filter` with `nodeLinker: hoisted` and `--prod` or `--dev` now preserves previously installed dependency groups for unselected workspace projects [pnpm/tasks#164](https://github.com/pnpm/tasks/issues/164). Repeat filtered installs also re-resolve when a transitive injected workspace dependency or a linked dependency's version changes. + +- With `sharedWorkspaceLockfile: false`, `pnpm install` now runs the workspace root's pnpmfile for every project, after the project's own pnpmfile. Before, it ran only the pnpmfile in the project's directory. + +- `pnpm install` and `pnpm peers check` now detect peer dependency issues and report linked package versions in linked projects that use `package.json5` or `package.yaml` [pnpm/tasks#172](https://github.com/pnpm/tasks/issues/172). + +- `pnpm install` and `pnpm peers check` no longer report an unmet peer when a workspace package's peer is provided by a remote tarball URL. pnpm now compares the peer range with the version in the tarball's manifest [#17037](https://github.com/pnpm/pnpm/issues/17037). + +- `pnpm prune` now removes extraneous direct packages from `node_modules` when `package.json` and `pnpm-lock.yaml` are already in sync. `pnpm prune` also honors `--filter`, `--recursive`, `sharedWorkspaceLockfile: false`, and the `trustLockfile` setting and `--trust-lockfile` flag. With the lockfile trusted, `pnpm prune --prod` works offline when every package is in the store [#16999](https://github.com/pnpm/pnpm/issues/16999). + +#### Injected workspace packages + +- `pnpm install --frozen-lockfile` now fails with `ERR_PNPM_OUTDATED_LOCKFILE` when a local directory dependency or injected workspace package changes a dependency to a different tarball URL or git commit [#17129](https://github.com/pnpm/pnpm/issues/17129). It also fails when an injected workspace package changes a dependency's named-registry range, such as `work:^2.0.0`, to one the locked version no longer satisfies. + +- `pnpm install --frozen-lockfile` now accepts the lockfile it wrote for a `file:` dependency on a directory without a `package.json`. It also accepts the lockfile for an injected workspace package that bundles a dependency in `bundledDependencies`, lists a dependency in both `dependencies` and `optionalDependencies`, or publishes from a `publishConfig.directory` whose `package.json` lists other dependencies than the project's own. Before, these failed with `ERR_PNPM_OUTDATED_LOCKFILE`. + +- The lockfile now records a `catalog:` peer dependency of an injected workspace package as written in its `package.json`. It recorded the catalog's range before, so editing the catalog changed the consumer's lockfile entry [pnpm/tasks#153](https://github.com/pnpm/tasks/issues/153). + +- `pnpm install` now resolves a git, tarball, or tag dependency of an injected workspace package again when its spec changes. Before, it kept the old version. + +- Repeat installs and `verifyDepsBeforeRun` now re-check projects that inject a modified workspace package, including when `sharedWorkspaceLockfile` is `false` [#17007](https://github.com/pnpm/pnpm/issues/17007), and accept aliased `workspace:` ranges on linked dependencies. + +- An injected workspace package that was linked now becomes a copy when the project that depends on it starts providing one of its peers at a version the package's own workspace context lacks. The link used to stay until that dependency was updated, so the package could not find the peer the project provides [#17057](https://github.com/pnpm/pnpm/issues/17057). + +- An injected workspace package now keeps only the files its manifest lists after a lifecycle script or a script named in `syncInjectedDepsAfterScripts` rebuilds it. Before, these refreshes copied every file of the package directory into the injected copy, including files that `files` or `.npmignore` leave out. With `deployAllFiles: true` the copy still gets every file. + +- A script listed in `syncInjectedDepsAfterScripts` now keeps a package's links to its own files as links in the injected copies, the way `pnpm install` writes them, and updates those copies when `sharedWorkspaceLockfile` is `false`. Before, a directory link the script added became a real directory or went missing with `deployAllFiles`, and with `sharedWorkspaceLockfile: false` the copies kept the files from the last install. + +#### Running scripts and checking dependencies + +- Pressing Ctrl+C during `pnpm -r run` or `pnpm --filter run` no longer reports `ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL`. pnpm now ends with the interrupted script's status, such as 130 for a script that SIGINT ended on Linux or macOS [#16964](https://github.com/pnpm/pnpm/issues/16964). + +- With `enableGlobalVirtualStore`, a Node.js resolve hook that a script registers now sees the importer as `context.parentURL` after pnpm's `NODE_PATH` fallback fails to find a bare specifier. Hooks that resolve tsconfig `paths` aliases from the importer failed with `ERR_MODULE_NOT_FOUND` [#16979](https://github.com/pnpm/pnpm/issues/16979). + +- `pnpm run`, `pnpm exec`, and `pnpm restart` now pass the install flags they were given, such as `--lockfile-dir`, `--modules-dir`, `--store-dir`, `--offline`, and `--ignore-scripts`, to the `pnpm install` that `verifyDepsBeforeRun: install` starts. When that install leaves the dependencies out of date, pnpm now prints a warning. + +- A repeated `pnpm install --filter` now finishes without reinstalling when the selected projects are up to date, and so does `pnpm install` once filtered commands have installed every project. After a filtered install, `pnpm run` and `pnpm exec` now install a selected project whose dependencies changed in between [#17011](https://github.com/pnpm/pnpm/issues/17011), require the workspace root when a filtered install with `pruneDirectDependencies: true` skipped it [pnpm/tasks#181](https://github.com/pnpm/tasks/issues/181), and preserve the recorded ignored build scripts of unselected projects. + +- The check that runs before a script now holds the workspace projects that the selected project depends on, including with `sharedWorkspaceLockfile: false` and for workspace dependencies declared with `link:`. `--filter=...` now selects `link:` dependencies as well. In a workspace that has no `package.json` at its root, `pnpm run` and `pnpm exec` no longer reinstall before every command when the dependencies are up to date. + +- `verifyDepsBeforeRun` and repeat `pnpm install` runs now apply `overrides` before comparing a modified `package.json` with `pnpm-lock.yaml` [#17127](https://github.com/pnpm/pnpm/issues/17127). `pnpm install` with `optimisticRepeatInstall` now re-runs when `configDependencies` changed, `verifyDepsBeforeRun` reports `node_modules` out of date when `useGitBranchLockfile` is enabled and the branch lockfile is missing, and in a single-project repository both checks record a successful lockfile check so later runs skip it until the lockfile changes [#16993](https://github.com/pnpm/pnpm/issues/16993). + +- `pnpm install` and `verifyDepsBeforeRun` now compare manifests, lockfiles, and patch files by content hash. They notice an edit that kept the file's modification time, as `cp -p`, `rsync -a`, or an archive extraction leave it, and a patch file that was copied or touched without changing its content no longer marks dependencies as outdated [#16988](https://github.com/pnpm/pnpm/issues/16988). + +#### Deploying, packing, and other commands + +- `pnpm deploy` now deploys `file:` dependencies that live outside the workspace directory. It failed with "Refusing to deploy unsafe lockfile path" [#16983](https://github.com/pnpm/pnpm/issues/16983). + +- `pnpm deploy` now records the peer dependencies of the workspace packages it copies into the deployed lockfile. Before, pnpm rejected that lockfile with `--frozen-lockfile` when a deployed workspace package declared a peer and `injectWorkspacePackages` was off [#17093](https://github.com/pnpm/pnpm/issues/17093). + +- `pnpm install --frozen-lockfile` and `verifyDepsBeforeRun` now succeed inside a directory created by `pnpm deploy`. `pnpm deploy` writes self-contained workspace and lockfile settings, prunes unused `patchedDependencies`, and preserves workspace-level dependency resolutions on deployed directory dependencies. + +- On macOS, `pnpm deploy` no longer writes a second, unused copy of every package to `node_modules/.pnpm/@` in the deploy directory [#17116](https://github.com/pnpm/pnpm/issues/17116). + +- `pnpm patch-commit` and `pnpm install` now apply a patch that renames or moves a file of the patched package. Such a patch failed with "rename/copy operations in patches are not yet supported". + +- In workspaces with `sharedWorkspaceLockfile: false`, `pnpm patch`, `pnpm patch-commit`, and `pnpm patch-remove` now resolve patch files and `patchedDependencies` entries at the workspace root. `pnpm install` checks configured patches across all workspace projects before reporting unused patches. + +- `pnpm pack` and `pnpm publish` no longer include editor swap files such as `.*.swp`, macOS `._*` files, `.lock-wscript`, `.wafpickle-*`, `build/config.gypi`, or `archived-packages/` in the tarball. Naming one of these files in `files` still includes it [#16955](https://github.com/pnpm/pnpm/issues/16955). + +- `pnpm pack` and `pnpm publish` now support extended glob patterns and brace ranges such as `part{1..3}.js` and `part{a..c}.js`, including descending ranges, steps, and zero padding, in `files`, `.npmignore`, and `.gitignore`. Explicitly listed internal directory symlinks are preserved below excluded directories, entry points honor nested ignore files, ignore negations can re-include default-excluded logs and backup files, and nested lockfiles follow the package's file selection rules. + +- Trusted publishing with OIDC now works with registries whose URL has a path, such as `https://registry.example/npm/private/`. pnpm previously sent the token exchange request to the root of the registry host. + +- `pnpm deprecate` and `pnpm unpublish` now work for packages whose registry metadata is larger than 10 MiB, such as `typescript`. They accept up to 50 MiB, the same limit as `pnpm owner`. + +- `pnpm owner ls` now lists the owners of a package on the npm registry. It reported every package as not found. + +- `pnpm licenses list --prod` now includes optional dependencies, including transitive ones. Pass `--no-optional` to leave them out. `pnpm licenses list` also reports no licenses for workspace projects not recorded in the lockfile, errors when `pnpm-lock.yaml` is missing, and formats empty results as the requested text or JSON [pnpm/tasks#174](https://github.com/pnpm/tasks/issues/174). + +- `pnpm why` now reads each selected workspace project's lockfile and modules directory when `sharedWorkspaceLockfile` is `false` [pnpm/tasks#169](https://github.com/pnpm/tasks/issues/169). + +- `pnpm pkg fix` now converts a `repository` string such as `github:pnpm/example` to the object form, as `npm pkg fix` does. It also normalizes a GitHub, GitLab, or Bitbucket repository URL the way `npm pkg fix` does [#16980](https://github.com/pnpm/pnpm/issues/16980). + +#### Configuration and setting up pnpm + +- Registry credentials and TLS settings passed with `--config`, such as `--config.//registry.example.com/:_authToken=`, are now applied. They take precedence over the same settings in `.npmrc` files. + +- pnpm now reads only the settings it needs to decide whether to switch to the pnpm version a project pins. A setting outside them can no longer fail that decision or change its outcome. For example, `pnpm --version` no longer fails in a pinned project whose `pnpm-workspace.yaml` has a setting this pnpm cannot read. Projects that pin neither pnpm nor a runtime skip this check without reading any settings. + +- When pnpm switches to the version a project pins, an option only the pinned pnpm knows now reaches that pnpm when it comes immediately before the command name, as in `pnpm --new-flag install`. When switching for `pnpm --version` or an unrecognized command line, pnpm also honors `--color`, `--no-color`, `--reporter`, and `--loglevel` wherever they appear on the command line. + +- `pnpm self-update` now updates the project's pnpm pin when Homebrew installed pnpm or Corepack runs it, leaving the global pnpm alone [#17001](https://github.com/pnpm/pnpm/issues/17001). Run inside a workspace package, `pnpm self-update` updates the pin in the workspace root's manifest, including in `package.yaml` or `package.json5`. + +- `pnpm setup` now completes when Windows registry environment values cannot be read or written. It prints PowerShell commands to configure `PNPM_HOME` and `PATH` without registry access [#17167](https://github.com/pnpm/pnpm/issues/17167). + +- `pnpm setup` now succeeds when it cannot tell which shell configuration file to update, for example in a container where `SHELL` is not set. It installs pnpm and prints the `PNPM_HOME` and `PATH` lines to add yourself. Previously it failed with `ERR_PNPM_UNKNOWN_SHELL`, and so did the installer script at get.pnpm.io [#16973](https://github.com/pnpm/pnpm/issues/16973). + +- In StackBlitz WebContainers, `pnpm` no longer crashes intermittently with `Parking not supported on this platform`, and running a command that does not exist now reports that the command was not found. Previously it sometimes failed with a generic error. diff --git a/.changeset/changelogs/pnpm@11.28.6.md b/.changeset/changelogs/pnpm@11.28.6.md deleted file mode 100644 index 19c2bda3f7..0000000000 --- a/.changeset/changelogs/pnpm@11.28.6.md +++ /dev/null @@ -1,81 +0,0 @@ -## 11.28.6 - -This release stops `pnpm publish` from sending a CI identity token to a registry it was not issued for. It also fixes installs that dropped a dependency also declared as an optional peer, and accepts empty `httpProxy` and `httpsProxy` settings again. - -### Patch Changes - -#### Security - -- `pnpm publish` now uses an `NPM_ID_TOKEN` only if its `aud` claim matches the selected registry, such as `npm:registry.npmjs.org`. A token for another registry is skipped with a warning, and pnpm falls back to the configured credentials. - -- The warning about renamed package files with invalid names no longer prints control characters from those file names. - -#### Configuration - -- pnpm again accepts `httpProxy` and `httpsProxy` set to `null` or written with no value in `pnpm-workspace.yaml` and the global config file, and treats them as unset. Since 11.28.5 these values failed with `ERR_PNPM_INVALID_SETTING`. - -- pnpm now switches to the pnpm version a project pins even when it cannot read its configuration. Previously, a setting it rejected in the global config file, an `.npmrc` file, `_auth`, or `pnpm-workspace.yaml` stopped every command, `pnpm --version` included. - -- A key under a registry URL in the `_auth` setting that does not start with `@` is now skipped with a warning, so a field a later pnpm version adds there no longer breaks this one. A key that holds an `authToken` object but lacks its `@`, such as `org` for `@org`, is still an error. - -#### Resolving dependencies - -- pnpm no longer drops a dependency that a package also declares as an optional peer dependency, for example `ajv` of `ajv-formats`. Since 11.28.0, in some dependency graphs the package got the dependency neither as a dependency nor as a peer, and failed to import it [#16901](https://github.com/pnpm/pnpm/issues/16901). - -- `pnpm install` no longer fails with `ERR_PNPM_NO_MATCHING_VERSION` after a change to `overrides` when the lockfile resolves an optional peer dependency to an npm alias of another package [#16654](https://github.com/pnpm/pnpm/issues/16654). - -- `pnpm install` and `pnpm dedupe` now link an optional peer to the workspace package that the workspace root depends on when the picked version matches it. Previously they installed the registry package with the same name and version [#16706](https://github.com/pnpm/pnpm/issues/16706). - -- Removal overrides such as `"debug>supports-color": "-"` now also apply to an optional peer that a package declares only in `peerDependenciesMeta` [#16681](https://github.com/pnpm/pnpm/issues/16681). - -- `pnpm dedupe` now preserves a hoisted workspace package when another package uses a separately installed peer with the same name [#16935](https://github.com/pnpm/pnpm/issues/16935). - -- `pnpm install` and `pnpm add --config` now apply `minimumReleaseAge` when they resolve a config dependency. A config dependency range resolves to the newest version that is old enough, so a later clean `pnpm install --frozen-lockfile` accepts the lockfile [#16660](https://github.com/pnpm/pnpm/issues/16660). - -- `pnpm install --fix-lockfile` no longer removes the `deprecated` and `hasBin` fields from lockfile entries [#6600](https://github.com/pnpm/pnpm/issues/6600). - -#### Workspaces and catalogs - -- A filtered install, such as `pnpm install --filter `, now keeps the `pnpm-lock.yaml` entries of workspace projects that are missing from disk, as in a sparse checkout. Their importers, packages, and catalog entries stay even when the filter matches every project on disk [#16931](https://github.com/pnpm/pnpm/issues/16931). - -- `catalogPrune` no longer removes catalog entries that `pnpm-lock.yaml` still records for workspace projects missing from disk. This affected `pnpm remove` and installs that leave the lockfile unchanged, such as frozen installs. Before, a following frozen install failed with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` [#16679](https://github.com/pnpm/pnpm/issues/16679). - -- Sped up workspace discovery with subtree exclusions such as `!generated/**`. - -#### Linking node_modules - -- `pnpm install` no longer fails on Windows with `EPERM` on `rmdir node_modules/@scope` when several workspace packages under one scope are hoisted, for example with `nodeLinker: hoisted` [#16690](https://github.com/pnpm/pnpm/issues/16690). - -- `pnpm install` hardlinks files from a group-writable or world-writable store again. Before this fix, pnpm copied every file from such a store into `node_modules` [#16677](https://github.com/pnpm/pnpm/issues/16677). - -- With `enableGlobalVirtualStore`, an install that updates `node_modules` now restores the dependency links of a package in the global virtual store that an interrupted install left without them. Before, such an install kept the incomplete package if the project's `node_modules` already recorded it [#16642](https://github.com/pnpm/pnpm/issues/16642). - -- Removing a `link:` dependency now also removes its symlink from `node_modules` when `nodeLinker` is `hoisted` [#16884](https://github.com/pnpm/pnpm/issues/16884). - -- An install that adds nothing to the store no longer changes the modification time of the store directory. CI caches that check modification times, such as GitLab's, no longer re-upload an unchanged store [#16929](https://github.com/pnpm/pnpm/issues/16929). - -#### Injected workspace packages - -- With `sharedWorkspaceLockfile: false`, an injected workspace package installed in the same run as its dependent now holds only the files its `files` field selects. The copy used to also hold other files of the project, such as `tsconfig.json` [#16683](https://github.com/pnpm/pnpm/issues/16683). - -- A script listed in `syncInjectedDepsAfterScripts` no longer fails when it rewrites `package.json` while pnpm is copying its edits into the injected copies. The sync after the script now replaces a half-copied manifest. - -- Sped up frozen installs of unchanged injected workspace packages that use hardlinks. - -#### Deploying - -- `pnpm deploy` without `injectWorkspacePackages` now binds a peer dependency of a linked workspace package to the version its parent provides, as an injected install does. Previously the deploy failed with `ERR_PNPM_DEPLOY_AMBIGUOUS_PEER` whenever other packages in the deployed graph depended on different versions of that peer [#16807](https://github.com/pnpm/pnpm/issues/16807). - -- `pnpm deploy` in a workspace with `injectWorkspacePackages` no longer crashes when a linked workspace package declares a peer dependency named after an `Object.prototype` member, such as `constructor`. - -#### Setting up pnpm - -- pnpm now relinks the bins of a pnpm version it installed earlier for `packageManager` or `pnpm with`. A pnpm 12 version installed by a pnpm release older than 11.28.4 could keep a launcher that ran `node` on the native binary, so every command failed with `SyntaxError: Invalid or unexpected token` [#16646](https://github.com/pnpm/pnpm/issues/16646). - -- `pnpm setup` no longer tries to install pnpm globally from npm's `bin` directory when pnpm was installed with npm. It printed `Failed to create bin at /bin/pnpm` [#16855](https://github.com/pnpm/pnpm/issues/16855). - -#### Output - -- Escape codes in script output that moved the cursor or cleared the screen garbled pnpm's output. pnpm now drops them and keeps only color codes. Color codes are dropped too when pnpm's own output is not in color. - -- When the registry rejects `pnpm stage publish`, the error message now starts with "Failed to stage package". diff --git a/.changeset/changelogs/pnpm@11.28.7.md b/.changeset/changelogs/pnpm@11.28.7.md new file mode 100644 index 0000000000..b0492e0872 --- /dev/null +++ b/.changeset/changelogs/pnpm@11.28.7.md @@ -0,0 +1,125 @@ +## 11.28.7 + +This release rejects registry metadata that names a different package than the one requested, applies `trustPolicy` to the pnpm version a project pins, and caps unpacked package size with `maxTarballUnpackedSize`. It also removes support for registry revisions, fixes `verifyDepsBeforeRun` after filtered installs, and finishes commands with their own exit code when a pipe reader exits early. + +### Patch Changes + +#### Security + +- pnpm now fails with `ERR_PNPM_REGISTRY_NAME_MISMATCH` if a registry returns metadata for a package other than the one requested. Before, pnpm installed the package under the name in the metadata, so `allowBuilds` rules for the requested package did not apply to it. + +- pnpm now applies `trustPolicy` to the pnpm version a project pins in `packageManager` or `devEngines.packageManager`. A pinned version whose trust evidence was downgraded fails the command before pnpm switches to it or records it in the lockfile [#16319](https://github.com/pnpm/pnpm/issues/16319). + +- `minimumReleaseAgeExcludePrune` and `trustPolicyExcludePrune` now keep exclusions for resolved configuration dependencies and their transitive dependencies [#17142](https://github.com/pnpm/pnpm/issues/17142). + +- Added the `maxTarballUnpackedSize` setting. `pnpm install` fails with `ERR_PNPM_TARBALL_TOO_LARGE` when the files of one package unpack to more than this many bytes, 4 GiB by default [pnpm/tasks#81](https://github.com/pnpm/tasks/issues/81). + +#### Resolving dependencies + +- Registry revisions are no longer supported. pnpm now fails with `ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTED` on registry metadata that selects a revision, on a `+rN` version specifier, and on a lockfile entry with a `revision` field. `pnpm update --patches` is removed. + +- When `pnpm install` resolves a dependency again, it now reuses a version that the install already resolved for the same package, as a fresh install does. Before, it kept the version the lockfile pinned and added a second copy of the package. A locked version still stays when nothing else in the install prefers another version. To pin a transitive dependency on purpose, use `overrides` [#17084](https://github.com/pnpm/pnpm/issues/17084). + +- When another workspace project adds a different version of a package, a project's auto-installed peer on that package now moves to the version a fresh install picks. It used to stay on its locked version while any other project still accepted that version [#17058](https://github.com/pnpm/pnpm/issues/17058). + +- An optional peer that pnpm adds to a project now keeps the version the lockfile recorded for that project only while the dependency graph still holds it. Otherwise it follows its provider to a version the graph holds. Before, pnpm kept a higher version that only the lockfile held, which left two copies of the peer [#16443](https://github.com/pnpm/pnpm/issues/16443). + +- A package that lists the same dependency in `dependencies` and as an optional peer now gets the peer bound when a project adds a provider for it later. The lockfile now records every peer a package declares, including one its own dependency supplies [#17056](https://github.com/pnpm/pnpm/issues/17056). + +- `pnpm install --prod` no longer drops a dependency that a package declares both as an optional peer and as its own dependency, when the package resolved it as its own dependency and a dev dependency provides the same package under another alias. + +- pnpm now measures a `pnpm.overrides` entry written as a `workspace:` path, such as `workspace:./packages/foo`, from the directory holding `pnpm-workspace.yaml`. It used to be measured from each package the override rewrote. The install then linked a directory that does not exist, or failed if workspace packages were injected [#17010](https://github.com/pnpm/pnpm/issues/17010). + +- `pnpm install` now removes config dependencies that are no longer declared, including when the entire `configDependencies` setting is removed. Frozen installs reject a lockfile that still records removed config dependencies. + +- `pnpm add` now reads the package name correctly from a tarball URL under a registry URL that has a path, such as `https://example.com/npm/`. Before, the registry path became part of the name, so a scoped package failed with `ERR_PNPM_INVALID_PACKAGE_NAME`. + +- `pnpm add` no longer warns that a gist dependency was replaced from a different source when the new specifier names the same gist in another form, such as `gist:` and `https://gist.github.com//`. + +- With `minimumReleaseAge` set, pnpm now revalidates a package's cached full metadata with a single ETag request so an unchanged registry answers with `304`, and keeps using the cached copy once the registry confirms it is current, even when the metadata does not list a publish time for every version. Previously, pnpm downloaded that metadata again whenever the cached copy was older than `minimumReleaseAge`. Packages listed in `minimumReleaseAgeExclude` also resolve from cached metadata without a registry request when the lockfile already has the version their range picks. + +#### Linking node_modules and workspaces + +- Concurrent installs that import the same package into one project now all complete. One of them used to fail with `ENOTEMPTY` when its copy of the package collided with the copy another install had already placed [pnpm/tasks#48](https://github.com/pnpm/tasks/issues/48). + +- `pnpm install` no longer fails on macOS with `EISDIR` when it creates store directories in a group-writable store under a umask that removes owner read, such as `0o477`. + +- `pnpm install` now succeeds when `node_modules` is a symlink to an existing directory. Dependency hoisting previously rejected a symlinked `node_modules` as an invalid destination [#17157](https://github.com/pnpm/pnpm/issues/17157). + +- A filtered `pnpm install --no-lockfile` with `hoistWorkspacePackages` now hoists every workspace project into `node_modules/.pnpm/node_modules`. It used to hoist only the selected projects [pnpm/tasks#168](https://github.com/pnpm/tasks/issues/168). + +- Filtered installs remove obsolete dependencies from the installed lockfile while preserving dependencies still needed by unselected projects. + +- With `sharedWorkspaceLockfile: false`, `pnpm install` now runs the `preResolution` hooks and custom resolvers and fetchers of the workspace root's pnpmfile for every project, next to the project's own. A global pnpmfile now runs once per project, and each project's lockfile records the checksum of the root pnpmfile when the project has none of its own. Before, a project's own pnpmfile replaced these root hooks, the global hooks ran twice, and edits to the root pnpmfile could go unnoticed. + +- `pnpm prune` now removes extraneous direct packages from `node_modules` when `package.json` and `pnpm-lock.yaml` are already in sync. `pnpm prune` also accepts `--filter` and `--recursive` to prune selected workspace projects without removing dependencies of unselected projects. + +#### Injected workspace packages + +- `pnpm install --frozen-lockfile` now fails with `ERR_PNPM_OUTDATED_LOCKFILE` when the dependencies of an injected workspace package or local directory dependency no longer match the lockfile. This covers `sharedWorkspaceLockfile: false` [#17008](https://github.com/pnpm/pnpm/issues/17008), a dependency changed to a different tarball URL or git commit [#17129](https://github.com/pnpm/pnpm/issues/17129), and a change in a transitive injected or local directory dependency [#17128](https://github.com/pnpm/pnpm/issues/17128). + +- `pnpm install --frozen-lockfile` no longer fails with `ERR_PNPM_OUTDATED_LOCKFILE` when an injected workspace package depends on a local directory under another name, such as `"renamed": "file:../b"` [#17130](https://github.com/pnpm/pnpm/issues/17130). + +- An injected workspace dependency now becomes a link when its dependencies match the workspace package's own, also on an install that leaves the package's installed dependencies as they are. Before, such an install kept it as a copy [#17094](https://github.com/pnpm/pnpm/issues/17094). + +- An injected workspace package that was linked now becomes a copy when the project that depends on it starts providing one of its peers at a version the package's own workspace context lacks. The link used to stay until that dependency was updated, so the package could not find the peer the project provides [#17057](https://github.com/pnpm/pnpm/issues/17057). + +- An injected workspace package now keeps only the files its manifest lists after a lifecycle script or a script named in `syncInjectedDepsAfterScripts` rebuilds it. Before, these refreshes copied every file of the package directory into the injected copy, including files that `files` or `.npmignore` leave out. With `deployAllFiles: true` the copy still gets every file. + +- A script listed in `syncInjectedDepsAfterScripts` now keeps a package's links to its own files as links in the injected copies, the way `pnpm install` writes them. It no longer fails when the package links to one directory twice or links back to a directory above the link. `pnpm install` with `deployAllFiles` no longer fails on such a link back either. + +- A script listed in `syncInjectedDepsAfterScripts` now updates the injected copies of the package it ran in when `sharedWorkspaceLockfile` is `false` or the package publishes from `publishConfig.directory`. Before, those copies kept the files from the last install. + +#### Running scripts and checking dependencies + +- When the reader of pnpm's output exits early, as in `pnpm outdated | head`, pnpm now finishes the command and exits with the command's own exit code [pnpm/tasks#133](https://github.com/pnpm/tasks/issues/133). It used to exit with code 0 at the first write to the closed pipe. That hid the result of commands such as `pnpm outdated` and stopped `pnpm clean` before it removed anything. + +- With `enableGlobalVirtualStore`, a Node.js resolve hook that a script registers now sees the importer as `context.parentURL` after pnpm's `NODE_PATH` fallback fails to find a bare specifier. Hooks that resolve tsconfig `paths` aliases from the importer failed with `ERR_MODULE_NOT_FOUND` [#16979](https://github.com/pnpm/pnpm/issues/16979). + +- `pnpm run`, `pnpm exec`, and `pnpm restart` now pass the install flags they were given, such as `--lockfile-dir`, `--modules-dir`, `--store-dir`, `--offline`, and `--ignore-scripts`, to the `pnpm install` that `verifyDepsBeforeRun: install` starts. When that install leaves `node_modules` out of date, pnpm now prints a warning. + +- After `pnpm install --filter`, `pnpm run` and `pnpm exec` now notice a changed manifest or lockfile in a project that the filtered install left out, including the workspace root after a filtered install with `pruneDirectDependencies: true` [pnpm/tasks#181](https://github.com/pnpm/tasks/issues/181). A filtered install also preserves the recorded ignored build scripts of unselected projects, and `pnpm dedupe --check` and `pnpm install --dry-run` no longer record outdated dependencies as installed. + +- The `verifyDepsBeforeRun` check now holds the workspace projects that the selected project depends on, including `link:` workspace dependencies. `--filter=...` now selects `link:` dependencies as well. With `sharedWorkspaceLockfile: false`, `verifyDepsBeforeRun` also reports dependencies as outdated when a selected project's `pnpm-lock.yaml` is missing [pnpm/tasks#138](https://github.com/pnpm/tasks/issues/138). + +- `verifyDepsBeforeRun` and repeat `pnpm install` runs now apply `overrides` before comparing a modified `package.json` with `pnpm-lock.yaml` [#17127](https://github.com/pnpm/pnpm/issues/17127). `verifyDepsBeforeRun` also checks whether each importer's resolved catalog versions match the catalog snapshot in `pnpm-lock.yaml`, and respects `lockfileDir` in single-project repositories. + +- `verifyDepsBeforeRun` now compares manifests, lockfiles, and patch files by content hash. It notices an edit that kept the file's modification time, as `cp -p`, `rsync -a`, or an archive extraction leave it, and a patch file that was copied or touched without changing its content no longer marks dependencies as outdated [#16988](https://github.com/pnpm/pnpm/issues/16988). + +#### Deploying and other commands + +- `pnpm deploy` now records the peer dependencies of the workspace packages it copies into the deployed lockfile. Before, pnpm rejected that lockfile with `--frozen-lockfile` when a deployed workspace package declared a peer and `injectWorkspacePackages` was off [#17093](https://github.com/pnpm/pnpm/issues/17093). + +- `pnpm install --frozen-lockfile` and `verifyDepsBeforeRun` now succeed inside a directory created by `pnpm deploy`. `pnpm deploy` writes self-contained workspace and lockfile settings, prunes unused `patchedDependencies`, and preserves workspace-level dependency resolutions on deployed directory dependencies. + +- In workspaces with `sharedWorkspaceLockfile: false`, `pnpm patch`, `pnpm patch-commit`, and `pnpm patch-remove` now resolve patch files and `patchedDependencies` entries at the workspace root. `pnpm install` checks configured patches across all workspace projects before reporting unused patches. + +- Trusted publishing with OIDC now works with registries whose URL has a path, such as `https://registry.example/npm/private/`. pnpm previously sent the token exchange request to the root of the registry host. + +- `pnpm owner ls` now lists the owners of a package on the npm registry. It reported every package as not found. + +- `pnpm sbom` now reads project lockfiles in workspaces with `sharedWorkspaceLockfile: false`, including filtered and split output, and reports the repository of a package whose `repository` field is a `gist:` shorthand. + +- `pnpm licenses list` reports no licenses for workspace projects not recorded in the lockfile. It errors when `pnpm-lock.yaml` is missing. Empty results now use the requested text or JSON format [pnpm/tasks#174](https://github.com/pnpm/tasks/issues/174). + +- `pnpm why` now reads each selected workspace project's lockfile and modules directory when `sharedWorkspaceLockfile` is `false` [pnpm/tasks#169](https://github.com/pnpm/tasks/issues/169). + +- `pnpm pkg fix` now converts a `repository` string such as `github:pnpm/example` to the object form, as `npm pkg fix` does. It also normalizes a GitHub, GitLab, or Bitbucket repository URL the way `npm pkg fix` does [#16980](https://github.com/pnpm/pnpm/issues/16980). + +#### Configuration and setting up pnpm + +- pnpm now recognizes `externalDependencies` and `autoInstallPeersFromHighestMatch` in `pnpm-workspace.yaml` without warning and forwards both settings to `pnpm install`. Previously, setting `externalDependencies` in `pnpm-workspace.yaml` with `nodeLinker: hoisted` crashed `pnpm install` with `externalDependencies.has is not a function` [pnpm/tasks#166](https://github.com/pnpm/tasks/issues/166). + +- pnpm now ignores a `PNPM_CONFIG_*` environment variable for a URL setting, such as `PNPM_CONFIG_REGISTRY`, when its value is not a URL. Such a value used to make every command fail with `Invalid URL`. + +- The warning about unrecognized settings in `pnpm-workspace.yaml` and the global `config.yaml` now names `addMissingPeerTypes`, `autoDedupe`, `bootConfig`, `macosBackup`, `nodePackageMap`, `permissions`, `pipelineBase`, `publishWaitTimeout`, `python`, `remoteCache`, `saveTypes`, `skills`, `storeIndexFormat`, and `tools` as pnpm v12 settings [pnpm/tasks#167](https://github.com/pnpm/tasks/issues/167). + +- When a config file has a setting pnpm cannot read, `pnpm --version` now prints the version, and `pmOnFail` and `lockfileDir` in `pnpm-workspace.yaml` stay in force. Previously, pnpm switched to the pinned version despite `pmOnFail: ignore`. pnpm also no longer writes the pinned version to `pnpm-lock.yaml` when it cannot read every setting and the running pnpm already matches the pin. + +- pnpm now records the pinned pnpm version in the `pnpm-lock.yaml` under the `lockfileDir` set in `pnpm-workspace.yaml`, and resolves a relative `lockfileDir` from the workspace root. pnpm used to write a second `pnpm-lock.yaml` at the workspace root. + +- `pnpm self-update` now updates the project's pnpm pin when Homebrew installed pnpm or Corepack runs it. The global pnpm is left alone [#17001](https://github.com/pnpm/pnpm/issues/17001). + +- `pnpm setup` now completes when Windows registry environment values cannot be read or written. It prints PowerShell commands to configure `PNPM_HOME` and `PATH` without registry access [#17167](https://github.com/pnpm/pnpm/issues/17167). + +- `pnpm setup` now succeeds when it cannot tell which shell configuration file to update, for example in a container where `SHELL` is not set. It installs pnpm and prints the `PNPM_HOME` and `PATH` lines to add yourself. Previously it failed with `ERR_PNPM_UNKNOWN_SHELL`, and so did the installer script at get.pnpm.io [#16973](https://github.com/pnpm/pnpm/issues/16973). diff --git a/.changeset/cli-config-registry-credentials.md b/.changeset/cli-config-registry-credentials.md deleted file mode 100644 index 61ab5e5ee2..0000000000 --- a/.changeset/cli-config-registry-credentials.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Registry credentials and TLS settings passed with `--config`, such as `--config.//registry.example.com/:_authToken=`, are now applied. They take precedence over the same settings in `.npmrc` files. diff --git a/.changeset/config-dependency-release-age.md b/.changeset/config-dependency-release-age.md deleted file mode 100644 index 031622e5c2..0000000000 --- a/.changeset/config-dependency-release-age.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@pnpm/config.version-policy": patch -"@pnpm/installing.env-installer": patch -"pnpm": patch -"pacquet": patch ---- - -`pnpm install` and `pnpm add --config` now apply `minimumReleaseAge` when they resolve a config dependency. A config dependency range resolves to the newest version that is old enough, so a later clean `pnpm install --frozen-lockfile` accepts the lockfile [#16660](https://github.com/pnpm/pnpm/issues/16660). diff --git a/.changeset/cyan-dryers-double.md b/.changeset/cyan-dryers-double.md deleted file mode 100644 index ce97c2d3de..0000000000 --- a/.changeset/cyan-dryers-double.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@pnpm/installing.deps-installer": patch -"pnpm": patch -"pacquet": patch ---- - -`pnpm install --fix-lockfile` no longer removes the `deprecated` and `hasBin` fields from lockfile entries [#6600](https://github.com/pnpm/pnpm/issues/6600). diff --git a/.changeset/deploy-file-deps-outside-workspace.md b/.changeset/deploy-file-deps-outside-workspace.md deleted file mode 100644 index 73010e595b..0000000000 --- a/.changeset/deploy-file-deps-outside-workspace.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm deploy` now deploys `file:` dependencies that live outside the workspace directory. It failed with "Refusing to deploy unsafe lockfile path" [#16983](https://github.com/pnpm/pnpm/issues/16983). diff --git a/.changeset/deploy-keeps-optional-peer-own-dependency.md b/.changeset/deploy-keeps-optional-peer-own-dependency.md deleted file mode 100644 index 778974516f..0000000000 --- a/.changeset/deploy-keeps-optional-peer-own-dependency.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm deploy --prod` no longer drops a dependency that a package declares both as an optional peer and as its own dependency, when the package resolved it as its own dependency and a dev dependency provides the same package under another alias. diff --git a/.changeset/deploy-prototype-named-peer.md b/.changeset/deploy-prototype-named-peer.md deleted file mode 100644 index 951acabbf2..0000000000 --- a/.changeset/deploy-prototype-named-peer.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/releasing.commands": patch -"pnpm": patch ---- - -`pnpm deploy` in a workspace with `injectWorkspacePackages` no longer crashes when a linked workspace package declares a peer dependency named after an `Object.prototype` member, such as `constructor`. diff --git a/.changeset/deploy-single-package-copy.md b/.changeset/deploy-single-package-copy.md deleted file mode 100644 index 75191ae2e2..0000000000 --- a/.changeset/deploy-single-package-copy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -On macOS, `pnpm deploy` no longer writes a second, unused copy of every package to `node_modules/.pnpm/@` in the deploy directory [#17116](https://github.com/pnpm/pnpm/issues/17116). diff --git a/.changeset/deploy-source-date-epoch.md b/.changeset/deploy-source-date-epoch.md deleted file mode 100644 index a75e04a8ca..0000000000 --- a/.changeset/deploy-source-date-epoch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": minor ---- - -`pnpm deploy` and `pnpm install` now use the `SOURCE_DATE_EPOCH` environment variable as an upper bound for timestamps in `node_modules/.modules.yaml` and `node_modules/.pnpm-workspace-state-v1.json`. With an equivalently prepared deploy target and an epoch no later than the timestamps that would otherwise be recorded, deploying the same project twice produces identical files [pnpm/pnpm#17171](https://github.com/pnpm/pnpm/issues/17171). diff --git a/.changeset/deploy-workspace-protocol-peer.md b/.changeset/deploy-workspace-protocol-peer.md deleted file mode 100644 index 6df33f930a..0000000000 --- a/.changeset/deploy-workspace-protocol-peer.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"pacquet": patch -"@pnpm/releasing.commands": patch -"pnpm": patch ---- - -`pnpm deploy` without `injectWorkspacePackages` now binds a peer dependency of a linked workspace package to the version its parent provides, as an injected install does. Previously the deploy failed with `ERR_PNPM_DEPLOY_AMBIGUOUS_PEER` whenever other packages in the deployed graph depended on different versions of that peer [#16807](https://github.com/pnpm/pnpm/issues/16807). diff --git a/.changeset/deprecate-large-package-documents.md b/.changeset/deprecate-large-package-documents.md deleted file mode 100644 index b65539d692..0000000000 --- a/.changeset/deprecate-large-package-documents.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm deprecate` and `pnpm unpublish` now work for packages whose registry metadata is larger than 10 MiB, such as `typescript`. They accept up to 50 MiB, the same limit as `pnpm owner`. diff --git a/.changeset/drop-cursor-codes-from-script-output.md b/.changeset/drop-cursor-codes-from-script-output.md deleted file mode 100644 index 67c4fdd02d..0000000000 --- a/.changeset/drop-cursor-codes-from-script-output.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/cli.default-reporter": patch -"pnpm": patch ---- - -Escape codes in script output that moved the cursor or cleared the screen garbled pnpm's output. pnpm now drops them and keeps only color codes. Color codes are dropped too when pnpm's own output is not in color. diff --git a/.changeset/fast-workspace-discovery-and-repeat-install.md b/.changeset/fast-workspace-discovery-and-repeat-install.md deleted file mode 100644 index 9d4f04ff02..0000000000 --- a/.changeset/fast-workspace-discovery-and-repeat-install.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Sped up workspace project discovery and `pnpm install` in workspaces [#16839](https://github.com/pnpm/pnpm/issues/16839). diff --git a/.changeset/filtered-install-hoisted-groups-and-freshness.md b/.changeset/filtered-install-hoisted-groups-and-freshness.md deleted file mode 100644 index 5cce9177dc..0000000000 --- a/.changeset/filtered-install-hoisted-groups-and-freshness.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install --filter` with `nodeLinker: hoisted` and `--prod` or `--dev` now preserves previously installed dependency groups for unselected workspace projects [pnpm/tasks#164](https://github.com/pnpm/tasks/issues/164). Repeat filtered installs also re-resolve when a transitive injected workspace dependency or a linked dependency's version changes. diff --git a/.changeset/filtered-install-keeps-missing-projects.md b/.changeset/filtered-install-keeps-missing-projects.md deleted file mode 100644 index 219559a04e..0000000000 --- a/.changeset/filtered-install-keeps-missing-projects.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@pnpm/installing.commands": patch -"@pnpm/installing.deps-resolver": patch -"pacquet": patch -"pnpm": patch ---- - -A filtered install, such as `pnpm install --filter `, now keeps the `pnpm-lock.yaml` entries of workspace projects that are missing from disk, as in a sparse checkout. Their importers, packages, and catalog entries stay even when the filter matches every project on disk [#16931](https://github.com/pnpm/pnpm/issues/16931). diff --git a/.changeset/frozen-directory-without-manifest.md b/.changeset/frozen-directory-without-manifest.md deleted file mode 100644 index 1dbb0e9cc5..0000000000 --- a/.changeset/frozen-directory-without-manifest.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install --frozen-lockfile` now accepts the lockfile it wrote for a `file:` dependency on a directory without a `package.json`. Before, it failed with `ERR_PNPM_OUTDATED_LOCKFILE`. diff --git a/.changeset/gist-dependencies.md b/.changeset/gist-dependencies.md deleted file mode 100644 index d1f1d17b17..0000000000 --- a/.changeset/gist-dependencies.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm add` and `pnpm install` now accept `gist:` dependencies and GitHub Gist URLs, and install them from the gist's archive. `pnpm pkg fix` now normalizes a `gist:` repository the way `npm pkg fix` does, and `pnpm licenses` links a gist package to its gist page. diff --git a/.changeset/gvs-relink-incomplete-slots.md b/.changeset/gvs-relink-incomplete-slots.md deleted file mode 100644 index 951b67cfa2..0000000000 --- a/.changeset/gvs-relink-incomplete-slots.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/deps.graph-builder": patch -"pnpm": patch ---- - -With `enableGlobalVirtualStore`, an install that updates `node_modules` now restores the dependency links of a package in the global virtual store that an interrupted install left without them. Before, such an install kept the incomplete package if the project's `node_modules` already recorded it [#16642](https://github.com/pnpm/pnpm/issues/16642). diff --git a/.changeset/hardlink-group-writable-store.md b/.changeset/hardlink-group-writable-store.md deleted file mode 100644 index 40b02678ec..0000000000 --- a/.changeset/hardlink-group-writable-store.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@pnpm/fs.indexed-pkg-importer": patch -"pnpm": patch -"pacquet": patch ---- - -`pnpm install` hardlinks files from a group-writable or world-writable store again. Before this fix, pnpm copied every file from such a store into `node_modules` [#16677](https://github.com/pnpm/pnpm/issues/16677). diff --git a/.changeset/hashed-peer-reuse-and-workspace-direct-deps.md b/.changeset/hashed-peer-reuse-and-workspace-direct-deps.md deleted file mode 100644 index 461d19749c..0000000000 --- a/.changeset/hashed-peer-reuse-and-workspace-direct-deps.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install` and `pnpm dedupe` now preserve own-dependency and peer-dependency bindings when reusing a lockfile whose peer suffixes were hashed by `peersSuffixMaxLength`. - -Upgrading a direct dependency in one workspace project now refreshes matching transitive pins in sibling projects during the same `pnpm install` pass. diff --git a/.changeset/hoisted-filtered-install-keeps-workspace-links.md b/.changeset/hoisted-filtered-install-keeps-workspace-links.md deleted file mode 100644 index fe49270543..0000000000 --- a/.changeset/hoisted-filtered-install-keeps-workspace-links.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -With `nodeLinker: hoisted`, a filtered install such as `pnpm --filter app add ` keeps the root `node_modules` links and bins of the workspace projects it did not select. A project with no dependencies of its own lost them until the next full install. diff --git a/.changeset/hoisted-remove-link-dep.md b/.changeset/hoisted-remove-link-dep.md deleted file mode 100644 index d343ffedb1..0000000000 --- a/.changeset/hoisted-remove-link-dep.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@pnpm/installing.deps-restorer": patch -"pnpm": patch -"pacquet": patch ---- - -Removing a `link:` dependency now also removes its symlink from `node_modules` when `nodeLinker` is `hoisted` [#16884](https://github.com/pnpm/pnpm/issues/16884). diff --git a/.changeset/if-modified-since-bare-date.md b/.changeset/if-modified-since-bare-date.md deleted file mode 100644 index a0ffd72b20..0000000000 --- a/.changeset/if-modified-since-bare-date.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -When pnpm revalidates cached registry metadata, it now also sends `If-Modified-Since` if the registry's modification time is a date without a time. diff --git a/.changeset/if-modified-since-before-1970.md b/.changeset/if-modified-since-before-1970.md deleted file mode 100644 index d5cad1386e..0000000000 --- a/.changeset/if-modified-since-before-1970.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -pnpm no longer crashes when it revalidates cached registry metadata whose modification time is before 1970. diff --git a/.changeset/injected-catalog-peer-as-written.md b/.changeset/injected-catalog-peer-as-written.md deleted file mode 100644 index 76ea4d1eda..0000000000 --- a/.changeset/injected-catalog-peer-as-written.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -The lockfile now records a `catalog:` peer dependency of an injected workspace package as written in its `package.json`. It recorded the catalog's range before, so editing the catalog changed the consumer's lockfile entry [pnpm/tasks#153](https://github.com/pnpm/tasks/issues/153). diff --git a/.changeset/injected-child-non-range-spec.md b/.changeset/injected-child-non-range-spec.md deleted file mode 100644 index 8c4090e68b..0000000000 --- a/.changeset/injected-child-non-range-spec.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install` now resolves a git, tarball, or tag dependency of an injected workspace package again when its spec changes. Before, it kept the old version. diff --git a/.changeset/injected-child-specs.md b/.changeset/injected-child-specs.md deleted file mode 100644 index 78315cceb4..0000000000 --- a/.changeset/injected-child-specs.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install --frozen-lockfile` now accepts the lockfile it wrote for an injected workspace package that bundles a dependency (`bundledDependencies`), or that lists a dependency in both `dependencies` and `optionalDependencies`. Before, it failed with `ERR_PNPM_OUTDATED_LOCKFILE`. diff --git a/.changeset/injected-copy-files-field-dedicated-lockfiles.md b/.changeset/injected-copy-files-field-dedicated-lockfiles.md deleted file mode 100644 index bbb6ecd494..0000000000 --- a/.changeset/injected-copy-files-field-dedicated-lockfiles.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@pnpm/workspace.injected-deps-syncer": patch -"@pnpm/installing.commands": patch -"pnpm": patch -"pacquet": patch ---- - -With `sharedWorkspaceLockfile: false`, an injected workspace package installed in the same run as its dependent now holds only the files its `files` field selects. The copy used to also hold other files of the project, such as `tsconfig.json` [#16683](https://github.com/pnpm/pnpm/issues/16683). diff --git a/.changeset/injected-copy-keeps-links.md b/.changeset/injected-copy-keeps-links.md deleted file mode 100644 index df3ece57dc..0000000000 --- a/.changeset/injected-copy-keeps-links.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -A script listed in `syncInjectedDepsAfterScripts` now keeps a package's links to its own files as links in the injected copies, the way `pnpm install` writes them. Before, a directory link the script added became a real directory in the copies, or went missing with `deployAllFiles`. diff --git a/.changeset/injected-directory-freshness-agreement.md b/.changeset/injected-directory-freshness-agreement.md deleted file mode 100644 index 4e4a56587f..0000000000 --- a/.changeset/injected-directory-freshness-agreement.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Repeat installs and `verifyDepsBeforeRun` now re-check projects that inject a modified workspace package and accept aliased `workspace:` ranges on linked dependencies. diff --git a/.changeset/injected-named-registry-spec.md b/.changeset/injected-named-registry-spec.md deleted file mode 100644 index 4832f4a1d4..0000000000 --- a/.changeset/injected-named-registry-spec.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install --frozen-lockfile` now reports the lockfile as outdated when an injected workspace package changes a dependency's named-registry range (such as `work:^2.0.0`) to one the locked version no longer satisfies. Before, it installed the old version. diff --git a/.changeset/injected-per-project-repeat-install.md b/.changeset/injected-per-project-repeat-install.md deleted file mode 100644 index 6cb8df7f99..0000000000 --- a/.changeset/injected-per-project-repeat-install.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -With `sharedWorkspaceLockfile: false` and `injectWorkspacePackages: true`, `pnpm install` now updates a project's lockfile and injected copy after a dependency of the injected workspace package changes. Before, the repeat install reported the project as up to date [#17007](https://github.com/pnpm/pnpm/issues/17007). diff --git a/.changeset/injected-publish-dir-manifest.md b/.changeset/injected-publish-dir-manifest.md deleted file mode 100644 index 45a3178115..0000000000 --- a/.changeset/injected-publish-dir-manifest.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install --frozen-lockfile` now accepts the lockfile it wrote for an injected workspace package that publishes from `publishConfig.directory`, when the `package.json` in that directory lists other dependencies than the project's own. Before, it failed with `ERR_PNPM_OUTDATED_LOCKFILE`. diff --git a/.changeset/injected-sync-half-written-manifest.md b/.changeset/injected-sync-half-written-manifest.md deleted file mode 100644 index 46100cd508..0000000000 --- a/.changeset/injected-sync-half-written-manifest.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@pnpm/fetching.directory-fetcher": patch -"@pnpm/workspace.injected-deps-syncer": patch -"pnpm": patch -"pacquet": patch ---- - -A script listed in `syncInjectedDepsAfterScripts` no longer fails when it rewrites `package.json` while pnpm is copying its edits into the injected copies. The sync after the script now replaces a half-copied manifest. diff --git a/.changeset/install-with-pnpr-requires-build.md b/.changeset/install-with-pnpr-requires-build.md deleted file mode 100644 index 37e386b2bb..0000000000 --- a/.changeset/install-with-pnpr-requires-build.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": minor ---- - -`pnpm install` now plans build work earlier when pnpr provides verified build metadata. diff --git a/.changeset/isolated-hoist-unselected-projects.md b/.changeset/isolated-hoist-unselected-projects.md deleted file mode 100644 index 9d3d7f3a60..0000000000 --- a/.changeset/isolated-hoist-unselected-projects.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -A filtered first install under the isolated linker now links every workspace project by name into `node_modules/.pnpm/node_modules`, not only the selected ones [pnpm/tasks#155](https://github.com/pnpm/tasks/issues/155). diff --git a/.changeset/ledger.yaml b/.changeset/ledger.yaml index 2abfecf8ab..37ed70c6cd 100644 --- a/.changeset/ledger.yaml +++ b/.changeset/ledger.yaml @@ -102,6 +102,10 @@ dir: pnpm11/bins/linker intents: - fresh-build-launchers +"@pnpm/bins.linker@1100.0.38": + dir: pnpm11/bins/linker + intents: + - docs-readme-named-exports "@pnpm/bins.remover@1100.0.16": dir: pnpm11/bins/remover intents: @@ -114,6 +118,10 @@ dir: pnpm11/bins/resolver intents: - republish-all-lib-packages +"@pnpm/bins.resolver@1100.0.18": + dir: pnpm11/bins/resolver + intents: + - docs-readme-named-exports "@pnpm/building.after-install@1102.0.12": dir: pnpm11/building/after-install intents: @@ -131,6 +139,10 @@ intents: - drop-modules-yaml-registries - registries-by-scope-by-prefix +"@pnpm/building.after-install@1103.0.12": + dir: pnpm11/building/after-install + intents: + - injected-copy-package-files "@pnpm/building.after-install@1103.0.2": dir: pnpm11/building/after-install intents: @@ -422,6 +434,10 @@ intents: - config-get-resolved-registries - registries-by-scope-by-prefix +"@pnpm/config.commands@1101.0.12": + dir: pnpm11/config/commands + intents: + - external-dependencies-workspace-manifest "@pnpm/config.commands@1101.0.6": dir: pnpm11/config/commands intents: @@ -459,6 +475,10 @@ - pnpr-registry-declarations - registries-by-scope-by-prefix - registry-server-type +"@pnpm/config.normalize-registries@1101.0.4": + dir: pnpm11/config/normalize-registries + intents: + - docs-readme-named-exports "@pnpm/config.package-is-installable@1100.0.16": dir: pnpm11/config/package-is-installable intents: @@ -626,6 +646,15 @@ - accept-null-proxy-settings - auth-unknown-fields - switch-past-unreadable-config-v11 +"@pnpm/config.reader@1102.3.6": + dir: pnpm11/config/reader + intents: + - cross-version-workspace-settings + - env-lockfile-follows-workspace-lockfile-dir + - external-dependencies-workspace-manifest + - max-tarball-unpacked-size + - pin-decision-survives-unreadable-setting + - safe-url-env-var-parsing "@pnpm/config.registry-auth-key@1100.0.0": dir: pnpm11/config/registry-auth-key intents: @@ -774,6 +803,11 @@ intents: - audit-fix-bare-flag-and-save-exact - audit-summary-net-of-ignored +"@pnpm/deps.compliance.commands@1102.1.11": + dir: pnpm11/deps/compliance/commands + intents: + - fix-sbom-dedicated-lockfiles + - small-licenses-lockfile "@pnpm/deps.compliance.commands@1102.1.2": dir: pnpm11/deps/compliance/commands intents: @@ -863,6 +897,11 @@ dir: pnpm11/deps/compliance/sbom intents: - registries-by-scope-by-prefix +"@pnpm/deps.compliance.sbom@1101.0.11": + dir: pnpm11/deps/compliance/sbom + intents: + - fix-sbom-dedicated-lockfiles + - sbom-gist-repository "@pnpm/deps.compliance.sbom@1101.0.3": dir: pnpm11/deps/compliance/sbom intents: @@ -1006,6 +1045,10 @@ dir: pnpm11/deps/inspection/commands intents: - fifty-flies-sleep +"@pnpm/deps.inspection.commands@1101.0.12": + dir: pnpm11/deps/inspection/commands + intents: + - why-shared-workspace-lockfile-false "@pnpm/deps.inspection.commands@1101.0.5": dir: pnpm11/deps/inspection/commands intents: @@ -1051,6 +1094,10 @@ - list-only-projects-dedicated-lockfiles - list-only-projects-publish-directory - prod-skips-dev-provided-optional-peers +"@pnpm/deps.inspection.list@1101.1.0": + dir: pnpm11/deps/inspection/list + intents: + - why-shared-workspace-lockfile-false "@pnpm/deps.inspection.outdated@1100.1.20": dir: pnpm11/deps/inspection/outdated intents: @@ -1118,6 +1165,10 @@ dir: pnpm11/deps/inspection/tree-builder intents: - list-why-constructor +"@pnpm/deps.inspection.tree-builder@1101.1.0": + dir: pnpm11/deps/inspection/tree-builder + intents: + - why-shared-workspace-lockfile-false "@pnpm/deps.path@1100.0.11": dir: pnpm11/deps/path intents: @@ -1144,6 +1195,10 @@ intents: - fifty-flies-sleep - tarball-path-literal-plus +"@pnpm/deps.path@1101.0.7": + dir: pnpm11/deps/path + intents: + - optional-peer-keeps-locked-version "@pnpm/deps.peer-range@1100.1.0": dir: pnpm11/deps/peer-range intents: @@ -1224,6 +1279,16 @@ dir: pnpm11/deps/status intents: - deps-status-unhandled-lockfile-read +"@pnpm/deps.status@1100.1.31": + dir: pnpm11/deps/status + intents: + - overrides-in-deps-status-check + - prune-direct-deps-workspace-root + - repeat-install-verify-deps-unification + - tidy-patches-rest + - unify-up-to-date-checks-v11 + - verify-deps-content-digests + - verify-deps-missing-project-lockfile "@pnpm/deps.status@1100.1.7": dir: pnpm11/deps/status intents: @@ -1280,6 +1345,12 @@ intents: - engine-no-native-binary-host - tidy-pandas-pack +"@pnpm/engine.pm.commands@1102.1.10": + dir: pnpm11/engine/pm/commands + intents: + - self-update-pin-under-homebrew + - setup-restricted-registry + - setup-unknown-shell "@pnpm/engine.pm.commands@1102.1.3": dir: pnpm11/engine/pm/commands intents: @@ -1481,6 +1552,14 @@ - shared-workspace-task-scheduler - task-concurrency-limits - workspace-task-orchestration +"@pnpm/exec.commands@1101.1.11": + dir: pnpm11/exec/commands + intents: + - injected-copy-package-files + - repeat-install-verify-deps-unification + - sync-injected-deps-dedicated-lockfiles + - sync-injected-deps-publish-directory + - unify-up-to-date-checks-v11 "@pnpm/exec.commands@1101.1.3": dir: pnpm11/exec/commands intents: @@ -1537,6 +1616,10 @@ dir: pnpm11/exec/esm-node-path-loader intents: - gvs-esm-loader-commonjs-entry-point +"@pnpm/exec.esm-node-path-loader@1100.0.2": + dir: pnpm11/exec/esm-node-path-loader + intents: + - esm-node-path-loader-parent-url "@pnpm/exec.lifecycle@1100.1.15": dir: pnpm11/exec/lifecycle intents: @@ -1566,6 +1649,11 @@ - injected-dep-unbuilt-publish-directory - run-sigint-child-status - script-shell-over-emulator +"@pnpm/exec.lifecycle@1100.1.25": + dir: pnpm11/exec/lifecycle + intents: + - docs-readme-named-exports + - injected-copy-package-files "@pnpm/exec.lifecycle@1100.1.3": dir: pnpm11/exec/lifecycle intents: @@ -1661,6 +1749,10 @@ intents: - stream-runtime-zip-archives - webcontainer-async-fs-errors +"@pnpm/fetching.binary-fetcher@1102.0.21": + dir: pnpm11/fetching/binary-fetcher + intents: + - max-tarball-unpacked-size "@pnpm/fetching.binary-fetcher@1102.0.4": dir: pnpm11/fetching/binary-fetcher intents: @@ -1687,6 +1779,11 @@ dir: pnpm11/fetching/directory-fetcher intents: - injected-sync-half-written-manifest +"@pnpm/fetching.directory-fetcher@1100.0.40": + dir: pnpm11/fetching/directory-fetcher + intents: + - injected-copy-keeps-links-v11 + - injected-copy-package-files "@pnpm/fetching.fetcher-base@1100.2.10": dir: pnpm11/fetching/fetcher-base intents: @@ -1760,6 +1857,11 @@ intents: - authenticated-node-mirrors - network-retry-url-redaction +"@pnpm/fetching.tarball-fetcher@1102.1.10": + dir: pnpm11/fetching/tarball-fetcher + intents: + - drop-registry-revisions + - max-tarball-unpacked-size "@pnpm/fetching.tarball-fetcher@1102.1.3": dir: pnpm11/fetching/tarball-fetcher intents: @@ -1863,6 +1965,11 @@ - hardlink-group-writable-store - reuse-injected-hardlinks - sanitize-invalid-filename-warning +"@pnpm/fs.indexed-pkg-importer@1100.0.35": + dir: pnpm11/fs/indexed-pkg-importer + intents: + - concurrent-package-imports + - injected-copy-keeps-links-v11 "@pnpm/fs.is-empty-dir-or-nothing@1100.0.1": dir: pnpm11/fs/is-empty-dir-or-nothing intents: @@ -1914,6 +2021,10 @@ dir: pnpm11/fs/symlink-dependency intents: - webcontainer-async-fs-errors +"@pnpm/fs.symlink-dependency@1100.0.25": + dir: pnpm11/fs/symlink-dependency + intents: + - allow-symlinked-node-modules "@pnpm/global.commands@1100.0.34": dir: pnpm11/global/commands intents: @@ -2069,6 +2180,10 @@ dir: pnpm11/hooks/read-package-hook intents: - removal-override-meta-only-optional-peer +"@pnpm/hooks.read-package-hook@1100.3.9": + dir: pnpm11/hooks/read-package-hook + intents: + - overrides-workspace-relative-paths "@pnpm/hooks.types@1100.2.3": dir: pnpm11/hooks/types intents: @@ -2090,6 +2205,10 @@ dir: pnpm11/installing/client intents: - fresh-shoes-deploy +"@pnpm/installing.client@1100.3.17": + dir: pnpm11/installing/client + intents: + - max-tarball-unpacked-size "@pnpm/installing.client@1100.3.8": dir: pnpm11/installing/client intents: @@ -2235,6 +2354,20 @@ - catalog-prune-keeps-lockfile-catalogs - filtered-install-keeps-missing-projects - injected-copy-files-field-dedicated-lockfiles +"@pnpm/installing.commands@1101.4.7": + dir: pnpm11/installing/commands + intents: + - deploy-self-containment + - drop-registry-revisions + - external-dependencies-workspace-manifest + - global-pnpmfile-own-lockfiles + - lockfile-pin-breaks-ties + - patch-shared-workspace-lockfile-false + - preserve-config-dependency-excludes + - prune-extraneous-and-workspace-selection + - reconcile-config-dependencies + - repeat-install-verify-deps-unification + - verify-deps-content-digests "@pnpm/installing.context@1100.0.28": dir: pnpm11/installing/context intents: @@ -2252,6 +2385,10 @@ dir: pnpm11/installing/context intents: - merged-branch-lockfiles-drop-removed-deps +"@pnpm/installing.context@1101.0.12": + dir: pnpm11/installing/context + intents: + - prune-extraneous-and-workspace-selection "@pnpm/installing.context@1101.0.2": dir: pnpm11/installing/context intents: @@ -2467,6 +2604,18 @@ - catalog-prune-keeps-lockfile-catalogs - cyan-dryers-double - preserve-workspace-hoist-with-auto-peer +"@pnpm/installing.deps-installer@1104.2.6": + dir: pnpm11/installing/deps-installer + intents: + - declared-peers-in-lockfile + - drop-registry-revisions + - frozen-injected-deps-dedicated-lockfiles + - gist-same-source + - hoist-unselected-no-lockfile + - injected-copy-package-files + - lockfile-pin-breaks-ties + - patch-shared-workspace-lockfile-false + - prune-extraneous-and-workspace-selection "@pnpm/installing.deps-resolver@1100.2.11": dir: pnpm11/installing/deps-resolver intents: @@ -2594,6 +2743,20 @@ - filtered-install-keeps-missing-projects - optional-peer-also-a-dependency-dropped - workspace-optional-peer +"@pnpm/installing.deps-resolver@1102.2.9": + dir: pnpm11/installing/deps-resolver + intents: + - auto-installed-peer-follows-new-provider + - declared-peers-in-lockfile + - deploy-records-workspace-peers + - deploy-self-containment + - drop-registry-revisions + - frozen-injected-deps-dedicated-lockfiles + - injected-dedupe-skipped-deps + - injected-link-follows-peers + - lockfile-pin-breaks-ties + - optional-peer-keeps-locked-version + - patch-shared-workspace-lockfile-false "@pnpm/installing.deps-restorer@1102.1.10": dir: pnpm11/installing/deps-restorer intents: @@ -2690,6 +2853,14 @@ - hoisted-remove-link-dep - preserve-workspace-hoist-with-auto-peer - reuse-injected-hardlinks +"@pnpm/installing.deps-restorer@1103.2.6": + dir: pnpm11/installing/deps-restorer + intents: + - filtered-install-current-lockfile + - injected-copy-package-files + - prune-direct-deps-workspace-root + - prune-extraneous-and-workspace-selection + - repeat-install-verify-deps-unification "@pnpm/installing.env-installer@1102.0.12": dir: pnpm11/installing/env-installer intents: @@ -2716,6 +2887,12 @@ dir: pnpm11/installing/env-installer intents: - config-dependency-release-age +"@pnpm/installing.env-installer@1103.0.12": + dir: pnpm11/installing/env-installer + intents: + - preserve-config-dependency-excludes + - reconcile-config-dependencies + - switch-honors-trust-policy "@pnpm/installing.env-installer@1103.0.2": dir: pnpm11/installing/env-installer intents: @@ -2791,6 +2968,10 @@ dir: pnpm11/installing/linking/modules-cleaner intents: - remove-dependency-bins-first +"@pnpm/installing.linking.modules-cleaner@1100.1.30": + dir: pnpm11/installing/linking/modules-cleaner + intents: + - prune-extraneous-and-workspace-selection "@pnpm/installing.linking.real-hoist@1100.1.14": dir: pnpm11/installing/linking/real-hoist intents: @@ -2807,6 +2988,10 @@ dir: pnpm11/installing/linking/real-hoist intents: - link-file-dep-inside-package +"@pnpm/installing.linking.real-hoist@1100.1.23": + dir: pnpm11/installing/linking/real-hoist + intents: + - external-dependencies-workspace-manifest "@pnpm/installing.linking.real-hoist@1100.1.9": dir: pnpm11/installing/linking/real-hoist intents: @@ -2967,6 +3152,10 @@ dir: pnpm11/lockfile/peer-edges intents: - prod-skips-dev-provided-optional-peers +"@pnpm/lockfile.peer-edges@1100.0.3": + dir: pnpm11/lockfile/peer-edges + intents: + - optional-peer-own-dependency-kept "@pnpm/lockfile.preferred-versions@1100.0.25": dir: pnpm11/lockfile/preferred-versions intents: @@ -2979,6 +3168,10 @@ dir: pnpm11/lockfile/preferred-versions intents: - dedupe-prefers-catalog-versions +"@pnpm/lockfile.preferred-versions@1100.0.39": + dir: pnpm11/lockfile/preferred-versions + intents: + - lockfile-pin-breaks-ties "@pnpm/lockfile.pruner@1100.0.16": dir: pnpm11/lockfile/pruner intents: @@ -3035,6 +3228,10 @@ intents: - global-pnpmfile-readpackage-lockfile-reuse - preserve-lockfile-config-fields +"@pnpm/lockfile.types@1100.1.5": + dir: pnpm11/lockfile/types + intents: + - drop-registry-revisions "@pnpm/lockfile.utils@1100.1.5": dir: pnpm11/lockfile/utils intents: @@ -3064,6 +3261,10 @@ - bzip2-tarball-support - devengines-runtime-range-uses-locked-node-v11 - update-injected-workspace-deps +"@pnpm/lockfile.utils@1102.1.7": + dir: pnpm11/lockfile/utils + intents: + - drop-registry-revisions "@pnpm/lockfile.verification@1100.0.26": dir: pnpm11/lockfile/verification intents: @@ -3080,6 +3281,14 @@ dir: pnpm11/lockfile/verification intents: - catalog-stale-sibling +"@pnpm/lockfile.verification@1100.1.13": + dir: pnpm11/lockfile/verification + intents: + - aliased-file-child-frozen-install + - deploy-self-containment + - frozen-injected-deps-dedicated-lockfiles + - frozen-injected-pinned-source + - frozen-transitive-local-directory-deps "@pnpm/lockfile.verification@1100.1.4": dir: pnpm11/lockfile/verification intents: @@ -3377,6 +3586,10 @@ intents: - bright-pandas-quote - registries-by-scope-by-prefix +"@pnpm/patching.commands@1101.0.13": + dir: pnpm11/patching/commands + intents: + - patch-shared-workspace-lockfile-false "@pnpm/patching.commands@1101.0.6": dir: pnpm11/patching/commands intents: @@ -3413,6 +3626,10 @@ dir: pnpm11/pkg-manifest/commands intents: - pkg-get-recursive-duplicate-names +"@pnpm/pkg-manifest.commands@1100.1.35": + dir: pnpm11/pkg-manifest/commands + intents: + - pkg-fix-normalize-repository "@pnpm/pkg-manifest.reader@1100.0.12": dir: pnpm11/pkg-manifest/reader intents: @@ -3503,6 +3720,10 @@ dir: pnpr/client intents: - pnpr-client-constructor-dir +"@pnpm/pnpr.client@3.1.4": + dir: pnpr/client + intents: + - drop-registry-revisions "@pnpm/pnpr@0.1.0-alpha.1": dir: pnpr/npm/pnpr intents: @@ -3585,6 +3806,44 @@ - pnpr-tokens-need-an-account - pnpr-ui-sign-in - pnpr-web-ui +"@pnpm/pnpr@0.1.0-alpha.16": + dir: pnpr/npm/pnpr + intents: + - cli-surface-grammar + - config-schema-naming + - distribution-improvements + - every-ecosystem-is-prefixed + - hosted-store-layout + - persisted-document-format-versions + - pnpr-add-missing-peer-types + - pnpr-admin-audit-log + - pnpr-artifact-blob-upload + - pnpr-artifact-orgs + - pnpr-audit-fixes + - pnpr-auth-schema + - pnpr-cache-eviction + - pnpr-container-shutdown-readiness + - pnpr-default-config + - pnpr-libsql-backend-connects + - pnpr-metrics-and-request-ids + - pnpr-npm-audit-endpoints + - pnpr-package-ownership + - pnpr-packument-caching-headers + - pnpr-provenance + - pnpr-rate-limits-and-coalescing + - pnpr-requires-build-metadata + - pnpr-reserved-usernames + - pnpr-tar-registries + - pnpr-token-creation-and-expiry + - pnpr-tooling + - pnpr-trusted-proxies + - pnpr-web-login + - pnpr-zstd-upstream-responses + - precalculated-bins-pnpr + - protocol-versioning-pnpm-client + - quiet-pigs-backfill + - revisions-name-their-tar + - secret-hardening-and-ecosystem-validation "@pnpm/pnpr@0.1.0-alpha.2": dir: pnpr/npm/pnpr intents: @@ -3685,6 +3944,10 @@ intents: - fix-unpublish-registry-path-boundary - unpublish-registry-path-tarball-delete +"@pnpm/registry-access.commands@1101.0.12": + dir: pnpm11/registry-access/commands + intents: + - fix-owner-list-metadata "@pnpm/registry-access.commands@1101.0.3": dir: pnpm11/registry-access/commands intents: @@ -3756,6 +4019,12 @@ intents: - change-check-command - deploy-singleton-peers +"@pnpm/releasing.commands@1101.2.10": + dir: pnpm11/releasing/commands + intents: + - deploy-records-workspace-peers + - deploy-self-containment + - fix-oidc-registry-path "@pnpm/releasing.commands@1101.2.2": dir: pnpm11/releasing/commands intents: @@ -3931,6 +4200,10 @@ intents: - git-ssh-publickey-hint - webcontainer-async-fs-errors +"@pnpm/resolving.git-resolver@1100.1.28": + dir: pnpm11/resolving/git-resolver + intents: + - frozen-injected-pinned-source "@pnpm/resolving.jsr-specifier-parser@1100.0.3": dir: pnpm11/resolving/jsr-specifier-parser intents: @@ -4069,6 +4342,17 @@ intents: - indexed-metadata-mirror - lockfile-verification-variations +"@pnpm/resolving.npm-resolver@1104.2.7": + dir: pnpm11/resolving/npm-resolver + intents: + - drop-registry-revisions + - full-metadata-release-age-upgrade + - lockfile-pin-breaks-ties + - registry-tarball-url-under-path + - reject-registry-name-mismatch + - release-age-exclude-reuses-mirror + - release-age-upgrade-reuses-revalidation + - revalidate-release-age-upgrade "@pnpm/resolving.parse-wanted-dependency@1100.0.2": dir: pnpm11/resolving/parse-wanted-dependency intents: @@ -4122,6 +4406,10 @@ dir: pnpm11/resolving/registry/types intents: - release-age-upgrade-keeps-full-etag +"@pnpm/resolving.registry.types@1100.2.4": + dir: pnpm11/resolving/registry/types + intents: + - drop-registry-revisions "@pnpm/resolving.resolver-base@1100.5.4": dir: pnpm11/resolving/resolver-base intents: @@ -4151,6 +4439,11 @@ dir: pnpm11/resolving/resolver-base intents: - time-based-mature-fallback +"@pnpm/resolving.resolver-base@1101.3.3": + dir: pnpm11/resolving/resolver-base + intents: + - drop-registry-revisions + - lockfile-pin-breaks-ties "@pnpm/resolving.tarball-resolver@1100.1.9": dir: pnpm11/resolving/tarball-resolver intents: @@ -4172,6 +4465,10 @@ dir: pnpm11/resolving/tarball-url intents: - webcontainer-async-fs-errors +"@pnpm/resolving.tarball-url@1101.1.5": + dir: pnpm11/resolving/tarball-url + intents: + - drop-registry-revisions "@pnpm/shell.path@1100.0.2": dir: pnpm11/shell/path intents: @@ -4227,6 +4524,10 @@ - bounded-tarball-memory - fix-bundled-dependencies-symlink-traversal - tarball-parser-overflow-pax-validation +"@pnpm/store.cafs@1100.3.8": + dir: pnpm11/store/cafs + intents: + - max-tarball-unpacked-size "@pnpm/store.commands@1100.0.38": dir: pnpm11/store/commands intents: @@ -4283,6 +4584,10 @@ dir: pnpm11/store/connection-manager intents: - fix-concurrent-store-readers +"@pnpm/store.connection-manager@1101.3.5": + dir: pnpm11/store/connection-manager + intents: + - max-tarball-unpacked-size "@pnpm/store.controller-types@1100.1.10": dir: pnpm11/store/controller-types intents: @@ -4325,6 +4630,10 @@ dir: pnpm11/store/controller-types intents: - hoisted-delegated-directories +"@pnpm/store.controller-types@1101.3.4": + dir: pnpm11/store/controller-types + intents: + - drop-registry-revisions "@pnpm/store.controller@1102.0.8": dir: pnpm11/store/controller intents: @@ -4366,6 +4675,10 @@ dir: pnpm11/store/file-mode intents: - shared-store-permissions +"@pnpm/store.file-mode@1100.0.2": + dir: pnpm11/store/file-mode + intents: + - macos-unreadable-store-dirs "@pnpm/store.index@1100.2.2": dir: pnpm11/store/index intents: @@ -4399,6 +4712,10 @@ dir: pnpm11/store/path intents: - store-path-unwritable-cwd +"@pnpm/store.path@1100.1.3": + dir: pnpm11/store/path + intents: + - docs-readme-named-exports "@pnpm/store.pkg-finder@1100.0.25": dir: pnpm11/store/pkg-finder intents: @@ -4424,6 +4741,10 @@ intents: - registries-by-scope-by-prefix - typed-test-option-helpers +"@pnpm/testing.temp-store@1101.0.12": + dir: pnpm11/testing/temp-store + intents: + - temp-store-npm-registry-path "@pnpm/text.comments-parser@1100.0.1": dir: pnpm11/text/comments-parser intents: @@ -4497,6 +4818,10 @@ intents: - gypfile-false-opts-out-of-node-gyp - update-peer-dependencies +"@pnpm/types@1102.1.2": + dir: pnpm11/core/types + intents: + - external-dependencies-workspace-manifest "@pnpm/worker@1100.2.7": dir: pnpm11/worker intents: @@ -4512,6 +4837,10 @@ - calm-pandas-share - persist-remote-build-artifacts - tough-flies-approve +"@pnpm/worker@1100.4.10": + dir: pnpm11/worker + intents: + - max-tarball-unpacked-size "@pnpm/worker@1100.4.4": dir: pnpm11/worker intents: @@ -4589,6 +4918,13 @@ intents: - injected-copy-files-field-dedicated-lockfiles - injected-sync-half-written-manifest +"@pnpm/workspace.injected-deps-syncer@1100.0.45": + dir: pnpm11/workspace/injected-deps-syncer + intents: + - injected-copy-keeps-links-v11 + - injected-copy-package-files + - sync-injected-deps-dedicated-lockfiles + - sync-injected-deps-publish-directory "@pnpm/workspace.package-patterns@1100.0.0": dir: pnpm11/workspace/package-patterns intents: @@ -4679,6 +5015,10 @@ dir: pnpm11/workspace/projects-graph intents: - prototype-named-projects-and-files +"@pnpm/workspace.projects-graph@1100.0.45": + dir: pnpm11/workspace/projects-graph + intents: + - repeat-install-verify-deps-unification "@pnpm/workspace.projects-reader@1101.0.19": dir: pnpm11/workspace/projects-reader intents: @@ -4762,6 +5102,11 @@ - hoisted-repeat-install-restores-project-modules-dir - webcontainer-async-fs-errors - workspace-state-write-race +"@pnpm/workspace.state@1100.0.51": + dir: pnpm11/workspace/state + intents: + - repeat-install-verify-deps-unification + - verify-deps-content-digests "@pnpm/workspace.task-scheduler@1100.0.0": dir: pnpm11/workspace/task-scheduler intents: @@ -4791,6 +5136,10 @@ dir: pnpm11/workspace/workspace-manifest-reader intents: - reject-falsy-workspace-packages +"@pnpm/workspace.workspace-manifest-reader@1100.3.0": + dir: pnpm11/workspace/workspace-manifest-reader + intents: + - pin-decision-survives-unreadable-setting "@pnpm/workspace.workspace-manifest-writer@1100.0.18": dir: pnpm11/workspace/workspace-manifest-writer intents: @@ -6175,6 +6524,114 @@ pacquet@12.14.0: - store-root-mtime-unchanged - unreferenced-catalogs-keep-lockfile-reuse - update-check-does-not-hold-install +pacquet@12.15.0: + dir: pnpm/npm/pnpm + intents: + - allow-symlinked-node-modules + - auto-installed-peer-follows-new-provider + - bounded-workspace-installs + - calm-lockfiles-rest + - cli-config-registry-credentials + - concurrent-package-imports + - declared-peers-in-lockfile + - deploy-file-deps-outside-workspace + - deploy-keeps-optional-peer-own-dependency + - deploy-records-workspace-peers + - deploy-self-containment + - deploy-single-package-copy + - deploy-source-date-epoch + - deprecate-large-package-documents + - distribution-improvements + - esm-node-path-loader-parent-url + - fast-workspace-discovery-and-repeat-install + - filtered-install-hoisted-groups-and-freshness + - fix-oidc-registry-path + - fix-owner-list-metadata + - frozen-directory-without-manifest + - frozen-injected-pinned-source + - gist-dependencies + - hashed-peer-reuse-and-workspace-direct-deps + - hoisted-filtered-install-keeps-workspace-links + - if-modified-since-bare-date + - if-modified-since-before-1970 + - injected-catalog-peer-as-written + - injected-child-non-range-spec + - injected-child-specs + - injected-copy-keeps-links + - injected-copy-package-files + - injected-directory-freshness-agreement + - injected-link-follows-peers + - injected-named-registry-spec + - injected-per-project-repeat-install + - injected-publish-dir-manifest + - install-with-pnpr-requires-build + - isolated-hoist-unselected-projects + - licenses-prod-optional + - link-with-four-threads-on-macos + - linked-peer-manifest-formats + - lockfile-check-canonical-paths + - lockfile-integrity-target + - lockfile-pin-breaks-ties + - metadata-decode-pool + - optional-peer-kept-on-cycle-reinstall + - optional-peer-own-dependency-kept + - overrides-in-deps-status-check + - overrides-workspace-relative-paths + - pack-default-excludes + - patch-file-rename + - patch-shared-workspace-lockfile-false + - peer-check-linked-manifests + - peer-check-linked-package-reads + - peer-not-borrowed-across-projects + - pin-decision-settings + - pkg-fix-normalize-repository + - pre-command-reads-output-flags + - precalculated-bins-pnpr + - preserve-config-dependency-excludes + - protocol-versioning-pnpm-client + - prune-direct-deps-workspace-root + - prune-honors-trust-lockfile + - prune-v12-extraneous-and-workspace-selection + - quiet-pigs-backfill + - quiet-rwlock-hits + - reconcile-config-dependencies + - recursive-run-ctrl-c-exit + - registry-tarball-url-under-path + - reject-registry-name-mismatch + - release-age-upgrade-reuses-revalidation + - remember-lowest-direct-release-age-upgrade + - remote-tarball-peer-versions + - repeat-filtered-install-fast-path + - repeat-install-content-digests + - repeat-install-verify-deps-unification + - reuse-cyclic-subtrees + - revalidate-release-age-upgrade + - revision-zero-is-recorded + - root-pnpmfile-own-lockfiles + - sbom-gist-repository + - self-update-pin-under-homebrew + - self-update-workspace-root-pin + - setup-restricted-registry + - setup-unknown-shell + - small-licenses-lockfile + - steady-numeric-pack-ranges + - sync-injected-deps-dedicated-lockfiles + - tar-registry-installs + - tarball-name-malformed-escape + - tidy-patches-rest + - unified-packlist-rules + - unify-up-to-date-checks-v12 + - unknown-flag-before-command-switches + - update-checksums-refreshes-locked + - update-interactive-active-row-cyan + - verify-deps-after-filtered-install + - verify-deps-gates-converge + - warm-cargo-crate-slots + - webcontainer-lock-parking + - webcontainer-missing-command-error + - why-shared-workspace-lockfile-false + - workspace-config-includes + - zstd-registry-responses pacquet@12.2.0: dir: pnpm/npm/pnpm intents: @@ -7964,3 +8421,70 @@ pnpm@11.28.6: - switch-past-unreadable-config-v11 - windows-workspace-scope-rmdir - workspace-optional-peer +pnpm@11.28.7: + dir: pnpm11/pnpm + intents: + - aliased-file-child-frozen-install + - allow-symlinked-node-modules + - auto-installed-peer-follows-new-provider + - closed-stdout-keeps-exit-code + - concurrent-package-imports + - cross-version-workspace-settings + - declared-peers-in-lockfile + - deploy-records-workspace-peers + - deploy-self-containment + - drop-registry-revisions + - env-lockfile-follows-workspace-lockfile-dir + - esm-node-path-loader-parent-url + - external-dependencies-workspace-manifest + - filtered-install-current-lockfile + - fix-oidc-registry-path + - fix-owner-list-metadata + - fix-sbom-dedicated-lockfiles + - frozen-injected-deps-dedicated-lockfiles + - frozen-injected-pinned-source + - frozen-transitive-local-directory-deps + - full-metadata-release-age-upgrade + - gist-same-source + - global-pnpmfile-own-lockfiles + - hoist-unselected-no-lockfile + - injected-copy-keeps-links-v11 + - injected-copy-package-files + - injected-dedupe-skipped-deps + - injected-link-follows-peers + - lockfile-pin-breaks-ties + - macos-unreadable-store-dirs + - max-tarball-unpacked-size + - no-pin-record-past-unreadable-config + - optional-peer-keeps-locked-version + - optional-peer-own-dependency-kept + - overrides-in-deps-status-check + - overrides-workspace-relative-paths + - patch-shared-workspace-lockfile-false + - pin-decision-survives-unreadable-setting + - pkg-fix-normalize-repository + - preserve-config-dependency-excludes + - prune-direct-deps-workspace-root + - prune-extraneous-and-workspace-selection + - reconcile-config-dependencies + - registry-tarball-url-under-path + - reject-registry-name-mismatch + - release-age-exclude-reuses-mirror + - release-age-upgrade-reuses-revalidation + - repeat-install-verify-deps-unification + - revalidate-release-age-upgrade + - safe-url-env-var-parsing + - sbom-gist-repository + - self-update-pin-under-homebrew + - setup-restricted-registry + - setup-unknown-shell + - small-licenses-lockfile + - switch-honors-trust-policy + - sync-injected-deps-dedicated-lockfiles + - sync-injected-deps-publish-directory + - tidy-patches-rest + - unify-up-to-date-checks-v11 + - verify-deps-content-digests + - verify-deps-missing-project-lockfile + - version-past-unreadable-config + - why-shared-workspace-lockfile-false diff --git a/.changeset/licenses-prod-optional.md b/.changeset/licenses-prod-optional.md deleted file mode 100644 index 419f9703f3..0000000000 --- a/.changeset/licenses-prod-optional.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm licenses list --prod` now includes optional dependencies, including transitive ones. Pass `--no-optional` to leave them out. diff --git a/.changeset/link-with-four-threads-on-macos.md b/.changeset/link-with-four-threads-on-macos.md deleted file mode 100644 index 808504c1e3..0000000000 --- a/.changeset/link-with-four-threads-on-macos.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Sped up `pnpm install` on macOS. On a 12-core Mac, installing 1352 packages from a warm store took 1.3 seconds, down from 2.2. pnpm now writes package files into `node_modules` with 4 threads on macOS, whatever the number of CPU cores. Set the `PNPM_MACOS_LINK_THREADS` environment variable to use a different number of threads, or to `0` to write files with the threads pnpm uses for the rest of the install. diff --git a/.changeset/linked-peer-manifest-formats.md b/.changeset/linked-peer-manifest-formats.md deleted file mode 100644 index e3cbc87e24..0000000000 --- a/.changeset/linked-peer-manifest-formats.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Fixed `pnpm install` and `pnpm peers check` missing peer dependency issues in linked projects that use `package.json5` or `package.yaml`. Linked package versions are now reported correctly for these formats [pnpm/tasks#172](https://github.com/pnpm/tasks/issues/172). diff --git a/.changeset/loaded-linker-bundled-node-modules.md b/.changeset/loaded-linker-bundled-node-modules.md deleted file mode 100644 index aede342e32..0000000000 --- a/.changeset/loaded-linker-bundled-node-modules.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/esm-loader": patch -"pacquet": patch ---- - -With `nodeLinker.type: loaded`, packages that ship their own `node_modules` directory, such as `npm` with its bundled dependencies, now load from the store. One such package in the install stopped every Node.js process from starting. diff --git a/.changeset/loaded-linker-unsupported-node.md b/.changeset/loaded-linker-unsupported-node.md deleted file mode 100644 index ddcf8ddea7..0000000000 --- a/.changeset/loaded-linker-unsupported-node.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/esm-loader": patch -"pacquet": patch ---- - -With `nodeLinker.type` set to `loaded`, Node.js now stops with `ERR_PNPM_LOADER_UNSUPPORTED_NODE` when it preloads the store loader on a version the loader cannot serve. The supported versions are `^24.18.0 || >=26.2.0`. On other versions, CommonJS packages imported from ESM failed with `Cannot find module` on their first relative `require()`. diff --git a/.changeset/lockfile-check-canonical-paths.md b/.changeset/lockfile-check-canonical-paths.md deleted file mode 100644 index 21cba32dbb..0000000000 --- a/.changeset/lockfile-check-canonical-paths.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Reduced the CPU time that `pnpm install` spends checking whether the lockfile is up to date in workspaces whose projects depend on each other. On a workspace with 6,833 projects, the check uses about 1 second less CPU time. diff --git a/.changeset/lockfile-integrity-target.md b/.changeset/lockfile-integrity-target.md deleted file mode 100644 index 51403a63b0..0000000000 --- a/.changeset/lockfile-integrity-target.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"pacquet": minor ---- - -Added the `lockfile.integrityTarget` setting. With `integrityTarget: tar`, `pnpm-lock.yaml` pins the hash of every package's uncompressed tar, so the lockfile no longer changes when a registry recompresses its tarballs or serves them as tars. pnpm learns a version's tar hash from the store or by downloading it once. `pnpm audit signatures` ties the tar hash to the signed `.tgz` integrity. - -```yaml title="pnpm-workspace.yaml" -lockfile: - integrityTarget: tar -``` diff --git a/.changeset/metadata-decode-pool.md b/.changeset/metadata-decode-pool.md deleted file mode 100644 index 0bd7e9e627..0000000000 --- a/.changeset/metadata-decode-pool.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Lowered peak memory when pnpm downloads many packuments, such as during lockfile verification with `trustPolicy` on Linux. In one 1,800-entry workspace, a lockfile update now peaks at 1.8 to 2.0 GB. It peaked at 2.6 to 3.7 GB before [#17020](https://github.com/pnpm/pnpm/issues/17020). diff --git a/.changeset/optional-peer-also-a-dependency-dropped.md b/.changeset/optional-peer-also-a-dependency-dropped.md deleted file mode 100644 index 0f18e62a79..0000000000 --- a/.changeset/optional-peer-also-a-dependency-dropped.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/installing.deps-resolver": patch -"pnpm": patch ---- - -pnpm no longer drops a dependency that a package also declares as an optional peer dependency, for example `ajv` of `ajv-formats`. Since 11.28.0, in some dependency graphs the package got the dependency neither as a dependency nor as a peer, and failed to import it [#16901](https://github.com/pnpm/pnpm/issues/16901). diff --git a/.changeset/optional-peer-kept-on-cycle-reinstall.md b/.changeset/optional-peer-kept-on-cycle-reinstall.md deleted file mode 100644 index 932dc796f4..0000000000 --- a/.changeset/optional-peer-kept-on-cycle-reinstall.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install` with an existing lockfile and a second `pnpm dedupe` now keep optional peer bindings that point into a dependency cycle or back into the dependent package. Before, the second run dropped the optional peer binding from the lockfile snapshot key. diff --git a/.changeset/pack-default-excludes.md b/.changeset/pack-default-excludes.md deleted file mode 100644 index 2db3ab878a..0000000000 --- a/.changeset/pack-default-excludes.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm pack` and `pnpm publish` no longer include editor swap files (`.*.swp`), macOS `._*` files, `.lock-wscript`, `.wafpickle-*`, `build/config.gypi`, or `archived-packages/` in the tarball. Naming one of these files in `files` still includes it [#16955](https://github.com/pnpm/pnpm/issues/16955). diff --git a/.changeset/patch-file-rename.md b/.changeset/patch-file-rename.md deleted file mode 100644 index f2444386c1..0000000000 --- a/.changeset/patch-file-rename.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm patch-commit` and `pnpm install` now apply a patch that renames or moves a file of the patched package. Such a patch failed with "rename/copy operations in patches are not yet supported". diff --git a/.changeset/peer-check-linked-manifests.md b/.changeset/peer-check-linked-manifests.md deleted file mode 100644 index bd186b034c..0000000000 --- a/.changeset/peer-check-linked-manifests.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Sped up the peer dependency check at the end of an install in workspaces whose projects depend on each other. pnpm now checks the peers of linked workspace projects against the manifests it already read, without reading each `package.json` again. diff --git a/.changeset/peer-check-linked-package-reads.md b/.changeset/peer-check-linked-package-reads.md deleted file mode 100644 index 503298fd1f..0000000000 --- a/.changeset/peer-check-linked-package-reads.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Installs that resolve dependencies in large workspaces finish faster. The peer dependency check that runs after the lockfile is written now reads each linked workspace package once. diff --git a/.changeset/peer-not-borrowed-across-projects.md b/.changeset/peer-not-borrowed-across-projects.md deleted file mode 100644 index 5f37f8905c..0000000000 --- a/.changeset/peer-not-borrowed-across-projects.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -With `resolvePeersFromWorkspaceRoot: false`, a workspace project no longer binds a peer to a version that only another project's dependencies provide. pnpm now auto-installs a version that satisfies the peer range for that project. Before, the project got a version outside the range, with no peer warning. diff --git a/.changeset/pin-decision-settings.md b/.changeset/pin-decision-settings.md deleted file mode 100644 index 587d06c0a3..0000000000 --- a/.changeset/pin-decision-settings.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -pnpm now reads only the settings it needs to decide whether to switch to the pnpm version a project pins. A setting outside them can no longer fail that decision or change its outcome. For example, `pnpm --version` no longer fails in a pinned project whose `pnpm-workspace.yaml` has a setting this pnpm cannot read. Projects that pin neither pnpm nor a runtime skip this check without reading any settings. diff --git a/.changeset/pre-command-reads-output-flags.md b/.changeset/pre-command-reads-output-flags.md deleted file mode 100644 index 40234c84ec..0000000000 --- a/.changeset/pre-command-reads-output-flags.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -When pnpm switches to the version a project pins for `pnpm --version`, or for a command line it does not recognize, it now honors `--color`, `--no-color`, `--reporter`, and `--loglevel` wherever they appear on the command line. diff --git a/.changeset/preserve-workspace-hoist-with-auto-peer.md b/.changeset/preserve-workspace-hoist-with-auto-peer.md deleted file mode 100644 index 6004b69779..0000000000 --- a/.changeset/preserve-workspace-hoist-with-auto-peer.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@pnpm/installing.deps-installer": patch -"@pnpm/installing.deps-restorer": patch -"@pnpm/installing.linking.hoist": patch -"pnpm": patch ---- - -`pnpm dedupe` now preserves a hoisted workspace package when another package uses a separately installed peer with the same name [pnpm/pnpm#16935](https://github.com/pnpm/pnpm/issues/16935). diff --git a/.changeset/prune-excluded-workspace-subtrees.md b/.changeset/prune-excluded-workspace-subtrees.md deleted file mode 100644 index 06e0480de0..0000000000 --- a/.changeset/prune-excluded-workspace-subtrees.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@pnpm/workspace.package-patterns": patch -"@pnpm/workspace.projects-reader": patch -"pnpm": patch -"pacquet": patch ---- - -Sped up workspace discovery with subtree exclusions such as `!generated/**`. diff --git a/.changeset/prune-honors-trust-lockfile.md b/.changeset/prune-honors-trust-lockfile.md deleted file mode 100644 index fa0bc67404..0000000000 --- a/.changeset/prune-honors-trust-lockfile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm prune` now honors the `trustLockfile` setting and the `--trust-lockfile` flag. With the lockfile trusted, `pnpm prune --prod` works offline when every package is in the store [#16999](https://github.com/pnpm/pnpm/issues/16999). diff --git a/.changeset/prune-v12-extraneous-and-workspace-selection.md b/.changeset/prune-v12-extraneous-and-workspace-selection.md deleted file mode 100644 index e0f2d5c31f..0000000000 --- a/.changeset/prune-v12-extraneous-and-workspace-selection.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm prune` now removes extraneous direct packages from `node_modules` when `package.json` and `pnpm-lock.yaml` are already in sync. `pnpm prune` also honors workspace project selection (`--filter`, `-r`) and `sharedWorkspaceLockfile: false` in workspaces. diff --git a/.changeset/quiet-audience-checks.md b/.changeset/quiet-audience-checks.md deleted file mode 100644 index 8e121478b7..0000000000 --- a/.changeset/quiet-audience-checks.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"pnpm": patch -"pacquet": patch ---- - -`pnpm publish` now uses an `NPM_ID_TOKEN` only if its `aud` claim matches the selected registry, such as `npm:registry.npmjs.org`. A token for another registry is skipped with a warning, and pnpm falls back to the configured credentials. diff --git a/.changeset/quiet-rwlock-hits.md b/.changeset/quiet-rwlock-hits.md deleted file mode 100644 index 6a2d7265ec..0000000000 --- a/.changeset/quiet-rwlock-hits.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Sped up dependency resolution in large workspaces [pnpm/tasks#9](https://github.com/pnpm/tasks/issues/9). diff --git a/.changeset/recursive-run-ctrl-c-exit.md b/.changeset/recursive-run-ctrl-c-exit.md deleted file mode 100644 index a73ee7d0ec..0000000000 --- a/.changeset/recursive-run-ctrl-c-exit.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Pressing Ctrl+C during `pnpm -r run` or `pnpm --filter run` no longer reports `ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL`. pnpm now ends with the interrupted script's status, such as 130 for a script that SIGINT ended on Linux or macOS [#16964](https://github.com/pnpm/pnpm/issues/16964). diff --git a/.changeset/relink-stale-pnpm-store-bins.md b/.changeset/relink-stale-pnpm-store-bins.md deleted file mode 100644 index a030fe3621..0000000000 --- a/.changeset/relink-stale-pnpm-store-bins.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/engine.pm.commands": patch -"pnpm": patch ---- - -pnpm now relinks the bins of a pnpm version it installed earlier for `packageManager` or `pnpm with`. A pnpm 12 version installed by a pnpm release older than 11.28.4 could keep a launcher that ran `node` on the native binary, so every command failed with `SyntaxError: Invalid or unexpected token` [#16646](https://github.com/pnpm/pnpm/issues/16646). diff --git a/.changeset/remember-lowest-direct-release-age-upgrade.md b/.changeset/remember-lowest-direct-release-age-upgrade.md deleted file mode 100644 index 523cca90f5..0000000000 --- a/.changeset/remember-lowest-direct-release-age-upgrade.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -With `minimumReleaseAge` set and `resolutionMode` set to `lowest-direct` or `time-based`, pnpm no longer downloads a direct dependency's full metadata again for every project that depends on it. This happened when the registry's metadata did not list a publish time for every version. diff --git a/.changeset/remote-tarball-peer-versions.md b/.changeset/remote-tarball-peer-versions.md deleted file mode 100644 index 97a66c7586..0000000000 --- a/.changeset/remote-tarball-peer-versions.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install` and `pnpm peers check` no longer report an unmet peer when a workspace package's peer is provided by a remote tarball URL. pnpm now compares the peer range with the version in the tarball's manifest [#17037](https://github.com/pnpm/pnpm/issues/17037). diff --git a/.changeset/removal-override-meta-only-optional-peer.md b/.changeset/removal-override-meta-only-optional-peer.md deleted file mode 100644 index 59eb79e6e2..0000000000 --- a/.changeset/removal-override-meta-only-optional-peer.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@pnpm/hooks.read-package-hook": patch -"pnpm": patch -"pacquet": patch ---- - -Removal overrides such as `"debug>supports-color": "-"` now also apply to an optional peer that a package declares only in `peerDependenciesMeta` [#16681](https://github.com/pnpm/pnpm/issues/16681). diff --git a/.changeset/repeat-filtered-install-fast-path.md b/.changeset/repeat-filtered-install-fast-path.md deleted file mode 100644 index 03a0db09fe..0000000000 --- a/.changeset/repeat-filtered-install-fast-path.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -A repeated `pnpm install --filter` now finishes without reinstalling when the selected projects are up to date. So does `pnpm install` once filtered commands have installed every project. diff --git a/.changeset/repeat-install-content-digests.md b/.changeset/repeat-install-content-digests.md deleted file mode 100644 index c40ef37af0..0000000000 --- a/.changeset/repeat-install-content-digests.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install` and the `verifyDepsBeforeRun` check now notice an edited manifest, lockfile, or patch file even when the edit kept the file's modification time, as `cp -p`, `rsync -a`, or an archive extraction leave it. - -After `pnpm install --filter`, `pnpm run` and `pnpm exec` now notice a changed manifest in a project that install left out. diff --git a/.changeset/reuse-cyclic-subtrees.md b/.changeset/reuse-cyclic-subtrees.md deleted file mode 100644 index 5ad7f807f8..0000000000 --- a/.changeset/reuse-cyclic-subtrees.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install`, `pnpm add`, and `pnpm update` now reuse the lockfile's resolution for dependencies that take part in a dependency cycle, such as `mlly` and `pkg-types`. They re-resolved those packages and everything that depends on them from the registry before [pnpm/tasks#130](https://github.com/pnpm/tasks/issues/130). diff --git a/.changeset/reuse-injected-hardlinks.md b/.changeset/reuse-injected-hardlinks.md deleted file mode 100644 index 33af343160..0000000000 --- a/.changeset/reuse-injected-hardlinks.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@pnpm/fs.indexed-pkg-importer": patch -"@pnpm/installing.deps-restorer": patch -"pnpm": patch -"pacquet": patch ---- - -Sped up frozen installs of unchanged injected workspace packages that use hardlinks. diff --git a/.changeset/revision-zero-is-recorded.md b/.changeset/revision-zero-is-recorded.md deleted file mode 100644 index cfab47c4ec..0000000000 --- a/.changeset/revision-zero-is-recorded.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": minor ---- - -Registry revisions now always pin the hash of the uncompressed tar, the original included. pnpm records an original selected through the revision protocol, for example with a `+r0` specifier, as `revision: 0` in the lockfile and fetches it from the registry's digest route. pnpm checks a revision's tar whether the registry sends it as a tar, gzip, or zstd. Revision metadata must list revision 0 and mark the selected revision. pnpm rejects incomplete revision metadata with `ERR_PNPM_MALFORMED_METADATA`. diff --git a/.changeset/root-pnpmfile-own-lockfiles.md b/.changeset/root-pnpmfile-own-lockfiles.md deleted file mode 100644 index 1f15bd4615..0000000000 --- a/.changeset/root-pnpmfile-own-lockfiles.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -With `sharedWorkspaceLockfile: false`, `pnpm install` now runs the workspace root's pnpmfile for every project, after the project's own pnpmfile. Before, it ran only the pnpmfile in the project's directory. diff --git a/.changeset/sanitize-invalid-filename-warning.md b/.changeset/sanitize-invalid-filename-warning.md deleted file mode 100644 index 7715065eab..0000000000 --- a/.changeset/sanitize-invalid-filename-warning.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/fs.indexed-pkg-importer": patch -"pnpm": patch ---- - -The warning about renamed package files with invalid names no longer prints control characters from those file names. diff --git a/.changeset/self-update-workspace-root-pin.md b/.changeset/self-update-workspace-root-pin.md deleted file mode 100644 index a1658affde..0000000000 --- a/.changeset/self-update-workspace-root-pin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm self-update` run inside a workspace package now updates the pnpm pin in the workspace root's manifest. It also updates a pin declared in `package.yaml` or `package.json5`. diff --git a/.changeset/setup-js-install-through-symlink.md b/.changeset/setup-js-install-through-symlink.md deleted file mode 100644 index 51b3c83cb5..0000000000 --- a/.changeset/setup-js-install-through-symlink.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/engine.pm.commands": patch -"pnpm": patch ---- - -`pnpm setup` no longer tries to install pnpm globally from npm's `bin` directory when pnpm was installed with npm. It failed with `Failed to create bin at /bin/pnpm` [#16855](https://github.com/pnpm/pnpm/issues/16855). diff --git a/.changeset/stage-publish-failure-message.md b/.changeset/stage-publish-failure-message.md deleted file mode 100644 index 1deb3783b6..0000000000 --- a/.changeset/stage-publish-failure-message.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@pnpm/releasing.commands": patch -"pnpm": patch -"pacquet": patch ---- - -When the registry rejects `pnpm stage publish`, the error message now starts with "Failed to stage package". diff --git a/.changeset/steady-numeric-pack-ranges.md b/.changeset/steady-numeric-pack-ranges.md deleted file mode 100644 index 722e8120cb..0000000000 --- a/.changeset/steady-numeric-pack-ranges.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Brace ranges such as `part{1..3}.js` and `part{a..c}.js` now select the matching files when packing packages. Descending ranges, steps, and zero padding are supported in `files`, `.npmignore`, and `.gitignore` patterns. A zero step uses the default increment of 1. diff --git a/.changeset/store-root-mtime-unchanged.md b/.changeset/store-root-mtime-unchanged.md deleted file mode 100644 index 6ab5ca7beb..0000000000 --- a/.changeset/store-root-mtime-unchanged.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@pnpm/store.index": patch -"pnpm": patch -"pacquet": patch ---- - -An install that adds nothing to the store no longer changes the modification time of the store directory. CI caches that check modification times, such as GitLab's, no longer re-upload an unchanged store [#16929](https://github.com/pnpm/pnpm/issues/16929). diff --git a/.changeset/switch-past-unreadable-config-v11.md b/.changeset/switch-past-unreadable-config-v11.md deleted file mode 100644 index 3755658dba..0000000000 --- a/.changeset/switch-past-unreadable-config-v11.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/config.reader": patch -"pnpm": patch ---- - -pnpm now switches to the pnpm version a project pins even when it cannot read its configuration. Previously, a setting it rejected in the global config file, an `.npmrc` file, `_auth`, or `pnpm-workspace.yaml` stopped every command, `pnpm --version` included. diff --git a/.changeset/tar-registry-installs.md b/.changeset/tar-registry-installs.md deleted file mode 100644 index aa63bad74a..0000000000 --- a/.changeset/tar-registry-installs.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"pacquet": minor ---- - -pnpm can now install from a registry that serves uncompressed tars with zstd or gzip content coding. `pnpm-lock.yaml` records the hash of each tar. Declare such a registry with `serverType: pnpr` in `registries` to keep tarball URLs out of the lockfile. See [Tar registries](https://pnpm.io/registries#tar-registries). - -pnpm now decodes the content coding of tarball downloads itself. It rejects a zstd response whose window is larger than 8 MiB. - -Added the `maxTarballUnpackedSize` setting. It caps the bytes the files of one package may unpack to, 4 GiB by default. diff --git a/.changeset/tarball-name-malformed-escape.md b/.changeset/tarball-name-malformed-escape.md deleted file mode 100644 index 6d413b64ec..0000000000 --- a/.changeset/tarball-name-malformed-escape.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm add` no longer reads a package name with a malformed percent escape from a registry tarball URL. It installs such a URL as a plain tarball URL. diff --git a/.changeset/unified-packlist-rules.md b/.changeset/unified-packlist-rules.md deleted file mode 100644 index 48ce212bac..0000000000 --- a/.changeset/unified-packlist-rules.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm pack` now supports extended glob patterns in `files`. Explicitly listed internal directory symlinks are preserved below excluded directories. Entry points honor nested ignore files. Ignore negations can re-include default-excluded logs and backup files. Nested lockfiles follow the package's file selection rules. diff --git a/.changeset/unify-up-to-date-checks-v12.md b/.changeset/unify-up-to-date-checks-v12.md deleted file mode 100644 index e6b383dce9..0000000000 --- a/.changeset/unify-up-to-date-checks-v12.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install` with `optimisticRepeatInstall` now re-runs when `configDependencies` changed since the previous install, matching `verifyDepsBeforeRun`. - -`verifyDepsBeforeRun` now reports `node_modules` out of date when `useGitBranchLockfile` is enabled and the branch lockfile is missing. diff --git a/.changeset/unknown-flag-before-command-switches.md b/.changeset/unknown-flag-before-command-switches.md deleted file mode 100644 index df38f54cbe..0000000000 --- a/.changeset/unknown-flag-before-command-switches.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -An option only the pinned pnpm knows now reaches that pnpm when it comes immediately before the command name, as in `pnpm --new-flag install`. diff --git a/.changeset/update-checksums-refreshes-locked.md b/.changeset/update-checksums-refreshes-locked.md deleted file mode 100644 index 96875bbe12..0000000000 --- a/.changeset/update-checksums-refreshes-locked.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install --update-checksums` now re-resolves every locked package and records the integrity the registry reports now. diff --git a/.changeset/update-interactive-active-row-cyan.md b/.changeset/update-interactive-active-row-cyan.md deleted file mode 100644 index 7c314af8fe..0000000000 --- a/.changeset/update-interactive-active-row-cyan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": minor ---- - -`pnpm update --interactive` now highlights the row under the cursor in cyan while keeping the colors of its version changes. diff --git a/.changeset/verify-deps-after-filtered-install.md b/.changeset/verify-deps-after-filtered-install.md deleted file mode 100644 index 1c8c5f44a3..0000000000 --- a/.changeset/verify-deps-after-filtered-install.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm run` and `pnpm exec` now install a selected project whose dependencies changed when a filtered install for another project ran in between. Before, the script ran without the new dependencies, and `verifyDepsBeforeRun: error` reported nothing [#17011](https://github.com/pnpm/pnpm/issues/17011). diff --git a/.changeset/verify-deps-gates-converge.md b/.changeset/verify-deps-gates-converge.md deleted file mode 100644 index 0f84df4966..0000000000 --- a/.changeset/verify-deps-gates-converge.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"pacquet": patch ---- - -In a workspace that has no `package.json` at its root, `pnpm run` and `pnpm exec` no longer reinstall before every command when the dependencies are up to date. - -With `sharedWorkspaceLockfile: false`, a filtered `pnpm run` or `pnpm exec` now also checks the workspace projects that the selected projects depend on. - -When the install that runs before a script leaves the dependencies out of date, pnpm now prints a warning. diff --git a/.changeset/warm-cargo-crate-slots.md b/.changeset/warm-cargo-crate-slots.md deleted file mode 100644 index 0a544e228a..0000000000 --- a/.changeset/warm-cargo-crate-slots.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -`pnpm install` in a Cargo workspace skips crates that an earlier install already unpacked into the store. Before, a repeat install processed every crate in `Cargo.lock` again. `pnpm install --force` unpacks every crate again [pnpm/tasks#69](https://github.com/pnpm/tasks/issues/69). diff --git a/.changeset/webcontainer-lock-parking.md b/.changeset/webcontainer-lock-parking.md deleted file mode 100644 index 74087cc0ed..0000000000 --- a/.changeset/webcontainer-lock-parking.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Fixed `pnpm` crashing in StackBlitz WebContainers with `Parking not supported on this platform`. The crash was intermittent. It needed two threads to reach for the same internal lock at once. diff --git a/.changeset/webcontainer-missing-command-error.md b/.changeset/webcontainer-missing-command-error.md deleted file mode 100644 index 3842392d32..0000000000 --- a/.changeset/webcontainer-missing-command-error.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": patch ---- - -Fixed `pnpm` in StackBlitz WebContainers sometimes failing with a generic error when it ran a command that does not exist. It now reports that the command was not found. diff --git a/.changeset/windows-workspace-scope-rmdir.md b/.changeset/windows-workspace-scope-rmdir.md deleted file mode 100644 index 6c2a5029e5..0000000000 --- a/.changeset/windows-workspace-scope-rmdir.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pnpm/installing.linking.hoist": patch -"pnpm": patch ---- - -Fixed `pnpm install` failing on Windows with `EPERM` on `rmdir node_modules/@scope` when several workspace packages under one scope are hoisted, for example with `nodeLinker: hoisted` [#16690](https://github.com/pnpm/pnpm/issues/16690). diff --git a/.changeset/workspace-config-includes.md b/.changeset/workspace-config-includes.md deleted file mode 100644 index bf47c99868..0000000000 --- a/.changeset/workspace-config-includes.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"pacquet": minor ---- - -`pnpm-workspace.yaml` can now delegate settings to other YAML files and to config dependencies through a new `include` field. Each source may define only the settings the root manifest delegates to it. Every setting has one owner. Commands that change settings write each one to the file that owns it. A relative path in an included file is relative to that file. See [Splitting Settings Across Files](https://pnpm.io/config-includes). - -A config dependency supplies its settings through the YAML file named in the `pnpm.config` field of its `package.json`. The new `bootConfig` setting sets the release-age and trust policy pnpm uses to install config dependencies and the pnpm version from `packageManager`. diff --git a/.changeset/workspace-optional-peer.md b/.changeset/workspace-optional-peer.md deleted file mode 100644 index 6087adef73..0000000000 --- a/.changeset/workspace-optional-peer.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"pacquet": patch -"@pnpm/installing.deps-resolver": patch -"pnpm": patch ---- - -`pnpm install` and `pnpm dedupe` now link an optional peer to the workspace package that the workspace root depends on when the picked version matches it. Previously they installed the registry package with the same name and version [pnpm/pnpm#16706](https://github.com/pnpm/pnpm/issues/16706). diff --git a/.changeset/zstd-registry-responses.md b/.changeset/zstd-registry-responses.md deleted file mode 100644 index 729b3c7200..0000000000 --- a/.changeset/zstd-registry-responses.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"pacquet": minor ---- - -pnpm now accepts zstd-compressed responses. Registries that serve zstd send package metadata in fewer bytes than with gzip, most of all the full metadata that settings such as `minimumReleaseAge` and `trustPolicy` read. diff --git a/.meta-updater/CHANGELOG.md b/.meta-updater/CHANGELOG.md index abf1a559f1..6a13a73802 100644 --- a/.meta-updater/CHANGELOG.md +++ b/.meta-updater/CHANGELOG.md @@ -1,5 +1,15 @@ # @pnpm-private/updater +## 1100.0.35 + +### Patch Changes + +- Updated dependencies: + - @pnpm/lockfile.fs@1100.2.14 + - @pnpm/types@1102.1.2 + - @pnpm/workspace.projects-reader@1101.1.5 + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 + ## 1100.0.34 ### Patch Changes diff --git a/.meta-updater/package.json b/.meta-updater/package.json index d41bc0de31..cc3bfd2e5a 100644 --- a/.meta-updater/package.json +++ b/.meta-updater/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm-private/updater", - "version": "1100.0.34", + "version": "1100.0.35", "private": true, "type": "module", "scripts": { diff --git a/Cargo.lock b/Cargo.lock index 5b97ec1bc0..b7b3e03baf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6666,7 +6666,7 @@ dependencies = [ [[package]] name = "pnpr" -version = "0.1.0-alpha.15" +version = "0.1.0-alpha.16" dependencies = [ "async-trait", "axum 0.8.9", diff --git a/pnpm/crates/config/src/defaults.rs b/pnpm/crates/config/src/defaults.rs index 6c98d6c60a..135277e1d1 100644 --- a/pnpm/crates/config/src/defaults.rs +++ b/pnpm/crates/config/src/defaults.rs @@ -333,7 +333,7 @@ pub fn default_fetch_retry_maxtimeout() -> u64 { /// can't drift apart. `pnpm bump` keeps this constant in sync with the /// version of the npm wrapper package (`pnpm/npm/pnpm/package.json`); /// the release workflow verifies the two match before building. -pub const PNPM_VERSION: &str = "12.14.0"; +pub const PNPM_VERSION: &str = "12.15.0"; /// The command that installs pnpm with the standalone script, as documented /// at : the PowerShell form on Windows, the diff --git a/pnpm/npm/napi/package.json b/pnpm/npm/napi/package.json index 4faa7e3562..482d245eff 100644 --- a/pnpm/npm/napi/package.json +++ b/pnpm/npm/napi/package.json @@ -1,7 +1,7 @@ { "name": "@pnpm/napi", "private": true, - "version": "12.14.0", + "version": "12.15.0", "description": "Node.js addon bindings for the pnpm v12 Rust engine (pacquet)", "keywords": [ "pnpm", diff --git a/pnpm/npm/pnpm/package.json b/pnpm/npm/pnpm/package.json index d7c94f2268..71dea35f05 100644 --- a/pnpm/npm/pnpm/package.json +++ b/pnpm/npm/pnpm/package.json @@ -11,7 +11,7 @@ "./dist/node_modules/node-gyp/gyp/gyp" ] }, - "version": "12.14.0", + "version": "12.15.0", "description": "Fast, disk space efficient package manager", "keywords": [ "pnpm", diff --git a/pnpm11/__utils__/assert-project/package.json b/pnpm11/__utils__/assert-project/package.json index 361df3327f..5e9d2188c9 100644 --- a/pnpm11/__utils__/assert-project/package.json +++ b/pnpm11/__utils__/assert-project/package.json @@ -1,7 +1,7 @@ { "name": "@pnpm/assert-project", "description": "Utils for testing projects that use pnpm", - "version": "1100.0.37", + "version": "1100.0.38", "author": { "name": "Zoltan Kochan", "email": "z@kochan.io", diff --git a/pnpm11/__utils__/assert-store/package.json b/pnpm11/__utils__/assert-store/package.json index 116d361215..1dfd20f7b9 100644 --- a/pnpm11/__utils__/assert-store/package.json +++ b/pnpm11/__utils__/assert-store/package.json @@ -1,7 +1,7 @@ { "name": "@pnpm/assert-store", "description": "Utils for testing pnpm store", - "version": "1100.0.37", + "version": "1100.0.38", "bugs": { "url": "https://github.com/pnpm/pnpm/issues" }, diff --git a/pnpm11/__utils__/get-release-text/CHANGELOG.md b/pnpm11/__utils__/get-release-text/CHANGELOG.md index d500169b4f..a40e6c60c2 100644 --- a/pnpm11/__utils__/get-release-text/CHANGELOG.md +++ b/pnpm11/__utils__/get-release-text/CHANGELOG.md @@ -1,5 +1,12 @@ # @pnpm/get-release-text +## 1100.0.8 + +### Patch Changes + +- Updated dependencies: + - @pnpm/releasing.versioning@1100.3.7 + ## 1100.0.7 ### Patch Changes diff --git a/pnpm11/__utils__/get-release-text/package.json b/pnpm11/__utils__/get-release-text/package.json index 4392e6b702..41de3c7b38 100644 --- a/pnpm11/__utils__/get-release-text/package.json +++ b/pnpm11/__utils__/get-release-text/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/get-release-text", - "version": "1100.0.7", + "version": "1100.0.8", "private": true, "type": "module", "scripts": { diff --git a/pnpm11/__utils__/jest-config/CHANGELOG.md b/pnpm11/__utils__/jest-config/CHANGELOG.md index 92c7d512fa..7031655b8f 100644 --- a/pnpm11/__utils__/jest-config/CHANGELOG.md +++ b/pnpm11/__utils__/jest-config/CHANGELOG.md @@ -1,5 +1,13 @@ # @pnpm/jest-config +## 1100.0.28 + +### Patch Changes + +- Updated dependencies: + - @pnpm/testing.registry-mock@1100.0.16 + - @pnpm/worker@1100.4.10 + ## 1100.0.27 ### Patch Changes diff --git a/pnpm11/__utils__/jest-config/package.json b/pnpm11/__utils__/jest-config/package.json index a1cde4d330..3d091b24b9 100644 --- a/pnpm11/__utils__/jest-config/package.json +++ b/pnpm11/__utils__/jest-config/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/jest-config", - "version": "1100.0.27", + "version": "1100.0.28", "private": true, "main": "jest-preset.js", "type": "module", diff --git a/pnpm11/__utils__/prepare/package.json b/pnpm11/__utils__/prepare/package.json index d467492348..8ffdcc4d42 100644 --- a/pnpm11/__utils__/prepare/package.json +++ b/pnpm11/__utils__/prepare/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/prepare", - "version": "1100.0.37", + "version": "1100.0.38", "main": "lib/index.js", "types": "lib/index.d.ts", "type": "module", diff --git a/pnpm11/__utils__/scripts/CHANGELOG.md b/pnpm11/__utils__/scripts/CHANGELOG.md index a25d93d3db..ccd3f1d3b9 100644 --- a/pnpm11/__utils__/scripts/CHANGELOG.md +++ b/pnpm11/__utils__/scripts/CHANGELOG.md @@ -1,5 +1,14 @@ # @pnpm/scripts +## 1100.0.26 + +### Patch Changes + +- Updated dependencies: + - @pnpm/releasing.versioning@1100.3.7 + - @pnpm/workspace.projects-reader@1101.1.5 + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 + ## 1100.0.25 ### Patch Changes diff --git a/pnpm11/__utils__/scripts/package.json b/pnpm11/__utils__/scripts/package.json index 76f8508977..7d89640e7d 100644 --- a/pnpm11/__utils__/scripts/package.json +++ b/pnpm11/__utils__/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/scripts", - "version": "1100.0.25", + "version": "1100.0.26", "private": true, "type": "module", "scripts": { diff --git a/pnpm11/auth/commands/package.json b/pnpm11/auth/commands/package.json index 0759bbadee..c82bb7eeae 100644 --- a/pnpm11/auth/commands/package.json +++ b/pnpm11/auth/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/auth.commands", - "version": "1100.3.15", + "version": "1100.3.16", "description": "Commands for authentication with npm registries", "keywords": [ "pnpm", diff --git a/pnpm11/bins/linker/package.json b/pnpm11/bins/linker/package.json index 975e131b71..a55440694f 100644 --- a/pnpm11/bins/linker/package.json +++ b/pnpm11/bins/linker/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/bins.linker", - "version": "1100.0.37", + "version": "1100.0.38", "description": "Link bins to node_modules/.bin", "keywords": [ "pnpm", diff --git a/pnpm11/bins/remover/package.json b/pnpm11/bins/remover/package.json index b2d02a4244..7b32f2ed97 100644 --- a/pnpm11/bins/remover/package.json +++ b/pnpm11/bins/remover/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/bins.remover", - "version": "1100.0.28", + "version": "1100.0.29", "description": "Remove bins from .bin", "keywords": [ "pnpm", diff --git a/pnpm11/bins/resolver/package.json b/pnpm11/bins/resolver/package.json index 599d5369ed..bb7ff1b8d1 100644 --- a/pnpm11/bins/resolver/package.json +++ b/pnpm11/bins/resolver/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/bins.resolver", - "version": "1100.0.17", + "version": "1100.0.18", "description": "Returns bins of a package", "keywords": [ "pnpm", diff --git a/pnpm11/building/after-install/package.json b/pnpm11/building/after-install/package.json index 945c3e3974..a92d90bac6 100644 --- a/pnpm11/building/after-install/package.json +++ b/pnpm11/building/after-install/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/building.after-install", - "version": "1103.0.11", + "version": "1103.0.12", "description": "Rebuild packages that are already installed by running their lifecycle scripts", "keywords": [ "pnpm", diff --git a/pnpm11/building/commands/package.json b/pnpm11/building/commands/package.json index b23500bdad..bdaf8ee393 100644 --- a/pnpm11/building/commands/package.json +++ b/pnpm11/building/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/building.commands", - "version": "1101.2.10", + "version": "1101.2.11", "description": "Commands for rebuilding and managing dependency builds", "keywords": [ "pnpm", diff --git a/pnpm11/building/during-install/package.json b/pnpm11/building/during-install/package.json index 77463cbe18..881b0d9948 100644 --- a/pnpm11/building/during-install/package.json +++ b/pnpm11/building/during-install/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/building.during-install", - "version": "1102.2.8", + "version": "1102.2.9", "description": "Build packages in node_modules", "keywords": [ "pnpm", diff --git a/pnpm11/building/pkg-requires-build/package.json b/pnpm11/building/pkg-requires-build/package.json index b7be89bd16..6d0df5059d 100644 --- a/pnpm11/building/pkg-requires-build/package.json +++ b/pnpm11/building/pkg-requires-build/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/building.pkg-requires-build", - "version": "1100.0.20", + "version": "1100.0.21", "description": "Checks if a package requires to be built", "keywords": [ "pnpm", diff --git a/pnpm11/building/policy/package.json b/pnpm11/building/policy/package.json index fee13d3797..589da0d875 100644 --- a/pnpm11/building/policy/package.json +++ b/pnpm11/building/policy/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/building.policy", - "version": "1100.1.7", + "version": "1100.1.8", "description": "Create a function for filtering out dependencies that are not allowed to be built", "keywords": [ "pnpm", diff --git a/pnpm11/cache/api/package.json b/pnpm11/cache/api/package.json index ddb8fb4171..8e6f1fe096 100644 --- a/pnpm11/cache/api/package.json +++ b/pnpm11/cache/api/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/cache.api", - "version": "1100.0.50", + "version": "1100.0.51", "description": "API for controlling the cache", "keywords": [ "pnpm", diff --git a/pnpm11/cache/commands/package.json b/pnpm11/cache/commands/package.json index 9dc7bcf139..c811290d06 100644 --- a/pnpm11/cache/commands/package.json +++ b/pnpm11/cache/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/cache.commands", - "version": "1100.1.12", + "version": "1100.1.13", "description": "Commands for controlling the cache", "keywords": [ "pnpm", diff --git a/pnpm11/cli/commands/package.json b/pnpm11/cli/commands/package.json index e0a7c24de8..77ab5b47c0 100644 --- a/pnpm11/cli/commands/package.json +++ b/pnpm11/cli/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/cli.commands", - "version": "1100.0.49", + "version": "1100.0.50", "description": "Commands for pnpm CLI", "keywords": [ "pnpm", diff --git a/pnpm11/cli/default-reporter/package.json b/pnpm11/cli/default-reporter/package.json index 0c7c28d72a..210136bc35 100644 --- a/pnpm11/cli/default-reporter/package.json +++ b/pnpm11/cli/default-reporter/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/cli.default-reporter", - "version": "1100.3.25", + "version": "1100.3.26", "description": "The default reporter of pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/cli/meta/package.json b/pnpm11/cli/meta/package.json index d9d8751759..a70c85c0d4 100644 --- a/pnpm11/cli/meta/package.json +++ b/pnpm11/cli/meta/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/cli.meta", - "version": "1100.1.2", + "version": "1100.1.3", "description": "Reads the metainfo of the currently running pnpm instance", "keywords": [ "pnpm", diff --git a/pnpm11/cli/parse-cli-args/package.json b/pnpm11/cli/parse-cli-args/package.json index a140415f5b..d04796ed35 100644 --- a/pnpm11/cli/parse-cli-args/package.json +++ b/pnpm11/cli/parse-cli-args/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/cli.parse-cli-args", - "version": "1100.1.16", + "version": "1100.1.17", "description": "Parses the CLI args passed to pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/cli/utils/package.json b/pnpm11/cli/utils/package.json index 22a12eea83..51f41aad38 100644 --- a/pnpm11/cli/utils/package.json +++ b/pnpm11/cli/utils/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/cli.utils", - "version": "1101.0.32", + "version": "1101.0.33", "description": "Utils for pnpm commands", "keywords": [ "pnpm", diff --git a/pnpm11/config/commands/package.json b/pnpm11/config/commands/package.json index 41d810bebd..9e386ca481 100644 --- a/pnpm11/config/commands/package.json +++ b/pnpm11/config/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/config.commands", - "version": "1101.0.11", + "version": "1101.0.12", "description": "Commands for reading and writing settings to/from config files", "keywords": [ "pnpm", diff --git a/pnpm11/config/normalize-registries/package.json b/pnpm11/config/normalize-registries/package.json index 889704dd8a..8c9d9e1c93 100644 --- a/pnpm11/config/normalize-registries/package.json +++ b/pnpm11/config/normalize-registries/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/config.normalize-registries", - "version": "1101.0.3", + "version": "1101.0.4", "description": "Accepts a mapping of registry URLs and returns a mapping with the same URLs but normalized", "keywords": [ "pnpm", diff --git a/pnpm11/config/package-is-installable/package.json b/pnpm11/config/package-is-installable/package.json index 5eb1653373..3206640a43 100644 --- a/pnpm11/config/package-is-installable/package.json +++ b/pnpm11/config/package-is-installable/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/config.package-is-installable", - "version": "1100.2.3", + "version": "1100.2.4", "description": "Checks if a package is installable on the current system", "keywords": [ "pnpm", diff --git a/pnpm11/config/pick-registry-for-package/package.json b/pnpm11/config/pick-registry-for-package/package.json index b5751b4e3e..764c0a9e2d 100644 --- a/pnpm11/config/pick-registry-for-package/package.json +++ b/pnpm11/config/pick-registry-for-package/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/config.pick-registry-for-package", - "version": "1101.0.2", + "version": "1101.0.3", "description": "Picks the right registry for the package from a registries config", "keywords": [ "pnpm", diff --git a/pnpm11/config/reader/package.json b/pnpm11/config/reader/package.json index f079fea2e9..cf13936d15 100644 --- a/pnpm11/config/reader/package.json +++ b/pnpm11/config/reader/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/config.reader", - "version": "1102.3.5", + "version": "1102.3.6", "description": "Gets configuration options for pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/config/version-policy/package.json b/pnpm11/config/version-policy/package.json index 460714946f..404683007a 100644 --- a/pnpm11/config/version-policy/package.json +++ b/pnpm11/config/version-policy/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/config.version-policy", - "version": "1100.2.8", + "version": "1100.2.9", "description": "Parses and evaluates package version policy specs and produces package-version matchers", "keywords": [ "pnpm", diff --git a/pnpm11/config/writer/package.json b/pnpm11/config/writer/package.json index 8a84e35878..45ec1727f4 100644 --- a/pnpm11/config/writer/package.json +++ b/pnpm11/config/writer/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/config.writer", - "version": "1100.0.33", + "version": "1100.0.34", "description": "Functions for updating the configuration settings", "keywords": [ "pnpm", diff --git a/pnpm11/core/core-loggers/package.json b/pnpm11/core/core-loggers/package.json index 81b97fdb7e..92b9c87625 100644 --- a/pnpm11/core/core-loggers/package.json +++ b/pnpm11/core/core-loggers/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/core-loggers", - "version": "1101.0.2", + "version": "1101.0.3", "description": "Core loggers of pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/core/types/package.json b/pnpm11/core/types/package.json index b97681a5ee..50d637ef20 100644 --- a/pnpm11/core/types/package.json +++ b/pnpm11/core/types/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/types", - "version": "1102.1.1", + "version": "1102.1.2", "description": "Basic types used by pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/deps/compliance/audit/package.json b/pnpm11/deps/compliance/audit/package.json index 49f3c4f938..62547e74ee 100644 --- a/pnpm11/deps/compliance/audit/package.json +++ b/pnpm11/deps/compliance/audit/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.compliance.audit", - "version": "1101.0.42", + "version": "1101.0.43", "description": "Audit a lockfile", "keywords": [ "pnpm", diff --git a/pnpm11/deps/compliance/commands/package.json b/pnpm11/deps/compliance/commands/package.json index 2e90c8e673..d7a287c98d 100644 --- a/pnpm11/deps/compliance/commands/package.json +++ b/pnpm11/deps/compliance/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.compliance.commands", - "version": "1102.1.10", + "version": "1102.1.11", "description": "pnpm commands for audit, licenses, and sbom", "keywords": [ "pnpm", diff --git a/pnpm11/deps/compliance/license-scanner/package.json b/pnpm11/deps/compliance/license-scanner/package.json index 7416403f31..534a998814 100644 --- a/pnpm11/deps/compliance/license-scanner/package.json +++ b/pnpm11/deps/compliance/license-scanner/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.compliance.license-scanner", - "version": "1101.0.11", + "version": "1101.0.12", "description": "Check for licenses packages", "keywords": [ "pnpm", diff --git a/pnpm11/deps/compliance/sbom/package.json b/pnpm11/deps/compliance/sbom/package.json index 8f9d1e9c7f..a96dd65c95 100644 --- a/pnpm11/deps/compliance/sbom/package.json +++ b/pnpm11/deps/compliance/sbom/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.compliance.sbom", - "version": "1101.0.10", + "version": "1101.0.11", "description": "Generate SBOM from pnpm lockfile", "keywords": [ "pnpm", diff --git a/pnpm11/deps/github-actions/package.json b/pnpm11/deps/github-actions/package.json index 662c2e5172..c214f9ac14 100644 --- a/pnpm11/deps/github-actions/package.json +++ b/pnpm11/deps/github-actions/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.github-actions", - "version": "1100.1.16", + "version": "1100.1.17", "description": "Discover and update GitHub Actions dependencies", "keywords": [ "pnpm", diff --git a/pnpm11/deps/graph-builder/package.json b/pnpm11/deps/graph-builder/package.json index 554c001661..3ea800efec 100644 --- a/pnpm11/deps/graph-builder/package.json +++ b/pnpm11/deps/graph-builder/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.graph-builder", - "version": "1101.1.5", + "version": "1101.1.6", "description": "A package for building a dependency graph from a lockfile", "keywords": [ "pnpm", diff --git a/pnpm11/deps/graph-hasher/package.json b/pnpm11/deps/graph-hasher/package.json index 74b01dc0a5..30868125ee 100644 --- a/pnpm11/deps/graph-hasher/package.json +++ b/pnpm11/deps/graph-hasher/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.graph-hasher", - "version": "1100.3.7", + "version": "1100.3.8", "description": "Calculates the state of a dependency", "keywords": [ "pnpm", diff --git a/pnpm11/deps/inspection/commands/package.json b/pnpm11/deps/inspection/commands/package.json index 2f90397fa1..b3d7748010 100644 --- a/pnpm11/deps/inspection/commands/package.json +++ b/pnpm11/deps/inspection/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.inspection.commands", - "version": "1101.0.11", + "version": "1101.0.12", "description": "The list, ll, why, and outdated commands of pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/deps/inspection/list/package.json b/pnpm11/deps/inspection/list/package.json index 9c49613447..ae83bebb40 100644 --- a/pnpm11/deps/inspection/list/package.json +++ b/pnpm11/deps/inspection/list/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.inspection.list", - "version": "1101.0.11", + "version": "1101.1.0", "description": "List installed packages in a symlinked `node_modules`", "keywords": [ "pnpm", diff --git a/pnpm11/deps/inspection/outdated/package.json b/pnpm11/deps/inspection/outdated/package.json index 8e8fa4ae99..3d0516337d 100644 --- a/pnpm11/deps/inspection/outdated/package.json +++ b/pnpm11/deps/inspection/outdated/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.inspection.outdated", - "version": "1100.1.37", + "version": "1100.1.38", "description": "Check for outdated packages", "keywords": [ "pnpm", diff --git a/pnpm11/deps/inspection/peers-checker/package.json b/pnpm11/deps/inspection/peers-checker/package.json index 2e7f4e2b36..0353ffe9e1 100644 --- a/pnpm11/deps/inspection/peers-checker/package.json +++ b/pnpm11/deps/inspection/peers-checker/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.inspection.peers-checker", - "version": "1100.0.39", + "version": "1100.0.40", "description": "Check for unmet and missing peer dependency issues from the lockfile", "keywords": [ "pnpm", diff --git a/pnpm11/deps/inspection/peers-issues-renderer/package.json b/pnpm11/deps/inspection/peers-issues-renderer/package.json index 0d860c2f4b..92011dc46b 100644 --- a/pnpm11/deps/inspection/peers-issues-renderer/package.json +++ b/pnpm11/deps/inspection/peers-issues-renderer/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.inspection.peers-issues-renderer", - "version": "1100.0.15", + "version": "1100.0.16", "description": "Visualizes peer dependency issues", "keywords": [ "pnpm", diff --git a/pnpm11/deps/inspection/tree-builder/package.json b/pnpm11/deps/inspection/tree-builder/package.json index dd51f53354..8fc91428d7 100644 --- a/pnpm11/deps/inspection/tree-builder/package.json +++ b/pnpm11/deps/inspection/tree-builder/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.inspection.tree-builder", - "version": "1101.0.11", + "version": "1101.1.0", "description": "Creates a dependencies hierarchy for a symlinked `node_modules`", "keywords": [ "pnpm", diff --git a/pnpm11/deps/path/package.json b/pnpm11/deps/path/package.json index daf87a0ab5..961007b260 100644 --- a/pnpm11/deps/path/package.json +++ b/pnpm11/deps/path/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.path", - "version": "1101.0.6", + "version": "1101.0.7", "description": "Utilities for working with symlinked node_modules", "keywords": [ "pnpm", diff --git a/pnpm11/deps/security/signatures/package.json b/pnpm11/deps/security/signatures/package.json index b3faf497bb..97dfcfa037 100644 --- a/pnpm11/deps/security/signatures/package.json +++ b/pnpm11/deps/security/signatures/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.security.signatures", - "version": "1102.0.9", + "version": "1102.0.10", "description": "Verify package signatures from npm registries", "keywords": [ "pnpm", diff --git a/pnpm11/deps/status/package.json b/pnpm11/deps/status/package.json index c5a6162ee2..c995809703 100644 --- a/pnpm11/deps/status/package.json +++ b/pnpm11/deps/status/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/deps.status", - "version": "1100.1.30", + "version": "1100.1.31", "description": "Check dependencies status", "keywords": [ "pnpm", diff --git a/pnpm11/engine/pm/commands/package.json b/pnpm11/engine/pm/commands/package.json index c4d7e0223f..2fd049dca8 100644 --- a/pnpm11/engine/pm/commands/package.json +++ b/pnpm11/engine/pm/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/engine.pm.commands", - "version": "1102.1.9", + "version": "1102.1.10", "description": "pnpm commands for self-updating and setting up pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/engine/runtime/bun-resolver/package.json b/pnpm11/engine/runtime/bun-resolver/package.json index fe73a67aa4..48cf5f1b44 100644 --- a/pnpm11/engine/runtime/bun-resolver/package.json +++ b/pnpm11/engine/runtime/bun-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/engine.runtime.bun-resolver", - "version": "1102.0.27", + "version": "1102.0.28", "description": "Resolves the Bun runtime", "keywords": [ "pnpm", diff --git a/pnpm11/engine/runtime/commands/package.json b/pnpm11/engine/runtime/commands/package.json index f35c8ac03f..feb686e8f5 100644 --- a/pnpm11/engine/runtime/commands/package.json +++ b/pnpm11/engine/runtime/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/engine.runtime.commands", - "version": "1101.1.9", + "version": "1101.1.10", "description": "pnpm commands for managing runtimes", "keywords": [ "pnpm", diff --git a/pnpm11/engine/runtime/deno-resolver/package.json b/pnpm11/engine/runtime/deno-resolver/package.json index 2307de35af..6cebc94a34 100644 --- a/pnpm11/engine/runtime/deno-resolver/package.json +++ b/pnpm11/engine/runtime/deno-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/engine.runtime.deno-resolver", - "version": "1102.0.27", + "version": "1102.0.28", "description": "Resolves the Deno runtime", "keywords": [ "pnpm", diff --git a/pnpm11/engine/runtime/node-resolver/package.json b/pnpm11/engine/runtime/node-resolver/package.json index 829dc10487..aa6b5c0f75 100644 --- a/pnpm11/engine/runtime/node-resolver/package.json +++ b/pnpm11/engine/runtime/node-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/engine.runtime.node-resolver", - "version": "1101.3.8", + "version": "1101.3.9", "description": "Resolves a Node.js version specifier to an exact Node.js version", "keywords": [ "pnpm", diff --git a/pnpm11/engine/runtime/system-version/package.json b/pnpm11/engine/runtime/system-version/package.json index 2647e91d9b..e382cb39a0 100644 --- a/pnpm11/engine/runtime/system-version/package.json +++ b/pnpm11/engine/runtime/system-version/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/engine.runtime.system-version", - "version": "1100.0.13", + "version": "1100.0.14", "description": "Detects the current system version of supported runtimes (Node.js, Deno, Bun)", "keywords": [ "pnpm", diff --git a/pnpm11/exec/commands/package.json b/pnpm11/exec/commands/package.json index 92f49c6bc2..a62ac17840 100644 --- a/pnpm11/exec/commands/package.json +++ b/pnpm11/exec/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/exec.commands", - "version": "1101.1.10", + "version": "1101.1.11", "description": "Commands for running scripts", "keywords": [ "pnpm", diff --git a/pnpm11/exec/esm-node-path-loader/package.json b/pnpm11/exec/esm-node-path-loader/package.json index f86cc638a1..593d6b6c82 100644 --- a/pnpm11/exec/esm-node-path-loader/package.json +++ b/pnpm11/exec/esm-node-path-loader/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/exec.esm-node-path-loader", - "version": "1100.0.1", + "version": "1100.0.2", "description": "Builds the NODE_OPTIONS flag that restores NODE_PATH resolution for ESM imports", "keywords": [ "pnpm", diff --git a/pnpm11/exec/lifecycle/package.json b/pnpm11/exec/lifecycle/package.json index 80671df217..c40bbaee56 100644 --- a/pnpm11/exec/lifecycle/package.json +++ b/pnpm11/exec/lifecycle/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/exec.lifecycle", - "version": "1100.1.24", + "version": "1100.1.25", "description": "Package lifecycle hook runner", "keywords": [ "pnpm", diff --git a/pnpm11/exec/npm-lifecycle/package.json b/pnpm11/exec/npm-lifecycle/package.json index c638872cca..d59d9a9895 100644 --- a/pnpm11/exec/npm-lifecycle/package.json +++ b/pnpm11/exec/npm-lifecycle/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/exec.npm-lifecycle", - "version": "1100.0.5", + "version": "1100.0.6", "description": "JavaScript package lifecycle hook runner", "keywords": [ "pnpm", diff --git a/pnpm11/exec/pnpm-cli-runner/package.json b/pnpm11/exec/pnpm-cli-runner/package.json index 3942b050e2..a4840fb0cf 100644 --- a/pnpm11/exec/pnpm-cli-runner/package.json +++ b/pnpm11/exec/pnpm-cli-runner/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/exec.pnpm-cli-runner", - "version": "1100.0.5", + "version": "1100.0.6", "description": "Runs pnpm CLI", "keywords": [ "pnpm", diff --git a/pnpm11/exec/prepare-package/package.json b/pnpm11/exec/prepare-package/package.json index 44bd8f8ce1..ad9852c4b6 100644 --- a/pnpm11/exec/prepare-package/package.json +++ b/pnpm11/exec/prepare-package/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/exec.prepare-package", - "version": "1100.0.43", + "version": "1100.0.44", "description": "Prepares a Git-hosted package", "keywords": [ "pnpm", diff --git a/pnpm11/fetching/binary-fetcher/package.json b/pnpm11/fetching/binary-fetcher/package.json index 11edc193b2..d36a6b68fd 100644 --- a/pnpm11/fetching/binary-fetcher/package.json +++ b/pnpm11/fetching/binary-fetcher/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/fetching.binary-fetcher", - "version": "1102.0.20", + "version": "1102.0.21", "description": "A fetcher for binary archives", "keywords": [ "pnpm", diff --git a/pnpm11/fetching/directory-fetcher/package.json b/pnpm11/fetching/directory-fetcher/package.json index 0fd63efc45..34c3422c6f 100644 --- a/pnpm11/fetching/directory-fetcher/package.json +++ b/pnpm11/fetching/directory-fetcher/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/fetching.directory-fetcher", - "version": "1100.0.39", + "version": "1100.0.40", "description": "A fetcher for local directory packages", "keywords": [ "pnpm", diff --git a/pnpm11/fetching/fetcher-base/package.json b/pnpm11/fetching/fetcher-base/package.json index c94759805e..da185c5d5f 100644 --- a/pnpm11/fetching/fetcher-base/package.json +++ b/pnpm11/fetching/fetcher-base/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/fetching.fetcher-base", - "version": "1100.2.12", + "version": "1100.2.13", "description": "Types for pnpm-compatible fetchers", "keywords": [ "pnpm", diff --git a/pnpm11/fetching/git-fetcher/package.json b/pnpm11/fetching/git-fetcher/package.json index cbb96192fd..dd11b7cd5f 100644 --- a/pnpm11/fetching/git-fetcher/package.json +++ b/pnpm11/fetching/git-fetcher/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/fetching.git-fetcher", - "version": "1102.0.25", + "version": "1102.0.26", "description": "A fetcher for git-hosted packages", "keywords": [ "pnpm", diff --git a/pnpm11/fetching/pick-fetcher/package.json b/pnpm11/fetching/pick-fetcher/package.json index 3afa1c4c05..30e70b53d5 100644 --- a/pnpm11/fetching/pick-fetcher/package.json +++ b/pnpm11/fetching/pick-fetcher/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/fetching.pick-fetcher", - "version": "1100.1.14", + "version": "1100.1.15", "description": "Pick a package fetcher by type", "keywords": [ "pnpm", diff --git a/pnpm11/fetching/tarball-fetcher/package.json b/pnpm11/fetching/tarball-fetcher/package.json index 83bb5f5f9c..97f29f8058 100644 --- a/pnpm11/fetching/tarball-fetcher/package.json +++ b/pnpm11/fetching/tarball-fetcher/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/fetching.tarball-fetcher", - "version": "1102.1.9", + "version": "1102.1.10", "description": "Fetcher for packages hosted as tarballs", "keywords": [ "pnpm", diff --git a/pnpm11/fs/indexed-pkg-importer/package.json b/pnpm11/fs/indexed-pkg-importer/package.json index 6d4b8bf4e7..7ab74bd7d5 100644 --- a/pnpm11/fs/indexed-pkg-importer/package.json +++ b/pnpm11/fs/indexed-pkg-importer/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/fs.indexed-pkg-importer", - "version": "1100.0.34", + "version": "1100.0.35", "description": "Replicates indexed directories using hard links, copies, or cloning", "keywords": [ "pnpm", diff --git a/pnpm11/fs/packlist/package.json b/pnpm11/fs/packlist/package.json index 280ff30350..06e52f4542 100644 --- a/pnpm11/fs/packlist/package.json +++ b/pnpm11/fs/packlist/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/fs.packlist", - "version": "1100.0.8", + "version": "1100.0.9", "description": "Get a list of the files to add from a directory into an npm package", "keywords": [ "pnpm", diff --git a/pnpm11/fs/symlink-dependency/package.json b/pnpm11/fs/symlink-dependency/package.json index 98035fc76e..6df8639788 100644 --- a/pnpm11/fs/symlink-dependency/package.json +++ b/pnpm11/fs/symlink-dependency/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/fs.symlink-dependency", - "version": "1100.0.24", + "version": "1100.0.25", "description": "Symlink a dependency to node_modules", "keywords": [ "pnpm", diff --git a/pnpm11/global/commands/package.json b/pnpm11/global/commands/package.json index bc54df2643..bbccabafb5 100644 --- a/pnpm11/global/commands/package.json +++ b/pnpm11/global/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/global.commands", - "version": "1102.0.8", + "version": "1102.0.9", "description": "Global package command handlers for pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/global/packages/package.json b/pnpm11/global/packages/package.json index 884964e7a7..2faf65e896 100644 --- a/pnpm11/global/packages/package.json +++ b/pnpm11/global/packages/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/global.packages", - "version": "1101.1.7", + "version": "1101.1.8", "description": "Utilities for managing isolated global packages", "keywords": [ "pnpm", diff --git a/pnpm11/hooks/pnpmfile/package.json b/pnpm11/hooks/pnpmfile/package.json index 6d3885fb68..b0909ed1da 100644 --- a/pnpm11/hooks/pnpmfile/package.json +++ b/pnpm11/hooks/pnpmfile/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/hooks.pnpmfile", - "version": "1100.0.36", + "version": "1100.0.37", "description": "Reading a .pnpmfile.cjs", "keywords": [ "pnpm", diff --git a/pnpm11/hooks/read-package-hook/package.json b/pnpm11/hooks/read-package-hook/package.json index 9cbb561b28..daba79a5b3 100644 --- a/pnpm11/hooks/read-package-hook/package.json +++ b/pnpm11/hooks/read-package-hook/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/hooks.read-package-hook", - "version": "1100.3.8", + "version": "1100.3.9", "description": "Creates the default package reader hook used by pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/hooks/types/package.json b/pnpm11/hooks/types/package.json index a85884eb1f..069794a27d 100644 --- a/pnpm11/hooks/types/package.json +++ b/pnpm11/hooks/types/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/hooks.types", - "version": "1101.0.5", + "version": "1101.0.6", "description": "Types for hooks", "keywords": [ "pnpm", diff --git a/pnpm11/installing/client/package.json b/pnpm11/installing/client/package.json index 670cdaeadb..f8c0e6fe8c 100644 --- a/pnpm11/installing/client/package.json +++ b/pnpm11/installing/client/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.client", - "version": "1100.3.16", + "version": "1100.3.17", "description": "Creates the package resolve and fetch functions", "keywords": [ "pnpm", diff --git a/pnpm11/installing/commands/package.json b/pnpm11/installing/commands/package.json index aa01c97f7b..ef6521823a 100644 --- a/pnpm11/installing/commands/package.json +++ b/pnpm11/installing/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.commands", - "version": "1101.4.6", + "version": "1101.4.7", "description": "Commands for installation", "keywords": [ "pnpm", diff --git a/pnpm11/installing/context/package.json b/pnpm11/installing/context/package.json index b4b89a5c80..bcbbde363b 100644 --- a/pnpm11/installing/context/package.json +++ b/pnpm11/installing/context/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.context", - "version": "1101.0.11", + "version": "1101.0.12", "description": "Gets context information about a project", "keywords": [ "pnpm", diff --git a/pnpm11/installing/dedupe/check/package.json b/pnpm11/installing/dedupe/check/package.json index a0f7586337..871f804299 100644 --- a/pnpm11/installing/dedupe/check/package.json +++ b/pnpm11/installing/dedupe/check/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.dedupe.check", - "version": "1100.1.16", + "version": "1100.1.17", "description": "Visualize pnpm dedupe --check issues.", "keywords": [ "pnpm", diff --git a/pnpm11/installing/deps-installer/package.json b/pnpm11/installing/deps-installer/package.json index 7548614e48..5008ed72a9 100644 --- a/pnpm11/installing/deps-installer/package.json +++ b/pnpm11/installing/deps-installer/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.deps-installer", - "version": "1104.2.5", + "version": "1104.2.6", "description": "Fast, disk space efficient installation engine", "keywords": [ "pnpm", diff --git a/pnpm11/installing/deps-resolver/package.json b/pnpm11/installing/deps-resolver/package.json index a5264d7a44..1eed7e6a98 100644 --- a/pnpm11/installing/deps-resolver/package.json +++ b/pnpm11/installing/deps-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.deps-resolver", - "version": "1102.2.8", + "version": "1102.2.9", "description": "Resolves dependency graph of a package", "keywords": [ "pnpm", diff --git a/pnpm11/installing/deps-restorer/package.json b/pnpm11/installing/deps-restorer/package.json index 120a45f60e..3785d241e3 100644 --- a/pnpm11/installing/deps-restorer/package.json +++ b/pnpm11/installing/deps-restorer/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.deps-restorer", - "version": "1103.2.5", + "version": "1103.2.6", "description": "Fast installation using only pnpm-lock.yaml", "keywords": [ "pnpm", diff --git a/pnpm11/installing/env-installer/package.json b/pnpm11/installing/env-installer/package.json index 022678e021..257ff51efb 100644 --- a/pnpm11/installing/env-installer/package.json +++ b/pnpm11/installing/env-installer/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.env-installer", - "version": "1103.0.11", + "version": "1103.0.12", "description": "Installer for configurational dependencies", "keywords": [ "pnpm", diff --git a/pnpm11/installing/linking/direct-dep-linker/package.json b/pnpm11/installing/linking/direct-dep-linker/package.json index 4779b9c504..7cdc661504 100644 --- a/pnpm11/installing/linking/direct-dep-linker/package.json +++ b/pnpm11/installing/linking/direct-dep-linker/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.linking.direct-dep-linker", - "version": "1100.0.24", + "version": "1100.0.25", "description": "Fast installation using only pnpm-lock.yaml", "keywords": [ "pnpm", diff --git a/pnpm11/installing/linking/hoist/package.json b/pnpm11/installing/linking/hoist/package.json index f1bc171696..ac4e86454d 100644 --- a/pnpm11/installing/linking/hoist/package.json +++ b/pnpm11/installing/linking/hoist/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.linking.hoist", - "version": "1100.0.38", + "version": "1100.0.39", "description": "Hoists dependencies in a node_modules created by pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/installing/linking/modules-cleaner/package.json b/pnpm11/installing/linking/modules-cleaner/package.json index 31781a4949..67ea325536 100644 --- a/pnpm11/installing/linking/modules-cleaner/package.json +++ b/pnpm11/installing/linking/modules-cleaner/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.linking.modules-cleaner", - "version": "1100.1.29", + "version": "1100.1.30", "description": "Exports util functions to clean up node_modules", "keywords": [ "pnpm", diff --git a/pnpm11/installing/linking/real-hoist/package.json b/pnpm11/installing/linking/real-hoist/package.json index ce47223d98..318101ec10 100644 --- a/pnpm11/installing/linking/real-hoist/package.json +++ b/pnpm11/installing/linking/real-hoist/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.linking.real-hoist", - "version": "1100.1.22", + "version": "1100.1.23", "description": "Hoists dependencies in a node_modules created by pnpm", "keywords": [ "pnpm", diff --git a/pnpm11/installing/modules-yaml/package.json b/pnpm11/installing/modules-yaml/package.json index 04f271ea92..7ca3e7435d 100644 --- a/pnpm11/installing/modules-yaml/package.json +++ b/pnpm11/installing/modules-yaml/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.modules-yaml", - "version": "1101.0.6", + "version": "1101.0.7", "description": "Reads/writes `node_modules/.modules.yaml`", "keywords": [ "pnpm", diff --git a/pnpm11/installing/package-requester/package.json b/pnpm11/installing/package-requester/package.json index 39997df544..f418b1b37b 100644 --- a/pnpm11/installing/package-requester/package.json +++ b/pnpm11/installing/package-requester/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.package-requester", - "version": "1102.2.5", + "version": "1102.2.6", "description": "Concurrent downloader of npm-compatible packages", "keywords": [ "pnpm", diff --git a/pnpm11/installing/read-projects-context/package.json b/pnpm11/installing/read-projects-context/package.json index 166ca91b2b..b81c612d3f 100644 --- a/pnpm11/installing/read-projects-context/package.json +++ b/pnpm11/installing/read-projects-context/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/installing.read-projects-context", - "version": "1101.0.10", + "version": "1101.0.11", "description": "Reads the current state of projects from modules manifest", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/detect-dep-types/package.json b/pnpm11/lockfile/detect-dep-types/package.json index c0274ca777..e8d3e8e9ac 100644 --- a/pnpm11/lockfile/detect-dep-types/package.json +++ b/pnpm11/lockfile/detect-dep-types/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.detect-dep-types", - "version": "1100.0.27", + "version": "1100.0.28", "description": "Detect the types of dependencies", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/filtering/package.json b/pnpm11/lockfile/filtering/package.json index 3b24193b03..131cc0b753 100644 --- a/pnpm11/lockfile/filtering/package.json +++ b/pnpm11/lockfile/filtering/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.filtering", - "version": "1100.2.12", + "version": "1100.2.13", "description": "Filters a lockfile", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/fs/package.json b/pnpm11/lockfile/fs/package.json index e61eebc072..577af5db24 100644 --- a/pnpm11/lockfile/fs/package.json +++ b/pnpm11/lockfile/fs/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.fs", - "version": "1100.2.13", + "version": "1100.2.14", "description": "Read/write pnpm-lock.yaml files", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/make-dedicated-lockfile/package.json b/pnpm11/lockfile/make-dedicated-lockfile/package.json index c942cc39a6..d764f1b314 100644 --- a/pnpm11/lockfile/make-dedicated-lockfile/package.json +++ b/pnpm11/lockfile/make-dedicated-lockfile/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.make-dedicated-lockfile", - "version": "1100.0.47", + "version": "1100.0.48", "description": "Creates a dedicated lockfile for a subset of workspace projects", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/merger/package.json b/pnpm11/lockfile/merger/package.json index fcfc761984..6d377226e3 100644 --- a/pnpm11/lockfile/merger/package.json +++ b/pnpm11/lockfile/merger/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.merger", - "version": "1100.0.25", + "version": "1100.0.26", "description": "Merges lockfiles. Can automatically fix merge conflicts", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/peer-edges/package.json b/pnpm11/lockfile/peer-edges/package.json index c46c014b35..2b80cc3187 100644 --- a/pnpm11/lockfile/peer-edges/package.json +++ b/pnpm11/lockfile/peer-edges/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.peer-edges", - "version": "1100.0.2", + "version": "1100.0.3", "description": "Find the lockfile entries that only satisfy an optional peer dependency", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/preferred-versions/package.json b/pnpm11/lockfile/preferred-versions/package.json index f32b677a98..9211d21ef0 100644 --- a/pnpm11/lockfile/preferred-versions/package.json +++ b/pnpm11/lockfile/preferred-versions/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.preferred-versions", - "version": "1100.0.38", + "version": "1100.0.39", "description": "Get preferred version from lockfile", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/pruner/package.json b/pnpm11/lockfile/pruner/package.json index 26f44fdbdc..5d0119ce7b 100644 --- a/pnpm11/lockfile/pruner/package.json +++ b/pnpm11/lockfile/pruner/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.pruner", - "version": "1100.0.27", + "version": "1100.0.28", "description": "Prune a pnpm-lock.yaml", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/settings-checker/package.json b/pnpm11/lockfile/settings-checker/package.json index 88bbde257a..b35263236e 100644 --- a/pnpm11/lockfile/settings-checker/package.json +++ b/pnpm11/lockfile/settings-checker/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.settings-checker", - "version": "1100.2.13", + "version": "1100.2.14", "description": "Utilities to check if lockfile settings are out-of-date", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/to-pnp/package.json b/pnpm11/lockfile/to-pnp/package.json index f8bb2c2579..6cc0fc58ab 100644 --- a/pnpm11/lockfile/to-pnp/package.json +++ b/pnpm11/lockfile/to-pnp/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.to-pnp", - "version": "1101.0.10", + "version": "1101.0.11", "description": "Creates a Plug'n'Play file from a pnpm-lock.yaml", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/types/package.json b/pnpm11/lockfile/types/package.json index 0c1c53627e..db12c08ee1 100644 --- a/pnpm11/lockfile/types/package.json +++ b/pnpm11/lockfile/types/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.types", - "version": "1100.1.4", + "version": "1100.1.5", "description": "Types for the pnpm-lock.yaml lockfile", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/utils/package.json b/pnpm11/lockfile/utils/package.json index 16c8164d18..8d524cf416 100644 --- a/pnpm11/lockfile/utils/package.json +++ b/pnpm11/lockfile/utils/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.utils", - "version": "1102.1.6", + "version": "1102.1.7", "description": "Utils for dealing with pnpm-lock.yaml", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/verification/package.json b/pnpm11/lockfile/verification/package.json index adb97b1bda..741971d427 100644 --- a/pnpm11/lockfile/verification/package.json +++ b/pnpm11/lockfile/verification/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.verification", - "version": "1100.1.12", + "version": "1100.1.13", "description": "Checks a lockfile", "keywords": [ "pnpm", diff --git a/pnpm11/lockfile/walker/package.json b/pnpm11/lockfile/walker/package.json index bebf508c50..0d77be1ffd 100644 --- a/pnpm11/lockfile/walker/package.json +++ b/pnpm11/lockfile/walker/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/lockfile.walker", - "version": "1100.0.27", + "version": "1100.0.28", "description": "Walk over all the dependencies in a lockfile", "keywords": [ "pnpm", diff --git a/pnpm11/modules-mounter/daemon/package.json b/pnpm11/modules-mounter/daemon/package.json index 8a9704b1cb..1c82c83746 100644 --- a/pnpm11/modules-mounter/daemon/package.json +++ b/pnpm11/modules-mounter/daemon/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/modules-mounter.daemon", - "version": "1100.0.50", + "version": "1100.0.51", "description": "Mounts a node_modules directory with FUSE", "keywords": [ "pnpm", diff --git a/pnpm11/network/auth-header/package.json b/pnpm11/network/auth-header/package.json index 4d38ad9395..11349aeb77 100644 --- a/pnpm11/network/auth-header/package.json +++ b/pnpm11/network/auth-header/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/network.auth-header", - "version": "1101.1.16", + "version": "1101.1.17", "description": "Gets the authorization header for the given URI", "keywords": [ "pnpm", diff --git a/pnpm11/network/fetch/package.json b/pnpm11/network/fetch/package.json index 60ffbfabb1..1e3ebe3183 100644 --- a/pnpm11/network/fetch/package.json +++ b/pnpm11/network/fetch/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/network.fetch", - "version": "1100.1.22", + "version": "1100.1.23", "description": "Native fetch with retries", "keywords": [ "pnpm", diff --git a/pnpm11/patching/commands/package.json b/pnpm11/patching/commands/package.json index 466855d575..025a69a4d6 100644 --- a/pnpm11/patching/commands/package.json +++ b/pnpm11/patching/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/patching.commands", - "version": "1101.0.12", + "version": "1101.0.13", "description": "Commands for creating patches", "keywords": [ "pnpm", diff --git a/pnpm11/patching/config/package.json b/pnpm11/patching/config/package.json index f820855942..15c7224b29 100644 --- a/pnpm11/patching/config/package.json +++ b/pnpm11/patching/config/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/patching.config", - "version": "1100.1.9", + "version": "1100.1.10", "description": "Functions related to patching configurations", "keywords": [ "pnpm", diff --git a/pnpm11/pkg-manifest/commands/package.json b/pnpm11/pkg-manifest/commands/package.json index e28bdd1010..ee28f974d6 100644 --- a/pnpm11/pkg-manifest/commands/package.json +++ b/pnpm11/pkg-manifest/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/pkg-manifest.commands", - "version": "1100.1.34", + "version": "1100.1.35", "description": "Commands for managing package.json", "keywords": [ "pnpm", diff --git a/pnpm11/pkg-manifest/reader/package.json b/pnpm11/pkg-manifest/reader/package.json index 5f5b73bd80..3d7fee4a32 100644 --- a/pnpm11/pkg-manifest/reader/package.json +++ b/pnpm11/pkg-manifest/reader/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/pkg-manifest.reader", - "version": "1100.0.22", + "version": "1100.0.23", "description": "Read a package.json", "keywords": [ "pnpm", diff --git a/pnpm11/pkg-manifest/utils/package.json b/pnpm11/pkg-manifest/utils/package.json index 9ae9509709..b456976ca7 100644 --- a/pnpm11/pkg-manifest/utils/package.json +++ b/pnpm11/pkg-manifest/utils/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/pkg-manifest.utils", - "version": "1100.4.9", + "version": "1100.4.10", "description": "Utils for dealing with package manifest", "keywords": [ "pnpm", diff --git a/pnpm11/pnpm/artifacts/darwin-arm64/package.json b/pnpm11/pnpm/artifacts/darwin-arm64/package.json index 857cc3295a..0393420147 100644 --- a/pnpm11/pnpm/artifacts/darwin-arm64/package.json +++ b/pnpm11/pnpm/artifacts/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/macos-arm64", - "version": "11.28.6", + "version": "11.28.7", "keywords": [ "pnpm", "pnpm11", diff --git a/pnpm11/pnpm/artifacts/exe/package.json b/pnpm11/pnpm/artifacts/exe/package.json index 9caff38a75..cc1858de3e 100644 --- a/pnpm11/pnpm/artifacts/exe/package.json +++ b/pnpm11/pnpm/artifacts/exe/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/exe", - "version": "11.28.6", + "version": "11.28.7", "description": "Fast, disk space efficient package manager", "keywords": [ "pnpm", diff --git a/pnpm11/pnpm/artifacts/linux-arm64/package.json b/pnpm11/pnpm/artifacts/linux-arm64/package.json index 6f45da2b50..f7c5b69bab 100644 --- a/pnpm11/pnpm/artifacts/linux-arm64/package.json +++ b/pnpm11/pnpm/artifacts/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/linux-arm64", - "version": "11.28.6", + "version": "11.28.7", "keywords": [ "pnpm", "pnpm11", diff --git a/pnpm11/pnpm/artifacts/linux-x64-musl/package.json b/pnpm11/pnpm/artifacts/linux-x64-musl/package.json index 025a04903a..afe7e03565 100644 --- a/pnpm11/pnpm/artifacts/linux-x64-musl/package.json +++ b/pnpm11/pnpm/artifacts/linux-x64-musl/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/linuxstatic-x64", - "version": "11.28.6", + "version": "11.28.7", "keywords": [ "pnpm", "pnpm11", diff --git a/pnpm11/pnpm/artifacts/linux-x64/package.json b/pnpm11/pnpm/artifacts/linux-x64/package.json index b0fe093af0..6dc931541e 100644 --- a/pnpm11/pnpm/artifacts/linux-x64/package.json +++ b/pnpm11/pnpm/artifacts/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/linux-x64", - "version": "11.28.6", + "version": "11.28.7", "keywords": [ "pnpm", "pnpm11", diff --git a/pnpm11/pnpm/artifacts/win32-arm64/package.json b/pnpm11/pnpm/artifacts/win32-arm64/package.json index cdc99efb5c..90901c06a5 100644 --- a/pnpm11/pnpm/artifacts/win32-arm64/package.json +++ b/pnpm11/pnpm/artifacts/win32-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/win-arm64", - "version": "11.28.6", + "version": "11.28.7", "keywords": [ "pnpm", "pnpm11", diff --git a/pnpm11/pnpm/artifacts/win32-x64/package.json b/pnpm11/pnpm/artifacts/win32-x64/package.json index 26bd5359a6..4840613aba 100644 --- a/pnpm11/pnpm/artifacts/win32-x64/package.json +++ b/pnpm11/pnpm/artifacts/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/win-x64", - "version": "11.28.6", + "version": "11.28.7", "keywords": [ "pnpm", "pnpm11", diff --git a/pnpm11/pnpm/dev/CHANGELOG.md b/pnpm11/pnpm/dev/CHANGELOG.md index 6623876573..77e4766c43 100644 --- a/pnpm11/pnpm/dev/CHANGELOG.md +++ b/pnpm11/pnpm/dev/CHANGELOG.md @@ -1,5 +1,14 @@ # pd +## 1100.0.27 + +### Patch Changes + +- Updated dependencies: + - @pnpm/workspace.projects-reader@1101.1.5 + - @pnpm/workspace.root-finder@1100.1.4 + - @pnpm/workspace.workspace-manifest-reader@1100.3.0 + ## 1100.0.26 ### Patch Changes diff --git a/pnpm11/pnpm/dev/package.json b/pnpm11/pnpm/dev/package.json index bcf96ed282..8a75637d7c 100644 --- a/pnpm11/pnpm/dev/package.json +++ b/pnpm11/pnpm/dev/package.json @@ -1,6 +1,6 @@ { "name": "pd", - "version": "1100.0.26", + "version": "1100.0.27", "bin": "pd.js", "private": true, "type": "module", diff --git a/pnpm11/pnpm/package.json b/pnpm11/pnpm/package.json index 4b730fa704..fe357161d1 100644 --- a/pnpm11/pnpm/package.json +++ b/pnpm11/pnpm/package.json @@ -1,6 +1,6 @@ { "name": "pnpm", - "version": "11.28.6", + "version": "11.28.7", "description": "Fast, disk space efficient package manager", "keywords": [ "pnpm", diff --git a/pnpm11/registry-access/client/package.json b/pnpm11/registry-access/client/package.json index 956e9b4267..a02d8c1bd9 100644 --- a/pnpm11/registry-access/client/package.json +++ b/pnpm11/registry-access/client/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/registry-access.client", - "version": "1100.1.24", + "version": "1100.1.25", "description": "Low-level helpers for npm-registry HTTP endpoints (PUT dist-tag, PUT user, etc.)", "keywords": [ "pnpm", diff --git a/pnpm11/registry-access/commands/package.json b/pnpm11/registry-access/commands/package.json index ba393b95cc..7ae80ee57e 100644 --- a/pnpm11/registry-access/commands/package.json +++ b/pnpm11/registry-access/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/registry-access.commands", - "version": "1101.0.11", + "version": "1101.0.12", "description": "Commands for managing packages on the registry", "keywords": [ "pnpm", diff --git a/pnpm11/releasing/commands/package.json b/pnpm11/releasing/commands/package.json index 5b61d57e09..674bc769bb 100644 --- a/pnpm11/releasing/commands/package.json +++ b/pnpm11/releasing/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/releasing.commands", - "version": "1101.2.9", + "version": "1101.2.10", "description": "Commands for deploy, pack, and publish", "keywords": [ "pnpm", diff --git a/pnpm11/releasing/exportable-manifest/package.json b/pnpm11/releasing/exportable-manifest/package.json index eedf894a16..0b2f4a28c4 100644 --- a/pnpm11/releasing/exportable-manifest/package.json +++ b/pnpm11/releasing/exportable-manifest/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/releasing.exportable-manifest", - "version": "1100.3.7", + "version": "1100.3.8", "description": "Creates an exportable manifest", "keywords": [ "pnpm", diff --git a/pnpm11/releasing/versioning/package.json b/pnpm11/releasing/versioning/package.json index 649beea2a2..2545a89e1a 100644 --- a/pnpm11/releasing/versioning/package.json +++ b/pnpm11/releasing/versioning/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/releasing.versioning", - "version": "1100.3.6", + "version": "1100.3.7", "description": "Native workspace release management: change intents, release-plan assembly, and changelog writing", "keywords": [ "pnpm", diff --git a/pnpm11/resolving/default-resolver/package.json b/pnpm11/resolving/default-resolver/package.json index c552729854..adf44d2589 100644 --- a/pnpm11/resolving/default-resolver/package.json +++ b/pnpm11/resolving/default-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/resolving.default-resolver", - "version": "1101.0.11", + "version": "1101.0.12", "description": "pnpm's default package resolver", "keywords": [ "pnpm", diff --git a/pnpm11/resolving/git-resolver/package.json b/pnpm11/resolving/git-resolver/package.json index 79cc733055..67b5e76b50 100644 --- a/pnpm11/resolving/git-resolver/package.json +++ b/pnpm11/resolving/git-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/resolving.git-resolver", - "version": "1100.1.27", + "version": "1100.1.28", "description": "Resolver for git-hosted packages", "keywords": [ "pnpm", diff --git a/pnpm11/resolving/local-resolver/package.json b/pnpm11/resolving/local-resolver/package.json index c3266f2fd5..73c1bb800e 100644 --- a/pnpm11/resolving/local-resolver/package.json +++ b/pnpm11/resolving/local-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/resolving.local-resolver", - "version": "1101.2.6", + "version": "1101.2.7", "description": "Resolver for local packages", "keywords": [ "pnpm", diff --git a/pnpm11/resolving/npm-resolver/package.json b/pnpm11/resolving/npm-resolver/package.json index a3ed1ba017..24a991a4ed 100644 --- a/pnpm11/resolving/npm-resolver/package.json +++ b/pnpm11/resolving/npm-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/resolving.npm-resolver", - "version": "1104.2.6", + "version": "1104.2.7", "description": "Resolver for npm-hosted packages", "keywords": [ "pnpm", diff --git a/pnpm11/resolving/registry/pkg-metadata-filter/package.json b/pnpm11/resolving/registry/pkg-metadata-filter/package.json index 619932393f..d3ab46cdc3 100644 --- a/pnpm11/resolving/registry/pkg-metadata-filter/package.json +++ b/pnpm11/resolving/registry/pkg-metadata-filter/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/resolving.registry.pkg-metadata-filter", - "version": "1100.0.23", + "version": "1100.0.24", "description": "Filters the package metadata from the registry", "keywords": [ "pnpm", diff --git a/pnpm11/resolving/registry/types/package.json b/pnpm11/resolving/registry/types/package.json index 1b6a134de3..0570a475d3 100644 --- a/pnpm11/resolving/registry/types/package.json +++ b/pnpm11/resolving/registry/types/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/resolving.registry.types", - "version": "1100.2.3", + "version": "1100.2.4", "description": "Types related to the npm registry", "keywords": [ "pnpm", diff --git a/pnpm11/resolving/resolver-base/package.json b/pnpm11/resolving/resolver-base/package.json index 9383ec35d7..430ca83554 100644 --- a/pnpm11/resolving/resolver-base/package.json +++ b/pnpm11/resolving/resolver-base/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/resolving.resolver-base", - "version": "1101.3.2", + "version": "1101.3.3", "description": "Types for pnpm-compatible resolvers", "keywords": [ "pnpm", diff --git a/pnpm11/resolving/tarball-resolver/package.json b/pnpm11/resolving/tarball-resolver/package.json index a48ff74d39..380a44a303 100644 --- a/pnpm11/resolving/tarball-resolver/package.json +++ b/pnpm11/resolving/tarball-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/resolving.tarball-resolver", - "version": "1100.1.17", + "version": "1100.1.18", "description": "Resolver for tarball dependencies", "keywords": [ "pnpm", diff --git a/pnpm11/resolving/tarball-url/package.json b/pnpm11/resolving/tarball-url/package.json index bd444a35df..6010338e8c 100644 --- a/pnpm11/resolving/tarball-url/package.json +++ b/pnpm11/resolving/tarball-url/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/resolving.tarball-url", - "version": "1101.1.4", + "version": "1101.1.5", "description": "Build and recognize the canonical tarball URL of an npm package", "keywords": [ "pnpm", diff --git a/pnpm11/store/cafs/package.json b/pnpm11/store/cafs/package.json index ea9765bda3..fdd434600c 100644 --- a/pnpm11/store/cafs/package.json +++ b/pnpm11/store/cafs/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/store.cafs", - "version": "1100.3.7", + "version": "1100.3.8", "description": "A content-addressable filesystem for the packages storage", "keywords": [ "pnpm", diff --git a/pnpm11/store/commands/package.json b/pnpm11/store/commands/package.json index 9b6c802607..1135722425 100644 --- a/pnpm11/store/commands/package.json +++ b/pnpm11/store/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/store.commands", - "version": "1101.0.11", + "version": "1101.0.12", "description": "Commands for controlling and inspecting the store", "keywords": [ "pnpm", diff --git a/pnpm11/store/connection-manager/package.json b/pnpm11/store/connection-manager/package.json index 3f8e83ddbc..bc847763a9 100644 --- a/pnpm11/store/connection-manager/package.json +++ b/pnpm11/store/connection-manager/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/store.connection-manager", - "version": "1101.3.4", + "version": "1101.3.5", "description": "Create a pnpm store controller", "keywords": [ "pnpm", diff --git a/pnpm11/store/controller-types/package.json b/pnpm11/store/controller-types/package.json index 5a7e37a206..09a1af6217 100644 --- a/pnpm11/store/controller-types/package.json +++ b/pnpm11/store/controller-types/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/store.controller-types", - "version": "1101.3.3", + "version": "1101.3.4", "description": "Types for the store controller", "keywords": [ "pnpm", diff --git a/pnpm11/store/controller/package.json b/pnpm11/store/controller/package.json index 47b0d0b77e..efd4e5f06a 100644 --- a/pnpm11/store/controller/package.json +++ b/pnpm11/store/controller/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/store.controller", - "version": "1102.2.5", + "version": "1102.2.6", "description": "A storage for packages", "keywords": [ "pnpm", diff --git a/pnpm11/store/create-cafs-store/package.json b/pnpm11/store/create-cafs-store/package.json index 03f897d100..3f7efe6b6e 100644 --- a/pnpm11/store/create-cafs-store/package.json +++ b/pnpm11/store/create-cafs-store/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/store.create-cafs-store", - "version": "1100.0.35", + "version": "1100.0.36", "description": "Create a CAFS store controller", "keywords": [ "pnpm", diff --git a/pnpm11/store/file-mode/package.json b/pnpm11/store/file-mode/package.json index f890f2a463..bf807eaa31 100644 --- a/pnpm11/store/file-mode/package.json +++ b/pnpm11/store/file-mode/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/store.file-mode", - "version": "1100.0.1", + "version": "1100.0.2", "description": "Permission bits for new files in a shared store", "keywords": [ "pnpm", diff --git a/pnpm11/store/index/package.json b/pnpm11/store/index/package.json index 8396990670..02953d6adf 100644 --- a/pnpm11/store/index/package.json +++ b/pnpm11/store/index/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/store.index", - "version": "1101.0.2", + "version": "1101.0.3", "description": "SQLite-backed index for the pnpm content-addressable store", "keywords": [ "pnpm", diff --git a/pnpm11/store/path/package.json b/pnpm11/store/path/package.json index 47b5258095..6eb84a7c95 100644 --- a/pnpm11/store/path/package.json +++ b/pnpm11/store/path/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/store.path", - "version": "1100.1.2", + "version": "1100.1.3", "description": "Resolves the pnpm store path", "keywords": [ "pnpm", diff --git a/pnpm11/store/pkg-finder/package.json b/pnpm11/store/pkg-finder/package.json index a9af8dd57d..8bca6b0ace 100644 --- a/pnpm11/store/pkg-finder/package.json +++ b/pnpm11/store/pkg-finder/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/store.pkg-finder", - "version": "1100.0.40", + "version": "1100.0.41", "description": "Read a package's file map from the content-addressable store", "keywords": [ "pnpm", diff --git a/pnpm11/testing/command-defaults/CHANGELOG.md b/pnpm11/testing/command-defaults/CHANGELOG.md index 0a32e2f2cc..4c8bd9d31c 100644 --- a/pnpm11/testing/command-defaults/CHANGELOG.md +++ b/pnpm11/testing/command-defaults/CHANGELOG.md @@ -1,5 +1,12 @@ # @pnpm/testing.command-defaults +## 1100.0.16 + +### Patch Changes + +- Updated dependencies: + - @pnpm/testing.registry-mock@1100.0.16 + ## 1100.0.15 ### Patch Changes diff --git a/pnpm11/testing/command-defaults/package.json b/pnpm11/testing/command-defaults/package.json index ed0f7a6114..1285705c29 100644 --- a/pnpm11/testing/command-defaults/package.json +++ b/pnpm11/testing/command-defaults/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/testing.command-defaults", - "version": "1100.0.15", + "version": "1100.0.16", "private": true, "description": "Shared DEFAULT_OPTS for pnpm command handler tests", "keywords": [ diff --git a/pnpm11/testing/mock-agent/CHANGELOG.md b/pnpm11/testing/mock-agent/CHANGELOG.md index 73265df2fd..44a12a42db 100644 --- a/pnpm11/testing/mock-agent/CHANGELOG.md +++ b/pnpm11/testing/mock-agent/CHANGELOG.md @@ -1,5 +1,12 @@ # @pnpm/testing.mock-agent +## 1101.0.12 + +### Patch Changes + +- Updated dependencies: + - @pnpm/network.fetch@1100.1.23 + ## 1101.0.11 ### Patch Changes diff --git a/pnpm11/testing/mock-agent/package.json b/pnpm11/testing/mock-agent/package.json index b3e00123d6..0d3d12d92d 100644 --- a/pnpm11/testing/mock-agent/package.json +++ b/pnpm11/testing/mock-agent/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/testing.mock-agent", - "version": "1101.0.11", + "version": "1101.0.12", "private": true, "description": "Shared undici MockAgent helpers for pnpm tests", "keywords": [ diff --git a/pnpm11/testing/registry-mock/CHANGELOG.md b/pnpm11/testing/registry-mock/CHANGELOG.md index 1a767940b4..77dded64ab 100644 --- a/pnpm11/testing/registry-mock/CHANGELOG.md +++ b/pnpm11/testing/registry-mock/CHANGELOG.md @@ -1,5 +1,13 @@ # @pnpm/testing.registry-mock +## 1100.0.16 + +### Patch Changes + +- Updated dependencies: + - @pnpm/network.fetch@1100.1.23 + - @pnpm/registry-access.client@1100.1.25 + ## 1100.0.15 ### Patch Changes diff --git a/pnpm11/testing/registry-mock/package.json b/pnpm11/testing/registry-mock/package.json index cfb269b558..57dd835d7e 100644 --- a/pnpm11/testing/registry-mock/package.json +++ b/pnpm11/testing/registry-mock/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/testing.registry-mock", - "version": "1100.0.15", + "version": "1100.0.16", "private": true, "description": "Thin test helpers that talk to the mock npm registry — wraps registry-access.commands with REGISTRY_MOCK_PORT and REGISTRY_MOCK_CREDENTIALS baked in.", "keywords": [ diff --git a/pnpm11/testing/temp-store/package.json b/pnpm11/testing/temp-store/package.json index 7e202d30c6..a0260257bf 100644 --- a/pnpm11/testing/temp-store/package.json +++ b/pnpm11/testing/temp-store/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/testing.temp-store", - "version": "1101.0.11", + "version": "1101.0.12", "description": "A temporary store for testing purposes", "keywords": [ "pnpm", diff --git a/pnpm11/worker/package.json b/pnpm11/worker/package.json index e40cac04ea..0b33a65f37 100644 --- a/pnpm11/worker/package.json +++ b/pnpm11/worker/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/worker", - "version": "1100.4.9", + "version": "1100.4.10", "description": "A worker for extracting package tarballs to the store", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/commands/package.json b/pnpm11/workspace/commands/package.json index 8baca37bb5..e4dd0255e9 100644 --- a/pnpm11/workspace/commands/package.json +++ b/pnpm11/workspace/commands/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.commands", - "version": "1100.2.9", + "version": "1100.2.10", "description": "Create a package.json file", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/injected-deps-syncer/package.json b/pnpm11/workspace/injected-deps-syncer/package.json index a5db21581f..1d7944e1eb 100644 --- a/pnpm11/workspace/injected-deps-syncer/package.json +++ b/pnpm11/workspace/injected-deps-syncer/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.injected-deps-syncer", - "version": "1100.0.44", + "version": "1100.0.45", "description": "Update all injected replica of a workspace package", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/project-manifest-reader/package.json b/pnpm11/workspace/project-manifest-reader/package.json index feb0f540a8..390c162c2e 100644 --- a/pnpm11/workspace/project-manifest-reader/package.json +++ b/pnpm11/workspace/project-manifest-reader/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.project-manifest-reader", - "version": "1100.1.3", + "version": "1100.1.4", "description": "Read a project manifest (called package.json in most cases)", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/project-manifest-writer/package.json b/pnpm11/workspace/project-manifest-writer/package.json index 1bd29bf59c..90fbcb3502 100644 --- a/pnpm11/workspace/project-manifest-writer/package.json +++ b/pnpm11/workspace/project-manifest-writer/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.project-manifest-writer", - "version": "1100.0.20", + "version": "1100.0.21", "description": "Write a project manifest (called package.json in most cases)", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/projects-filter/package.json b/pnpm11/workspace/projects-filter/package.json index 2b79137062..f9807d6cf4 100644 --- a/pnpm11/workspace/projects-filter/package.json +++ b/pnpm11/workspace/projects-filter/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.projects-filter", - "version": "1100.0.49", + "version": "1100.0.50", "description": "Filters packages in a workspace", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/projects-graph/package.json b/pnpm11/workspace/projects-graph/package.json index 101823fdf4..975c712412 100644 --- a/pnpm11/workspace/projects-graph/package.json +++ b/pnpm11/workspace/projects-graph/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.projects-graph", - "version": "1100.0.44", + "version": "1100.0.45", "description": "Create a graph from an array of packages", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/projects-reader/package.json b/pnpm11/workspace/projects-reader/package.json index 99e7f6cc46..2d9f18a88a 100644 --- a/pnpm11/workspace/projects-reader/package.json +++ b/pnpm11/workspace/projects-reader/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.projects-reader", - "version": "1101.1.4", + "version": "1101.1.5", "description": "Finds packages inside a workspace", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/projects-sorter/package.json b/pnpm11/workspace/projects-sorter/package.json index aaefd8842a..d781844732 100644 --- a/pnpm11/workspace/projects-sorter/package.json +++ b/pnpm11/workspace/projects-sorter/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.projects-sorter", - "version": "1101.0.1", + "version": "1101.0.2", "description": "Sort packages", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/root-finder/package.json b/pnpm11/workspace/root-finder/package.json index 5c7d4f4b97..3918a19494 100644 --- a/pnpm11/workspace/root-finder/package.json +++ b/pnpm11/workspace/root-finder/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.root-finder", - "version": "1100.1.3", + "version": "1100.1.4", "description": "Finds the root of a pnpm workspace", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/state/package.json b/pnpm11/workspace/state/package.json index 03242c1419..193218e0d6 100644 --- a/pnpm11/workspace/state/package.json +++ b/pnpm11/workspace/state/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.state", - "version": "1100.0.50", + "version": "1100.0.51", "description": "Track the list of actual paths of workspace packages in a cache", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/task-scheduler/package.json b/pnpm11/workspace/task-scheduler/package.json index 79e5e41ddc..d52e424faf 100644 --- a/pnpm11/workspace/task-scheduler/package.json +++ b/pnpm11/workspace/task-scheduler/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.task-scheduler", - "version": "1100.0.4", + "version": "1100.0.5", "description": "Builds and schedules workspace task graphs", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/workspace-manifest-reader/package.json b/pnpm11/workspace/workspace-manifest-reader/package.json index 40ca34c370..6eb126bfad 100644 --- a/pnpm11/workspace/workspace-manifest-reader/package.json +++ b/pnpm11/workspace/workspace-manifest-reader/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.workspace-manifest-reader", - "version": "1100.2.2", + "version": "1100.3.0", "description": "Reads a workspace manifest file", "keywords": [ "pnpm", diff --git a/pnpm11/workspace/workspace-manifest-writer/package.json b/pnpm11/workspace/workspace-manifest-writer/package.json index 258e599e12..d9a155f713 100644 --- a/pnpm11/workspace/workspace-manifest-writer/package.json +++ b/pnpm11/workspace/workspace-manifest-writer/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/workspace.workspace-manifest-writer", - "version": "1100.2.7", + "version": "1100.2.8", "description": "Updates the workspace manifest file", "keywords": [ "pnpm", diff --git a/pnpr/client/package.json b/pnpr/client/package.json index 1857e70adf..ae768480f6 100644 --- a/pnpr/client/package.json +++ b/pnpr/client/package.json @@ -1,6 +1,6 @@ { "name": "@pnpm/pnpr.client", - "version": "3.1.3", + "version": "3.1.4", "description": "Client for the pnpr server — resolves a project server-side and receives the resolved lockfile", "keywords": [ "pnpm", diff --git a/pnpr/crates/pnpr/Cargo.toml b/pnpr/crates/pnpr/Cargo.toml index 6097d03cb4..8f26430986 100644 --- a/pnpr/crates/pnpr/Cargo.toml +++ b/pnpr/crates/pnpr/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "pnpr" description = "pnpm-compatible npm registry server" -version = "0.1.0-alpha.15" +version = "0.1.0-alpha.16" publish = false authors = ["pnpm contributors"] edition.workspace = true diff --git a/pnpr/npm/pnpr-ui/CHANGELOG.md b/pnpr/npm/pnpr-ui/CHANGELOG.md index 2beeb853c0..30cad7a855 100644 --- a/pnpr/npm/pnpr-ui/CHANGELOG.md +++ b/pnpr/npm/pnpr-ui/CHANGELOG.md @@ -1,5 +1,7 @@ # @pnpm/pnpr-ui +## 0.1.0-alpha.16 + ## 0.1.0-alpha.15 ### Minor Changes diff --git a/pnpr/npm/pnpr-ui/package.json b/pnpr/npm/pnpr-ui/package.json index e1b0f0b435..9a450f69fe 100644 --- a/pnpr/npm/pnpr-ui/package.json +++ b/pnpr/npm/pnpr-ui/package.json @@ -1,7 +1,7 @@ { "name": "@pnpm/pnpr-ui", "private": true, - "version": "0.1.0-alpha.15", + "version": "0.1.0-alpha.16", "description": "The web UI that pnpr serves at /-/ui/", "keywords": [ "pnpm", diff --git a/pnpr/npm/pnpr/package.json b/pnpr/npm/pnpr/package.json index 5acd0d2fbd..f9fa6ea358 100644 --- a/pnpr/npm/pnpr/package.json +++ b/pnpr/npm/pnpr/package.json @@ -1,7 +1,7 @@ { "name": "@pnpm/pnpr", "private": true, - "version": "0.1.0-alpha.15", + "version": "0.1.0-alpha.16", "description": "pnpm-compatible npm registry server, written in Rust", "keywords": [ "pnpm",