ci(deps): update ci dependencies #354

Merged
renovate-bot merged 1 commit from renovate-ci into main 2026-10-17 03:09:22 +00:00
Member

This PR contains the following updates:

Package Type Update Change Pending Age Confidence
git.zarantonello.dev/projects/events-cash-register-ci (source) container patch v2026.10.14.1 → v2026.10.16.1 age confidence
git.zarantonello.dev/projects/events-cash-register-ci (source) patch v2026.10.14.1 → v2026.10.16.1 age confidence
https://git.zarantonello.dev/projects/forgejo-agent action patch v1.11.13 → v1.11.14 age confidence
pnpm (source) packageManager minor 12.11.2 → 12.13.0 12.14.0 age confidence
turbo (source) patch 2.11.7 → 2.11.8 2.11.9 age confidence
turbo (source) devDependencies patch 2.11.7 → 2.11.8 2.11.9 age confidence

Release Notes

projects/forgejo-agent (https://git.zarantonello.dev/projects/forgejo-agent)

v1.11.14

Compare Source

Bug Fixes
pnpm/pnpm (pnpm)

v12.13.0: pnpm 12.13.0

Compare Source

This release adds the pnpm profile and pnpm token commands, the storeIndexFormat: files setting for stores shared over a network filesystem, and faster Python dependency resolution.

Minor Changes
  • Added the pnpm profile command to view and update registry user profile settings.

  • Added pnpm token to list, create, and revoke authentication tokens on the registry.

  • Added the storeIndexFormat setting. Set it to files to keep a store's package index as one file per package instead of the SQLite index.db, for a store on a network filesystem that several machines use at once. SQLite's locking does not work across machines, so concurrent installs on such a store could corrupt index.db.

  • Added the nodePackageMap setting, which groups the package-map settings. nodePackageMap.mode: write-only writes node_modules/.package-map.json for other tools without making Node.js load it. mode: load also makes Node.js load the map, like nodeExperimentalPackageMap: true. nodePackageMap.type replaces nodePackageMapType. The old settings still work #​14937.

    nodePackageMap:
      mode: write-only
      type: loose
    
Patch Changes
Setting up pnpm
  • pnpm setup now works when pnpm was installed with npm on macOS. It installed pnpm from npm's bin directory and left a $PNPM_HOME/bin/pnpm that could not run #​16855.

  • pnpm runs again after pnpm setup when globalShims enables pnpm. Every command failed with "the global target of the pnpm shim points back at the shim" #​16874.

  • A pnpm built for the MinGW target on Windows, such as the MSYS2 package, now installs the MinGW Rust toolchain that rust-toolchain.toml names. It used to install the MSVC toolchain.

Installing packages
  • On macOS, pnpm install no longer fails with ERR_PNPM_LOCKFILE_WRITE_FILE when the project is on a virtiofs or SMB share. pnpm now falls back to a regular fsync when the file system rejects a full sync #​16846.

  • On macOS, pnpm install, pnpm patch-commit, and other commands that load a pnpmfile no longer hang at random.

  • pnpm install now puts the executables of a Python build backend's requirements on the PATH while the backend runs. Projects built with uv_build now install. Before, they failed with "uv-build was not properly installed".

  • Removing a link: dependency now also removes its symlink from node_modules when nodeLinker is hoisted #​16884.

  • pnpm-lock.yaml no longer records the tarball URL of a package installed from a scoped registry, such as one set by @types:registry=, when pnpm can rebuild the URL from that registry #​16866.

Packing, auditing, and pipelines
  • pnpm pack and pnpm publish now pack only package.json, the README, the license, and the files named in main and bin when files is an empty array. They used to pack every file in the package #​16889.

  • pnpm audit and pnpm audit signatures no longer check runtimes installed through devEngines.runtime, such as node@runtime:24.21.0, against the npm package of the same name. pnpm audit signatures reported these runtimes as having an invalid registry signature #​16869.

  • pnpm pipeline now runs the root's tasks when pnpm-workspace.yaml lists only the root in packages or omits packages, as pnpm -r run does. A change to a root file in such a workspace no longer triggers a full-run warning. When a full run has no projects to run, pnpm pipeline now reports that no projects are selected #​16849.

Performance
  • pnpm install resolves Python dependencies faster. With --lockfile-only, a project with 10 dependencies now resolves in about 4 seconds, down from about 40. When the index publishes a metadata file beside each wheel (PEP 658), as PyPI does, pnpm downloads only the wheels of the releases it selects.

  • A repeat install against an existing lockfile no longer reads registry metadata for the dependencies it takes from that lockfile. On a warm store this removes thousands of metadata lookups from a repeat install of a large workspace.

  • pnpm install with enableModulesDir: false now verifies the packages already in the store while the dependencies resolve, and checks a package's files in parallel. On a 5,100-package install with the store on a network filesystem, this removed a 19-second pause between resolution and fetching.

Platinum Sponsors

Bit OpenAI Notion
CodeRabbit

Gold Sponsors

Sanity Discord Vite
SerpApi Stackblitz Workleap
Nx Latitude

v12.12.1: pnpm 12.12.1

Compare Source

This release adds OIDC authentication to pnpm dist-tag and the tool: protocol. pnpm publish now checks which registry an NPM_ID_TOKEN was issued for before using it.

Patch Changes
  • 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.

  • pnpm dist-tag add, rm, and ls now support OIDC authentication in CI. Enable "Allow npm dist-tag" in the package's trusted publishing settings to manage tags without a stored npm token.

  • Added the tool: protocol for the tools pnpm downloads itself: Node.js, Bun, Deno, and Yarn. pnpm add bun@tool:1.3.0, pnx node@tool:22, and pnx yarn@tool:4 work like the runtime: spelling, which stays supported as an alias. A lockfile written for runtime: stays up to date when package.json switches to tool:, and the other way around.

    A named registry can no longer be called tool.

Platinum Sponsors

Bit OpenAI Notion
CodeRabbit

Gold Sponsors

Sanity Discord Vite
SerpApi Stackblitz Workleap
Nx Latitude

v12.12.0: pnpm 12.12.0

Compare Source

This release shares task results and dependency builds through a remote cache, adds the addMissingPeerTypes setting, and lets pnpm add --config and pnpm update manage configuration dependencies. It also fixes dangerouslyAllowAllBuilds running the build scripts of packages that allowBuilds denies.

Minor Changes
  • pnpm pipeline can share task results between machines. A result is a signed artifact stored on a pnpr server or on a server that speaks the Turborepo Remote Cache API, such as Vercel Remote Cache.

    The remote side-effects cache can also store dependency builds on a Turborepo Remote Cache server. Both caches read the new remoteCache setting, which names the server and holds the signing keys. pnpm pipeline --report records the run under the organization remoteCache.org names.

  • Added the addMissingPeerTypes setting, which links the @types package of a peer dependency next to every package that peer-depends on it. For example, a package that peer-depends on react gets the project's @types/react linked next to it. This lets TypeScript find the types of a peer dependency when the global virtual store is on #​15689.

  • pnpm add --config and pnpm update now handle configuration dependencies the way they handle other dependencies #​16814.

    pnpm add --config saves a version range in pnpm-workspace.yaml by the same rules as pnpm add, so pnpm add --config my-config@latest saves a range such as ^1.2.0. It also resolves the package again when pnpm-lock.yaml already locks an older version.

    pnpm update updates configuration dependencies within their ranges, and pnpm update --latest moves them to their latest version. A selector such as pnpm update my-config updates only the configuration dependencies it names.

Patch Changes
  • A package set to false in allowBuilds no longer runs its build scripts when dangerouslyAllowAllBuilds is true. The two settings together now allow every build except the denied ones. Previously, dangerouslyAllowAllBuilds ignored the denials.

  • 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, or _auth, or a pnpm-workspace.yaml it could not parse, stopped every command, pnpm --version included.

  • pnpm update and pnpm why accept --depth Infinity again. They failed with invalid value 'Infinity' for '--depth <DEPTH>' #​16817.

  • 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.

  • pnpm deploy --legacy no longer fails with ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER when a workspace dependency of the deployed project declares a workspace: peer dependency that the project does not depend on itself. pnpm now copies that peer from the workspace into the deploy directory.

    An auto-installed peer declared with workspace: now always resolves to the workspace project. Previously, workspace:* and workspace:^1.0.0 peers could be installed from the registry #​16806.

  • Repeat installs no longer resolve again when an injected workspace package lists a dependency also as a peer dependency.

  • Sped up frozen installs of unchanged injected workspace packages that use hardlinks.

  • Sped up workspace discovery with subtree exclusions such as !generated/**.

  • 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.

Platinum Sponsors

Bit OpenAI Notion
CodeRabbit

Gold Sponsors

Sanity Discord Vite
SerpApi Stackblitz Workleap
Nx Latitude
vercel/turborepo (turbo)

v2.11.8: Turborepo v2.11.8

Compare Source

What's Changed
Changelog
New Contributors

Full Changelog: https://github.com/vercel/turborepo/compare/v2.11.7...v2.11.8


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Type | Update | Change | Pending | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---|---| | [git.zarantonello.dev/projects/events-cash-register-ci](https://hub.docker.com/_/node) ([source](https://github.com/nodejs/docker-node)) | container | patch | `v2026.10.14.1` → `v2026.10.16.1` | | ![age](https://developer.mend.io/api/mc/badges/age/docker/git.zarantonello.dev%2fprojects%2fevents-cash-register-ci/v2026.10.16.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/git.zarantonello.dev%2fprojects%2fevents-cash-register-ci/v2026.10.14.1/v2026.10.16.1?slim=true) | | [git.zarantonello.dev/projects/events-cash-register-ci](https://hub.docker.com/_/node) ([source](https://github.com/nodejs/docker-node)) | | patch | `v2026.10.14.1` → `v2026.10.16.1` | | ![age](https://developer.mend.io/api/mc/badges/age/docker/git.zarantonello.dev%2fprojects%2fevents-cash-register-ci/v2026.10.16.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/git.zarantonello.dev%2fprojects%2fevents-cash-register-ci/v2026.10.14.1/v2026.10.16.1?slim=true) | | [https://git.zarantonello.dev/projects/forgejo-agent](https://git.zarantonello.dev/projects/forgejo-agent) | action | patch | `v1.11.13` → `v1.11.14` | | ![age](https://developer.mend.io/api/mc/badges/age/forgejo-tags/projects%2fforgejo-agent/v1.11.14?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/forgejo-tags/projects%2fforgejo-agent/v1.11.13/v1.11.14?slim=true) | | [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm)) | packageManager | minor | [`12.11.2` → `12.13.0`](https://renovatebot.com/diffs/npm/pnpm/12.11.2/12.13.0) | `12.14.0` | ![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/12.13.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/12.11.2/12.13.0?slim=true) | | [turbo](https://turborepo.dev) ([source](https://github.com/vercel/turborepo)) | | patch | `2.11.7` → `2.11.8` | `2.11.9` | ![age](https://developer.mend.io/api/mc/badges/age/npm/turbo/2.11.8?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/turbo/2.11.7/2.11.8?slim=true) | | [turbo](https://turborepo.dev) ([source](https://github.com/vercel/turborepo)) | devDependencies | patch | [`2.11.7` → `2.11.8`](https://renovatebot.com/diffs/npm/turbo/2.11.7/2.11.8) | `2.11.9` | ![age](https://developer.mend.io/api/mc/badges/age/npm/turbo/2.11.8?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/turbo/2.11.7/2.11.8?slim=true) | --- ### Release Notes <details> <summary>projects/forgejo-agent (https://git.zarantonello.dev/projects/forgejo-agent)</summary> ### [`v1.11.14`](https://git.zarantonello.dev/projects/forgejo-agent/releases/tag/v1.11.14) [Compare Source](https://git.zarantonello.dev/projects/forgejo-agent/compare/v1.11.13...v1.11.14) ##### Bug Fixes - **deps:** update dependency typebox to v1.3.37 ([#&#8203;348](https://git.zarantonello.dev/projects/forgejo-agent/issues/348)) ([a27ae0e](https://git.zarantonello.dev/projects/forgejo-agent/commit/a27ae0e9728f0e81da136851249f15c63722efbf)) </details> <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v12.13.0`](https://github.com/pnpm/pnpm/releases/tag/v12.13.0): pnpm 12.13.0 [Compare Source](https://github.com/pnpm/pnpm/compare/v12.12.1...v12.13.0) This release adds the `pnpm profile` and `pnpm token` commands, the `storeIndexFormat: files` setting for stores shared over a network filesystem, and faster Python dependency resolution. ##### Minor Changes - Added the `pnpm profile` command to view and update registry user profile settings. - Added `pnpm token` to list, create, and revoke authentication tokens on the registry. - Added the `storeIndexFormat` setting. Set it to `files` to keep a store's package index as one file per package instead of the SQLite `index.db`, for a store on a network filesystem that several machines use at once. SQLite's locking does not work across machines, so concurrent installs on such a store could corrupt `index.db`. - Added the `nodePackageMap` setting, which groups the package-map settings. `nodePackageMap.mode: write-only` writes `node_modules/.package-map.json` for other tools without making Node.js load it. `mode: load` also makes Node.js load the map, like `nodeExperimentalPackageMap: true`. `nodePackageMap.type` replaces `nodePackageMapType`. The old settings still work [#&#8203;14937](https://github.com/pnpm/pnpm/issues/14937). ```yaml nodePackageMap: mode: write-only type: loose ``` ##### Patch Changes ##### Setting up pnpm - `pnpm setup` now works when pnpm was installed with npm on macOS. It installed pnpm from npm's `bin` directory and left a `$PNPM_HOME/bin/pnpm` that could not run [#&#8203;16855](https://github.com/pnpm/pnpm/issues/16855). - pnpm runs again after `pnpm setup` when `globalShims` enables pnpm. Every command failed with "the global target of the pnpm shim points back at the shim" [#&#8203;16874](https://github.com/pnpm/pnpm/issues/16874). - A pnpm built for the MinGW target on Windows, such as the MSYS2 package, now installs the MinGW Rust toolchain that `rust-toolchain.toml` names. It used to install the MSVC toolchain. ##### Installing packages - On macOS, `pnpm install` no longer fails with `ERR_PNPM_LOCKFILE_WRITE_FILE` when the project is on a virtiofs or SMB share. pnpm now falls back to a regular `fsync` when the file system rejects a full sync [#&#8203;16846](https://github.com/pnpm/pnpm/issues/16846). - On macOS, `pnpm install`, `pnpm patch-commit`, and other commands that load a pnpmfile no longer hang at random. - `pnpm install` now puts the executables of a Python build backend's requirements on the `PATH` while the backend runs. Projects built with `uv_build` now install. Before, they failed with "uv-build was not properly installed". - Removing a `link:` dependency now also removes its symlink from `node_modules` when `nodeLinker` is `hoisted` [#&#8203;16884](https://github.com/pnpm/pnpm/issues/16884). - `pnpm-lock.yaml` no longer records the tarball URL of a package installed from a scoped registry, such as one set by `@types:registry=`, when pnpm can rebuild the URL from that registry [#&#8203;16866](https://github.com/pnpm/pnpm/issues/16866). ##### Packing, auditing, and pipelines - `pnpm pack` and `pnpm publish` now pack only `package.json`, the README, the license, and the files named in `main` and `bin` when `files` is an empty array. They used to pack every file in the package [#&#8203;16889](https://github.com/pnpm/pnpm/issues/16889). - `pnpm audit` and `pnpm audit signatures` no longer check runtimes installed through `devEngines.runtime`, such as `node@runtime:24.21.0`, against the npm package of the same name. `pnpm audit signatures` reported these runtimes as having an invalid registry signature [#&#8203;16869](https://github.com/pnpm/pnpm/issues/16869). - `pnpm pipeline` now runs the root's tasks when `pnpm-workspace.yaml` lists only the root in `packages` or omits `packages`, as `pnpm -r run` does. A change to a root file in such a workspace no longer triggers a full-run warning. When a full run has no projects to run, `pnpm pipeline` now reports that no projects are selected [#&#8203;16849](https://github.com/pnpm/pnpm/issues/16849). ##### Performance - `pnpm install` resolves Python dependencies faster. With `--lockfile-only`, a project with 10 dependencies now resolves in about 4 seconds, down from about 40. When the index publishes a metadata file beside each wheel (PEP 658), as PyPI does, pnpm downloads only the wheels of the releases it selects. - A repeat install against an existing lockfile no longer reads registry metadata for the dependencies it takes from that lockfile. On a warm store this removes thousands of metadata lookups from a repeat install of a large workspace. - `pnpm install` with `enableModulesDir: false` now verifies the packages already in the store while the dependencies resolve, and checks a package's files in parallel. On a 5,100-package install with the store on a network filesystem, this removed a 19-second pause between resolution and fetching. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> <td align="center" valign="middle"> <a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/openai_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/openai_light.svg" /> <img src="https://pnpm.io/img/users/openai_dark.svg" width="160" alt="OpenAI" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://notion.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://latitude.so/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/latitude.svg" width="160" alt="Latitude"></a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v12.12.1`](https://github.com/pnpm/pnpm/releases/tag/v12.12.1): pnpm 12.12.1 [Compare Source](https://github.com/pnpm/pnpm/compare/v12.12.0...v12.12.1) This release adds OIDC authentication to `pnpm dist-tag` and the `tool:` protocol. `pnpm publish` now checks which registry an `NPM_ID_TOKEN` was issued for before using it. ##### Patch Changes - `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. - `pnpm dist-tag add`, `rm`, and `ls` now support OIDC authentication in CI. Enable "Allow npm dist-tag" in the package's trusted publishing settings to manage tags without a stored npm token. - Added the `tool:` protocol for the tools pnpm downloads itself: Node.js, Bun, Deno, and Yarn. `pnpm add bun@tool:1.3.0`, `pnx node@tool:22`, and `pnx yarn@tool:4` work like the `runtime:` spelling, which stays supported as an alias. A lockfile written for `runtime:` stays up to date when `package.json` switches to `tool:`, and the other way around. A named registry can no longer be called `tool`. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> <td align="center" valign="middle"> <a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/openai_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/openai_light.svg" /> <img src="https://pnpm.io/img/users/openai_dark.svg" width="160" alt="OpenAI" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://notion.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://latitude.so/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/latitude.svg" width="160" alt="Latitude"></a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v12.12.0`](https://github.com/pnpm/pnpm/releases/tag/v12.12.0): pnpm 12.12.0 [Compare Source](https://github.com/pnpm/pnpm/compare/v12.11.2...v12.12.0) This release shares task results and dependency builds through a remote cache, adds the `addMissingPeerTypes` setting, and lets `pnpm add --config` and `pnpm update` manage configuration dependencies. It also fixes `dangerouslyAllowAllBuilds` running the build scripts of packages that `allowBuilds` denies. ##### Minor Changes - `pnpm pipeline` can share task results between machines. A result is a signed artifact stored on a pnpr server or on a server that speaks the Turborepo Remote Cache API, such as Vercel Remote Cache. The remote side-effects cache can also store dependency builds on a Turborepo Remote Cache server. Both caches read the new `remoteCache` setting, which names the server and holds the signing keys. `pnpm pipeline --report` records the run under the organization `remoteCache.org` names. - Added the `addMissingPeerTypes` setting, which links the `@types` package of a peer dependency next to every package that peer-depends on it. For example, a package that peer-depends on `react` gets the project's `@types/react` linked next to it. This lets TypeScript find the types of a peer dependency when the global virtual store is on [#&#8203;15689](https://github.com/pnpm/pnpm/discussions/15689). - `pnpm add --config` and `pnpm update` now handle configuration dependencies the way they handle other dependencies [#&#8203;16814](https://github.com/pnpm/pnpm/issues/16814). `pnpm add --config` saves a version range in `pnpm-workspace.yaml` by the same rules as `pnpm add`, so `pnpm add --config my-config@latest` saves a range such as `^1.2.0`. It also resolves the package again when `pnpm-lock.yaml` already locks an older version. `pnpm update` updates configuration dependencies within their ranges, and `pnpm update --latest` moves them to their latest version. A selector such as `pnpm update my-config` updates only the configuration dependencies it names. ##### Patch Changes - A package set to `false` in `allowBuilds` no longer runs its build scripts when `dangerouslyAllowAllBuilds` is `true`. The two settings together now allow every build except the denied ones. Previously, `dangerouslyAllowAllBuilds` ignored the denials. - 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, or `_auth`, or a `pnpm-workspace.yaml` it could not parse, stopped every command, `pnpm --version` included. - `pnpm update` and `pnpm why` accept `--depth Infinity` again. They failed with `invalid value 'Infinity' for '--depth <DEPTH>'` [#&#8203;16817](https://github.com/pnpm/pnpm/issues/16817). - `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 [#&#8203;16807](https://github.com/pnpm/pnpm/issues/16807). - `pnpm deploy --legacy` no longer fails with `ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER` when a workspace dependency of the deployed project declares a `workspace:` peer dependency that the project does not depend on itself. pnpm now copies that peer from the workspace into the deploy directory. An auto-installed peer declared with `workspace:` now always resolves to the workspace project. Previously, `workspace:*` and `workspace:^1.0.0` peers could be installed from the registry [#&#8203;16806](https://github.com/pnpm/pnpm/issues/16806). - Repeat installs no longer resolve again when an injected workspace package lists a dependency also as a peer dependency. - Sped up frozen installs of unchanged injected workspace packages that use hardlinks. - Sped up workspace discovery with subtree exclusions such as `!generated/**`. - 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. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> <td align="center" valign="middle"> <a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/openai_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/openai_light.svg" /> <img src="https://pnpm.io/img/users/openai_dark.svg" width="160" alt="OpenAI" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://notion.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/notion.svg" width="80" alt="Notion"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://latitude.so/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/latitude.svg" width="160" alt="Latitude"></a> </td> </tr> </tbody> </table> <!-- sponsors end --> </details> <details> <summary>vercel/turborepo (turbo)</summary> ### [`v2.11.8`](https://github.com/vercel/turborepo/releases/tag/v2.11.8): Turborepo v2.11.8 [Compare Source](https://github.com/vercel/turborepo/compare/v2.11.7...v2.11.8) <!-- Release notes generated using configuration in .github/release.yml at v2.11.8 --> ##### What's Changed ##### Changelog - chore: Release Turborepo 2.11.7 by [@&#8203;github-actions](https://github.com/github-actions)\[bot] in [#&#8203;14357](https://github.com/vercel/turborepo/pull/14357) - chore: Update with-vitest example by [@&#8203;vercel-gh-bot-3](https://github.com/vercel-gh-bot-3)\[bot] in [#&#8203;14355](https://github.com/vercel/turborepo/pull/14355) - feat: Add experimental setup future flag by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14361](https://github.com/vercel/turborepo/pull/14361) - fix: Remove Bash dependency from strict environment tests by [@&#8203;vercel-gh-bot-3](https://github.com/vercel-gh-bot-3)\[bot] in [#&#8203;14362](https://github.com/vercel/turborepo/pull/14362) - fix: Use repository package manager for automatic Turbo downloads by [@&#8203;vercel-gh-bot-3](https://github.com/vercel-gh-bot-3)\[bot] in [#&#8203;14360](https://github.com/vercel/turborepo/pull/14360) - chore: Improve Factory chat and model controls by [@&#8203;vercel-gh-bot-3](https://github.com/vercel-gh-bot-3)\[bot] in [#&#8203;14368](https://github.com/vercel/turborepo/pull/14368) - chore: Add Linear connector to Factory by [@&#8203;vercel-gh-bot-3](https://github.com/vercel-gh-bot-3)\[bot] in [#&#8203;14369](https://github.com/vercel/turborepo/pull/14369) - chore: Remove HarnessAgent from Factory by [@&#8203;vercel-gh-bot-3](https://github.com/vercel-gh-bot-3)\[bot] in [#&#8203;14370](https://github.com/vercel/turborepo/pull/14370) - chore: Remove Factory UI clutter by [@&#8203;vercel-gh-bot-2](https://github.com/vercel-gh-bot-2)\[bot] in [#&#8203;14371](https://github.com/vercel/turborepo/pull/14371) - feat: Add shared platform primitives for setup and shim by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14363](https://github.com/vercel/turborepo/pull/14363) - fix: Populate task graphs for affected and filtered listings by [@&#8203;sahyl](https://github.com/sahyl) in [#&#8203;14366](https://github.com/vercel/turborepo/pull/14366) - feat: Add bounded checksum-verifying downloads by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14374](https://github.com/vercel/turborepo/pull/14374) - feat: Validate setup npm version requests by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14375](https://github.com/vercel/turborepo/pull/14375) - fix: Prune unused pnpm catalog snapshots by [@&#8203;vercel-gh-bot-3](https://github.com/vercel-gh-bot-3)\[bot] in [#&#8203;14376](https://github.com/vercel/turborepo/pull/14376) - feat: Resolve Node versions from native declarations by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14378](https://github.com/vercel/turborepo/pull/14378) - feat: Honor tool-download proxy and certificate settings by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14379](https://github.com/vercel/turborepo/pull/14379) - feat: Check bounded setup version-request overlap by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14381](https://github.com/vercel/turborepo/pull/14381) - feat: Discover setup JavaScript package-manager declarations by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14382](https://github.com/vercel/turborepo/pull/14382) - feat: Verify local artifact bytes without HTTP by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14383](https://github.com/vercel/turborepo/pull/14383) - fix: Deflake concurrent agent guidance updates by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14388](https://github.com/vercel/turborepo/pull/14388) - chore: Remove Linear from factory by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14389](https://github.com/vercel/turborepo/pull/14389) - feat: Extract verified TAR archives into private staging by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14384](https://github.com/vercel/turborepo/pull/14384) - feat: Add experimental setup command surface by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14385](https://github.com/vercel/turborepo/pull/14385) - chore: Remove Factory branch naming restrictions by [@&#8203;vercel-gh-bot-4](https://github.com/vercel-gh-bot-4)\[bot] in [#&#8203;14391](https://github.com/vercel/turborepo/pull/14391) - chore: Consolidate CI into one required summary by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14390](https://github.com/vercel/turborepo/pull/14390) - docs: Clarify task graph filter traversal by [@&#8203;vercel-gh-bot-2](https://github.com/vercel-gh-bot-2)\[bot] in [#&#8203;14392](https://github.com/vercel/turborepo/pull/14392) - feat: Extract safe Node TAR symlinks by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14393](https://github.com/vercel/turborepo/pull/14393) - feat: Infer setup roots without package managers by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14395](https://github.com/vercel/turborepo/pull/14395) - feat: Add atomic managed tool installation inventory by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14398](https://github.com/vercel/turborepo/pull/14398) - fix: Invalidate managed repositories when turbo.lock changes by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14396](https://github.com/vercel/turborepo/pull/14396) - feat: Safely extract verified ZIP archives by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14394](https://github.com/vercel/turborepo/pull/14394) - test: Add installed-wrapper process launcher by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14401](https://github.com/vercel/turborepo/pull/14401) - fix: Avoid duplicate code CI on pull request reviews by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14414](https://github.com/vercel/turborepo/pull/14414) - chore(deps): Update dependency [@&#8203;vercel/geistdocs](https://github.com/vercel/geistdocs) to v1.28.1 by [@&#8203;vercel-gh-bot-4](https://github.com/vercel-gh-bot-4)\[bot] in [#&#8203;14416](https://github.com/vercel/turborepo/pull/14416) - docs: Remove premature setup guidance by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14409](https://github.com/vercel/turborepo/pull/14409) - feat: Validate portable setup tool resolutions by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14400](https://github.com/vercel/turborepo/pull/14400) - fix: Preserve scoped tool paths and owner-executable exports by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14403](https://github.com/vercel/turborepo/pull/14403) - fix: Preserve Node runtime failure policy provenance by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14406](https://github.com/vercel/turborepo/pull/14406) - feat: Add an internal managed-run capability query by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14408](https://github.com/vercel/turborepo/pull/14408) - feat: Verify bounded SHA-512 tool artifacts by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14411](https://github.com/vercel/turborepo/pull/14411) - test: Stabilize lockfile closure parity coverage by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14420](https://github.com/vercel/turborepo/pull/14420) - fix: Repair missing install generations and share tool readiness by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14404](https://github.com/vercel/turborepo/pull/14404) - feat: Add secure ignored setup writer storage by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14407](https://github.com/vercel/turborepo/pull/14407) - feat: Parse bounded Node release metadata by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14410](https://github.com/vercel/turborepo/pull/14410) - feat: Write setup locks atomically by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14399](https://github.com/vercel/turborepo/pull/14399) - feat: Parse bounded npm registry release metadata by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14412](https://github.com/vercel/turborepo/pull/14412) - chore: Update with-yarn example by [@&#8203;vercel-gh-bot-2](https://github.com/vercel-gh-bot-2)\[bot] in [#&#8203;14364](https://github.com/vercel/turborepo/pull/14364) - fix: Preserve unknown pnpm lockfile settings through prune by [@&#8203;dnalborczyk](https://github.com/dnalborczyk) in [#&#8203;14423](https://github.com/vercel/turborepo/pull/14423) - fix: Preserve symlinked AGENTS.md when updating agent guidance by [@&#8203;drakeo338](https://github.com/drakeo338) in [#&#8203;14418](https://github.com/vercel/turborepo/pull/14418) - feat: Compare setup source snapshots before lock publication by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14428](https://github.com/vercel/turborepo/pull/14428) - refactor: Add fail-closed managed CLI selection by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14413](https://github.com/vercel/turborepo/pull/14413) - test: Isolate optional root initialization from watcher services by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14427](https://github.com/vercel/turborepo/pull/14427) - feat: Provision locked pnpm with managed Node launchers by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14431](https://github.com/vercel/turborepo/pull/14431) - feat: Resolve native Node.js declarations into lock selections by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14432](https://github.com/vercel/turborepo/pull/14432) - fix: Reuse healthy Node.js across managed inventory changes by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14429](https://github.com/vercel/turborepo/pull/14429) - fix: Support npm patches in pruned workspaces by [@&#8203;vercel-gh-bot-3](https://github.com/vercel-gh-bot-3)\[bot] in [#&#8203;14434](https://github.com/vercel/turborepo/pull/14434) - feat: Project selected managed execution identity by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14430](https://github.com/vercel/turborepo/pull/14430) - perf: Skip ignored directories when discovering nested .gitignore files by [@&#8203;withkarann](https://github.com/withkarann) in [#&#8203;14442](https://github.com/vercel/turborepo/pull/14442) - test: Avoid Windows CLI teardown deadlocks by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14435](https://github.com/vercel/turborepo/pull/14435) - test: Cover pnpm release-age exclusions during prune by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14440](https://github.com/vercel/turborepo/pull/14440) - feat: Provision independently pinned npm with managed Node by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14437](https://github.com/vercel/turborepo/pull/14437) - fix: Capture setup discovery context for revalidation by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14439](https://github.com/vercel/turborepo/pull/14439) - chore: Upgrade Ghostty for Zig 0.17 by [@&#8203;Mearman](https://github.com/Mearman) in [#&#8203;14419](https://github.com/vercel/turborepo/pull/14419) - fix: Stop `add-package-names` codemod from generating duplicate names by [@&#8203;irontaek](https://github.com/irontaek) in [#&#8203;14433](https://github.com/vercel/turborepo/pull/14433) - feat: Reconcile captured JavaScript tool selections by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14436](https://github.com/vercel/turborepo/pull/14436) - chore: Release Turborepo 2.11.8-canary.1 by [@&#8203;github-actions](https://github.com/github-actions)\[bot] in [#&#8203;14453](https://github.com/vercel/turborepo/pull/14453) - fix: Share setup TLS and guard official source policy by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14438](https://github.com/vercel/turborepo/pull/14438) - chore: Upgrade Next.js to 16.3.8 repo-wide for CVE-2026-94483 by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14451](https://github.com/vercel/turborepo/pull/14451) - chore: Release Turbo repository packages 0.0.1-canary.31 by [@&#8203;github-actions](https://github.com/github-actions)\[bot] in [#&#8203;14455](https://github.com/vercel/turborepo/pull/14455) - ci: Use GitHub OIDC for versioned docs aliases by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14454](https://github.com/vercel/turborepo/pull/14454) - test: Add owned setup policy fixtures for CLI tests by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14456](https://github.com/vercel/turborepo/pull/14456) - feat: Represent matching Node-bundled npm ownership by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14457](https://github.com/vercel/turborepo/pull/14457) - feat: Preserve setup lock declarations during prune by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14459](https://github.com/vercel/turborepo/pull/14459) - refactor: Add guarded setup publication primitives by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14460](https://github.com/vercel/turborepo/pull/14460) - chore: Release Turborepo 2.11.8-canary.2 by [@&#8203;github-actions](https://github.com/github-actions)\[bot] in [#&#8203;14458](https://github.com/vercel/turborepo/pull/14458) - chore: Update non-monorepo example by [@&#8203;vercel-gh-bot-4](https://github.com/vercel-gh-bot-4)\[bot] in [#&#8203;14452](https://github.com/vercel/turborepo/pull/14452) - feat: Provision frozen Node and pnpm through setup by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14462](https://github.com/vercel/turborepo/pull/14462) - fix: Exclude optional npm peers from pruned lockfiles by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14470](https://github.com/vercel/turborepo/pull/14470) - feat: Validate managed Node and pnpm readiness by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14464](https://github.com/vercel/turborepo/pull/14464) - feat: Resolve exact verified registry artifacts for setup locks by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14465](https://github.com/vercel/turborepo/pull/14465) - feat: Check installed setup tools without mutation by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14467](https://github.com/vercel/turborepo/pull/14467) - feat: Resolve captured Node and pnpm lock cohorts by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14466](https://github.com/vercel/turborepo/pull/14466) - fix: Guard setup publication plans and discovery indirections by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14468](https://github.com/vercel/turborepo/pull/14468) - fix: Release setup locks in their acquiring process by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14472](https://github.com/vercel/turborepo/pull/14472) - feat: Create and reconcile local setup locks by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14473](https://github.com/vercel/turborepo/pull/14473) - feat: Refresh managed setup locks explicitly by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14474](https://github.com/vercel/turborepo/pull/14474) - feat: Force reinstall locked setup tools by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14475](https://github.com/vercel/turborepo/pull/14475) - feat: Bind setup records to installation generations by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14476](https://github.com/vercel/turborepo/pull/14476) - chore: Update with-berry example by [@&#8203;vercel-gh-bot-3](https://github.com/vercel-gh-bot-3)\[bot] in [#&#8203;14487](https://github.com/vercel/turborepo/pull/14487) - fix: Generalize repository bootstrap across toolchains by [@&#8203;PedroRosalba](https://github.com/PedroRosalba) in [#&#8203;14444](https://github.com/vercel/turborepo/pull/14444) - fix: Keep Go discovery stable when the repository is reached through a symlink by [@&#8203;PedroRosalba](https://github.com/PedroRosalba) in [#&#8203;14445](https://github.com/vercel/turborepo/pull/14445) - fix: Reject non-member local sources in the uv manifest fallback by [@&#8203;PedroRosalba](https://github.com/PedroRosalba) in [#&#8203;14446](https://github.com/vercel/turborepo/pull/14446) - fix: Hash ruff and pytest configuration between the root and uv members by [@&#8203;PedroRosalba](https://github.com/PedroRosalba) in [#&#8203;14447](https://github.com/vercel/turborepo/pull/14447) - fix: Hash Clippy configuration for Cargo lint tasks by [@&#8203;PedroRosalba](https://github.com/PedroRosalba) in [#&#8203;14448](https://github.com/vercel/turborepo/pull/14448) - fix: Carry uv tool configuration into pruned workspaces by [@&#8203;PedroRosalba](https://github.com/PedroRosalba) in [#&#8203;14449](https://github.com/vercel/turborepo/pull/14449) - fix: Report inferred framework env vars for deferred tasks in dry runs by [@&#8203;PedroRosalba](https://github.com/PedroRosalba) in [#&#8203;14478](https://github.com/vercel/turborepo/pull/14478) - docs: Explain declaring Cargo sources read from outside the crate by [@&#8203;PedroRosalba](https://github.com/PedroRosalba) in [#&#8203;14480](https://github.com/vercel/turborepo/pull/14480) - fix: Upgrade turbo-gen Handlebars to 4.7.10 by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14471](https://github.com/vercel/turborepo/pull/14471) - chore: Add copyable Factory snapshot command by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14481](https://github.com/vercel/turborepo/pull/14481) - feat: Validate sealed native setup baselines by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14482](https://github.com/vercel/turborepo/pull/14482) - fix: Prevent Git index refresh during dirty hash collection by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14489](https://github.com/vercel/turborepo/pull/14489) - fix: Disable agent guidance by default by [@&#8203;anthonyshew](https://github.com/anthonyshew) in [#&#8203;14490](https://github.com/vercel/turborepo/pull/14490) ##### New Contributors - [@&#8203;dnalborczyk](https://github.com/dnalborczyk) made their first contribution in [#&#8203;14423](https://github.com/vercel/turborepo/pull/14423) - [@&#8203;drakeo338](https://github.com/drakeo338) made their first contribution in [#&#8203;14418](https://github.com/vercel/turborepo/pull/14418) - [@&#8203;withkarann](https://github.com/withkarann) made their first contribution in [#&#8203;14442](https://github.com/vercel/turborepo/pull/14442) - [@&#8203;Mearman](https://github.com/Mearman) made their first contribution in [#&#8203;14419](https://github.com/vercel/turborepo/pull/14419) - [@&#8203;irontaek](https://github.com/irontaek) made their first contribution in [#&#8203;14433](https://github.com/vercel/turborepo/pull/14433) - [@&#8203;PedroRosalba](https://github.com/PedroRosalba) made their first contribution in [#&#8203;14444](https://github.com/vercel/turborepo/pull/14444) **Full Changelog**: <https://github.com/vercel/turborepo/compare/v2.11.7...v2.11.8> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNjQuNSIsInVwZGF0ZWRJblZlciI6IjQ0LjE2NC41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
ci(deps): update ci dependencies
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
check-commitizen.yaml / Check the PR title (pull_request) Successful in 2s
check-formatter.yaml / Checks with formatters (pull_request) Successful in 52s
check-linter.yaml / Checks with linters (pull_request) Successful in 32s
check-yamllint.yaml / Lint yaml files (pull_request) Successful in 3s
check.yaml / Checks with static tools (pull_request) Successful in 1m36s
forgejo-agent / LLM Bot response generation (pull_request) Successful in 9s
fce5e61e58
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-10-17 03:02:54 +00:00
renovate-bot deleted branch renovate-ci 2026-10-17 03:09:22 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
projects/events-cash-register!354
No description provided.