pnpm 12 est la réécriture stable de pnpm en Rust qui conserve les commandes, options, paramètres et le format de lockfile de pnpm 11 et s'installe pour l'instant depuis le tag next-12, avec d'autres méthodes d'installation documentées.
Parmi les changements cassants, la résolution des dépendances Git cible l'identité canonique HTTPS des hébergeurs (avec possibilité de réécriture Git pour SSH privé), pnpm signale désormais les clés inconnues dans pnpm-workspace.yaml, les cycles de dépendances sont résolus de façon canonique rendant les lockfiles déterministes, packageImportMethod: auto privilégie le hardlink sur Linux, et engineStrict suit l'arête plutôt que le sous-arbre.
Les nouveautés comprennent des binaires globaux sensibles au projet, la capacité pour pnpm d'installer et d'exécuter d'autres gestionnaires (npm, Yarn, Bun, etc.), le support des révisions de registre consignées dans le lockfile, pnpm init qui épingle la dernière version publiée, l'approbation en lot pour les publications staged, audit.ignorePrune, le refus des commandes globales sous sudo et une preuve de concept de cache distant des effets secondaires de build.
Corrections notables : la base de compatibilité ne crée plus d'entrées à partir d'analyses statiques fautives, le store par défaut peut être créé dans le projet si aucun répertoire parent n'accepte de hardlink, et le hook filterLog est déprécié.
La documentation détaille les différences et options d'installation entre les versions et l'équipe invite à signaler tout problème rencontré.