Zum Inhalt springen
verdict:

pnpm 10.28.1

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 · 102 Zeilen
  1. ## Patch Changes
  2. * Fixed installation of config dependencies from private registries.
  3. Added support for object type in `configDependencies` when the tarball URL returned from package metadata differs from the computed URL [#10431](https://github.com/pnpm/pnpm/pull/10431).
  4. * Fix path traversal vulnerability in binary fetcher ZIP extraction
  5. * Validate ZIP entry paths before extraction to prevent writing files outside target directory
  6. * Validate BinaryResolution.prefix (basename) to prevent directory escape via crafted prefix
  7. * Both attack vectors now throw `ERR_PNPM_PATH_TRAVERSAL` error
  8. * Support plain `http://` and `https://` URLs ending with `.git` as git repository dependencies.
  9. Previously, URLs like `https://gitea.example.org/user/repo.git#commit` were not recognized as git repositories because they lacked the `git+` prefix (e.g., `git+https://`). This caused issues when installing dependencies from self-hosted git servers like Gitea or Forgejo that don't provide tarball downloads.
  10. Changes:
  11. * The git resolver now runs before the tarball resolver, ensuring git URLs are handled by the correct resolver
  12. * The git resolver now recognizes plain `http://` and `https://` URLs ending in `.git` as git repositories
  13. * Removed the `isRepository` check from the tarball resolver since it's no longer needed with the new resolver order
  14. Fixes #10468
  15. * `pnpm run -r` and `pnpm run --filter` now fail with a non-zero exit code when no packages have the specified script. Previously, this only failed when all packages were selected. Use `--if-present` to suppress this error [#6844](https://github.com/pnpm/pnpm/issues/6844).
  16. * Fixed a path traversal vulnerability in tarball extraction on Windows. The path normalization was only checking for `./` but not `.\`. Since backslashes are directory separators on Windows, malicious packages could use paths like `foo\..\..\.npmrc` to write files outside the package directory.
  17. * When running "pnpm exec" from a subdirectory of a project, don't change the current working directory to the root of the project [#5759](https://github.com/pnpm/pnpm/issues/5759).
  18. * Fixed a path traversal vulnerability in pnpm's bin linking. Bin names starting with `@` bypassed validation, and after scope normalization, path traversal sequences like `../../` remained intact.
  19. * Revert Try to avoid making network calls with preferOffline [#10334](https://github.com/pnpm/pnpm/pull/10334).
  20. * Fix `--save-peer` to write valid semver ranges to `peerDependencies` for protocol-based installs (e.g. `jsr:`) by deriving from resolved versions when available and falling back to `*` if none is available [#10417](https://github.com/pnpm/pnpm/issues/10417).
  21. * Do not exclude the root workspace project, when it is explicitly selected via a filter [#10465](https://github.com/pnpm/pnpm/pull/10465).
  22. ## Platinum Sponsors
  23. <table>
  24. <tbody>
  25. <tr>
  26. <td align="center" valign="middle">
  27. <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>
  28. </td>
  29. </tr>
  30. </tbody>
  31. </table>
  32. ## Gold Sponsors
  33. <table>
  34. <tbody>
  35. <tr>
  36. <td align="center" valign="middle">
  37. <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  38. <picture>
  39. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" />
  40. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" />
  41. <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" />
  42. </picture>
  43. </a>
  44. </td>
  45. <td align="center" valign="middle">
  46. <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  47. <picture>
  48. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" />
  49. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
  50. <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" />
  51. </picture>
  52. </a>
  53. </td>
  54. <td align="center" valign="middle">
  55. <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  56. <picture>
  57. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" />
  58. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" />
  59. <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" />
  60. </picture>
  61. </a>
  62. </td>
  63. </tr>
  64. <tr>
  65. <td align="center" valign="middle">
  66. <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  67. <picture>
  68. <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" />
  69. <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
  70. <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" />
  71. </picture>
  72. </a>
  73. </td>
  74. <td align="center" valign="middle">
  75. <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
  76. <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite">
  77. </a>
  78. </td>
  79. </tr>
  80. </tbody>
  81. </table>

auf github ansehenimported 2026-09-28 über npm