pnpm 10.20
This release adds a --all flag for the pnpm help command to print all commands.
This release adds a --all flag for the pnpm help command to print all commands.
This release adds version-scoped controls to two settings: [onlyBuiltDependencies] and [minimumReleaseAgeExclude].
Added network performance monitoring to pnpm by implementing warnings for slow network requests, including both metadata fetches and tarball downloads.
Added configuration options for warning thresholds: fetchWarnTimeoutMs and fetchMinSpeedKiBps.
Warning messages are displayed when requests exceed time thresholds or fall below speed minimums
Related PR: #10025.
minimumReleaseAge configuration #10030.cleanupUnusedCatalogs configuration when removing dependent packages.scriptShell is set to false #8748.pnpm dlx should not fail when minimumReleaseAge is set #10037.The minimumReleaseAgeExclude setting now supports patterns.
There have been several incidents recently where popular packages were successfully attacked. To reduce the risk of installing a compromised version, we are introducing a new setting that delays the installation of newly released dependencies. In most cases, such attacks are discovered quickly and the malicious versions are removed from the registry within an hour.
Added the cleanupUnusedCatalogs configuration. When set to true, pnpm will remove unused catalog entries during installation #9793.
Declare Node.js, Deno, or Bun in devEngines.runtime (inside package.json) and let pnpm download and pin it automatically.
It is the end of the year. A really hard year. As you may know, I live in Ukraine, so due to Russia's war against us, it was harder to lead this project than in previous years. Nevertheless, it was a good year for pnpm. We've got a lot of new users, contributors, and we have implemented many great features.

(the above illustration was generated by Midjourney. The tiger symolizes the year of the tiger)
Уже конец года, и он был хорошим для pnpm, так что давайте посмотрим каким он был.
There are many ways to create a node_modules directory. Your goal must be to create the most strict one but if that is not possible, there are options to make a loose node_modules as well.