Nothing Special   »   [go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: don't throw an error if correct symlink already exists #54

Merged
merged 2 commits into from
Aug 25, 2024

Conversation

zkochan
Copy link
Member
@zkochan zkochan commented Aug 24, 2024

No description provided.

@zkochan zkochan merged commit dfc3128 into main Aug 25, 2024
18 checks passed
@zkochan zkochan deleted the check-existing-symlink branch August 25, 2024 20:33
alexandresoro pushed a commit to alexandresoro/ouca that referenced this pull request Sep 15, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm)) | packageManager | minor | [`9.8.0` -> `9.10.0`](https://renovatebot.com/diffs/npm/pnpm/9.8.0/9.10.0) |
| [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm)) |  | minor | `9.8.0` -> `9.10.0` |

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v9.10.0`](https://github.com/pnpm/pnpm/releases/tag/v9.10.0): pnpm 9.10

[Compare Source](pnpm/pnpm@v9.9.0...v9.10.0)

##### Minor Changes

-   Support for a new CLI flag, `--exclude-peers`, added to the `list` and `why` commands. When `--exclude-peers` is used, peer dependencies are not printed in the results, but dependencies of peer dependencies are still scanned [#&#8203;8506](pnpm/pnpm#8506).
-   Added a new setting to `package.json` at `pnpm.auditConfig.ignoreGhsas` for ignoring vulnerabilities by their GHSA code [#&#8203;6838](pnpm/pnpm#6838).

    For instance:

    ```json
    {
      "pnpm": {
        "auditConfig": {
          "ignoreGhsas": [
            "GHSA-42xw-2xvc-qx8m",
            "GHSA-4w2v-q235-vp99",
            "GHSA-cph5-m8f7-6c5x",
            "GHSA-vh95-rmgr-6w4m"
          ]
        }
      }
    }
    ```

##### Patch Changes

-   Throw an exception if pnpm switches to the same version of itself.
-   Reduce memory usage during peer dependencies resolution.

##### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"></a>
      </td>
      <td align="center" valign="middle">
        <a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/figma.svg" width="80"></a>
      </td>
    </tr>
  </tbody>
</table>

##### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <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" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" />
            <img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/uscreen.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/uscreen_light.svg" />
            <img src="https://pnpm.io/img/users/uscreen.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/jetbrains.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/jetbrains.svg" />
            <img src="https://pnpm.io/img/users/jetbrains.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <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="120" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <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" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

##### Our Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/vercel.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/vercel_light.svg" />
            <img src="https://pnpm.io/img/users/vercel.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/depot.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/depot_light.svg" />
            <img src="https://pnpm.io/img/users/depot.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/moonrepo.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
            <img src="https://pnpm.io/img/users/moonrepo.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/devowlio.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/devowlio.svg" />
            <img src="https://pnpm.io/img/users/devowlio.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/macpaw.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/macpaw_light.svg" />
            <img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/cerbos.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/cerbos_light.svg" />
            <img src="https://pnpm.io/img/users/cerbos.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

### [`v9.9.0`](https://github.com/pnpm/pnpm/releases/tag/v9.9.0): pnpm 9.9

[Compare Source](pnpm/pnpm@v9.8.0...v9.9.0)

##### Minor Changes

-   **Minor breaking change.** This change might result in resolving your peer dependencies slightly differently but we don't expect it to introduce issues.

    We had to optimize how we resolve peer dependencies in order to fix some [infinite loops and out-of-memory errors during peer dependencies resolution](pnpm/pnpm#8370).

    When a peer dependency is a prod dependency somewhere in the dependency graph (with the same version), pnpm will resolve the peers of that peer dependency in the same way across the subgraph.

    For example, we have `react-dom` in the peer deps of the `form` and `button` packages. `card` has `react-dom` and `react` as regular dependencies and `card` is a dependency of `form`.

    These are the direct dependencies of our example project:

        form
        react@16
        react-dom@16

    These are the dependencies of card:

        button
        react@17
        react-dom@16

    When resolving peers, pnpm will not re-resolve `react-dom` for `card`, even though `card` shadows `react@16` from the root with `react@17`. So, all 3 packages (`form`, `card`, and `button`) will use `react-dom@16`, which in turn uses `react@16`. `form` will use `react@16`, while `card` and `button` will use `react@17`.

    Before this optimization `react-dom@16` was duplicated for the `card`, so that `card` and `button` would use a `react-dom@16` instance that uses `react@17`.

    Before the change:

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@17)
        -> react@17
        button
        -> react-dom@16(react@17)
        -> react@17

    After the change

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@16)
        -> react@17
        button
        -> react-dom@16(react@16)
        -> react@17

##### Patch Changes

-   `pnpm deploy` should write the `node_modules/.modules.yaml` to the `node_modules` directory within the deploy directory [#&#8203;7731](pnpm/pnpm#7731).
-   Don't override a symlink in `node_modules` if it already points to the right location [pnpm/symlink-dir#54](pnpm/symlink-dir#54).

##### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"></a>
      </td>
      <td align="center" valign="middle">
        <a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/figma.svg" width="80"></a>
      </td>
    </tr>
  </tbody>
</table>

##### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <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" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" />
            <img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/uscreen.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/uscreen_light.svg" />
            <img src="https://pnpm.io/img/users/uscreen.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/jetbrains.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/jetbrains.svg" />
            <img src="https://pnpm.io/img/users/jetbrains.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <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="120" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <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" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

##### Our Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/vercel.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/vercel_light.svg" />
            <img src="https://pnpm.io/img/users/vercel.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/depot.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/depot_light.svg" />
            <img src="https://pnpm.io/img/users/depot.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/moonrepo.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
            <img src="https://pnpm.io/img/users/moonrepo.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/devowlio.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/devowlio.svg" />
            <img src="https://pnpm.io/img/users/devowlio.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/macpaw.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/macpaw_light.svg" />
            <img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/cerbos.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/cerbos_light.svg" />
            <img src="https://pnpm.io/img/users/cerbos.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41NS4wIiwidXBkYXRlZEluVmVyIjoiMzguNzIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: https://git.tristess.app/alexandresoro/ouca/pulls/59
Reviewed-by: Alexandre Soro <code@soro.dev>
Co-authored-by: renovate <renovate@git.tristess.app>
Co-committed-by: renovate <renovate@git.tristess.app>
ota-meshi pushed a commit to sveltejs/eslint-plugin-svelte that referenced this pull request Nov 11, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
[`7.33.7` ->
`9.12.3`](https://renovatebot.com/diffs/npm/pnpm/7.33.7/9.12.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/7.33.7/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/7.33.7/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

###
[`v9.12.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9123)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.2...v9.12.3)

##### Patch Changes

- Don't purge `node_modules`, when typing "n" in the prompt that asks
whether to remove `node_modules` before installation
[#&#8203;8655](https://redirect.github.com/pnpm/pnpm/pull/8655).
- Fix a bug causing pnpm to infinitely spawn itself when
`manage-package-manager-versions=true` is set and the `.tools` directory
is corrupt.
- Use `crypto.hash`, when available, for improved performance
[#&#8203;8629](https://redirect.github.com/pnpm/pnpm/pull/8629).
- Fixed a race condition in temporary file creation in the store by
including worker thread ID in filename. Previously, multiple worker
threads could attempt to use the same temporary file. Temporary files
now include both process ID and thread ID for uniqueness
[#&#8203;8703](https://redirect.github.com/pnpm/pnpm/pull/8703).
- All commands should read settings from the `package.json` at the root
of the workspace
[#&#8203;8667](https://redirect.github.com/pnpm/pnpm/issues/8667).
- When `manage-package-manager-versions` is set to `true`, errors
spawning a self-managed version of `pnpm` will now be shown (instead of
being silent).
-   Pass the find command to npm, it is an alias for npm search

###
[`v9.12.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9122)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.1...v9.12.2)

##### Patch Changes

- When checking whether a file in the store has executable permissions,
the new approach checks if at least one of the executable bits (owner,
group, and others) is set to 1. Previously, a file was incorrectly
considered executable only when all the executable bits were set to 1.
This fix ensures that files with any executable permission, regardless
of the user class, are now correctly identified as executable
[#&#8203;8546](https://redirect.github.com/pnpm/pnpm/issues/8546).

###
[`v9.12.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9121)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.0...v9.12.1)

##### Patch Changes

- `pnpm update --latest` should not update the automatically installed
peer dependencies
[#&#8203;6657](https://redirect.github.com/pnpm/pnpm/issues/6657).
- `pnpm publish` should be able to publish from a local tarball
[#&#8203;7950](https://redirect.github.com/pnpm/pnpm/issues/7950).
- The pnpx command should work correctly on Windows, when pnpm is
installed via the standalone installation script
[#&#8203;8608](https://redirect.github.com/pnpm/pnpm/pull/8608).
- Prevent `EBUSY` errors caused by creating symlinks in parallel `dlx`
processes
[#&#8203;8604](https://redirect.github.com/pnpm/pnpm/pull/8604).
- Fix maximum call stack size exceeded error related to circular
workspace dependencies
[#&#8203;8599](https://redirect.github.com/pnpm/pnpm/pull/8599).

###
[`v9.12.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9120)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.11.0...v9.12.0)

##### Minor Changes

- Fix peer dependency resolution dead lock
[#&#8203;8570](https://redirect.github.com/pnpm/pnpm/issues/8570). This
change might change some of the keys in the `snapshots` field inside
`pnpm-lock.yaml` but it should happen very rarely.
- `pnpm outdated` command supports now a `--sort-by=name` option for
sorting outdated dependencies by package name
[#&#8203;8523](https://redirect.github.com/pnpm/pnpm/pull/8523).
- Added the ability for `overrides` to remove dependencies by specifying
`"-"` as the field value
[#&#8203;8572](https://redirect.github.com/pnpm/pnpm/issues/8572). For
example, to remove `lodash` from the dependencies, use this
configuration in `package.json`:

    ```json
    {
      "pnpm": {
        "overrides": {
          "lodash": "-"
        }
      }
    }
    ```

##### Patch Changes

- Fixed an issue where `pnpm list --json pkg` showed `"private": false`
for a private package
[#&#8203;8519](https://redirect.github.com/pnpm/pnpm/issues/8519).
- Packages with `libc` that differ from
`pnpm.supportedArchitectures.libc` are not downloaded
[#&#8203;7362](https://redirect.github.com/pnpm/pnpm/issues/7362).
- Prevent `ENOENT` errors caused by running `store prune` in parallel
[#&#8203;8586](https://redirect.github.com/pnpm/pnpm/pull/8586).
- Add issues alias to `pnpm bugs`
[#&#8203;8596](https://redirect.github.com/pnpm/pnpm/pull/8596).

###
[`v9.11.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9110)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.10.0...v9.11.0)

##### Minor Changes

- Experimental: added `pnpm cache` commands for inspecting the metadata
cache [#&#8203;8512](https://redirect.github.com/pnpm/pnpm/pull/8512).

##### Patch Changes

- Fix a regression in which `pnpm deploy` with `node-linker=hoisted`
produces an empty `node_modules` directory
[#&#8203;6682](https://redirect.github.com/pnpm/pnpm/issues/6682).
- Don't print a warning when linking packages globally
[#&#8203;4761](https://redirect.github.com/pnpm/pnpm/issues/4761).
- `pnpm deploy` should work in workspace with
`shared-workspace-lockfile=false`
[#&#8203;8475](https://redirect.github.com/pnpm/pnpm/issues/8475).

###
[`v9.10.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9100)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.9.0...v9.10.0)

##### Minor Changes

- Support for a new CLI flag, `--exclude-peers`, added to the `list` and
`why` commands. When `--exclude-peers` is used, peer dependencies are
not printed in the results, but dependencies of peer dependencies are
still scanned
[#&#8203;8506](https://redirect.github.com/pnpm/pnpm/pull/8506).
- Added a new setting to `package.json` at
`pnpm.auditConfig.ignoreGhsas` for ignoring vulnerabilities by their
GHSA code
[#&#8203;6838](https://redirect.github.com/pnpm/pnpm/issues/6838).

    For instance:

    ```json
    {
      "pnpm": {
        "auditConfig": {
          "ignoreGhsas": [
            "GHSA-42xw-2xvc-qx8m",
            "GHSA-4w2v-q235-vp99",
            "GHSA-cph5-m8f7-6c5x",
            "GHSA-vh95-rmgr-6w4m"
          ]
        }
      }
    }
    ```

##### Patch Changes

-   Throw an exception if pnpm switches to the same version of itself.
-   Reduce memory usage during peer dependencies resolution.

###
[`v9.9.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#990)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.8.0...v9.9.0)

##### Minor Changes

- **Minor breaking change.** This change might result in resolving your
peer dependencies slightly differently but we don't expect it to
introduce issues.

We had to optimize how we resolve peer dependencies in order to fix some
[infinite loops and out-of-memory errors during peer dependencies
resolution](https://redirect.github.com/pnpm/pnpm/issues/8370).

When a peer dependency is a prod dependency somewhere in the dependency
graph (with the same version), pnpm will resolve the peers of that peer
dependency in the same way across the subgraph.

For example, we have `react-dom` in the peer deps of the `form` and
`button` packages. `card` has `react-dom` and `react` as regular
dependencies and `card` is a dependency of `form`.

    These are the direct dependencies of our example project:

        form
        react@16
        react-dom@16

    These are the dependencies of card:

        button
        react@17
        react-dom@16

When resolving peers, pnpm will not re-resolve `react-dom` for `card`,
even though `card` shadows `react@16` from the root with `react@17`. So,
all 3 packages (`form`, `card`, and `button`) will use `react-dom@16`,
which in turn uses `react@16`. `form` will use `react@16`, while `card`
and `button` will use `react@17`.

Before this optimization `react-dom@16` was duplicated for the `card`,
so that `card` and `button` would use a `react-dom@16` instance that
uses `react@17`.

    Before the change:

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@17)
        -> react@17
        button
        -> react-dom@16(react@17)
        -> react@17

    After the change

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@16)
        -> react@17
        button
        -> react-dom@16(react@16)
        -> react@17

##### Patch Changes

- `pnpm deploy` should write the `node_modules/.modules.yaml` to the
`node_modules` directory within the deploy directory
[#&#8203;7731](https://redirect.github.com/pnpm/pnpm/issues/7731).
- Don't override a symlink in `node_modules` if it already points to the
right location
[pnpm/symlink-dir#54](https://redirect.github.com/pnpm/symlink-dir/pull/54).

###
[`v9.8.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#980)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.1...v9.8.0)

##### Minor Changes

- Added a new command for upgrading pnpm itself when it isn't managed by
Corepack: `pnpm self-update`. This command will work, when pnpm was
installed via the standalone script from the [pnpm installation
page](https://pnpm.io/installation#using-a-standalone-script)
[#&#8203;8424](https://redirect.github.com/pnpm/pnpm/pull/8424).

When executed in a project that has a `packageManager` field in its
`package.json` file, pnpm will update its version in the
`packageManager` field.

##### Patch Changes

- CLI tools installed in the root of the workspace should be added to
the PATH, when running scripts and `use-node-version` is set.

-   `pnpm setup` should never switch to another version of pnpm.

This fixes installation with the standalone script from a directory that
has a `package.json` with the `packageManager` field. pnpm was
installing the version of pnpm specified in the `packageManager` field
due to this issue.

- Ignore non-string value in the os, cpu, libc fields, which checking
optional dependencies
[#&#8203;8431](https://redirect.github.com/pnpm/pnpm/pull/8431).

- Remember the state of edit dir, allow running `pnpm patch-commit` the
second time without having to re-run `pnpm patch`.

###
[`v9.7.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#971)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.0...v9.7.1)

##### Patch Changes

- Fixed passing `public-hoist-pattern` and `hoist-pattern` via env
variables
[#&#8203;8339](https://redirect.github.com/pnpm/pnpm/issues/8339).
- `pnpm setup` no longer creates Batch/Powershell scripts on Linux and
macOS [#&#8203;8418](https://redirect.github.com/pnpm/pnpm/pull/8418).
- When dlx uses cache, use the real directory path not the symlink to
the cache
[#&#8203;8421](https://redirect.github.com/pnpm/pnpm/pull/8421).
- `pnpm exec` now supports executionEnv
[#&#8203;8356](https://redirect.github.com/pnpm/pnpm/issues/8356).
- Remove warnings for non-root `pnpm` field, add warnings for non-root
`pnpm` subfields that aren't `executionEnv`
[#&#8203;8143](https://redirect.github.com/pnpm/pnpm/issues/8413).
- Replace semver in "peerDependency" with workspace protocol
[#&#8203;8355](https://redirect.github.com/pnpm/pnpm/issues/8355).
- Fix a bug in `patch-commit` in which relative path is rejected
[#&#8203;8405](https://redirect.github.com/pnpm/pnpm/pull/8405).
-   Update Node.js in `@pnpm/exe` to v20.

###
[`v9.7.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#970)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.6.0...v9.7.0)

##### Minor Changes

- Added pnpm version management to pnpm. If the
`manage-package-manager-versions` setting is set to `true`, pnpm will
switch to the version specified in the `packageManager` field of
`package.json`
[#&#8203;8363](https://redirect.github.com/pnpm/pnpm/pull/8363). This is
the same field used by Corepack. Example:

    ```json
    {
      "packageManager": "pnpm@9.3.0"
    }
    ```

-   Added the ability to apply patch to all versions:
If the key of `pnpm.patchedDependencies` is a package name without a
version (e.g. `pkg`), pnpm will attempt to apply the patch to all
versions of
    the package. Failures will be skipped.
If it is a package name and an exact version (e.g. `pkg@x.y.z`), pnpm
will attempt to apply the patch to that exact version only. Failures
will
    cause pnpm to fail.

If there's only one version of `pkg` installed, `pnpm patch pkg` and
subsequent `pnpm patch-commit $edit_dir` will create an entry named
`pkg` in
`pnpm.patchedDependencies`. And pnpm will attempt to apply this patch to
other versions of `pkg` in the future.

If there are multiple versions of `pkg` installed, `pnpm patch pkg` will
ask which version to edit and whether to attempt to apply the patch to
all.
If the user chooses to apply the patch to all, `pnpm patch-commit
$edit_dir` would create a `pkg` entry in `pnpm.patchedDependencies`.
If the user chooses not to apply the patch to all, `pnpm patch-commit
$edit_dir` would create a `pkg@x.y.z` entry in
`pnpm.patchedDependencies` with
    `x.y.z` being the version the user chose to edit.

If the user runs `pnpm patch pkg@x.y.z` with `x.y.z` being the exact
version of `pkg` that has been installed, `pnpm patch-commit $edit_dir`
will always
    create a `pkg@x.y.z` entry in `pnpm.patchedDependencies`.

- Change the default edit dir location when running `pnpm patch` from a
temporary directory to `node_modules/.pnpm_patches/pkg[@&#8203;version]`
to allow the code editor to open the edit dir in the same file tree as
the main project.

- Substitute environment variables in config keys
[#&#8203;6679](https://redirect.github.com/pnpm/pnpm/issues/6679).

##### Patch Changes

- `pnpm install` should run `node-gyp rebuild` if the project has a
`binding.gyp` file even if the project doesn't have an install script
[#&#8203;8293](https://redirect.github.com/pnpm/pnpm/issues/8293).
- Print warnings to stderr
[#&#8203;8342](https://redirect.github.com/pnpm/pnpm/pull/8342).
- Peer dependencies of optional peer dependencies should be
automatically installed
[#&#8203;8323](https://redirect.github.com/pnpm/pnpm/issues/8323).

###
[`v9.6.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#960)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.5.0...v9.6.0)

##### Minor Changes

- Support specifying node version (via `pnpm.executionEnv.nodeVersion`
in `package.json`) for running lifecycle scripts per each package in a
workspace
[#&#8203;6720](https://redirect.github.com/pnpm/pnpm/issues/6720).
- Overrides now support the [`catalogs:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8303](https://redirect.github.com/pnpm/pnpm/issues/8303).

##### Patch Changes

- The `pnpm deploy` command now supports the [`catalog:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8298](https://redirect.github.com/pnpm/pnpm/pull/8298).
- The `pnpm outdated` command now supports the [`catalog:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8304](https://redirect.github.com/pnpm/pnpm/pull/8304).
- Correct the error message when trying to run `pnpm patch` without
`node_modules/.modules.yaml`
[#&#8203;8257](https://redirect.github.com/pnpm/pnpm/issues/8257).
- Silent reporting fixed with the `pnpm exec` command
[#&#8203;7608](https://redirect.github.com/pnpm/pnpm/issues/7608).
- Add registries information to the calculation of dlx cache hash
[#&#8203;8299](https://redirect.github.com/pnpm/pnpm/pull/8299).

###
[`v9.5.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#950)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.4.0...v9.5.0)

##### Minor Changes

- Added support for
[catalogs](https://redirect.github.com/pnpm/rfcs/blob/main/text/0001-catalogs.md)
[8122](#https://redirect.github.com/pnpm/pnpm/pull/8122).

Catalogs may be declared in the `pnpm-workspace.yaml` file. For example:

    ```yaml
    ```

###
[`v9.4.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#940)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.3.0...v9.4.0)

##### Minor Changes

- Some registries allow the exact same content to be published under
different package names and/or versions. This breaks the validity checks
of packages in the store. To avoid errors when verifying the names and
versions of such packages in the store, you may now set the
`strict-store-pkg-content-check` setting to `false`
[#&#8203;4724](https://redirect.github.com/pnpm/pnpm/issues/4724).

##### Patch Changes

- Fix `package-manager-strict-version` missing in config
[#&#8203;8195](https://redirect.github.com/pnpm/pnpm/issues/8195).
- If install is performed on a subset of workspace projects, always
create an up-to-date lockfile first. So, a partial install can be
performed only on a fully resolved (non-partial) lockfile
[#&#8203;8165](https://redirect.github.com/pnpm/pnpm/issues/8165).
- Handle workspace protocol with any semver range specifier, when used
in peer dependencies
[#&#8203;7578](https://redirect.github.com/pnpm/pnpm/issues/7578).

###
[`v9.3.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#930)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.2.0...v9.3.0)

##### Minor Changes

- **Semi-breaking.** Dependency key names in the lockfile are shortened
if they are longer than 1000 characters. We don't expect this change to
affect many users. Affected users most probably can't run install
successfully at the moment. This change is required to fix some edge
cases in which installation fails with an out-of-memory error or
"Invalid string length (RangeError: Invalid string length)" error. The
max allowed length of the dependency key can be controlled with the
`peers-suffix-max-length` setting
[#&#8203;8177](https://redirect.github.com/pnpm/pnpm/pull/8177).

##### Patch Changes

- Set `reporter-hide-prefix` to `true` by default for `pnpm exec`. In
order to show prefix, the user now has to explicitly set
`reporter-hide-prefix=false`
[#&#8203;8174](https://redirect.github.com/pnpm/pnpm/issues/8174).

###
[`v9.2.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#920)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.1.4...v9.2.0)

##### Minor Changes

- If `package-manager-strict-version` is set to `true`, pnpm will fail
if its version doesn't exactly match the version in the "packageManager"
field of `package.json`.

##### Patch Changes

- Update `@yarnpkg/pnp` to the latest version, fixing issue with `node:`
imports
[#&#8203;8161](https://redirect.github.com/pnpm/pnpm/issues/8161).
- Deduplicate bin names to prevent race condition and corrupted bin
scripts
[#&#8203;7833](https://redirect.github.com/pnpm/pnpm/issues/7833).
- pnpm doesn't fail if its version doesn't match the one specified in
the "packageManager" field of `package.json`
[#&#8203;8087](https://redirect.github.com/pnpm/pnpm/issues/8087).
- `exec` now also streams prefixed output when `--recursive` or
`--parallel` is specified just as `run` does
[#&#8203;8065](https://redirect.github.com/pnpm/pnpm/issues/8065).

###
[`v9.1.4`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#914)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.1.3...v9.1.4)

##### Patch Changes

- Improved the performance of the resolution stage by changing how
missing peer dependencies are detected
[#&#8203;8144](https://redirect.github.com/pnpm/pnpm/pull/8144).

###
[`v9.1.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#913)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.1.2...v9.1.3)

##### Patch Changes

- Fix a bug in which a dependency that is both optional for one package
but non-optional for another is omitted when `optional=false`
[#&#8203;8066](https://redirect.github.com/pnpm/pnpm/issues/8066).
- Clear resolution cache before starting peer dependencies resolution
[#&#8203;8109](https://redirect.github.com/pnpm/pnpm/pull/8109).
- Reduce memory usage by peer dependencies resolution
[#&#8203;8072](https://redirect.github.com/pnpm/pnpm/issues/8072).

###
[`v9.1.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#912)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.1.1...v9.1.2)

##### Patch Changes

- Reduced memory usage during peer dependencies resolution
[#&#8203;8084](https://redirect.github.com/pnpm/pnpm/pull/8084).
- Details in the `pnpm licenses` output are not misplaced anymore
[#&#8203;8071](https://redirect.github.com/pnpm/pnpm/pull/8071).

###
[`v9.1.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#911)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.1.0...v9.1.1)

##### Patch Changes

- Improve the performance of the peers resolution stage by utilizing
more cache
[#&#8203;8058](https://redirect.github.com/pnpm/pnpm/pull/8058).
- Overrides with `link:` now preserve absolute path
[#&#8203;8053](https://redirect.github.com/pnpm/pnpm/issues/8053).
- Fix incorrect path when resolving relative `file:` overrides for
workspace package
[#&#8203;8053](https://redirect.github.com/pnpm/pnpm/issues/8053).
- Print a better error message when `resolution-mode` is set to
`time-based` and the registry fails to return the `"time"` field in the
package's metadata.
-   Fix shell completion on MinGW-w64 environment.

###
[`v9.1.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#910)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.0.6...v9.1.0)

##### Minor Changes

- New setting called `virtual-store-dir-max-length` added to modify the
maximum allowed length of the directories inside `node_modules/.pnpm`.
The default length is set to 120 characters. This setting is
particularly useful on Windows, where there is a limit to the maximum
length of a file path
[#&#8203;7355](https://redirect.github.com/pnpm/pnpm/issues/7355).

##### Patch Changes

- A dependency is hoisted to resolve an optional peer dependency only if
it satisfies the range provided for the optional peer dependency
[#&#8203;8028](https://redirect.github.com/pnpm/pnpm/pull/8028).
- Details in the `pnpm outdated` output are wrapped correctly
[#&#8203;8037](https://redirect.github.com/pnpm/pnpm/pull/8037).
- Fix `Cannot read properties of undefined (reading
'missingPeersOfChildren')` exception that happens on install
[#&#8203;8041](https://redirect.github.com/pnpm/pnpm/issues/8041).
- Explicitly throw an error when user attempts to run `publish` or
`pack` when `bundledDependencies` is set but `node-linker` isn't
`hoisted`.
- `pnpm update` should not fail when there's an aliased local workspace
dependency
[#&#8203;7975](https://redirect.github.com/pnpm/pnpm/issues/7975).

###
[`v9.0.6`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#906)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.0.5...v9.0.6)

##### Patch Changes

- Lockfiles that have git-hosted dependencies specified should be
correctly converted to the new lockfile format
[#&#8203;7990](https://redirect.github.com/pnpm/pnpm/issues/7990).
- Don't upgrade the lockfile format on `pnpm install --frozen-lockfile`
[#&#8203;7991](https://redirect.github.com/pnpm/pnpm/issues/7991).

###
[`v9.0.5`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#905)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.0.4...v9.0.5)

##### Patch Changes

- Lockfiles with local or git-hosted dependencies are now successfully
converted to the new lockfile format
[#&#8203;7955](https://redirect.github.com/pnpm/pnpm/issues/7955).
- Resolve peer dependencies correctly, when they have prerelease
versions
[#&#8203;7977](https://redirect.github.com/pnpm/pnpm/issues/7977).
- Fix aliased dependencies resolution on repeat install with existing
lockfile, when the aliased dependency doesn't specify a version or range
[#&#8203;7957](https://redirect.github.com/pnpm/pnpm/issues/7957).
- The lockfile should be saved in the new format even if it is
up-to-date.

###
[`v9.0.4`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#904)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.0.3...v9.0.4)

##### Patch Changes

- Fix aliased dependencies resolution on repeat install with existing
lockfile
[#&#8203;7957](https://redirect.github.com/pnpm/pnpm/issues/7957).
- The `engines.pnpm` field in the `package.json` files of dependencies
should be ignored
[#&#8203;7965](https://redirect.github.com/pnpm/pnpm/issues/7965).

###
[`v9.0.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#903)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.0.2...v9.0.3)

##### Patch Changes

- If the `script-shell` option is configured to a `.bat`/`.cmd` file on
Windows, pnpm will now error with
`ERR_PNPM_INVALID_SCRIPT_SHELL_WINDOWS`. Newer [versions of Node.js
released in April
2024](https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2)
do not support executing these files directly without behavior
differences. If the `script-shell` option is necessary for your
use-case, please set a `.exe` file instead.
- Print a hint about the `package-manager-strict` setting, when pnpm
doesn't match the version specified in the `packageManager` field in
`package.json`.
- `pnpm completion` command should work in the standalone version of
pnpm [#&#8203;7948](https://redirect.github.com/pnpm/pnpm/issues/7948).

###
[`v9.0.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#902)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.0.1...v9.0.2)

##### Patch Changes

- Fixed an issue where optional dependencies were not linked into the
dependent's `node_modules`
[#&#8203;7943](https://redirect.github.com/pnpm/pnpm/issues/7943).

###
[`v9.0.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#901)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.0.0...v9.0.1)

##### Patch Changes

- `pnpm install --frozen-lockfile` should work with lockfiles generated
by pnpm v8, if they don't need updates
[#&#8203;7934](https://redirect.github.com/pnpm/pnpm/issues/7934).

###
[`v9.0.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#900)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v8.15.9...v9.0.0)

##### Major Changes

-   Node.js v16 support discontinued

If you still require Node.js 16, don't worry. We ship pnpm bundled with
Node.js. This means that regardless of which Node.js version you've
installed, pnpm will operate using the necessary Node.js runtime. For
this to work you need to install pnpm either using the [standalone
script](https://pnpm.io/installation#using-a-standalone-script) or
install the `@pnpm/exe` package.

-   Configuration updates:

- [`dedupe-injected-deps`](https://pnpm.io/npmrc#dedupe-injected-deps):
enabled by default.
-
[`link-workspace-packages`](https://pnpm.io/npmrc#link-workspace-packages):
disabled by default. This means that by default, dependencies will be
linked from workspace packages only when they are specified using the
[workspace
protocol](https://pnpm.io/workspaces#workspace-protocol-workspace).
-
[`hoist-workspace-packages`](https://pnpm.io/npmrc#hoist-workspace-packages):
enabled by default.
-
[`enable-pre-post-scripts`](https://pnpm.io/cli/run#enable-pre-post-scripts):
enabled by default.
- Use the same directory for state files on macOS as on Linux
(`~/.local/state/pnpm`).
- pnpm will now check the `package.json` file for a `packageManager`
field. If this field is present and specifies a different package
manager or a different version of pnpm than the one you're currently
using, pnpm will not proceed. This ensures that you're always using the
correct package manager and version that the project requires.

-   Lockfile changes:

- Lockfile v9 is adopted. This new format has changes for better
readability, and better resistence to Git conflicts.
- Support for lockfile v5 is dropped. Use pnpm v8 to convert lockfile v5
to lockfile v6
[#&#8203;7470](https://redirect.github.com/pnpm/pnpm/pull/7470).

-   Dependency resolution changes:

- Correct resolution of peer dependencies that have their own peer
dependencies.
Related issue:
[#&#8203;7444](https://redirect.github.com/pnpm/pnpm/issues/7444).
Related PR:
[#&#8203;7606](https://redirect.github.com/pnpm/pnpm/pull/7606).
- Optional peer dependencies may be resolved from any packages in the
dependency graph
[#&#8203;7830](https://redirect.github.com/pnpm/pnpm/pull/7830).

- `pnpm licenses list` prints license information of all versions of the
same package in case different versions use different licenses. The
format of the `pnpm licenses list --json` output has been changed
[#&#8203;7528](https://redirect.github.com/pnpm/pnpm/pull/7528).

- A new command added for printing completion code to the console: `pnpm
completion [shell]`. The old command that modified the user's shell
dotfiles has been removed
[#&#8203;3083](https://redirect.github.com/pnpm/pnpm/issues/3083).

- When installing git-hosted dependencies, only pick the files that
would be packed with the package
[#&#8203;7638](https://redirect.github.com/pnpm/pnpm/pull/7638).

##### Minor Changes

- It is now possible to install only a subdirectory from a Git
repository.

For example, `pnpm add github:user/repo#path:packages/foo` will add a
dependency from the `packages/foo` subdirectory.

This new parameter may be combined with other supported parameters
separated by `&`. For instance, the next command will install the same
package from the `dev` branch: `pnpm add
github:user/repo#dev&path:packages/bar`.

Related issue:
[#&#8203;4765](https://redirect.github.com/pnpm/pnpm/issues/4765).
Related PR:
[#&#8203;7487](https://redirect.github.com/pnpm/pnpm/pull/7487).

-   `node-gyp` updated to version 10.

- PowerShell completion support added
[#&#8203;7597](https://redirect.github.com/pnpm/pnpm/pull/7597).

- Support `node-options` option inside `.npmrc` file when running
scripts
[#&#8203;7596](https://redirect.github.com/pnpm/pnpm/issues/7596).

- Added support for registry-scoped SSL configurations (cert, key, and
ca). Three new settings supported: `<registryURL>:certfile`,
`<registryURL>:keyfile`, and `<registryURL>:ca`. For instance:

        //registry.mycomp.com/:certfile=server-cert.pem
        //registry.mycomp.com/:keyfile=server-key.pem
        //registry.mycomp.com/:cafile=client-cert.pem

Related issue:
[#&#8203;7427](https://redirect.github.com/pnpm/pnpm/issues/7427).
Related PR:
[#&#8203;7626](https://redirect.github.com/pnpm/pnpm/pull/7626).

- Add a field named `ignoredOptionalDependencies`. This is an array of
strings. If an optional dependency has its name included in this array,
it will be skipped
[#&#8203;7714](https://redirect.github.com/pnpm/pnpm/pull/7714).

- The checksum of the `.pnpmfile.cjs` is saved into the lockfile. If the
pnpmfile gets modified, the lockfile is reanalyzed to apply the changes
[#&#8203;7662](https://redirect.github.com/pnpm/pnpm/pull/7662).

- Added cache for `pnpm dlx`
[#&#8203;5277](https://redirect.github.com/pnpm/pnpm/issues/5277).

##### Patch Changes

- Package tarballs are not downloaded during `--lockfile-only`
installation
[#&#8203;1328](https://redirect.github.com/pnpm/pnpm/issues/1328).
- Peer dependency rules should only affect reporting, not data in the
lockfile
[#&#8203;7758](https://redirect.github.com/pnpm/pnpm/pull/7758).
- Link overrides should be able to use absolute path
[#&#8203;7749](https://redirect.github.com/pnpm/pnpm/pull/7749).
- `pnpm dlx` should not read settings from the current working directory
[#&#8203;7916](https://redirect.github.com/pnpm/pnpm/pull/7916).

###
[`v8.15.9`](https://redirect.github.com/pnpm/pnpm/releases/tag/v8.15.9):
pnpm 8.15.9

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v8.15.8...v8.15.9)

#### Patch Changes

- Deduplicate bin names to prevent race condition and corrupted bin
scripts
[#&#8203;7833](https://redirect.github.com/pnpm/pnpm/issues/7833).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg"
width="80"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="85" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Our Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a
href="https://www.thinkmill.com.au/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/thinkmill.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/thinkmill_light.svg" />
<img src="https://pnpm.io/img/users/thinkmill.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v8.15.8`](https://redirect.github.com/pnpm/pnpm/releases/tag/v8.15.8)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v8.15.7...v8.15.8)

#### Patch Changes

- Upgrade tar to v6.2.1 in the dependences
[#&#8203;7939](https://redirect.github.com/pnpm/pnpm/issues/7939).
- If the `script-shell` option is configured to a `.bat`/`.cmd` file on
Windows, pnpm will now error with
`ERR_PNPM_INVALID_SCRIPT_SHELL_WINDOWS`. Newer [versions of Node.js
released in April
2024](https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2)
do not support executing these files directly without behavior
differences. If the `script-shell` option is necessary for your
use-case, please set a `.exe` file instead.

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg"
width="80"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="85" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Our Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a
href="https://www.thinkmill.com.au/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/thinkmill.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/thinkmill_light.svg" />
<img src="https://pnpm.io/img/users/thinkmill.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v8.15.7`](https://redirect.github.com/pnpm/pnpm/releases/tag/v8.15.7)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v8.15.6...v8.15.7)

#### Patch Changes

- `pnpm config get` prints a comma-separated list for an array value
instead of nothing.
- It should be possible to publish a tarball with custom dist-tag
[#&#8203;7845](https://redirect.github.com/pnpm/pnpm/issues/7845).
- Print the list of packages that were not built because they are
ignored by configuration settings.

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg"
width="80"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="85" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Our Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://vpsserver.com/en-us/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vpsserver.svg" width="180" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v8.15.6`](https://redirect.github.com/pnpm/pnpm/releases/tag/v8.15.6)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v8.15.5...v8.15.6)

#### Patch Changes

- The exit code of the child process should be preserved on `pnpm run`
[#&#8203;7817](https://redirect.github.com/pnpm/pnpm/issues/7817).
- When sorting packages in a workspace, take into account workspace
dependencies specified as `peerDependencies`
[#&#8203;7813](https://redirect.github.com/pnpm/pnpm/issues/7813).
- Add `--ignore-scripts` argument to `prune` command
[#&#8203;7836](https://redirect.github.com/pnpm/pnpm/pull/7836).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=readme"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg"
width="80"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=readme"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <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" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://prisma.io/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="85" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <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="120" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=readme"
target="_blank">
          <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" />
          </picture>
        </a>
      </td>
    </tr

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/sveltejs/eslint-plugin-svelte).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMDEuNCIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to JoshuaKGoldberg/npm-username-to-packages that referenced this pull request Nov 20, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
[`9.4.0` ->
`9.13.2`](https://renovatebot.com/diffs/npm/pnpm/9.4.0/9.13.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.4.0/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.4.0/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

###
[`v9.13.2`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.2):
pnpm 9.13.2

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.1...v9.13.2)

#### Patch Changes

- Detection of circular peer dependencies should not crash with aliased
dependencies
[#&#8203;8759](https://redirect.github.com/pnpm/pnpm/issues/8759). Fixes
a regression introduced in the previous version.
- Fix race condition of symlink creations caused by multiple parallel
`dlx` processes.

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.1):
pnpm 9.13.1

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.0...v9.13.1)

#### Patch Changes

- Fixed some edge cases where resolving circular peer dependencies
caused a dead lock
[#&#8203;8720](https://redirect.github.com/pnpm/pnpm/issues/8720).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=readme"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.0):
pnpm 9.13

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.3...v9.13.0)

#### Minor Changes

- The `self-update` now accepts a version specifier to install a
specific version of pnpm. E.g.:

        pnpm self-update 9.5.0

    or

        pnpm self-update next-10

#### Patch Changes

- Fix `Cannot read properties of undefined (reading 'name')` that is
printed while trying to render the missing peer dependencies warning
message
[#&#8203;8538](https://redirect.github.com/pnpm/pnpm/issues/8538).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.12.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9123)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.2...v9.12.3)

##### Patch Changes

- Don't purge `node_modules`, when typing "n" in the prompt that asks
whether to remove `node_modules` before installation
[#&#8203;8655](https://redirect.github.com/pnpm/pnpm/pull/8655).
- Fix a bug causing pnpm to infinitely spawn itself when
`manage-package-manager-versions=true` is set and the `.tools` directory
is corrupt.
- Use `crypto.hash`, when available, for improved performance
[#&#8203;8629](https://redirect.github.com/pnpm/pnpm/pull/8629).
- Fixed a race condition in temporary file creation in the store by
including worker thread ID in filename. Previously, multiple worker
threads could attempt to use the same temporary file. Temporary files
now include both process ID and thread ID for uniqueness
[#&#8203;8703](https://redirect.github.com/pnpm/pnpm/pull/8703).
- All commands should read settings from the `package.json` at the root
of the workspace
[#&#8203;8667](https://redirect.github.com/pnpm/pnpm/issues/8667).
- When `manage-package-manager-versions` is set to `true`, errors
spawning a self-managed version of `pnpm` will now be shown (instead of
being silent).
-   Pass the find command to npm, it is an alias for npm search

###
[`v9.12.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9122)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.1...v9.12.2)

##### Patch Changes

- When checking whether a file in the store has executable permissions,
the new approach checks if at least one of the executable bits (owner,
group, and others) is set to 1. Previously, a file was incorrectly
considered executable only when all the executable bits were set to 1.
This fix ensures that files with any executable permission, regardless
of the user class, are now correctly identified as executable
[#&#8203;8546](https://redirect.github.com/pnpm/pnpm/issues/8546).

###
[`v9.12.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9121)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.0...v9.12.1)

##### Patch Changes

- `pnpm update --latest` should not update the automatically installed
peer dependencies
[#&#8203;6657](https://redirect.github.com/pnpm/pnpm/issues/6657).
- `pnpm publish` should be able to publish from a local tarball
[#&#8203;7950](https://redirect.github.com/pnpm/pnpm/issues/7950).
- The pnpx command should work correctly on Windows, when pnpm is
installed via the standalone installation script
[#&#8203;8608](https://redirect.github.com/pnpm/pnpm/pull/8608).
- Prevent `EBUSY` errors caused by creating symlinks in parallel `dlx`
processes
[#&#8203;8604](https://redirect.github.com/pnpm/pnpm/pull/8604).
- Fix maximum call stack size exceeded error related to circular
workspace dependencies
[#&#8203;8599](https://redirect.github.com/pnpm/pnpm/pull/8599).

###
[`v9.12.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9120)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.11.0...v9.12.0)

##### Minor Changes

- Fix peer dependency resolution dead lock
[#&#8203;8570](https://redirect.github.com/pnpm/pnpm/issues/8570). This
change might change some of the keys in the `snapshots` field inside
`pnpm-lock.yaml` but it should happen very rarely.
- `pnpm outdated` command supports now a `--sort-by=name` option for
sorting outdated dependencies by package name
[#&#8203;8523](https://redirect.github.com/pnpm/pnpm/pull/8523).
- Added the ability for `overrides` to remove dependencies by specifying
`"-"` as the field value
[#&#8203;8572](https://redirect.github.com/pnpm/pnpm/issues/8572). For
example, to remove `lodash` from the dependencies, use this
configuration in `package.json`:

    ```json
    {
      "pnpm": {
        "overrides": {
          "lodash": "-"
        }
      }
    }
    ```

##### Patch Changes

- Fixed an issue where `pnpm list --json pkg` showed `"private": false`
for a private package
[#&#8203;8519](https://redirect.github.com/pnpm/pnpm/issues/8519).
- Packages with `libc` that differ from
`pnpm.supportedArchitectures.libc` are not downloaded
[#&#8203;7362](https://redirect.github.com/pnpm/pnpm/issues/7362).
- Prevent `ENOENT` errors caused by running `store prune` in parallel
[#&#8203;8586](https://redirect.github.com/pnpm/pnpm/pull/8586).
- Add issues alias to `pnpm bugs`
[#&#8203;8596](https://redirect.github.com/pnpm/pnpm/pull/8596).

###
[`v9.11.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9110)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.10.0...v9.11.0)

##### Minor Changes

- Experimental: added `pnpm cache` commands for inspecting the metadata
cache [#&#8203;8512](https://redirect.github.com/pnpm/pnpm/pull/8512).

##### Patch Changes

- Fix a regression in which `pnpm deploy` with `node-linker=hoisted`
produces an empty `node_modules` directory
[#&#8203;6682](https://redirect.github.com/pnpm/pnpm/issues/6682).
- Don't print a warning when linking packages globally
[#&#8203;4761](https://redirect.github.com/pnpm/pnpm/issues/4761).
- `pnpm deploy` should work in workspace with
`shared-workspace-lockfile=false`
[#&#8203;8475](https://redirect.github.com/pnpm/pnpm/issues/8475).

###
[`v9.10.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9100)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.9.0...v9.10.0)

##### Minor Changes

- Support for a new CLI flag, `--exclude-peers`, added to the `list` and
`why` commands. When `--exclude-peers` is used, peer dependencies are
not printed in the results, but dependencies of peer dependencies are
still scanned
[#&#8203;8506](https://redirect.github.com/pnpm/pnpm/pull/8506).
- Added a new setting to `package.json` at
`pnpm.auditConfig.ignoreGhsas` for ignoring vulnerabilities by their
GHSA code
[#&#8203;6838](https://redirect.github.com/pnpm/pnpm/issues/6838).

    For instance:

    ```json
    {
      "pnpm": {
        "auditConfig": {
          "ignoreGhsas": [
            "GHSA-42xw-2xvc-qx8m",
            "GHSA-4w2v-q235-vp99",
            "GHSA-cph5-m8f7-6c5x",
            "GHSA-vh95-rmgr-6w4m"
          ]
        }
      }
    }
    ```

##### Patch Changes

-   Throw an exception if pnpm switches to the same version of itself.
-   Reduce memory usage during peer dependencies resolution.

###
[`v9.9.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#990)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.8.0...v9.9.0)

##### Minor Changes

- **Minor breaking change.** This change might result in resolving your
peer dependencies slightly differently but we don't expect it to
introduce issues.

We had to optimize how we resolve peer dependencies in order to fix some
[infinite loops and out-of-memory errors during peer dependencies
resolution](https://redirect.github.com/pnpm/pnpm/issues/8370).

When a peer dependency is a prod dependency somewhere in the dependency
graph (with the same version), pnpm will resolve the peers of that peer
dependency in the same way across the subgraph.

For example, we have `react-dom` in the peer deps of the `form` and
`button` packages. `card` has `react-dom` and `react` as regular
dependencies and `card` is a dependency of `form`.

    These are the direct dependencies of our example project:

        form
        react@16
        react-dom@16

    These are the dependencies of card:

        button
        react@17
        react-dom@16

When resolving peers, pnpm will not re-resolve `react-dom` for `card`,
even though `card` shadows `react@16` from the root with `react@17`. So,
all 3 packages (`form`, `card`, and `button`) will use `react-dom@16`,
which in turn uses `react@16`. `form` will use `react@16`, while `card`
and `button` will use `react@17`.

Before this optimization `react-dom@16` was duplicated for the `card`,
so that `card` and `button` would use a `react-dom@16` instance that
uses `react@17`.

    Before the change:

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@17)
        -> react@17
        button
        -> react-dom@16(react@17)
        -> react@17

    After the change

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@16)
        -> react@17
        button
        -> react-dom@16(react@16)
        -> react@17

##### Patch Changes

- `pnpm deploy` should write the `node_modules/.modules.yaml` to the
`node_modules` directory within the deploy directory
[#&#8203;7731](https://redirect.github.com/pnpm/pnpm/issues/7731).
- Don't override a symlink in `node_modules` if it already points to the
right location
[pnpm/symlink-dir#54](https://redirect.github.com/pnpm/symlink-dir/pull/54).

###
[`v9.8.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#980)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.1...v9.8.0)

##### Minor Changes

- Added a new command for upgrading pnpm itself when it isn't managed by
Corepack: `pnpm self-update`. This command will work, when pnpm was
installed via the standalone script from the [pnpm installation
page](https://pnpm.io/installation#using-a-standalone-script)
[#&#8203;8424](https://redirect.github.com/pnpm/pnpm/pull/8424).

When executed in a project that has a `packageManager` field in its
`package.json` file, pnpm will update its version in the
`packageManager` field.

##### Patch Changes

- CLI tools installed in the root of the workspace should be added to
the PATH, when running scripts and `use-node-version` is set.

-   `pnpm setup` should never switch to another version of pnpm.

This fixes installation with the standalone script from a directory that
has a `package.json` with the `packageManager` field. pnpm was
installing the version of pnpm specified in the `packageManager` field
due to this issue.

- Ignore non-string value in the os, cpu, libc fields, which checking
optional dependencies
[#&#8203;8431](https://redirect.github.com/pnpm/pnpm/pull/8431).

- Remember the state of edit dir, allow running `pnpm patch-commit` the
second time without having to re-run `pnpm patch`.

###
[`v9.7.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#971)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.0...v9.7.1)

##### Patch Changes

- Fixed passing `public-hoist-pattern` and `hoist-pattern` via env
variables
[#&#8203;8339](https://redirect.github.com/pnpm/pnpm/issues/8339).
- `pnpm setup` no longer creates Batch/Powershell scripts on Linux and
macOS [#&#8203;8418](https://redirect.github.com/pnpm/pnpm/pull/8418).
- When dlx uses cache, use the real directory path not the symlink to
the cache
[#&#8203;8421](https://redirect.github.com/pnpm/pnpm/pull/8421).
- `pnpm exec` now supports executionEnv
[#&#8203;8356](https://redirect.github.com/pnpm/pnpm/issues/8356).
- Remove warnings for non-root `pnpm` field, add warnings for non-root
`pnpm` subfields that aren't `executionEnv`
[#&#8203;8143](https://redirect.github.com/pnpm/pnpm/issues/8413).
- Replace semver in "peerDependency" with workspace protocol
[#&#8203;8355](https://redirect.github.com/pnpm/pnpm/issues/8355).
- Fix a bug in `patch-commit` in which relative path is rejected
[#&#8203;8405](https://redirect.github.com/pnpm/pnpm/pull/8405).
-   Update Node.js in `@pnpm/exe` to v20.

###
[`v9.7.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#970)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.6.0...v9.7.0)

##### Minor Changes

- Added pnpm version management to pnpm. If the
`manage-package-manager-versions` setting is set to `true`, pnpm will
switch to the version specified in the `packageManager` field of
`package.json`
[#&#8203;8363](https://redirect.github.com/pnpm/pnpm/pull/8363). This is
the same field used by Corepack. Example:

    ```json
    {
      "packageManager": "pnpm@9.3.0"
    }
    ```

-   Added the ability to apply patch to all versions:
If the key of `pnpm.patchedDependencies` is a package name without a
version (e.g. `pkg`), pnpm will attempt to apply the patch to all
versions of
    the package. Failures will be skipped.
If it is a package name and an exact version (e.g. `pkg@x.y.z`), pnpm
will attempt to apply the patch to that exact version only. Failures
will
    cause pnpm to fail.

If there's only one version of `pkg` installed, `pnpm patch pkg` and
subsequent `pnpm patch-commit $edit_dir` will create an entry named
`pkg` in
`pnpm.patchedDependencies`. And pnpm will attempt to apply this patch to
other versions of `pkg` in the future.

If there are multiple versions of `pkg` installed, `pnpm patch pkg` will
ask which version to edit and whether to attempt to apply the patch to
all.
If the user chooses to apply the patch to all, `pnpm patch-commit
$edit_dir` would create a `pkg` entry in `pnpm.patchedDependencies`.
If the user chooses not to apply the patch to all, `pnpm patch-commit
$edit_dir` would create a `pkg@x.y.z` entry in
`pnpm.patchedDependencies` with
    `x.y.z` being the version the user chose to edit.

If the user runs `pnpm patch pkg@x.y.z` with `x.y.z` being the exact
version of `pkg` that has been installed, `pnpm patch-commit $edit_dir`
will always
    create a `pkg@x.y.z` entry in `pnpm.patchedDependencies`.

- Change the default edit dir location when running `pnpm patch` from a
temporary directory to `node_modules/.pnpm_patches/pkg[@&#8203;version]`
to allow the code editor to open the edit dir in the same file tree as
the main project.

- Substitute environment variables in config keys
[#&#8203;6679](https://redirect.github.com/pnpm/pnpm/issues/6679).

##### Patch Changes

- `pnpm install` should run `node-gyp rebuild` if the project has a
`binding.gyp` file even if the project doesn't have an install script
[#&#8203;8293](https://redirect.github.com/pnpm/pnpm/issues/8293).
- Print warnings to stderr
[#&#8203;8342](https://redirect.github.com/pnpm/pnpm/pull/8342).
- Peer dependencies of optional peer dependencies should be
automatically installed
[#&#8203;8323](https://redirect.github.com/pnpm/pnpm/issues/8323).

###
[`v9.6.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#960)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.5.0...v9.6.0)

##### Minor Changes

- Support specifying node version (via `pnpm.executionEnv.nodeVersion`
in `package.json`) for running lifecycle scripts per each package in a
workspace
[#&#8203;6720](https://redirect.github.com/pnpm/pnpm/issues/6720).
- Overrides now support the [`catalogs:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8303](https://redirect.github.com/pnpm/pnpm/issues/8303).

##### Patch Changes

- The `pnpm deploy` command now supports the [`catalog:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8298](https://redirect.github.com/pnpm/pnpm/pull/8298).
- The `pnpm outdated` command now supports the [`catalog:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8304](https://redirect.github.com/pnpm/pnpm/pull/8304).
- Correct the error message when trying to run `pnpm patch` without
`node_modules/.modules.yaml`
[#&#8203;8257](https://redirect.github.com/pnpm/pnpm/issues/8257).
- Silent reporting fixed with the `pnpm exec` command
[#&#8203;7608](https://redirect.github.com/pnpm/pnpm/issues/7608).
- Add registries information to the calculation of dlx cache hash
[#&#8203;8299](https://redirect.github.com/pnpm/pnpm/pull/8299).

###
[`v9.5.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#950)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.4.0...v9.5.0)

##### Minor Changes

- Added support for
[catalogs](https://redirect.github.com/pnpm/rfcs/blob/main/text/0001-catalogs.md)
[8122](#https://redirect.github.com/pnpm/pnpm/pull/8122).

Catalogs may be declared in the `pnpm-workspace.yaml` file. For example:

    ```yaml
    ```

</details>

---

### Configuration

📅 **Schedule**: 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/JoshuaKGoldberg/npm-username-to-packages).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to JoshuaKGoldberg/tidelift-me-up that referenced this pull request Nov 21, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
[`9.5.0` ->
`9.13.2`](https://renovatebot.com/diffs/npm/pnpm/9.5.0/9.13.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.5.0/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.5.0/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

###
[`v9.13.2`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.2):
pnpm 9.13.2

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.1...v9.13.2)

#### Patch Changes

- Detection of circular peer dependencies should not crash with aliased
dependencies
[#&#8203;8759](https://redirect.github.com/pnpm/pnpm/issues/8759). Fixes
a regression introduced in the previous version.
- Fix race condition of symlink creations caused by multiple parallel
`dlx` processes.

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.1):
pnpm 9.13.1

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.0...v9.13.1)

#### Patch Changes

- Fixed some edge cases where resolving circular peer dependencies
caused a dead lock
[#&#8203;8720](https://redirect.github.com/pnpm/pnpm/issues/8720).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=readme"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.0):
pnpm 9.13

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.3...v9.13.0)

#### Minor Changes

- The `self-update` now accepts a version specifier to install a
specific version of pnpm. E.g.:

        pnpm self-update 9.5.0

    or

        pnpm self-update next-10

#### Patch Changes

- Fix `Cannot read properties of undefined (reading 'name')` that is
printed while trying to render the missing peer dependencies warning
message
[#&#8203;8538](https://redirect.github.com/pnpm/pnpm/issues/8538).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.12.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9123)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.2...v9.12.3)

##### Patch Changes

- Don't purge `node_modules`, when typing "n" in the prompt that asks
whether to remove `node_modules` before installation
[#&#8203;8655](https://redirect.github.com/pnpm/pnpm/pull/8655).
- Fix a bug causing pnpm to infinitely spawn itself when
`manage-package-manager-versions=true` is set and the `.tools` directory
is corrupt.
- Use `crypto.hash`, when available, for improved performance
[#&#8203;8629](https://redirect.github.com/pnpm/pnpm/pull/8629).
- Fixed a race condition in temporary file creation in the store by
including worker thread ID in filename. Previously, multiple worker
threads could attempt to use the same temporary file. Temporary files
now include both process ID and thread ID for uniqueness
[#&#8203;8703](https://redirect.github.com/pnpm/pnpm/pull/8703).
- All commands should read settings from the `package.json` at the root
of the workspace
[#&#8203;8667](https://redirect.github.com/pnpm/pnpm/issues/8667).
- When `manage-package-manager-versions` is set to `true`, errors
spawning a self-managed version of `pnpm` will now be shown (instead of
being silent).
-   Pass the find command to npm, it is an alias for npm search

###
[`v9.12.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9122)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.1...v9.12.2)

##### Patch Changes

- When checking whether a file in the store has executable permissions,
the new approach checks if at least one of the executable bits (owner,
group, and others) is set to 1. Previously, a file was incorrectly
considered executable only when all the executable bits were set to 1.
This fix ensures that files with any executable permission, regardless
of the user class, are now correctly identified as executable
[#&#8203;8546](https://redirect.github.com/pnpm/pnpm/issues/8546).

###
[`v9.12.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9121)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.0...v9.12.1)

##### Patch Changes

- `pnpm update --latest` should not update the automatically installed
peer dependencies
[#&#8203;6657](https://redirect.github.com/pnpm/pnpm/issues/6657).
- `pnpm publish` should be able to publish from a local tarball
[#&#8203;7950](https://redirect.github.com/pnpm/pnpm/issues/7950).
- The pnpx command should work correctly on Windows, when pnpm is
installed via the standalone installation script
[#&#8203;8608](https://redirect.github.com/pnpm/pnpm/pull/8608).
- Prevent `EBUSY` errors caused by creating symlinks in parallel `dlx`
processes
[#&#8203;8604](https://redirect.github.com/pnpm/pnpm/pull/8604).
- Fix maximum call stack size exceeded error related to circular
workspace dependencies
[#&#8203;8599](https://redirect.github.com/pnpm/pnpm/pull/8599).

###
[`v9.12.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9120)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.11.0...v9.12.0)

##### Minor Changes

- Fix peer dependency resolution dead lock
[#&#8203;8570](https://redirect.github.com/pnpm/pnpm/issues/8570). This
change might change some of the keys in the `snapshots` field inside
`pnpm-lock.yaml` but it should happen very rarely.
- `pnpm outdated` command supports now a `--sort-by=name` option for
sorting outdated dependencies by package name
[#&#8203;8523](https://redirect.github.com/pnpm/pnpm/pull/8523).
- Added the ability for `overrides` to remove dependencies by specifying
`"-"` as the field value
[#&#8203;8572](https://redirect.github.com/pnpm/pnpm/issues/8572). For
example, to remove `lodash` from the dependencies, use this
configuration in `package.json`:

    ```json
    {
      "pnpm": {
        "overrides": {
          "lodash": "-"
        }
      }
    }
    ```

##### Patch Changes

- Fixed an issue where `pnpm list --json pkg` showed `"private": false`
for a private package
[#&#8203;8519](https://redirect.github.com/pnpm/pnpm/issues/8519).
- Packages with `libc` that differ from
`pnpm.supportedArchitectures.libc` are not downloaded
[#&#8203;7362](https://redirect.github.com/pnpm/pnpm/issues/7362).
- Prevent `ENOENT` errors caused by running `store prune` in parallel
[#&#8203;8586](https://redirect.github.com/pnpm/pnpm/pull/8586).
- Add issues alias to `pnpm bugs`
[#&#8203;8596](https://redirect.github.com/pnpm/pnpm/pull/8596).

###
[`v9.11.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9110)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.10.0...v9.11.0)

##### Minor Changes

- Experimental: added `pnpm cache` commands for inspecting the metadata
cache [#&#8203;8512](https://redirect.github.com/pnpm/pnpm/pull/8512).

##### Patch Changes

- Fix a regression in which `pnpm deploy` with `node-linker=hoisted`
produces an empty `node_modules` directory
[#&#8203;6682](https://redirect.github.com/pnpm/pnpm/issues/6682).
- Don't print a warning when linking packages globally
[#&#8203;4761](https://redirect.github.com/pnpm/pnpm/issues/4761).
- `pnpm deploy` should work in workspace with
`shared-workspace-lockfile=false`
[#&#8203;8475](https://redirect.github.com/pnpm/pnpm/issues/8475).

###
[`v9.10.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9100)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.9.0...v9.10.0)

##### Minor Changes

- Support for a new CLI flag, `--exclude-peers`, added to the `list` and
`why` commands. When `--exclude-peers` is used, peer dependencies are
not printed in the results, but dependencies of peer dependencies are
still scanned
[#&#8203;8506](https://redirect.github.com/pnpm/pnpm/pull/8506).
- Added a new setting to `package.json` at
`pnpm.auditConfig.ignoreGhsas` for ignoring vulnerabilities by their
GHSA code
[#&#8203;6838](https://redirect.github.com/pnpm/pnpm/issues/6838).

    For instance:

    ```json
    {
      "pnpm": {
        "auditConfig": {
          "ignoreGhsas": [
            "GHSA-42xw-2xvc-qx8m",
            "GHSA-4w2v-q235-vp99",
            "GHSA-cph5-m8f7-6c5x",
            "GHSA-vh95-rmgr-6w4m"
          ]
        }
      }
    }
    ```

##### Patch Changes

-   Throw an exception if pnpm switches to the same version of itself.
-   Reduce memory usage during peer dependencies resolution.

###
[`v9.9.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#990)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.8.0...v9.9.0)

##### Minor Changes

- **Minor breaking change.** This change might result in resolving your
peer dependencies slightly differently but we don't expect it to
introduce issues.

We had to optimize how we resolve peer dependencies in order to fix some
[infinite loops and out-of-memory errors during peer dependencies
resolution](https://redirect.github.com/pnpm/pnpm/issues/8370).

When a peer dependency is a prod dependency somewhere in the dependency
graph (with the same version), pnpm will resolve the peers of that peer
dependency in the same way across the subgraph.

For example, we have `react-dom` in the peer deps of the `form` and
`button` packages. `card` has `react-dom` and `react` as regular
dependencies and `card` is a dependency of `form`.

    These are the direct dependencies of our example project:

        form
        react@16
        react-dom@16

    These are the dependencies of card:

        button
        react@17
        react-dom@16

When resolving peers, pnpm will not re-resolve `react-dom` for `card`,
even though `card` shadows `react@16` from the root with `react@17`. So,
all 3 packages (`form`, `card`, and `button`) will use `react-dom@16`,
which in turn uses `react@16`. `form` will use `react@16`, while `card`
and `button` will use `react@17`.

Before this optimization `react-dom@16` was duplicated for the `card`,
so that `card` and `button` would use a `react-dom@16` instance that
uses `react@17`.

    Before the change:

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@17)
        -> react@17
        button
        -> react-dom@16(react@17)
        -> react@17

    After the change

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@16)
        -> react@17
        button
        -> react-dom@16(react@16)
        -> react@17

##### Patch Changes

- `pnpm deploy` should write the `node_modules/.modules.yaml` to the
`node_modules` directory within the deploy directory
[#&#8203;7731](https://redirect.github.com/pnpm/pnpm/issues/7731).
- Don't override a symlink in `node_modules` if it already points to the
right location
[pnpm/symlink-dir#54](https://redirect.github.com/pnpm/symlink-dir/pull/54).

###
[`v9.8.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#980)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.1...v9.8.0)

##### Minor Changes

- Added a new command for upgrading pnpm itself when it isn't managed by
Corepack: `pnpm self-update`. This command will work, when pnpm was
installed via the standalone script from the [pnpm installation
page](https://pnpm.io/installation#using-a-standalone-script)
[#&#8203;8424](https://redirect.github.com/pnpm/pnpm/pull/8424).

When executed in a project that has a `packageManager` field in its
`package.json` file, pnpm will update its version in the
`packageManager` field.

##### Patch Changes

- CLI tools installed in the root of the workspace should be added to
the PATH, when running scripts and `use-node-version` is set.

-   `pnpm setup` should never switch to another version of pnpm.

This fixes installation with the standalone script from a directory that
has a `package.json` with the `packageManager` field. pnpm was
installing the version of pnpm specified in the `packageManager` field
due to this issue.

- Ignore non-string value in the os, cpu, libc fields, which checking
optional dependencies
[#&#8203;8431](https://redirect.github.com/pnpm/pnpm/pull/8431).

- Remember the state of edit dir, allow running `pnpm patch-commit` the
second time without having to re-run `pnpm patch`.

###
[`v9.7.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#971)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.0...v9.7.1)

##### Patch Changes

- Fixed passing `public-hoist-pattern` and `hoist-pattern` via env
variables
[#&#8203;8339](https://redirect.github.com/pnpm/pnpm/issues/8339).
- `pnpm setup` no longer creates Batch/Powershell scripts on Linux and
macOS [#&#8203;8418](https://redirect.github.com/pnpm/pnpm/pull/8418).
- When dlx uses cache, use the real directory path not the symlink to
the cache
[#&#8203;8421](https://redirect.github.com/pnpm/pnpm/pull/8421).
- `pnpm exec` now supports executionEnv
[#&#8203;8356](https://redirect.github.com/pnpm/pnpm/issues/8356).
- Remove warnings for non-root `pnpm` field, add warnings for non-root
`pnpm` subfields that aren't `executionEnv`
[#&#8203;8143](https://redirect.github.com/pnpm/pnpm/issues/8413).
- Replace semver in "peerDependency" with workspace protocol
[#&#8203;8355](https://redirect.github.com/pnpm/pnpm/issues/8355).
- Fix a bug in `patch-commit` in which relative path is rejected
[#&#8203;8405](https://redirect.github.com/pnpm/pnpm/pull/8405).
-   Update Node.js in `@pnpm/exe` to v20.

###
[`v9.7.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#970)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.6.0...v9.7.0)

##### Minor Changes

- Added pnpm version management to pnpm. If the
`manage-package-manager-versions` setting is set to `true`, pnpm will
switch to the version specified in the `packageManager` field of
`package.json`
[#&#8203;8363](https://redirect.github.com/pnpm/pnpm/pull/8363). This is
the same field used by Corepack. Example:

    ```json
    {
      "packageManager": "pnpm@9.3.0"
    }
    ```

-   Added the ability to apply patch to all versions:
If the key of `pnpm.patchedDependencies` is a package name without a
version (e.g. `pkg`), pnpm will attempt to apply the patch to all
versions of
    the package. Failures will be skipped.
If it is a package name and an exact version (e.g. `pkg@x.y.z`), pnpm
will attempt to apply the patch to that exact version only. Failures
will
    cause pnpm to fail.

If there's only one version of `pkg` installed, `pnpm patch pkg` and
subsequent `pnpm patch-commit $edit_dir` will create an entry named
`pkg` in
`pnpm.patchedDependencies`. And pnpm will attempt to apply this patch to
other versions of `pkg` in the future.

If there are multiple versions of `pkg` installed, `pnpm patch pkg` will
ask which version to edit and whether to attempt to apply the patch to
all.
If the user chooses to apply the patch to all, `pnpm patch-commit
$edit_dir` would create a `pkg` entry in `pnpm.patchedDependencies`.
If the user chooses not to apply the patch to all, `pnpm patch-commit
$edit_dir` would create a `pkg@x.y.z` entry in
`pnpm.patchedDependencies` with
    `x.y.z` being the version the user chose to edit.

If the user runs `pnpm patch pkg@x.y.z` with `x.y.z` being the exact
version of `pkg` that has been installed, `pnpm patch-commit $edit_dir`
will always
    create a `pkg@x.y.z` entry in `pnpm.patchedDependencies`.

- Change the default edit dir location when running `pnpm patch` from a
temporary directory to `node_modules/.pnpm_patches/pkg[@&#8203;version]`
to allow the code editor to open the edit dir in the same file tree as
the main project.

- Substitute environment variables in config keys
[#&#8203;6679](https://redirect.github.com/pnpm/pnpm/issues/6679).

##### Patch Changes

- `pnpm install` should run `node-gyp rebuild` if the project has a
`binding.gyp` file even if the project doesn't have an install script
[#&#8203;8293](https://redirect.github.com/pnpm/pnpm/issues/8293).
- Print warnings to stderr
[#&#8203;8342](https://redirect.github.com/pnpm/pnpm/pull/8342).
- Peer dependencies of optional peer dependencies should be
automatically installed
[#&#8203;8323](https://redirect.github.com/pnpm/pnpm/issues/8323).

###
[`v9.6.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#960)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.5.0...v9.6.0)

##### Minor Changes

- Support specifying node version (via `pnpm.executionEnv.nodeVersion`
in `package.json`) for running lifecycle scripts per each package in a
workspace
[#&#8203;6720](https://redirect.github.com/pnpm/pnpm/issues/6720).
- Overrides now support the [`catalogs:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8303](https://redirect.github.com/pnpm/pnpm/issues/8303).

##### Patch Changes

- The `pnpm deploy` command now supports the [`catalog:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8298](https://redirect.github.com/pnpm/pnpm/pull/8298).
- The `pnpm outdated` command now supports the [`catalog:`
protocol](https://pnpm.io/catalogs)
[#&#8203;8304](https://redirect.github.com/pnpm/pnpm/pull/8304).
- Correct the error message when trying to run `pnpm patch` without
`node_modules/.modules.yaml`
[#&#8203;8257](https://redirect.github.com/pnpm/pnpm/issues/8257).
- Silent reporting fixed with the `pnpm exec` command
[#&#8203;7608](https://redirect.github.com/pnpm/pnpm/issues/7608).
- Add registries information to the calculation of dlx cache hash
[#&#8203;8299](https://redirect.github.com/pnpm/pnpm/pull/8299).

</details>

---

### Configuration

📅 **Schedule**: 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/JoshuaKGoldberg/tidelift-me-up).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to JoshuaKGoldberg/release-it-action that referenced this pull request Nov 21, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
[`9.7.1` ->
`9.13.2`](https://renovatebot.com/diffs/npm/pnpm/9.7.1/9.13.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.7.1/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.7.1/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

###
[`v9.13.2`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.2):
pnpm 9.13.2

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.1...v9.13.2)

#### Patch Changes

- Detection of circular peer dependencies should not crash with aliased
dependencies
[#&#8203;8759](https://redirect.github.com/pnpm/pnpm/issues/8759). Fixes
a regression introduced in the previous version.
- Fix race condition of symlink creations caused by multiple parallel
`dlx` processes.

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.1):
pnpm 9.13.1

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.0...v9.13.1)

#### Patch Changes

- Fixed some edge cases where resolving circular peer dependencies
caused a dead lock
[#&#8203;8720](https://redirect.github.com/pnpm/pnpm/issues/8720).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=readme"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.0):
pnpm 9.13

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.3...v9.13.0)

#### Minor Changes

- The `self-update` now accepts a version specifier to install a
specific version of pnpm. E.g.:

        pnpm self-update 9.5.0

    or

        pnpm self-update next-10

#### Patch Changes

- Fix `Cannot read properties of undefined (reading 'name')` that is
printed while trying to render the missing peer dependencies warning
message
[#&#8203;8538](https://redirect.github.com/pnpm/pnpm/issues/8538).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.12.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9123)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.2...v9.12.3)

##### Patch Changes

- Don't purge `node_modules`, when typing "n" in the prompt that asks
whether to remove `node_modules` before installation
[#&#8203;8655](https://redirect.github.com/pnpm/pnpm/pull/8655).
- Fix a bug causing pnpm to infinitely spawn itself when
`manage-package-manager-versions=true` is set and the `.tools` directory
is corrupt.
- Use `crypto.hash`, when available, for improved performance
[#&#8203;8629](https://redirect.github.com/pnpm/pnpm/pull/8629).
- Fixed a race condition in temporary file creation in the store by
including worker thread ID in filename. Previously, multiple worker
threads could attempt to use the same temporary file. Temporary files
now include both process ID and thread ID for uniqueness
[#&#8203;8703](https://redirect.github.com/pnpm/pnpm/pull/8703).
- All commands should read settings from the `package.json` at the root
of the workspace
[#&#8203;8667](https://redirect.github.com/pnpm/pnpm/issues/8667).
- When `manage-package-manager-versions` is set to `true`, errors
spawning a self-managed version of `pnpm` will now be shown (instead of
being silent).
-   Pass the find command to npm, it is an alias for npm search

###
[`v9.12.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9122)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.1...v9.12.2)

##### Patch Changes

- When checking whether a file in the store has executable permissions,
the new approach checks if at least one of the executable bits (owner,
group, and others) is set to 1. Previously, a file was incorrectly
considered executable only when all the executable bits were set to 1.
This fix ensures that files with any executable permission, regardless
of the user class, are now correctly identified as executable
[#&#8203;8546](https://redirect.github.com/pnpm/pnpm/issues/8546).

###
[`v9.12.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9121)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.0...v9.12.1)

##### Patch Changes

- `pnpm update --latest` should not update the automatically installed
peer dependencies
[#&#8203;6657](https://redirect.github.com/pnpm/pnpm/issues/6657).
- `pnpm publish` should be able to publish from a local tarball
[#&#8203;7950](https://redirect.github.com/pnpm/pnpm/issues/7950).
- The pnpx command should work correctly on Windows, when pnpm is
installed via the standalone installation script
[#&#8203;8608](https://redirect.github.com/pnpm/pnpm/pull/8608).
- Prevent `EBUSY` errors caused by creating symlinks in parallel `dlx`
processes
[#&#8203;8604](https://redirect.github.com/pnpm/pnpm/pull/8604).
- Fix maximum call stack size exceeded error related to circular
workspace dependencies
[#&#8203;8599](https://redirect.github.com/pnpm/pnpm/pull/8599).

###
[`v9.12.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9120)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.11.0...v9.12.0)

##### Minor Changes

- Fix peer dependency resolution dead lock
[#&#8203;8570](https://redirect.github.com/pnpm/pnpm/issues/8570). This
change might change some of the keys in the `snapshots` field inside
`pnpm-lock.yaml` but it should happen very rarely.
- `pnpm outdated` command supports now a `--sort-by=name` option for
sorting outdated dependencies by package name
[#&#8203;8523](https://redirect.github.com/pnpm/pnpm/pull/8523).
- Added the ability for `overrides` to remove dependencies by specifying
`"-"` as the field value
[#&#8203;8572](https://redirect.github.com/pnpm/pnpm/issues/8572). For
example, to remove `lodash` from the dependencies, use this
configuration in `package.json`:

    ```json
    {
      "pnpm": {
        "overrides": {
          "lodash": "-"
        }
      }
    }
    ```

##### Patch Changes

- Fixed an issue where `pnpm list --json pkg` showed `"private": false`
for a private package
[#&#8203;8519](https://redirect.github.com/pnpm/pnpm/issues/8519).
- Packages with `libc` that differ from
`pnpm.supportedArchitectures.libc` are not downloaded
[#&#8203;7362](https://redirect.github.com/pnpm/pnpm/issues/7362).
- Prevent `ENOENT` errors caused by running `store prune` in parallel
[#&#8203;8586](https://redirect.github.com/pnpm/pnpm/pull/8586).
- Add issues alias to `pnpm bugs`
[#&#8203;8596](https://redirect.github.com/pnpm/pnpm/pull/8596).

###
[`v9.11.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9110)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.10.0...v9.11.0)

##### Minor Changes

- Experimental: added `pnpm cache` commands for inspecting the metadata
cache [#&#8203;8512](https://redirect.github.com/pnpm/pnpm/pull/8512).

##### Patch Changes

- Fix a regression in which `pnpm deploy` with `node-linker=hoisted`
produces an empty `node_modules` directory
[#&#8203;6682](https://redirect.github.com/pnpm/pnpm/issues/6682).
- Don't print a warning when linking packages globally
[#&#8203;4761](https://redirect.github.com/pnpm/pnpm/issues/4761).
- `pnpm deploy` should work in workspace with
`shared-workspace-lockfile=false`
[#&#8203;8475](https://redirect.github.com/pnpm/pnpm/issues/8475).

###
[`v9.10.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9100)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.9.0...v9.10.0)

##### Minor Changes

- Support for a new CLI flag, `--exclude-peers`, added to the `list` and
`why` commands. When `--exclude-peers` is used, peer dependencies are
not printed in the results, but dependencies of peer dependencies are
still scanned
[#&#8203;8506](https://redirect.github.com/pnpm/pnpm/pull/8506).
- Added a new setting to `package.json` at
`pnpm.auditConfig.ignoreGhsas` for ignoring vulnerabilities by their
GHSA code
[#&#8203;6838](https://redirect.github.com/pnpm/pnpm/issues/6838).

    For instance:

    ```json
    {
      "pnpm": {
        "auditConfig": {
          "ignoreGhsas": [
            "GHSA-42xw-2xvc-qx8m",
            "GHSA-4w2v-q235-vp99",
            "GHSA-cph5-m8f7-6c5x",
            "GHSA-vh95-rmgr-6w4m"
          ]
        }
      }
    }
    ```

##### Patch Changes

-   Throw an exception if pnpm switches to the same version of itself.
-   Reduce memory usage during peer dependencies resolution.

###
[`v9.9.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#990)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.8.0...v9.9.0)

##### Minor Changes

- **Minor breaking change.** This change might result in resolving your
peer dependencies slightly differently but we don't expect it to
introduce issues.

We had to optimize how we resolve peer dependencies in order to fix some
[infinite loops and out-of-memory errors during peer dependencies
resolution](https://redirect.github.com/pnpm/pnpm/issues/8370).

When a peer dependency is a prod dependency somewhere in the dependency
graph (with the same version), pnpm will resolve the peers of that peer
dependency in the same way across the subgraph.

For example, we have `react-dom` in the peer deps of the `form` and
`button` packages. `card` has `react-dom` and `react` as regular
dependencies and `card` is a dependency of `form`.

    These are the direct dependencies of our example project:

        form
        react@16
        react-dom@16

    These are the dependencies of card:

        button
        react@17
        react-dom@16

When resolving peers, pnpm will not re-resolve `react-dom` for `card`,
even though `card` shadows `react@16` from the root with `react@17`. So,
all 3 packages (`form`, `card`, and `button`) will use `react-dom@16`,
which in turn uses `react@16`. `form` will use `react@16`, while `card`
and `button` will use `react@17`.

Before this optimization `react-dom@16` was duplicated for the `card`,
so that `card` and `button` would use a `react-dom@16` instance that
uses `react@17`.

    Before the change:

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@17)
        -> react@17
        button
        -> react-dom@16(react@17)
        -> react@17

    After the change

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@16)
        -> react@17
        button
        -> react-dom@16(react@16)
        -> react@17

##### Patch Changes

- `pnpm deploy` should write the `node_modules/.modules.yaml` to the
`node_modules` directory within the deploy directory
[#&#8203;7731](https://redirect.github.com/pnpm/pnpm/issues/7731).
- Don't override a symlink in `node_modules` if it already points to the
right location
[pnpm/symlink-dir#54](https://redirect.github.com/pnpm/symlink-dir/pull/54).

###
[`v9.8.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#980)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.1...v9.8.0)

##### Minor Changes

- Added a new command for upgrading pnpm itself when it isn't managed by
Corepack: `pnpm self-update`. This command will work, when pnpm was
installed via the standalone script from the [pnpm installation
page](https://pnpm.io/installation#using-a-standalone-script)
[#&#8203;8424](https://redirect.github.com/pnpm/pnpm/pull/8424).

When executed in a project that has a `packageManager` field in its
`package.json` file, pnpm will update its version in the
`packageManager` field.

##### Patch Changes

- CLI tools installed in the root of the workspace should be added to
the PATH, when running scripts and `use-node-version` is set.

-   `pnpm setup` should never switch to another version of pnpm.

This fixes installation with the standalone script from a directory that
has a `package.json` with the `packageManager` field. pnpm was
installing the version of pnpm specified in the `packageManager` field
due to this issue.

- Ignore non-string value in the os, cpu, libc fields, which checking
optional dependencies
[#&#8203;8431](https://redirect.github.com/pnpm/pnpm/pull/8431).

- Remember the state of edit dir, allow running `pnpm patch-commit` the
second time without having to re-run `pnpm patch`.

</details>

---

### Configuration

📅 **Schedule**: 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/JoshuaKGoldberg/release-it-action).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to JoshuaKGoldberg/github-username-to-emails that referenced this pull request Nov 21, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
[`9.7.1` ->
`9.13.2`](https://renovatebot.com/diffs/npm/pnpm/9.7.1/9.13.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.7.1/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.7.1/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

###
[`v9.13.2`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.2):
pnpm 9.13.2

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.1...v9.13.2)

#### Patch Changes

- Detection of circular peer dependencies should not crash with aliased
dependencies
[#&#8203;8759](https://redirect.github.com/pnpm/pnpm/issues/8759). Fixes
a regression introduced in the previous version.
- Fix race condition of symlink creations caused by multiple parallel
`dlx` processes.

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.1):
pnpm 9.13.1

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.0...v9.13.1)

#### Patch Changes

- Fixed some edge cases where resolving circular peer dependencies
caused a dead lock
[#&#8203;8720](https://redirect.github.com/pnpm/pnpm/issues/8720).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=readme"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.0):
pnpm 9.13

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.3...v9.13.0)

#### Minor Changes

- The `self-update` now accepts a version specifier to install a
specific version of pnpm. E.g.:

        pnpm self-update 9.5.0

    or

        pnpm self-update next-10

#### Patch Changes

- Fix `Cannot read properties of undefined (reading 'name')` that is
printed while trying to render the missing peer dependencies warning
message
[#&#8203;8538](https://redirect.github.com/pnpm/pnpm/issues/8538).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.12.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9123)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.2...v9.12.3)

##### Patch Changes

- Don't purge `node_modules`, when typing "n" in the prompt that asks
whether to remove `node_modules` before installation
[#&#8203;8655](https://redirect.github.com/pnpm/pnpm/pull/8655).
- Fix a bug causing pnpm to infinitely spawn itself when
`manage-package-manager-versions=true` is set and the `.tools` directory
is corrupt.
- Use `crypto.hash`, when available, for improved performance
[#&#8203;8629](https://redirect.github.com/pnpm/pnpm/pull/8629).
- Fixed a race condition in temporary file creation in the store by
including worker thread ID in filename. Previously, multiple worker
threads could attempt to use the same temporary file. Temporary files
now include both process ID and thread ID for uniqueness
[#&#8203;8703](https://redirect.github.com/pnpm/pnpm/pull/8703).
- All commands should read settings from the `package.json` at the root
of the workspace
[#&#8203;8667](https://redirect.github.com/pnpm/pnpm/issues/8667).
- When `manage-package-manager-versions` is set to `true`, errors
spawning a self-managed version of `pnpm` will now be shown (instead of
being silent).
-   Pass the find command to npm, it is an alias for npm search

###
[`v9.12.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9122)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.1...v9.12.2)

##### Patch Changes

- When checking whether a file in the store has executable permissions,
the new approach checks if at least one of the executable bits (owner,
group, and others) is set to 1. Previously, a file was incorrectly
considered executable only when all the executable bits were set to 1.
This fix ensures that files with any executable permission, regardless
of the user class, are now correctly identified as executable
[#&#8203;8546](https://redirect.github.com/pnpm/pnpm/issues/8546).

###
[`v9.12.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9121)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.0...v9.12.1)

##### Patch Changes

- `pnpm update --latest` should not update the automatically installed
peer dependencies
[#&#8203;6657](https://redirect.github.com/pnpm/pnpm/issues/6657).
- `pnpm publish` should be able to publish from a local tarball
[#&#8203;7950](https://redirect.github.com/pnpm/pnpm/issues/7950).
- The pnpx command should work correctly on Windows, when pnpm is
installed via the standalone installation script
[#&#8203;8608](https://redirect.github.com/pnpm/pnpm/pull/8608).
- Prevent `EBUSY` errors caused by creating symlinks in parallel `dlx`
processes
[#&#8203;8604](https://redirect.github.com/pnpm/pnpm/pull/8604).
- Fix maximum call stack size exceeded error related to circular
workspace dependencies
[#&#8203;8599](https://redirect.github.com/pnpm/pnpm/pull/8599).

###
[`v9.12.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9120)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.11.0...v9.12.0)

##### Minor Changes

- Fix peer dependency resolution dead lock
[#&#8203;8570](https://redirect.github.com/pnpm/pnpm/issues/8570). This
change might change some of the keys in the `snapshots` field inside
`pnpm-lock.yaml` but it should happen very rarely.
- `pnpm outdated` command supports now a `--sort-by=name` option for
sorting outdated dependencies by package name
[#&#8203;8523](https://redirect.github.com/pnpm/pnpm/pull/8523).
- Added the ability for `overrides` to remove dependencies by specifying
`"-"` as the field value
[#&#8203;8572](https://redirect.github.com/pnpm/pnpm/issues/8572). For
example, to remove `lodash` from the dependencies, use this
configuration in `package.json`:

    ```json
    {
      "pnpm": {
        "overrides": {
          "lodash": "-"
        }
      }
    }
    ```

##### Patch Changes

- Fixed an issue where `pnpm list --json pkg` showed `"private": false`
for a private package
[#&#8203;8519](https://redirect.github.com/pnpm/pnpm/issues/8519).
- Packages with `libc` that differ from
`pnpm.supportedArchitectures.libc` are not downloaded
[#&#8203;7362](https://redirect.github.com/pnpm/pnpm/issues/7362).
- Prevent `ENOENT` errors caused by running `store prune` in parallel
[#&#8203;8586](https://redirect.github.com/pnpm/pnpm/pull/8586).
- Add issues alias to `pnpm bugs`
[#&#8203;8596](https://redirect.github.com/pnpm/pnpm/pull/8596).

###
[`v9.11.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9110)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.10.0...v9.11.0)

##### Minor Changes

- Experimental: added `pnpm cache` commands for inspecting the metadata
cache [#&#8203;8512](https://redirect.github.com/pnpm/pnpm/pull/8512).

##### Patch Changes

- Fix a regression in which `pnpm deploy` with `node-linker=hoisted`
produces an empty `node_modules` directory
[#&#8203;6682](https://redirect.github.com/pnpm/pnpm/issues/6682).
- Don't print a warning when linking packages globally
[#&#8203;4761](https://redirect.github.com/pnpm/pnpm/issues/4761).
- `pnpm deploy` should work in workspace with
`shared-workspace-lockfile=false`
[#&#8203;8475](https://redirect.github.com/pnpm/pnpm/issues/8475).

###
[`v9.10.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9100)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.9.0...v9.10.0)

##### Minor Changes

- Support for a new CLI flag, `--exclude-peers`, added to the `list` and
`why` commands. When `--exclude-peers` is used, peer dependencies are
not printed in the results, but dependencies of peer dependencies are
still scanned
[#&#8203;8506](https://redirect.github.com/pnpm/pnpm/pull/8506).
- Added a new setting to `package.json` at
`pnpm.auditConfig.ignoreGhsas` for ignoring vulnerabilities by their
GHSA code
[#&#8203;6838](https://redirect.github.com/pnpm/pnpm/issues/6838).

    For instance:

    ```json
    {
      "pnpm": {
        "auditConfig": {
          "ignoreGhsas": [
            "GHSA-42xw-2xvc-qx8m",
            "GHSA-4w2v-q235-vp99",
            "GHSA-cph5-m8f7-6c5x",
            "GHSA-vh95-rmgr-6w4m"
          ]
        }
      }
    }
    ```

##### Patch Changes

-   Throw an exception if pnpm switches to the same version of itself.
-   Reduce memory usage during peer dependencies resolution.

###
[`v9.9.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#990)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.8.0...v9.9.0)

##### Minor Changes

- **Minor breaking change.** This change might result in resolving your
peer dependencies slightly differently but we don't expect it to
introduce issues.

We had to optimize how we resolve peer dependencies in order to fix some
[infinite loops and out-of-memory errors during peer dependencies
resolution](https://redirect.github.com/pnpm/pnpm/issues/8370).

When a peer dependency is a prod dependency somewhere in the dependency
graph (with the same version), pnpm will resolve the peers of that peer
dependency in the same way across the subgraph.

For example, we have `react-dom` in the peer deps of the `form` and
`button` packages. `card` has `react-dom` and `react` as regular
dependencies and `card` is a dependency of `form`.

    These are the direct dependencies of our example project:

        form
        react@16
        react-dom@16

    These are the dependencies of card:

        button
        react@17
        react-dom@16

When resolving peers, pnpm will not re-resolve `react-dom` for `card`,
even though `card` shadows `react@16` from the root with `react@17`. So,
all 3 packages (`form`, `card`, and `button`) will use `react-dom@16`,
which in turn uses `react@16`. `form` will use `react@16`, while `card`
and `button` will use `react@17`.

Before this optimization `react-dom@16` was duplicated for the `card`,
so that `card` and `button` would use a `react-dom@16` instance that
uses `react@17`.

    Before the change:

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@17)
        -> react@17
        button
        -> react-dom@16(react@17)
        -> react@17

    After the change

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@16)
        -> react@17
        button
        -> react-dom@16(react@16)
        -> react@17

##### Patch Changes

- `pnpm deploy` should write the `node_modules/.modules.yaml` to the
`node_modules` directory within the deploy directory
[#&#8203;7731](https://redirect.github.com/pnpm/pnpm/issues/7731).
- Don't override a symlink in `node_modules` if it already points to the
right location
[pnpm/symlink-dir#54](https://redirect.github.com/pnpm/symlink-dir/pull/54).

###
[`v9.8.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#980)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.1...v9.8.0)

##### Minor Changes

- Added a new command for upgrading pnpm itself when it isn't managed by
Corepack: `pnpm self-update`. This command will work, when pnpm was
installed via the standalone script from the [pnpm installation
page](https://pnpm.io/installation#using-a-standalone-script)
[#&#8203;8424](https://redirect.github.com/pnpm/pnpm/pull/8424).

When executed in a project that has a `packageManager` field in its
`package.json` file, pnpm will update its version in the
`packageManager` field.

##### Patch Changes

- CLI tools installed in the root of the workspace should be added to
the PATH, when running scripts and `use-node-version` is set.

-   `pnpm setup` should never switch to another version of pnpm.

This fixes installation with the standalone script from a directory that
has a `package.json` with the `packageManager` field. pnpm was
installing the version of pnpm specified in the `packageManager` field
due to this issue.

- Ignore non-string value in the os, cpu, libc fields, which checking
optional dependencies
[#&#8203;8431](https://redirect.github.com/pnpm/pnpm/pull/8431).

- Remember the state of edit dir, allow running `pnpm patch-commit` the
second time without having to re-run `pnpm patch`.

</details>

---

### Configuration

📅 **Schedule**: 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/JoshuaKGoldberg/github-username-to-emails).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to JoshuaKGoldberg/are-docs-informative that referenced this pull request Nov 22, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
[`9.6.0` ->
`9.13.2`](https://renovatebot.com/diffs/npm/pnpm/9.6.0/9.13.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.6.0/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.6.0/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

###
[`v9.13.2`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.2):
pnpm 9.13.2

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.1...v9.13.2)

#### Patch Changes

- Detection of circular peer dependencies should not crash with aliased
dependencies
[#&#8203;8759](https://redirect.github.com/pnpm/pnpm/issues/8759). Fixes
a regression introduced in the previous version.
- Fix race condition of symlink creations caused by multiple parallel
`dlx` processes.

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.1):
pnpm 9.13.1

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.0...v9.13.1)

#### Patch Changes

- Fixed some edge cases where resolving circular peer dependencies
caused a dead lock
[#&#8203;8720](https://redirect.github.com/pnpm/pnpm/issues/8720).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=readme"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.0):
pnpm 9.13

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.3...v9.13.0)

#### Minor Changes

- The `self-update` now accepts a version specifier to install a
specific version of pnpm. E.g.:

        pnpm self-update 9.5.0

    or

        pnpm self-update next-10

#### Patch Changes

- Fix `Cannot read properties of undefined (reading 'name')` that is
printed while trying to render the missing peer dependencies warning
message
[#&#8203;8538](https://redirect.github.com/pnpm/pnpm/issues/8538).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.12.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9123)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.2...v9.12.3)

##### Patch Changes

- Don't purge `node_modules`, when typing "n" in the prompt that asks
whether to remove `node_modules` before installation
[#&#8203;8655](https://redirect.github.com/pnpm/pnpm/pull/8655).
- Fix a bug causing pnpm to infinitely spawn itself when
`manage-package-manager-versions=true` is set and the `.tools` directory
is corrupt.
- Use `crypto.hash`, when available, for improved performance
[#&#8203;8629](https://redirect.github.com/pnpm/pnpm/pull/8629).
- Fixed a race condition in temporary file creation in the store by
including worker thread ID in filename. Previously, multiple worker
threads could attempt to use the same temporary file. Temporary files
now include both process ID and thread ID for uniqueness
[#&#8203;8703](https://redirect.github.com/pnpm/pnpm/pull/8703).
- All commands should read settings from the `package.json` at the root
of the workspace
[#&#8203;8667](https://redirect.github.com/pnpm/pnpm/issues/8667).
- When `manage-package-manager-versions` is set to `true`, errors
spawning a self-managed version of `pnpm` will now be shown (instead of
being silent).
-   Pass the find command to npm, it is an alias for npm search

###
[`v9.12.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9122)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.1...v9.12.2)

##### Patch Changes

- When checking whether a file in the store has executable permissions,
the new approach checks if at least one of the executable bits (owner,
group, and others) is set to 1. Previously, a file was incorrectly
considered executable only when all the executable bits were set to 1.
This fix ensures that files with any executable permission, regardless
of the user class, are now correctly identified as executable
[#&#8203;8546](https://redirect.github.com/pnpm/pnpm/issues/8546).

###
[`v9.12.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9121)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.0...v9.12.1)

##### Patch Changes

- `pnpm update --latest` should not update the automatically installed
peer dependencies
[#&#8203;6657](https://redirect.github.com/pnpm/pnpm/issues/6657).
- `pnpm publish` should be able to publish from a local tarball
[#&#8203;7950](https://redirect.github.com/pnpm/pnpm/issues/7950).
- The pnpx command should work correctly on Windows, when pnpm is
installed via the standalone installation script
[#&#8203;8608](https://redirect.github.com/pnpm/pnpm/pull/8608).
- Prevent `EBUSY` errors caused by creating symlinks in parallel `dlx`
processes
[#&#8203;8604](https://redirect.github.com/pnpm/pnpm/pull/8604).
- Fix maximum call stack size exceeded error related to circular
workspace dependencies
[#&#8203;8599](https://redirect.github.com/pnpm/pnpm/pull/8599).

###
[`v9.12.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9120)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.11.0...v9.12.0)

##### Minor Changes

- Fix peer dependency resolution dead lock
[#&#8203;8570](https://redirect.github.com/pnpm/pnpm/issues/8570). This
change might change some of the keys in the `snapshots` field inside
`pnpm-lock.yaml` but it should happen very rarely.
- `pnpm outdated` command supports now a `--sort-by=name` option for
sorting outdated dependencies by package name
[#&#8203;8523](https://redirect.github.com/pnpm/pnpm/pull/8523).
- Added the ability for `overrides` to remove dependencies by specifying
`"-"` as the field value
[#&#8203;8572](https://redirect.github.com/pnpm/pnpm/issues/8572). For
example, to remove `lodash` from the dependencies, use this
configuration in `package.json`:

    ```json
    {
      "pnpm": {
        "overrides": {
          "lodash": "-"
        }
      }
    }
    ```

##### Patch Changes

- Fixed an issue where `pnpm list --json pkg` showed `"private": false`
for a private package
[#&#8203;8519](https://redirect.github.com/pnpm/pnpm/issues/8519).
- Packages with `libc` that differ from
`pnpm.supportedArchitectures.libc` are not downloaded
[#&#8203;7362](https://redirect.github.com/pnpm/pnpm/issues/7362).
- Prevent `ENOENT` errors caused by running `store prune` in parallel
[#&#8203;8586](https://redirect.github.com/pnpm/pnpm/pull/8586).
- Add issues alias to `pnpm bugs`
[#&#8203;8596](https://redirect.github.com/pnpm/pnpm/pull/8596).

###
[`v9.11.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9110)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.10.0...v9.11.0)

##### Minor Changes

- Experimental: added `pnpm cache` commands for inspecting the metadata
cache [#&#8203;8512](https://redirect.github.com/pnpm/pnpm/pull/8512).

##### Patch Changes

- Fix a regression in which `pnpm deploy` with `node-linker=hoisted`
produces an empty `node_modules` directory
[#&#8203;6682](https://redirect.github.com/pnpm/pnpm/issues/6682).
- Don't print a warning when linking packages globally
[#&#8203;4761](https://redirect.github.com/pnpm/pnpm/issues/4761).
- `pnpm deploy` should work in workspace with
`shared-workspace-lockfile=false`
[#&#8203;8475](https://redirect.github.com/pnpm/pnpm/issues/8475).

###
[`v9.10.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9100)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.9.0...v9.10.0)

##### Minor Changes

- Support for a new CLI flag, `--exclude-peers`, added to the `list` and
`why` commands. When `--exclude-peers` is used, peer dependencies are
not printed in the results, but dependencies of peer dependencies are
still scanned
[#&#8203;8506](https://redirect.github.com/pnpm/pnpm/pull/8506).
- Added a new setting to `package.json` at
`pnpm.auditConfig.ignoreGhsas` for ignoring vulnerabilities by their
GHSA code
[#&#8203;6838](https://redirect.github.com/pnpm/pnpm/issues/6838).

    For instance:

    ```json
    {
      "pnpm": {
        "auditConfig": {
          "ignoreGhsas": [
            "GHSA-42xw-2xvc-qx8m",
            "GHSA-4w2v-q235-vp99",
            "GHSA-cph5-m8f7-6c5x",
            "GHSA-vh95-rmgr-6w4m"
          ]
        }
      }
    }
    ```

##### Patch Changes

-   Throw an exception if pnpm switches to the same version of itself.
-   Reduce memory usage during peer dependencies resolution.

###
[`v9.9.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#990)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.8.0...v9.9.0)

##### Minor Changes

- **Minor breaking change.** This change might result in resolving your
peer dependencies slightly differently but we don't expect it to
introduce issues.

We had to optimize how we resolve peer dependencies in order to fix some
[infinite loops and out-of-memory errors during peer dependencies
resolution](https://redirect.github.com/pnpm/pnpm/issues/8370).

When a peer dependency is a prod dependency somewhere in the dependency
graph (with the same version), pnpm will resolve the peers of that peer
dependency in the same way across the subgraph.

For example, we have `react-dom` in the peer deps of the `form` and
`button` packages. `card` has `react-dom` and `react` as regular
dependencies and `card` is a dependency of `form`.

    These are the direct dependencies of our example project:

        form
        react@16
        react-dom@16

    These are the dependencies of card:

        button
        react@17
        react-dom@16

When resolving peers, pnpm will not re-resolve `react-dom` for `card`,
even though `card` shadows `react@16` from the root with `react@17`. So,
all 3 packages (`form`, `card`, and `button`) will use `react-dom@16`,
which in turn uses `react@16`. `form` will use `react@16`, while `card`
and `button` will use `react@17`.

Before this optimization `react-dom@16` was duplicated for the `card`,
so that `card` and `button` would use a `react-dom@16` instance that
uses `react@17`.

    Before the change:

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@17)
        -> react@17
        button
        -> react-dom@16(react@17)
        -> react@17

    After the change

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@16)
        -> react@17
        button
        -> react-dom@16(react@16)
        -> react@17

##### Patch Changes

- `pnpm deploy` should write the `node_modules/.modules.yaml` to the
`node_modules` directory within the deploy directory
[#&#8203;7731](https://redirect.github.com/pnpm/pnpm/issues/7731).
- Don't override a symlink in `node_modules` if it already points to the
right location
[pnpm/symlink-dir#54](https://redirect.github.com/pnpm/symlink-dir/pull/54).

###
[`v9.8.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#980)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.1...v9.8.0)

##### Minor Changes

- Added a new command for upgrading pnpm itself when it isn't managed by
Corepack: `pnpm self-update`. This command will work, when pnpm was
installed via the standalone script from the [pnpm installation
page](https://pnpm.io/installation#using-a-standalone-script)
[#&#8203;8424](https://redirect.github.com/pnpm/pnpm/pull/8424).

When executed in a project that has a `packageManager` field in its
`package.json` file, pnpm will update its version in the
`packageManager` field.

##### Patch Changes

- CLI tools installed in the root of the workspace should be added to
the PATH, when running scripts and `use-node-version` is set.

-   `pnpm setup` should never switch to another version of pnpm.

This fixes installation with the standalone script from a directory that
has a `package.json` with the `packageManager` field. pnpm was
installing the version of pnpm specified in the `packageManager` field
due to this issue.

- Ignore non-string value in the os, cpu, libc fields, which checking
optional dependencies
[#&#8203;8431](https://redirect.github.com/pnpm/pnpm/pull/8431).

- Remember the state of edit dir, allow running `pnpm patch-commit` the
second time without having to re-run `pnpm patch`.

###
[`v9.7.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#971)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.0...v9.7.1)

##### Patch Changes

- Fixed passing `public-hoist-pattern` and `hoist-pattern` via env
variables
[#&#8203;8339](https://redirect.github.com/pnpm/pnpm/issues/8339).
- `pnpm setup` no longer creates Batch/Powershell scripts on Linux and
macOS [#&#8203;8418](https://redirect.github.com/pnpm/pnpm/pull/8418).
- When dlx uses cache, use the real directory path not the symlink to
the cache
[#&#8203;8421](https://redirect.github.com/pnpm/pnpm/pull/8421).
- `pnpm exec` now supports executionEnv
[#&#8203;8356](https://redirect.github.com/pnpm/pnpm/issues/8356).
- Remove warnings for non-root `pnpm` field, add warnings for non-root
`pnpm` subfields that aren't `executionEnv`
[#&#8203;8143](https://redirect.github.com/pnpm/pnpm/issues/8413).
- Replace semver in "peerDependency" with workspace protocol
[#&#8203;8355](https://redirect.github.com/pnpm/pnpm/issues/8355).
- Fix a bug in `patch-commit` in which relative path is rejected
[#&#8203;8405](https://redirect.github.com/pnpm/pnpm/pull/8405).
-   Update Node.js in `@pnpm/exe` to v20.

###
[`v9.7.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#970)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.6.0...v9.7.0)

##### Minor Changes

- Added pnpm version management to pnpm. If the
`manage-package-manager-versions` setting is set to `true`, pnpm will
switch to the version specified in the `packageManager` field of
`package.json`
[#&#8203;8363](https://redirect.github.com/pnpm/pnpm/pull/8363). This is
the same field used by Corepack. Example:

    ```json
    {
      "packageManager": "pnpm@9.3.0"
    }
    ```

-   Added the ability to apply patch to all versions:
If the key of `pnpm.patchedDependencies` is a package name without a
version (e.g. `pkg`), pnpm will attempt to apply the patch to all
versions of
    the package. Failures will be skipped.
If it is a package name and an exact version (e.g. `pkg@x.y.z`), pnpm
will attempt to apply the patch to that exact version only. Failures
will
    cause pnpm to fail.

If there's only one version of `pkg` installed, `pnpm patch pkg` and
subsequent `pnpm patch-commit $edit_dir` will create an entry named
`pkg` in
`pnpm.patchedDependencies`. And pnpm will attempt to apply this patch to
other versions of `pkg` in the future.

If there are multiple versions of `pkg` installed, `pnpm patch pkg` will
ask which version to edit and whether to attempt to apply the patch to
all.
If the user chooses to apply the patch to all, `pnpm patch-commit
$edit_dir` would create a `pkg` entry in `pnpm.patchedDependencies`.
If the user chooses not to apply the patch to all, `pnpm patch-commit
$edit_dir` would create a `pkg@x.y.z` entry in
`pnpm.patchedDependencies` with
    `x.y.z` being the version the user chose to edit.

If the user runs `pnpm patch pkg@x.y.z` with `x.y.z` being the exact
version of `pkg` that has been installed, `pnpm patch-commit $edit_dir`
will always
    create a `pkg@x.y.z` entry in `pnpm.patchedDependencies`.

- Change the default edit dir location when running `pnpm patch` from a
temporary directory to `node_modules/.pnpm_patches/pkg[@&#8203;version]`
to allow the code editor to open the edit dir in the same file tree as
the main project.

- Substitute environment variables in config keys
[#&#8203;6679](https://redirect.github.com/pnpm/pnpm/issues/6679).

##### Patch Changes

- `pnpm install` should run `node-gyp rebuild` if the project has a
`binding.gyp` file even if the project doesn't have an install script
[#&#8203;8293](https://redirect.github.com/pnpm/pnpm/issues/8293).
- Print warnings to stderr
[#&#8203;8342](https://redirect.github.com/pnpm/pnpm/pull/8342).
- Peer dependencies of optional peer dependencies should be
automatically installed
[#&#8203;8323](https://redirect.github.com/pnpm/pnpm/issues/8323).

</details>

---

### Configuration

📅 **Schedule**: 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/JoshuaKGoldberg/are-docs-informative).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to JoshuaKGoldberg/github-sponsors-to-markdown that referenced this pull request Nov 22, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
[`9.6.0` ->
`9.13.2`](https://renovatebot.com/diffs/npm/pnpm/9.6.0/9.13.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.6.0/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.6.0/9.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

###
[`v9.13.2`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.2):
pnpm 9.13.2

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.1...v9.13.2)

#### Patch Changes

- Detection of circular peer dependencies should not crash with aliased
dependencies
[#&#8203;8759](https://redirect.github.com/pnpm/pnpm/issues/8759). Fixes
a regression introduced in the previous version.
- Fix race condition of symlink creations caused by multiple parallel
`dlx` processes.

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://macpaw.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/macpaw.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/macpaw_light.svg" />
<img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.1`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.1):
pnpm 9.13.1

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.13.0...v9.13.1)

#### Patch Changes

- Fixed some edge cases where resolving circular peer dependencies
caused a dead lock
[#&#8203;8720](https://redirect.github.com/pnpm/pnpm/issues/8720).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://sanity.io/?utm_source=pnpm&utm_medium=readme"
target="_blank"><img src="https://pnpm.io/img/users/sanity.svg"
width="180" alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.13.0`](https://redirect.github.com/pnpm/pnpm/releases/tag/v9.13.0):
pnpm 9.13

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.3...v9.13.0)

#### Minor Changes

- The `self-update` now accepts a version specifier to install a
specific version of pnpm. E.g.:

        pnpm self-update 9.5.0

    or

        pnpm self-update next-10

#### Patch Changes

- Fix `Cannot read properties of undefined (reading 'name')` that is
printed while trying to render the missing peer dependencies warning
message
[#&#8203;8538](https://redirect.github.com/pnpm/pnpm/issues/8538).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"
alt="Bit"></a>
      </td>
      <td align="center" valign="middle">
<a href="https://figma.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank"><img src="https://pnpm.io/img/users/figma.svg"
width="80" alt="Figma"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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://prisma.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/prisma.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/prisma_light.svg" />
<img src="https://pnpm.io/img/users/prisma.svg" width="180" alt="Prisma"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://uscreen.de/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/uscreen.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/uscreen_light.svg" />
<img src="https://pnpm.io/img/users/uscreen.svg" width="180"
alt="u|screen" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/jetbrains.svg" />
<img src="https://pnpm.io/img/users/jetbrains.svg" width="180"
alt="JetBrains" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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="120" alt="Nx" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a
href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <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>
    <tr>
      <td align="center" valign="middle">
<a href="https://route4me.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/route4me.svg" width="220"
alt="Route4Me" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
<a
href="https://leniolabs.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/leniolabs.jpg" width="80"
alt="Leniolabs_">
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vercel.com/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vercel.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vercel_light.svg" />
<img src="https://pnpm.io/img/users/vercel.svg" width="180" alt="Vercel"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://depot.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/depot.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/depot_light.svg" />
<img src="https://pnpm.io/img/users/depot.svg" width="200" alt="Depot"
/>
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/moonrepo.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
<img src="https://pnpm.io/img/users/moonrepo.svg" width="200"
alt="moonrepo" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://devowl.io/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/devowlio.svg" />
<img src="https://pnpm.io/img/users/devowlio.svg" width="200"
alt="devowl.io" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/cerbos.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/cerbos_light.svg" />
<img src="https://pnpm.io/img/users/cerbos.svg" width="180" alt="Cerbos"
/>
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
<a href="https://vlt.sh/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
          <picture>
<source media="(prefers-color-scheme: light)"
srcset="https://pnpm.io/img/users/vlt.svg" />
<source media="(prefers-color-scheme: dark)"
srcset="https://pnpm.io/img/users/vlt_light.svg" />
<img src="https://pnpm.io/img/users/vlt.svg" width="140" alt="vlt" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
<a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes"
target="_blank">
<img src="https://pnpm.io/img/users/vitejs.svg" width="65" alt="Vite">
        </a>
      </td>
    </tr>
  </tbody>
</table>

###
[`v9.12.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9123)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.2...v9.12.3)

##### Patch Changes

- Don't purge `node_modules`, when typing "n" in the prompt that asks
whether to remove `node_modules` before installation
[#&#8203;8655](https://redirect.github.com/pnpm/pnpm/pull/8655).
- Fix a bug causing pnpm to infinitely spawn itself when
`manage-package-manager-versions=true` is set and the `.tools` directory
is corrupt.
- Use `crypto.hash`, when available, for improved performance
[#&#8203;8629](https://redirect.github.com/pnpm/pnpm/pull/8629).
- Fixed a race condition in temporary file creation in the store by
including worker thread ID in filename. Previously, multiple worker
threads could attempt to use the same temporary file. Temporary files
now include both process ID and thread ID for uniqueness
[#&#8203;8703](https://redirect.github.com/pnpm/pnpm/pull/8703).
- All commands should read settings from the `package.json` at the root
of the workspace
[#&#8203;8667](https://redirect.github.com/pnpm/pnpm/issues/8667).
- When `manage-package-manager-versions` is set to `true`, errors
spawning a self-managed version of `pnpm` will now be shown (instead of
being silent).
-   Pass the find command to npm, it is an alias for npm search

###
[`v9.12.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9122)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.1...v9.12.2)

##### Patch Changes

- When checking whether a file in the store has executable permissions,
the new approach checks if at least one of the executable bits (owner,
group, and others) is set to 1. Previously, a file was incorrectly
considered executable only when all the executable bits were set to 1.
This fix ensures that files with any executable permission, regardless
of the user class, are now correctly identified as executable
[#&#8203;8546](https://redirect.github.com/pnpm/pnpm/issues/8546).

###
[`v9.12.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9121)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.0...v9.12.1)

##### Patch Changes

- `pnpm update --latest` should not update the automatically installed
peer dependencies
[#&#8203;6657](https://redirect.github.com/pnpm/pnpm/issues/6657).
- `pnpm publish` should be able to publish from a local tarball
[#&#8203;7950](https://redirect.github.com/pnpm/pnpm/issues/7950).
- The pnpx command should work correctly on Windows, when pnpm is
installed via the standalone installation script
[#&#8203;8608](https://redirect.github.com/pnpm/pnpm/pull/8608).
- Prevent `EBUSY` errors caused by creating symlinks in parallel `dlx`
processes
[#&#8203;8604](https://redirect.github.com/pnpm/pnpm/pull/8604).
- Fix maximum call stack size exceeded error related to circular
workspace dependencies
[#&#8203;8599](https://redirect.github.com/pnpm/pnpm/pull/8599).

###
[`v9.12.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9120)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.11.0...v9.12.0)

##### Minor Changes

- Fix peer dependency resolution dead lock
[#&#8203;8570](https://redirect.github.com/pnpm/pnpm/issues/8570). This
change might change some of the keys in the `snapshots` field inside
`pnpm-lock.yaml` but it should happen very rarely.
- `pnpm outdated` command supports now a `--sort-by=name` option for
sorting outdated dependencies by package name
[#&#8203;8523](https://redirect.github.com/pnpm/pnpm/pull/8523).
- Added the ability for `overrides` to remove dependencies by specifying
`"-"` as the field value
[#&#8203;8572](https://redirect.github.com/pnpm/pnpm/issues/8572). For
example, to remove `lodash` from the dependencies, use this
configuration in `package.json`:

    ```json
    {
      "pnpm": {
        "overrides": {
          "lodash": "-"
        }
      }
    }
    ```

##### Patch Changes

- Fixed an issue where `pnpm list --json pkg` showed `"private": false`
for a private package
[#&#8203;8519](https://redirect.github.com/pnpm/pnpm/issues/8519).
- Packages with `libc` that differ from
`pnpm.supportedArchitectures.libc` are not downloaded
[#&#8203;7362](https://redirect.github.com/pnpm/pnpm/issues/7362).
- Prevent `ENOENT` errors caused by running `store prune` in parallel
[#&#8203;8586](https://redirect.github.com/pnpm/pnpm/pull/8586).
- Add issues alias to `pnpm bugs`
[#&#8203;8596](https://redirect.github.com/pnpm/pnpm/pull/8596).

###
[`v9.11.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9110)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.10.0...v9.11.0)

##### Minor Changes

- Experimental: added `pnpm cache` commands for inspecting the metadata
cache [#&#8203;8512](https://redirect.github.com/pnpm/pnpm/pull/8512).

##### Patch Changes

- Fix a regression in which `pnpm deploy` with `node-linker=hoisted`
produces an empty `node_modules` directory
[#&#8203;6682](https://redirect.github.com/pnpm/pnpm/issues/6682).
- Don't print a warning when linking packages globally
[#&#8203;4761](https://redirect.github.com/pnpm/pnpm/issues/4761).
- `pnpm deploy` should work in workspace with
`shared-workspace-lockfile=false`
[#&#8203;8475](https://redirect.github.com/pnpm/pnpm/issues/8475).

###
[`v9.10.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9100)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.9.0...v9.10.0)

##### Minor Changes

- Support for a new CLI flag, `--exclude-peers`, added to the `list` and
`why` commands. When `--exclude-peers` is used, peer dependencies are
not printed in the results, but dependencies of peer dependencies are
still scanned
[#&#8203;8506](https://redirect.github.com/pnpm/pnpm/pull/8506).
- Added a new setting to `package.json` at
`pnpm.auditConfig.ignoreGhsas` for ignoring vulnerabilities by their
GHSA code
[#&#8203;6838](https://redirect.github.com/pnpm/pnpm/issues/6838).

    For instance:

    ```json
    {
      "pnpm": {
        "auditConfig": {
          "ignoreGhsas": [
            "GHSA-42xw-2xvc-qx8m",
            "GHSA-4w2v-q235-vp99",
            "GHSA-cph5-m8f7-6c5x",
            "GHSA-vh95-rmgr-6w4m"
          ]
        }
      }
    }
    ```

##### Patch Changes

-   Throw an exception if pnpm switches to the same version of itself.
-   Reduce memory usage during peer dependencies resolution.

###
[`v9.9.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#990)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.8.0...v9.9.0)

##### Minor Changes

- **Minor breaking change.** This change might result in resolving your
peer dependencies slightly differently but we don't expect it to
introduce issues.

We had to optimize how we resolve peer dependencies in order to fix some
[infinite loops and out-of-memory errors during peer dependencies
resolution](https://redirect.github.com/pnpm/pnpm/issues/8370).

When a peer dependency is a prod dependency somewhere in the dependency
graph (with the same version), pnpm will resolve the peers of that peer
dependency in the same way across the subgraph.

For example, we have `react-dom` in the peer deps of the `form` and
`button` packages. `card` has `react-dom` and `react` as regular
dependencies and `card` is a dependency of `form`.

    These are the direct dependencies of our example project:

        form
        react@16
        react-dom@16

    These are the dependencies of card:

        button
        react@17
        react-dom@16

When resolving peers, pnpm will not re-resolve `react-dom` for `card`,
even though `card` shadows `react@16` from the root with `react@17`. So,
all 3 packages (`form`, `card`, and `button`) will use `react-dom@16`,
which in turn uses `react@16`. `form` will use `react@16`, while `card`
and `button` will use `react@17`.

Before this optimization `react-dom@16` was duplicated for the `card`,
so that `card` and `button` would use a `react-dom@16` instance that
uses `react@17`.

    Before the change:

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@17)
        -> react@17
        button
        -> react-dom@16(react@17)
        -> react@17

    After the change

        form
        -> react-dom@16(react@16)
        -> react@16
        card
        -> react-dom@16(react@16)
        -> react@17
        button
        -> react-dom@16(react@16)
        -> react@17

##### Patch Changes

- `pnpm deploy` should write the `node_modules/.modules.yaml` to the
`node_modules` directory within the deploy directory
[#&#8203;7731](https://redirect.github.com/pnpm/pnpm/issues/7731).
- Don't override a symlink in `node_modules` if it already points to the
right location
[pnpm/symlink-dir#54](https://redirect.github.com/pnpm/symlink-dir/pull/54).

###
[`v9.8.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#980)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.1...v9.8.0)

##### Minor Changes

- Added a new command for upgrading pnpm itself when it isn't managed by
Corepack: `pnpm self-update`. This command will work, when pnpm was
installed via the standalone script from the [pnpm installation
page](https://pnpm.io/installation#using-a-standalone-script)
[#&#8203;8424](https://redirect.github.com/pnpm/pnpm/pull/8424).

When executed in a project that has a `packageManager` field in its
`package.json` file, pnpm will update its version in the
`packageManager` field.

##### Patch Changes

- CLI tools installed in the root of the workspace should be added to
the PATH, when running scripts and `use-node-version` is set.

-   `pnpm setup` should never switch to another version of pnpm.

This fixes installation with the standalone script from a directory that
has a `package.json` with the `packageManager` field. pnpm was
installing the version of pnpm specified in the `packageManager` field
due to this issue.

- Ignore non-string value in the os, cpu, libc fields, which checking
optional dependencies
[#&#8203;8431](https://redirect.github.com/pnpm/pnpm/pull/8431).

- Remember the state of edit dir, allow running `pnpm patch-commit` the
second time without having to re-run `pnpm patch`.

###
[`v9.7.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#971)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.7.0...v9.7.1)

##### Patch Changes

- Fixed passing `public-hoist-pattern` and `hoist-pattern` via env
variables
[#&#8203;8339](https://redirect.github.com/pnpm/pnpm/issues/8339).
- `pnpm setup` no longer creates Batch/Powershell scripts on Linux and
macOS [#&#8203;8418](https://redirect.github.com/pnpm/pnpm/pull/8418).
- When dlx uses cache, use the real directory path not the symlink to
the cache
[#&#8203;8421](https://redirect.github.com/pnpm/pnpm/pull/8421).
- `pnpm exec` now supports executionEnv
[#&#8203;8356](https://redirect.github.com/pnpm/pnpm/issues/8356).
- Remove warnings for non-root `pnpm` field, add warnings for non-root
`pnpm` subfields that aren't `executionEnv`
[#&#8203;8143](https://redirect.github.com/pnpm/pnpm/issues/8413).
- Replace semver in "peerDependency" with workspace protocol
[#&#8203;8355](https://redirect.github.com/pnpm/pnpm/issues/8355).
- Fix a bug in `patch-commit` in which relative path is rejected
[#&#8203;8405](https://redirect.github.com/pnpm/pnpm/pull/8405).
-   Update Node.js in `@pnpm/exe` to v20.

###
[`v9.7.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#970)

[Compare
Source](https://redirect.github.com/pnpm/pnpm/compare/v9.6.0...v9.7.0)

##### Minor Changes

- Added pnpm version management to pnpm. If the
`manage-package-manager-versions` setting is set to `true`, pnpm will
switch to the version specified in the `packageManager` field of
`package.json`
[#&#8203;8363](https://redirect.github.com/pnpm/pnpm/pull/8363). This is
the same field used by Corepack. Example:

    ```json
    {
      "packageManager": "pnpm@9.3.0"
    }
    ```

-   Added the ability to apply patch to all versions:
If the key of `pnpm.patchedDependencies` is a package name without a
version (e.g. `pkg`), pnpm will attempt to apply the patch to all
versions of
    the package. Failures will be skipped.
If it is a package name and an exact version (e.g. `pkg@x.y.z`), pnpm
will attempt to apply the patch to that exact version only. Failures
will
    cause pnpm to fail.

If there's only one version of `pkg` installed, `pnpm patch pkg` and
subsequent `pnpm patch-commit $edit_dir` will create an entry named
`pkg` in
`pnpm.patchedDependencies`. And pnpm will attempt to apply this patch to
other versions of `pkg` in the future.

If there are multiple versions of `pkg` installed, `pnpm patch pkg` will
ask which version to edit and whether to attempt to apply the patch to
all.
If the user chooses to apply the patch to all, `pnpm patch-commit
$edit_dir` would create a `pkg` entry in `pnpm.patchedDependencies`.
If the user chooses not to apply the patch to all, `pnpm patch-commit
$edit_dir` would create a `pkg@x.y.z` entry in
`pnpm.patchedDependencies` with
    `x.y.z` being the version the user chose to edit.

If the user runs `pnpm patch pkg@x.y.z` with `x.y.z` being the exact
version of `pkg` that has been installed, `pnpm patch-commit $edit_dir`
will always
    create a `pkg@x.y.z` entry in `pnpm.patchedDependencies`.

- Change the default edit dir location when running `pnpm patch` from a
temporary directory to `node_modules/.pnpm_patches/pkg[@&#8203;version]`
to allow the code editor to open the edit dir in the same file tree as
the main project.

- Substitute environment variables in config keys
[#&#8203;6679](https://redirect.github.com/pnpm/pnpm/issues/6679).

##### Patch Changes

- `pnpm install` should run `node-gyp rebuild` if the project has a
`binding.gyp` file even if the project doesn't have an install script
[#&#8203;8293](https://redirect.github.com/pnpm/pnpm/issues/8293).
- Print warnings to stderr
[#&#8203;8342](https://redirect.github.com/pnpm/pnpm/pull/8342).
- Peer dependencies of optional peer dependencies should be
automatically installed
[#&#8203;8323](https://redirect.github.com/pnpm/pnpm/issues/8323).

</details>

---

### Configuration

📅 **Schedule**: 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/JoshuaKGoldberg/github-sponsors-to-markdown).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants