Zum Inhalt springen
verdict:

pnpm 10.34.4

digest

note: die Zusammenfassung und die Release Notes sind auf Englisch

note: keine Zusammenfassung für dieses digest-Release

digest-Releases werden ohne Zusammenfassung gelistet. Die originalen Release Notes dieser Version stehen hier unten.

release-notesgithub.com/pnpm/pnpm · 107 Zeilen
  1. ## Patch Changes
  2. * 352ae48: Security: validate config dependency names and versions before using them to build filesystem paths. A `pnpm-workspace.yaml` with a traversal-shaped `configDependencies` name (such as `../../PWNED`) or version (such as `../../../PWNED`) could previously cause `pnpm install` to create symlinks or write package files outside `node_modules/.pnpm-config` and the store. Names must now be valid npm package names and versions must be exact semver versions. See [GHSA-qrv3-253h-g69c](https://github.com/pnpm/pnpm/security/advisories/GHSA-qrv3-253h-g69c).
  3. * 352ae48: Reject path-traversal and reserved dependency aliases (such as `../../../escape`, `.bin`, `.pnpm`, or `node_modules`) that come from a lockfile rather than a freshly resolved manifest. A crafted lockfile alias could otherwise be joined directly under a hoisted `node_modules` directory, letting package files be written outside the intended install root or overwrite pnpm-owned layout.
  4. The `nodeLinker: hoisted` graph builder now validates each alias at the directory sink (`safeJoinModulesDir`), matching the validation pnpm already performs when resolving aliases from manifests. See [GHSA-fr4h-3cph-29xv](https://github.com/pnpm/pnpm/security/advisories/GHSA-fr4h-3cph-29xv).
  5. * 352ae48: Prevent `pnpm patch-remove` from removing files outside the configured patches directory.
  6. * 217fbe0: Hardened the warning printed when a project `.npmrc` uses environment variables in registry/auth settings: the suggested `pnpm config set` command is now only included for keys made up of shell-inert characters. Because the key comes from a repository-controlled `.npmrc` and a shell expands `$(...)`, backticks, and `$VAR` even inside double quotes, a crafted key could otherwise have turned the suggested copy-paste command into command execution.
  7. <!-- sponsors -->
  8. ## Platinum Sponsors
  9. <table>
  10. <tbody>
  11. <tr>
  12. <td align="center" valign="middle">
  13. <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
  14. </td>
  15. </tr>
  16. </tbody>
  17. </table>
  18. ## Gold Sponsors
  19. <table>
  20. <tbody>
  21. <tr>
  22. <td align="center" valign="middle">
  23. <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  24. <picture>
  25. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" />
  26. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" />
  27. <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" />
  28. </picture>
  29. </a>
  30. </td>
  31. <td align="center" valign="middle">
  32. <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  33. <picture>
  34. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" />
  35. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" />
  36. <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" />
  37. </picture>
  38. </a>
  39. </td>
  40. <td align="center" valign="middle">
  41. <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a>
  42. </td>
  43. </tr>
  44. <tr>
  45. <td align="center" valign="middle">
  46. <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  47. <picture>
  48. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
  49. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" />
  50. <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" />
  51. </picture>
  52. </a>
  53. </td>
  54. <td align="center" valign="middle">
  55. <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  56. <picture>
  57. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" />
  58. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
  59. <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" />
  60. </picture>
  61. </a>
  62. </td>
  63. <td align="center" valign="middle">
  64. <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  65. <picture>
  66. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" />
  67. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
  68. <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" />
  69. </picture>
  70. </a>
  71. </td>
  72. </tr>
  73. <tr>
  74. <td align="center" valign="middle">
  75. <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  76. <picture>
  77. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" />
  78. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" />
  79. <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" />
  80. </picture>
  81. </a>
  82. </td>
  83. <td align="center" valign="middle">
  84. <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  85. <picture>
  86. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" />
  87. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" />
  88. <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
  89. </picture>
  90. </a>
  91. </td>
  92. </tr>
  93. </tbody>
  94. </table>
  95. <!-- sponsors end -->

auf github ansehenimported 2026-09-28 über npm