跳到主要内容

pnpm 12.0

· 阅读需 10 分钟
Zoltan Kochan
pnpm 的首席维护者

pnpm 12 is stable. It is a rewrite of pnpm in Rust, and it is deliberately not a migration: the commands, flags, settings, and lockfile format of pnpm 11 all carry over, and the documentation describes both versions.

The short list of things that genuinely behave differently is in What's different in pnpm 12. This post covers what pnpm 12 adds that pnpm 11 never shipped.

pnpm 11.24

· 阅读需 4 分钟
Zoltan Kochan
pnpm 的首席维护者

pnpm 11.24 brings back pnpm approve-builds --global, which isolated global installs took away in v11.0, and makes recursive batch publishing group its packages by registry so a credential mismatch is caught before anything is published. It also stops --frozen-lockfile from failing over the pnpm version the lockfile pins.

pnpm 11.23

· 阅读需 16 分钟
Zoltan Kochan
pnpm 的首席维护者

pnpm 11.23 gives the registries setting a shape that describes each registry once — its tarball layout, the scopes routed to it, the prefix it answers to — so an Artifactory or GitLab registry can finally keep its tarball URLs out of pnpm-lock.yaml. It adds virtualStoreType, makes undeclared imports resolve under ESM with the global virtual store without a plugin, teaches pnpm config get to report the settings pnpm actually acts on, and warns about settings no pnpm version recognizes.

pnpm 11.21-11.22

· 阅读需 8 分钟
Zoltan Kochan
pnpm 的首席维护者

pnpm 11.21 和 11.22 版本对 pnpm install 进行了多项改进:针对大多数日常变更,改为原地更新锁文件而非重新解析整个依赖图;停止记录会导致 CI​​ 环境安装失败的 SSH URL;实现全局安装的原子切换,并支持在全局交互式更新中选择整个安装组;新增 pnpm cache path 命令;同时移除了通过 pnpm-workspace.yaml 重新定位 pnpm 机器级状态的功能。

pnpm 12 有什么不同

· 阅读需 7 分钟
Zoltan Kochan
pnpm 的首席维护者

pnpm 12 是 Rust 中 pnpm 的重写版本,目前是 发布候选版本。 升级并非“迁移”:除了下文列出的差异外,它保留了 pnpm 11 的命令、选项、配置和锁文件格式,且文档适用于这两个版本。

有五处不同,其中一处——即被移除的标志——是彻底失效,而非表现出不同的行为。 这篇文章将它们汇总在了一起。

pnpm 11.20

· 阅读需 6 分钟
Zoltan Kochan
pnpm 的首席维护者

pnpm 11.20 fixes a package-substitution risk in projects that install from more than one registry: packages resolved from a named registry are now recorded in the lockfile under registry-qualified keys. It also adds a built-in npmjs: alias, stops empty proxy settings from failing installs, hardens pnpm rebuild against a malicious lockfile, and speeds up dependency resolution.

pnpm 11.15-11.19

· 阅读需 11 分钟
Zoltan Kochan
pnpm 的首席维护者

pnpm 11.15 至 11.19 版本为 pnpm updatepnpm outdated 增加了对 GitHub Actions 的更新支持,让 pnpm update 在执行版本升级时自动生成变更集,引入了更整洁的 updateaudit 配置项,新增 publishConfig.name 以支持使用不同名称发布包,增强了 pnpm self-update 对项目级配置的防御能力,实现了在无 TTY 环境下的网页登录功能,并支持将 = 用作 save-prefix。 它们还大幅降低了大型工作区在峰值解析阶段的内存占用,并加快了兼容性依赖项变更后的重复安装速度。

pnpm 11.11-11.14

· 阅读需 12 分钟
Zoltan Kochan
pnpm 的首席维护者

pnpm 11.11 至 11.14 版本引入了原生的工作区发布管理功能(包括 pnpm changepnpm lane 和纯粹的 pnpm version -r 命令)、用于端到端诊断安装状态的 pnpm doctor 命令、用于管理注册源上包与组织的 pnpm accesspnpm team 命令、收敛覆盖机制,以及支持协议标识符的 peerDependencies 声明。 它们还修复了一个路径遍历漏洞,将冷缓存解析期间的峰值内存占用降低了约 30%,并解决了对等依赖死锁问题。

pnpm 11.10

· 阅读需 8 分钟
Zoltan Kochan
pnpm 的首席维护者

pnpm 11.10 引入了 _auth 设置以支持 CI 友好的注册源身份验证,新增了 pnpm prefixpnpm issues 命令,并支持通过 pnpm self-update 安装 pnpm v12(Rust 重写版本)。 此外,该版本还提高了 pnpm up 的准确性,加快了针对忽略简略元数据的注册源的解析速度,并增强了全局包管理、pnpm deploypnpm pack-app 的健壮性。

pnpm 11.9

· 阅读需 5 分钟
Zoltan Kochan
pnpm 的首席维护者

pnpm 11.9 针对无法发布校验和的注册源计算缺失的 tarball 完整性哈希值,新增 pnpm sbom --exclude-peers 选项,优化了包含循环依赖的锁文件的审计性能,修复了对等依赖解析的不确定性问题,并收紧了 minimumReleaseAgetrustPolicy 的排除逻辑。