Skip to content
verdict:

pnpm 11.16.0

notable

ok: safe to upgrade

0 breaking changes5 key points

pnpm 11.16.0 adds update and audit settings sections, a changeset option for pnpm update, and GitHub Actions updates.

summary · from the release notes only · claude-haiku-5-5 · prompt v7

key points

release-notesgithub.com/pnpm/pnpm · 136 lines
  1. ## Minor Changes
  2. * The first release of a package now publishes the version written in its manifest verbatim, instead of bumping off it. `pnpm version -r` and `pnpm change status` check the registry for each release's current version; when that version is not yet published, the package debuts at it and its pending changesets apply only from the next release. A newly added package seeded at `1100.0.0` with a `minor` changeset is therefore published as `1100.0.0` rather than skipping straight to `1100.1.0`.
  3. * Added a `--changeset` flag to `pnpm update`. Set `update.changeset` to `true` in `pnpm-workspace.yaml` to enable this behavior by default, and use `--no-changeset` to override the setting for one update. After the update completes, pnpm writes a `.changeset/pnpm-update-<suffix>.md` file declaring a patch bump for every workspace package whose `dependencies` or `optionalDependencies` were changed by the update and a major bump when `peerDependencies` changed, including packages that consume an updated catalog entry via the `catalog:` protocol. Private packages, packages without a name, and packages listed in the `ignore` array of `.changeset/config.json` are skipped. If `.changeset/config.json` does not exist, a warning is printed and no changeset is generated.
  4. * Added GitHub Actions dependencies to `pnpm outdated` and interactive `pnpm update`. Non-interactive updates can include them with `--include-github-actions` or by setting `update.githubActions` to `true` in `pnpm-workspace.yaml`. Updated actions are pinned to exact commit hashes with their release tags preserved in comments.
  5. * Added `update` and `audit` settings sections to `pnpm-workspace.yaml`, superseding the awkwardly named `updateConfig`, `auditConfig`, and top-level `auditLevel` settings:
  6. ```yaml
  7. update:
  8. ignoreDeps: # was updateConfig.ignoreDependencies
  9. - webpack
  10. - "@babel/*"
  11. audit:
  12. level: high # was auditLevel
  13. ignore: # was auditConfig.ignoreGhsas
  14. - GHSA-xxxx-yyyy-zzzz
  15. ```
  16. `update.ignoreDeps` lists dependency name patterns that `pnpm update` and `pnpm outdated` should skip. `audit.level` and `audit.ignore` tune `pnpm audit`.
  17. The deprecated `updateConfig`, `auditConfig`, and `auditLevel` settings keep working until the next major version. When both a new section value and its deprecated counterpart are set, the new section takes precedence and a warning is printed. Both the TypeScript CLI and the Rust config surface (pacquet) recognize the new sections.
  18. ## Patch Changes
  19. * Fixed `pnpm add --save-exact`/`--save-prefix` and `pnpm update` writing a package's version with the `peerDependencies` range's prefix (e.g. `^19.2.7` instead of the requested `19.2.7`) whenever the same package also appeared in `peerDependencies`. A real `dependencies`/`devDependencies`/`optionalDependencies` entry now takes precedence over a same-named `peerDependencies` entry when computing the current specifiers [#13108](https://github.com/pnpm/pnpm/issues/13108).
  20. <!-- sponsors -->
  21. ## Platinum Sponsors
  22. <table>
  23. <tbody>
  24. <tr>
  25. <td align="center" valign="middle">
  26. <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
  27. </td>
  28. </tr>
  29. <tr>
  30. <td align="center" valign="middle">
  31. <a href="https://openai.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer">
  32. <picture>
  33. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/openai_dark.svg" />
  34. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/openai_light.svg" />
  35. <img src="https://pnpm.io/img/users/openai_dark.svg" width="160" alt="OpenAI" />
  36. </picture>
  37. </a>
  38. </td>
  39. </tr>
  40. </tbody>
  41. </table>
  42. ## Gold Sponsors
  43. <table>
  44. <tbody>
  45. <tr>
  46. <td align="center" valign="middle">
  47. <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer">
  48. <picture>
  49. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" />
  50. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" />
  51. <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" />
  52. </picture>
  53. </a>
  54. </td>
  55. <td align="center" valign="middle">
  56. <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer">
  57. <picture>
  58. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" />
  59. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" />
  60. <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" />
  61. </picture>
  62. </a>
  63. </td>
  64. <td align="center" valign="middle">
  65. <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a>
  66. </td>
  67. </tr>
  68. <tr>
  69. <td align="center" valign="middle">
  70. <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer">
  71. <picture>
  72. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
  73. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" />
  74. <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" />
  75. </picture>
  76. </a>
  77. </td>
  78. <td align="center" valign="middle">
  79. <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer">
  80. <picture>
  81. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" />
  82. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
  83. <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" />
  84. </picture>
  85. </a>
  86. </td>
  87. <td align="center" valign="middle">
  88. <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer">
  89. <picture>
  90. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" />
  91. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
  92. <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" />
  93. </picture>
  94. </a>
  95. </td>
  96. </tr>
  97. <tr>
  98. <td align="center" valign="middle">
  99. <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer">
  100. <picture>
  101. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" />
  102. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" />
  103. <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" />
  104. </picture>
  105. </a>
  106. </td>
  107. <td align="center" valign="middle">
  108. <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank" rel="noopener noreferrer">
  109. <picture>
  110. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" />
  111. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" />
  112. <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
  113. </picture>
  114. </a>
  115. </td>
  116. </tr>
  117. </tbody>
  118. </table>
  119. <!-- sponsors end -->

view on githubimported 2026-09-28 via npm