Skip to content
verdict:

pnpm 10.34.1

digest

note: no summary for this digest release

Digest releases are listed without a summary. The original release notes for this version are below.

release-notesgithub.com/pnpm/pnpm · 99 lines
  1. ## Patch Changes
  2. * Reject `pnpm-lock.yaml` entries whose remote tarball `resolution:` block is missing the `integrity` field. Previously the worker that extracts a downloaded tarball skipped hash verification when no integrity was supplied and minted a fresh one from the unverified bytes, so an attacker who could both alter the lockfile (e.g. via a pull request that strips `integrity:`) and serve modified content at the referenced tarball URL could install a tampered package without any error — including under `--frozen-lockfile`. pnpm now fails closed at lockfile-read time with `ERR_PNPM_MISSING_TARBALL_INTEGRITY`. Git-hosted tarballs (`gitHosted: true` or a URL on codeload.github.com / bitbucket.org / gitlab.com) and `file:` tarballs are exempt — the commit SHA in a git-host URL and the user-controlled local path already anchor the bytes.
  3. <!-- sponsors -->
  4. ## Platinum Sponsors
  5. <table>
  6. <tbody>
  7. <tr>
  8. <td align="center" valign="middle">
  9. <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>
  10. </td>
  11. </tr>
  12. </tbody>
  13. </table>
  14. ## Gold Sponsors
  15. <table>
  16. <tbody>
  17. <tr>
  18. <td align="center" valign="middle">
  19. <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  20. <picture>
  21. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" />
  22. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" />
  23. <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" />
  24. </picture>
  25. </a>
  26. </td>
  27. <td align="center" valign="middle">
  28. <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  29. <picture>
  30. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" />
  31. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" />
  32. <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" />
  33. </picture>
  34. </a>
  35. </td>
  36. <td align="center" valign="middle">
  37. <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>
  38. </td>
  39. </tr>
  40. <tr>
  41. <td align="center" valign="middle">
  42. <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  43. <picture>
  44. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
  45. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" />
  46. <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" />
  47. </picture>
  48. </a>
  49. </td>
  50. <td align="center" valign="middle">
  51. <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  52. <picture>
  53. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" />
  54. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
  55. <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" />
  56. </picture>
  57. </a>
  58. </td>
  59. <td align="center" valign="middle">
  60. <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  61. <picture>
  62. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" />
  63. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
  64. <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" />
  65. </picture>
  66. </a>
  67. </td>
  68. </tr>
  69. <tr>
  70. <td align="center" valign="middle">
  71. <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  72. <picture>
  73. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" />
  74. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" />
  75. <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" />
  76. </picture>
  77. </a>
  78. </td>
  79. <td align="center" valign="middle">
  80. <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  81. <picture>
  82. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" />
  83. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" />
  84. <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
  85. </picture>
  86. </a>
  87. </td>
  88. </tr>
  89. </tbody>
  90. </table>
  91. <!-- sponsors end -->

view on githubimported 2026-09-28 via npm