chore(release): pacquet 12.11.0 (#16772)
* chore(release): pacquet 12.11.0 * docs(release): curate the pacquet 12.11.0 release notes Add a lead paragraph and group the patch entries by what the reader was doing. Merge the agent skills and permissions entries, the three Rust toolchain entries, and the seven registry-command entries, which repeated the same commands and options. Fold the live-output failure fix into the script-output entry from the same change. Name the symptom in the Windows invalid-filename entry, state the napi thread pool change by its effect, and word the napi rebuild entries for the rebuild() API instead of CLI flags. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
49 files changed
+187
-250
No files matched your search
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm access` now resolves target registries for scoped packages and scopes from configuration, and honors the `--registry` option across all subcommands.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": minor
|
||||
---
|
||||
|
||||
`pnpm install` now links the agent skills that direct dependencies ship under `skills/<name>/SKILL.md` into the project's agent skill directories, such as `.claude/skills`. A package's skills are linked only after you approve them with `pnpm approve`. The `skills.dirs` setting chooses the directories [pnpm/rfcs#35](https://github.com/pnpm/rfcs/pull/35).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm audit --fix update` now updates only the dependencies whose locked version is vulnerable [#14928](https://github.com/pnpm/pnpm/issues/14928).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm install --no-optional` now installs the peer dependencies a project declares when `autoInstallPeers` is on. The lockfile marked such a peer `optional: true` when another dependency had it as an optional peer.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
When the `pnpm` package has to download its native binary on first run, it now uses the registry and credentials from `.npmrc` and from the `npm_config_registry` and `pnpm_config_registry` environment variables. `COREPACK_NPM_REGISTRY` still takes precedence. A project `.npmrc` is not read when `COREPACK_INTEGRITY_KEYS` turns off the signature check [#16655](https://github.com/pnpm/pnpm/issues/16655).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm install` now writes the source replacement for vendored crates into `.pnpm/crates/config.toml` and includes it as optional from `.cargo/config.toml`. A checkout without `.pnpm` builds with plain Cargo [#16659](https://github.com/pnpm/pnpm/issues/16659).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm remove` with `catalogPrune` no longer removes catalog entries that `pnpm-lock.yaml` still records for workspace projects missing from disk. Before, a following frozen install failed with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` [#16679](https://github.com/pnpm/pnpm/issues/16679).
|
||||
@@ -1,5 +0,0 @@
|
||||
## 12.10.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- `rebuild()` no longer fails with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` on a lockfile that records a `pnpmfileChecksum` or was resolved with other settings. Of the settings the lockfile records, `rebuild()` now checks only `patchedDependencies`.
|
||||
@@ -0,0 +1,13 @@
|
||||
## 12.11.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- `rebuild` accepts `skipIfHasSideEffectsCache`. With it set, a package whose build the side-effects cache already holds is restored from the cache, and its build scripts do not run again.
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- `rebuild` with `selectedNames` no longer reads the manifest of every installed package to find build scripts. Only the selected packages are inspected and built. On a large `node_modules` served lazily, such as over a network or FUSE mount, this turned a rebuild of a few packages into a fetch of every package.
|
||||
|
||||
- `rebuild` no longer removes and recreates `node_modules` when the settings recorded in `node_modules/.modules.yaml` differ from the options. The rebuild runs the build scripts against the installed packages as they are.
|
||||
|
||||
- The addon now sizes its worker thread pool the way the `pnpm` command does, with at most 16 threads. It started one thread per CPU core [pnpm/tasks#54](https://github.com/pnpm/tasks/issues/54).
|
||||
@@ -1,27 +0,0 @@
|
||||
## 12.10.1
|
||||
|
||||
This release fixes `pnpm install` failures after an `overrides` change and on a filtered frozen install with `catalogPrune`. It also fixes several bugs in the experimental `nodeLinker.type: loaded`, which now keeps its generated files in `node_modules`.
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- With `nodeLinker.type: loaded`, pnpm now writes its generated files to `node_modules`, which projects already ignore in git. The store manifest and loader are `node_modules/.pnpm/.store-manifest.json` and `node_modules/.pnpm/.store-loader.mjs`. Bin shims are in `node_modules/.bin`.
|
||||
|
||||
Earlier versions wrote `.pnpm-store.json` and `.pnpm-store-loader.mjs` to the project root, and a `.pnpm` directory to the root and to each workspace package. Delete them after reinstalling.
|
||||
|
||||
- With `nodeLinker.type: loaded`, packages that ship their own `node_modules` directory, such as `npm` with its bundled dependencies, now load from the store. Before, one such package in the install stopped every Node.js process from starting.
|
||||
|
||||
- With `nodeLinker.type: loaded`, scripts can now run a Node.js runtime installed through `devEngines.runtime`. Before, every script that called `node` re-ran its own shim until it failed with "Argument list too long".
|
||||
|
||||
- With `nodeLinker.type: loaded`, Node.js processes start faster. In a project with 13,000 stored files, the startup overhead per process dropped from 67 ms to 18 ms.
|
||||
|
||||
- `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 frozen install with `catalogPrune` no longer removes catalog entries that `pnpm-lock.yaml` still records. Before, `pnpm install --frozen-lockfile --filter` failed with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` when some workspace projects were missing from disk [#16638](https://github.com/pnpm/pnpm/issues/16638).
|
||||
|
||||
- `pnpm install --fix-lockfile` no longer removes the `deprecated` and `hasBin` fields from lockfile entries [#6600](https://github.com/pnpm/pnpm/issues/6600).
|
||||
|
||||
- With `enableGlobalVirtualStore`, an install that updates `node_modules` now repairs a package in the global virtual store that an interrupted install left without some of its dependency links or package files. 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).
|
||||
|
||||
- `pnpm install` now skips the Cargo and Python projects inside a nested directory that has its own `pnpm-workspace.yaml` or `.git` directory, such as a git worktree of the same workspace or a separate clone.
|
||||
|
||||
- The `Request took` warning for package metadata now starts timing when pnpm sends the request. Before, it also counted the time the request waited for a free request slot, so large installs printed it for requests the registry answered quickly.
|
||||
@@ -0,0 +1,115 @@
|
||||
## 12.11.0
|
||||
|
||||
This release adds Rust toolchain management, links the agent skills that dependencies ship, adds the `permissions` setting, and keeps the colors of streamed script output.
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- `pnpm install` now links the agent skills that direct dependencies ship under `skills/<name>/SKILL.md` into the project's agent skill directories, such as `.claude/skills`. A package's skills are linked only after you approve them with `pnpm approve`. The `skills.dirs` setting chooses the directories [pnpm/rfcs#35](https://github.com/pnpm/rfcs/pull/35).
|
||||
|
||||
Added the `permissions` setting, which records what each dependency may do. Its `build` capability works like `allowBuilds` and takes precedence over it. `pnpm approve-builds` writes to `permissions` when `pnpm-workspace.yaml` already has it, and to `allowBuilds` otherwise.
|
||||
|
||||
Added `pnpm permissions`, which lists the granted and denied permissions and the packages awaiting approval. `pnpm approve` reviews build scripts and agent skills in one prompt [pnpm/rfcs#36](https://github.com/pnpm/rfcs/pull/36).
|
||||
|
||||
- pnpm now installs and runs Rust toolchains.
|
||||
|
||||
- With `cargo.enabled`, `pnpm install` installs the toolchain named in `rust-toolchain.toml`. pnpm verifies the release signature, stores the toolchain once per machine, and links it into `.pnpm/rust`. `pnpm run` and `pnpm exec` put its `cargo` and `rustc` on the `PATH`.
|
||||
- `pnpm add -g rust@<channel>` installs a toolchain globally. The `cargo` and `rustc` commands run it outside projects that pin their own. `pnpm update -g`, `pnpm ls -g`, and `pnpm remove -g` manage it like any global package.
|
||||
- In a project, `pnpm add rust@<channel>` pins the toolchain in `rust-toolchain.toml`.
|
||||
- `pnpm shim add rust` adds project-aware shims for `cargo`, `rustc`, and the other Rust tools. In a project with a `rust-toolchain.toml`, they run the toolchain the file names and install it on first use. Elsewhere, the next command of the same name on `PATH` runs, such as rustup's.
|
||||
|
||||
- `pnpm run` and `pnpm exec` now keep the colors of script output that they print under the project's name, such as with `--stream`. pnpm sets `FORCE_COLOR=1` for these scripts when its own output is in color, unless `FORCE_COLOR` is already set.
|
||||
|
||||
Script output is also rendered more cleanly:
|
||||
|
||||
- A line that a progress bar redraws with `\r` shows only its last state.
|
||||
- Escape codes that move the cursor or clear the screen are dropped.
|
||||
- Long colored lines are cut at the terminal width.
|
||||
- `pnpm -r run` no longer garbles its live output when a script fails while other scripts are still running.
|
||||
|
||||
### Patch Changes
|
||||
|
||||
#### Installing packages
|
||||
|
||||
- pnpm no longer panics with "unexpected error when polling the I/O driver" when it runs under QEMU user-mode emulation, such as a `linux/amd64` container on an Apple Silicon Mac [#16696](https://github.com/pnpm/pnpm/issues/16696).
|
||||
|
||||
- `pnpm view`, `pnpm update`, and other commands that read registry metadata now work behind proxies that end a response by closing the connection without a TLS `close_notify` alert [#16704](https://github.com/pnpm/pnpm/issues/16704).
|
||||
|
||||
- pnpm now switches to the version a project pins in `packageManager` or `devEngines.packageManager` even when `pnpm-workspace.yaml` has a setting the running pnpm cannot read, such as a `lockfile.includeResolutionSettings` section. If pnpm does not switch, it still reports that setting [#16675](https://github.com/pnpm/pnpm/issues/16675).
|
||||
|
||||
- When the `pnpm` package has to download its native binary on first run, it now uses the registry and credentials from `.npmrc` and from the `npm_config_registry` and `pnpm_config_registry` environment variables. `COREPACK_NPM_REGISTRY` still takes precedence. A project `.npmrc` is not read when `COREPACK_INTEGRITY_KEYS` turns off the signature check [#16655](https://github.com/pnpm/pnpm/issues/16655).
|
||||
|
||||
- `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 remove` with `catalogPrune` no longer removes catalog entries that `pnpm-lock.yaml` still records for workspace projects missing from disk. Before, a following frozen install failed with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` [#16679](https://github.com/pnpm/pnpm/issues/16679).
|
||||
|
||||
- With `cargo.enabled`, `pnpm install` now writes the source replacement for vendored crates into `.pnpm/crates/config.toml` and includes it as optional from `.cargo/config.toml`. A checkout without `.pnpm` builds with plain Cargo [#16659](https://github.com/pnpm/pnpm/issues/16659).
|
||||
|
||||
- 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()`.
|
||||
|
||||
- On Windows, `pnpm install` no longer fails with "The filename, directory name, or volume label syntax is incorrect" when a package contains a file whose name is invalid on Windows, such as `icon.svg?as=metadata.d.ts`. pnpm removes the invalid characters from the name and prints a warning that lists the renamed files.
|
||||
|
||||
- On Windows, hoisting no longer fails intermittently with link errors when a junction is created or replaced concurrently [pnpm/tasks#53](https://github.com/pnpm/tasks/issues/53).
|
||||
|
||||
#### Resolving dependencies
|
||||
|
||||
- `pnpm install --no-optional` now installs the peer dependencies a project declares when `autoInstallPeers` is on. The lockfile marked such a peer `optional: true` when another dependency had it as an optional peer.
|
||||
|
||||
- `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. 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 add` and other installs that re-resolve dependencies now keep the locked `devEngines.runtime` version while it still satisfies the declared range [#16764](https://github.com/pnpm/pnpm/issues/16764).
|
||||
|
||||
- `pnpm audit --fix update` now updates only the dependencies whose locked version is vulnerable [#14928](https://github.com/pnpm/pnpm/issues/14928).
|
||||
|
||||
- `pnpm outdated` and `pnpm update --interactive` now apply `overrides` before they look up the latest version. Before, a dependency overridden to an npm alias was compared with the latest version of the package the override replaces [#16719](https://github.com/pnpm/pnpm/issues/16719).
|
||||
|
||||
#### Patched dependencies
|
||||
|
||||
- Patches saved with CRLF line endings now apply, including a patch that creates or deletes a file. pnpm rejected the git headers of such a patch with `ERR_PNPM_INVALID_PATCH` and the message `invalid file mode: 100644` [#16641](https://github.com/pnpm/pnpm/issues/16641).
|
||||
|
||||
- A patch that changes a file's mode, such as adding or removing the executable bit, now applies the new mode on Unix [pnpm/tasks#110](https://github.com/pnpm/tasks/issues/110).
|
||||
|
||||
#### Injected dependencies and deploy
|
||||
|
||||
- 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 also held 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.
|
||||
|
||||
- `pnpm deploy` with a shared lockfile no longer fails with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` for `settings.dedupeInjectedDeps` or `settings.dedupePeerDependents` when `lockfile.includeResolutionSettings` is enabled. The deployed lockfile now records both settings as `false`, the values the deploy installs with.
|
||||
|
||||
- `pnpm deploy` now writes the dependencies in the deployed `package.json` sorted by name. It also sorts the `allowBuilds` entries in the deployed `pnpm-workspace.yaml`. Repeated deploys of the same lockfile now produce identical files [#16687](https://github.com/pnpm/pnpm/issues/16687).
|
||||
|
||||
#### Packing and publishing
|
||||
|
||||
- `pnpm pack` and `pnpm publish` now match `.npmignore` and `.gitignore` rules the way npm does. A negation such as `!lib/**` or `!lib/**/!(*.map)` re-includes files under a directory that an earlier `*` rule excluded [#16743](https://github.com/pnpm/pnpm/issues/16743).
|
||||
|
||||
- `pnpm pack` and `pnpm publish` no longer always include root files that merely start with `README`, `LICENSE`, or `LICENCE`, such as `README_INTERNAL.md`. Only `README`, `LICENSE`, `LICENCE`, and `COPYING`, with or without an extension, ship regardless of `files` and `.npmignore`, as in npm [#16753](https://github.com/pnpm/pnpm/issues/16753).
|
||||
|
||||
- `pnpm publish --provenance=false` and `--no-provenance` now turn off provenance under trusted publishing, so a package can be published from a self-hosted runner. Setting `provenance: false` in `pnpm-workspace.yaml` does the same [#16721](https://github.com/pnpm/pnpm/issues/16721).
|
||||
|
||||
#### Speed and resource use
|
||||
|
||||
- `pnpm install` hardlinks files from a group-writable or world-writable store again. pnpm copied every file from such a store into `node_modules` [#16677](https://github.com/pnpm/pnpm/issues/16677).
|
||||
|
||||
- A repeat `pnpm install` no longer imports patched packages and packages with build scripts again when nothing changed. Their builds no longer run again either. This happened when `recursiveInstall` was `false` or the project had a `file:` dependency [#16705](https://github.com/pnpm/pnpm/issues/16705).
|
||||
|
||||
- Verifying the lockfile against `trustPolicy` and `minimumReleaseAge` uses less memory. pnpm no longer keeps every published version's manifest of each checked package in memory until the install ends [#16656](https://github.com/pnpm/pnpm/issues/16656).
|
||||
|
||||
- `pnpm rebuild <pkg>` and `pnpm rebuild --pending` no longer read the manifest of every installed package to find build scripts. Only the selected packages are inspected and built. On a large `node_modules` served lazily, such as over a network or FUSE mount, this turned a rebuild of a few packages into a fetch of every package.
|
||||
|
||||
- `pnpm rebuild` no longer removes and recreates `node_modules` when the settings recorded in `node_modules/.modules.yaml` differ from the current configuration. The rebuild runs the build scripts against the installed packages as they are.
|
||||
|
||||
- `pnpm store prune` now compacts the store's `index.db` after removing package entries, so the file shrinks again [#16717](https://github.com/pnpm/pnpm/issues/16717).
|
||||
|
||||
#### Registry commands
|
||||
|
||||
- `pnpm whoami`, `pnpm bugs`, `pnpm docs`, `pnpm repo`, `pnpm star`, `pnpm unstar`, and `pnpm stars` now honor the `--registry` option.
|
||||
|
||||
- `--registry` now takes precedence over a scope's configured registry for scoped packages in `pnpm access`, `pnpm view`, `pnpm repo`, `pnpm star`, `pnpm unstar`, `pnpm owner`, `pnpm deprecate`, `pnpm undeprecate`, `pnpm unpublish`, `pnpm dist-tag`, `pnpm team`, and `pnpm stage`. Without `--registry`, `pnpm access` now sends a scoped package or scope to the registry configured for that scope.
|
||||
|
||||
- Registry commands now keep the path of a registry URL such as `https://example.com/npm/` when they build request URLs. This applies to `pnpm access`, `pnpm owner`, `pnpm ping`, `pnpm search`, `pnpm star`, `pnpm stars`, `pnpm team`, `pnpm unstar`, and `pnpm whoami`.
|
||||
|
||||
- `pnpm view` now honors the network retry settings.
|
||||
|
||||
- `pnpm repo` now fetches the repository URLs of several packages in parallel.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm star`, `pnpm unstar`, `pnpm stars`, `pnpm docs`, and `pnpm repo` now accept a `--registry` option. `pnpm star`, `pnpm unstar`, `pnpm stars`, `pnpm owner`, and `pnpm team` now preserve registry path prefixes when constructing request endpoints.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
Patches saved with CRLF line endings now apply, including a patch that creates or deletes a file. pnpm used to reject the git headers of such a patch with `ERR_PNPM_INVALID_PATCH` and the message `invalid file mode: 100644` [#16641](https://github.com/pnpm/pnpm/issues/16641).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm deploy` with a shared lockfile no longer fails with `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` for `settings.dedupeInjectedDeps` or `settings.dedupePeerDependents` when `lockfile.includeResolutionSettings` is enabled. The deployed lockfile now records both settings as `false`, the values the deploy installs with.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm deploy` now writes the dependencies in the deployed `package.json` sorted by name. It also sorts the `allowBuilds` entries in the deployed `pnpm-workspace.yaml`. Repeated deploys of the same lockfile now produce identical files [#16687](https://github.com/pnpm/pnpm/issues/16687).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
Fixed pnpm panicking with "unexpected error when polling the I/O driver" when it runs under QEMU user-mode emulation, such as a `linux/amd64` container on an Apple Silicon Mac [#16696](https://github.com/pnpm/pnpm/issues/16696).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
Fixed intermittent hoist link errors on Windows during concurrent junction creation or replacement [pnpm/tasks#53](https://github.com/pnpm/tasks/issues/53).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": minor
|
||||
---
|
||||
|
||||
With `cargo.enabled`, `pnpm install` now installs the Rust toolchain named in `rust-toolchain.toml`. pnpm verifies the release signature, stores the toolchain once per machine, and links it into `.pnpm/rust`. `pnpm run` and `pnpm exec` put its `cargo` and `rustc` on the `PATH`.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
A repeat `pnpm install` no longer imports patched packages and packages with build scripts again when nothing changed. Their builds no longer run again either. This happened when `recursiveInstall` was `false` or the project had a `file:` dependency [#16705](https://github.com/pnpm/pnpm/issues/16705).
|
||||
@@ -1,11 +0,0 @@
|
||||
---
|
||||
"pacquet": minor
|
||||
---
|
||||
|
||||
`pnpm run` and `pnpm exec` now keep the colors of script output that they print under the project's name, such as with `--stream`. pnpm sets `FORCE_COLOR=1` for these scripts when its own output is in color, unless `FORCE_COLOR` is already set.
|
||||
|
||||
Script output is also rendered more cleanly:
|
||||
|
||||
- A line that a progress bar redraws with `\r` shows only its last state.
|
||||
- Escape codes that move the cursor or clear the screen are dropped.
|
||||
- Long colored lines are cut at the terminal width.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm add` and other installs that re-resolve dependencies now keep the locked `devEngines.runtime` version while it still satisfies the declared range [#16764](https://github.com/pnpm/pnpm/issues/16764).
|
||||
@@ -3091,6 +3091,13 @@
|
||||
dir: pnpm/npm/napi
|
||||
intents:
|
||||
- napi-rebuild-checks-only-patches
|
||||
"@pnpm/napi@12.11.0":
|
||||
dir: pnpm/npm/napi
|
||||
intents:
|
||||
- napi-rebuild-skip-if-has-side-effects-cache
|
||||
- rebuild-inspects-selected-only
|
||||
- rebuild-keeps-modules-dir
|
||||
- size-napi-rayon-pool
|
||||
"@pnpm/napi@12.4.0":
|
||||
dir: pnpm/npm/napi
|
||||
intents:
|
||||
@@ -5890,6 +5897,55 @@ pacquet@12.10.1:
|
||||
- loaded-linker-node-runtime
|
||||
- skip-nested-checkouts-in-ecosystem-install
|
||||
- slow-request-warning-excludes-queue
|
||||
pacquet@12.11.0:
|
||||
dir: pnpm/npm/pnpm
|
||||
intents:
|
||||
- access-command-registry-resolution
|
||||
- agent-skills-in-dependencies
|
||||
- audit-fix-update-only-vulnerable
|
||||
- auto-installed-peer-not-optional
|
||||
- bootstrap-download-reads-npmrc
|
||||
- cargo-optional-sources-include
|
||||
- catalog-prune-remove-partial-workspace
|
||||
- cli-registry-flags-and-endpoints
|
||||
- config-dependency-release-age
|
||||
- crlf-patches-apply
|
||||
- deploy-resolution-settings
|
||||
- deploy-sorted-dependencies
|
||||
- fix-qemu-io-driver-panic
|
||||
- fix-windows-hoist-junction-race
|
||||
- hardlink-group-writable-store
|
||||
- injected-copy-files-field-dedicated-lockfiles
|
||||
- injected-sync-half-written-manifest
|
||||
- install-rust-toolchain
|
||||
- keep-built-slots-on-repeat-install
|
||||
- keep-colors-of-streamed-script-output
|
||||
- keep-locked-runtime-on-add
|
||||
- lifecycle-failure-in-live-output
|
||||
- loaded-linker-unsupported-node
|
||||
- lockfile-verification-memory
|
||||
- npmignore-extglob-negations
|
||||
- outdated-applies-overrides
|
||||
- pack-readme-prefix
|
||||
- patch-file-mode-changes
|
||||
- permissions-setting
|
||||
- publish-provenance-false
|
||||
- rebuild-inspects-selected-only
|
||||
- rebuild-keeps-modules-dir
|
||||
- registry-endpoints-access-search
|
||||
- registry-endpoints-and-retries
|
||||
- registry-url-normalization-and-cli-resolution
|
||||
- removal-override-meta-only-optional-peer
|
||||
- repo-parallel-lookups-and-registry-override
|
||||
- rust-global-install
|
||||
- rust-toolchain-shims
|
||||
- standardize-package-commands-registry-override
|
||||
- store-prune-vacuum-index
|
||||
- switch-past-unreadable-workspace-settings
|
||||
- tls-unclean-close-metadata
|
||||
- whoami-registry-option
|
||||
- windows-invalid-package-filenames
|
||||
- workspace-optional-peer
|
||||
pacquet@12.2.0:
|
||||
dir: pnpm/npm/pnpm
|
||||
intents:
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm -r run` no longer garbles its live output when a script fails while other scripts are still running. The `[ELIFECYCLE]` lines that pnpm printed for the failed scripts shifted the lines it was redrawing.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
Verifying the lockfile against `trustPolicy` and `minimumReleaseAge` uses less memory. pnpm no longer keeps every published version's manifest of each checked package in memory until the install ends [#16656](https://github.com/pnpm/pnpm/issues/16656).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"@pnpm/napi": minor
|
||||
---
|
||||
|
||||
`rebuild` accepts `skipIfHasSideEffectsCache`. With it set, a package whose build the side-effects cache already holds is restored from the cache, and its build scripts do not run again.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm pack` and `pnpm publish` now match `.npmignore` and `.gitignore` rules the way npm does. A negation such as `!lib/**` or `!lib/**/!(*.map)` re-includes files under a directory that an earlier `*` rule excluded [#16743](https://github.com/pnpm/pnpm/issues/16743).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm outdated` and `pnpm update --interactive` now apply `overrides` before they look up the latest version. Before, a dependency overridden to an npm alias was compared with the latest version of the package the override replaces [#16719](https://github.com/pnpm/pnpm/issues/16719).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm pack` and `pnpm publish` no longer always include root files that merely start with `README`, `LICENSE`, or `LICENCE`, such as `README_INTERNAL.md`. Only `README`, `LICENSE`, `LICENCE`, and `COPYING`, with or without an extension, ship regardless of `files` and `.npmignore`, as in npm [#16753](https://github.com/pnpm/pnpm/issues/16753).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
A patch that changes a file's mode, such as adding or removing the executable bit, now applies the new mode on Unix [pnpm/tasks#110](https://github.com/pnpm/tasks/issues/110).
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
"pacquet": minor
|
||||
---
|
||||
|
||||
Added the `permissions` setting, which records what each dependency may do. Its `build` capability works like `allowBuilds` and takes precedence over it. `pnpm approve-builds` writes to `permissions` when `pnpm-workspace.yaml` already has it, and to `allowBuilds` otherwise.
|
||||
|
||||
Added `pnpm permissions`, which lists the granted and denied permissions and the packages awaiting approval. `pnpm approve` reviews build scripts and agent skills in one prompt [pnpm/rfcs#36](https://github.com/pnpm/rfcs/pull/36).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm publish --provenance=false` and `--no-provenance` now turn off provenance under trusted publishing, so a package can be published from a self-hosted runner. Setting `provenance: false` in `pnpm-workspace.yaml` does the same [#16721](https://github.com/pnpm/pnpm/issues/16721).
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
"@pnpm/napi": patch
|
||||
---
|
||||
|
||||
`pnpm rebuild <pkg>` and `pnpm rebuild --pending` no longer read the manifest of every installed package to find build scripts. Only the selected packages are inspected and built. On a large `node_modules` served lazily, such as over a network or FUSE mount, this turned a rebuild of a few packages into a fetch of every package.
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
"@pnpm/napi": patch
|
||||
---
|
||||
|
||||
`pnpm rebuild` no longer removes and recreates `node_modules` when the settings recorded in `node_modules/.modules.yaml` differ from the current configuration. The rebuild runs the build scripts against the installed packages as they are.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm ping`, `pnpm search`, and `pnpm access` now preserve registry path prefixes when constructing request endpoints.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
Registry commands such as `pnpm whoami`, `pnpm star`, and `pnpm team` now preserve registry path prefixes when constructing request endpoints. `pnpm view` now honors configured network retry settings.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm bugs` now honors the `--registry` option when fetching package metadata from a registry.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm repo` now fetches repository URLs for multiple packages in parallel. `pnpm repo` and `pnpm view` now honor the `--registry` option for scoped packages.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": minor
|
||||
---
|
||||
|
||||
`pnpm add -g rust@<channel>` installs a Rust toolchain globally. The `cargo` and `rustc` commands run it outside projects that pin their own. `pnpm update -g`, `pnpm ls -g`, and `pnpm remove -g` manage it like any global package. In a project, `pnpm add rust@<channel>` pins the toolchain in `rust-toolchain.toml`.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": minor
|
||||
---
|
||||
|
||||
`pnpm shim add rust` adds project-aware shims for `cargo`, `rustc`, and the other Rust tools. In a project with a `rust-toolchain.toml`, they run the toolchain the file names and install it on first use. Elsewhere, the next command of the same name on `PATH` runs, such as rustup's.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"@pnpm/napi": patch
|
||||
---
|
||||
|
||||
The Node.js addon now sizes rayon's thread pool according to the engine thread-pool sizing policy [pnpm/tasks#54](https://github.com/pnpm/tasks/issues/54).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm star`, `pnpm unstar`, `pnpm owner`, `pnpm deprecate`, `pnpm undeprecate`, `pnpm unpublish`, `pnpm dist-tag`, `pnpm team`, and `pnpm stage` now honor the `--registry` option for scoped packages.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm store prune` now compacts the store's `index.db` after removing package entries, so the file shrinks again [#16717](https://github.com/pnpm/pnpm/issues/16717).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
pnpm now switches to the version a project pins in `packageManager` or `devEngines.packageManager` even when `pnpm-workspace.yaml` has a setting the running pnpm cannot read, such as a `lockfile.includeResolutionSettings` section. If pnpm does not switch, it still reports that setting [#16675](https://github.com/pnpm/pnpm/issues/16675).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm view`, `pnpm update`, and other commands that read registry metadata now work behind proxies that end a response by closing the connection without a TLS `close_notify` alert [#16704](https://github.com/pnpm/pnpm/issues/16704).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
`pnpm whoami` now supports the `--registry` option to query credentials and identity against a specific registry.
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"pacquet": patch
|
||||
---
|
||||
|
||||
On Windows, rename invalid package filenames when an install encounters them.
|
||||
@@ -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.10.1";
|
||||
pub const PNPM_VERSION: &str = "12.11.0";
|
||||
|
||||
/// The command that installs pnpm with the standalone script, as documented
|
||||
/// at <https://pnpm.io/installation>: the PowerShell form on Windows, the
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@pnpm/napi",
|
||||
"private": true,
|
||||
"version": "12.10.1",
|
||||
"version": "12.11.0",
|
||||
"description": "Node.js addon bindings for the pnpm v12 Rust engine (pacquet)",
|
||||
"keywords": [
|
||||
"pnpm",
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"./dist/node_modules/node-gyp/gyp/gyp"
|
||||
]
|
||||
},
|
||||
"version": "12.10.1",
|
||||
"version": "12.11.0",
|
||||
"description": "Fast, disk space efficient package manager",
|
||||
"keywords": [
|
||||
"pnpm",
|
||||
|
||||
Reference in new issue
Block a user