选择命令行版本:

目录

12.0.0-pre.2 (2026-06-29)

功能

🌐 Features

  • [b51d156](https://github.com/npm/cli/commit/b51d156fd9858f418775df9c70859377eba1fa0c) [#9672](https://github.com/npm/cli/pull/9672) 树艺师:用 URL 前缀匹配扩展 replace-registry-host (#6110) (#9672) (@u2mejc)
  • 86416a6 #9674 将链接的安装策略从实验阶段升级到稳定阶段 (#9674) (@manzoorwanijk)
  • c4e5356 #9651 安装脚本:修剪未使用的 allowScripts 条目 (#9651) (@JamieMagee)
  • 0c4dd41 #9629 命名空间安装脚本审批命令 在 npm 安装脚本下 (#9629) (@manzoorwanijk)
  • 58cd8f5 #9586 .npm-extension 用于命令式清单修复的 transformManifest (#9586) (@manzoorwanijk)

错误修复

🌐 Bug Fixes

  • 024e6d9 #9670 sbom:在生成的 purl 中对 vcs_url 附加参数进行百分号编码 (#9670) (@ubeddulla)
  • 6da6555 #9588 输出 npm token list 所需的所有参数 (#9588) (@rijildaniel)
  • ae6dbeb #9657 森林学家:在链接的策略下显示未声明的工作区 (#9657) (@manzoorwanijk)
  • 0c33947 #9661 reify:报告新关联安装的添加计数 (#9661) (@manzoorwanijk)
  • 803ba70 #9656 查询:在关联策略下报告逻辑依赖位置 (#9656) (@manzoorwanijk)
  • 60d0d3d #9652 allowScripts:关闭三个执行漏洞 (#9652) (@JamieMagee)
  • d6fbb55 #9639 执行: 在链接安装策略下解析工作区本地二进制文件 (#9639) (@manzoorwanijk)
  • 7e29a19 #9646 ls: 在 #9626 之后恢复最新的 100% 覆盖率 (#9646) (@manzoorwanijk)
  • 971500f #9606 approve-scripts:按名称批准没有解析 URL 的依赖 (#9606) (@JamieMagee)
  • 7655822 #9597 森林学家:在严格允许脚本模式下不要标记惰性可选依赖 (#9597) (@JamieMagee)
  • 1a9ce8e #9592 链接:将 npm link <path> --workspace 的范围限定在工作区,而不是根目录 (#9592) (@manzoorwanijk)

文档

🌐 Documentation

  • fdcfcee #9678 推荐安装策略=linked 以捕获虚幻依赖 (#9678) (@manzoorwanijk)

依赖

🌐 Dependencies

杂务

🌐 Chores

12.0.0-pre.1(2026-06-19)

🌐 12.0.0-pre.1 (2026-06-19)

⚠️ 重大变更

🌐 ⚠️ BREAKING CHANGES

  • 在使用 Git 时保留 HTTPS 协议 (#8703)
  • npm init 的默认许可证已从 "ISC" 更改为空字符串。如果未设置,新的软件包将省略许可证字段。
  • npm 现在支持节点 ^22.22.2 || ^24.15.0 || >=26.0.0
  • allow-git 和 allow-remote 现在默认设置为“none”;将它们设置为“all”(或“root”)以安装 git 或用户提供的 tarball-URL 依赖。
  • preinstall\ 现在在依赖安装之前运行。
  • .npmrc 中的未知配置、未知 CLI 标志、缩写标志以及单短横线多字符简写现在会抛出错误而不是警告。

功能

🌐 Features

  • ce7681f #9496 根所有依赖清单的 packageExtensions 修复 (#9496) (@manzoorwanijk)
  • 1db885c #9439 本地依赖补丁管理(npm patch add/commit/update/ls/rm)(#9439) (@manzoorwanijk)
  • fc80bb3 #9234 移除 npm init 的默认许可证 (@owlstronaut)
  • be8053c #9544 当最小发布年龄阻止审核修复时发出警告 (#9544) (@JamieMagee)
  • 18eb967 #9559 提升到新的节点引擎范围 (@owlstronaut)
  • c3e1a71 #9532 添加 min-release-age-exclude 配置 (@JamieMagee, @caseyjhol)
  • 5cd5150 #9424 默认拒绝安装脚本(allowScripts 选择加入)[v12] (@JamieMagee)
  • 64e3f79 #9480 允许 Scripts 工具化和 inBundle 加固 (#9480) (@JamieMagee)
  • caa3295 #9466 默认将 allow-git 和 allow-remote 设置为无 (@owlstronaut)
  • f2e4a28 #9351 添加一个全局 npmignore 文件 (#9351) (@ljharb)
  • c9be2d1 #9153 publish --access=private 是 restricted (#9153) 的别名 (@reggi, @Copilot)
  • 7068d42 #9360 allowScripts 可选安装脚本政策的第 1 阶段 (#9360) (@JamieMagee)
  • 979518d #9276 对未知配置、标志和缩写的错误 (#9276) (@owlstronaut)

错误修复

🌐 Bug Fixes

  • e96a7de #8703 在使用 git 时保留 https 协议 (#8703) (@oldium)
  • a847d28 #9575 补丁:当 patch update --to 指向未安装的版本时发出警告 (#9575) (@manzoorwanijk)
  • 62b0694 #9576 补丁:在使用 --ignore-patch-failures 后解释不同步的锁文件 (#9576) (@manzoorwanijk)
  • 5ddf6cc #9567 补丁:在无操作提交上保留更新标记,以便重试时完成 (#9567) (@manzoorwanijk)
  • fc3ef5a #9559 适应 @npmcli/run-script@11 的重大变更 (@owlstronaut)
  • abf78b3 #9540 在 approve-scripts/deny-scripts 中匹配点状和版本化参数 (@owlstronaut)
  • f6270d1 #9531 从 approve-scripts/deny-scripts --json 发出有效的 JSON (@owlstronaut)
  • 0e55f97 #9492 传递脚本 shell 以发布生命周期钩子 (@Zelys-DFKH)
  • 2cbb13b #9490 为本地链接目标识别 allowScripts (#9490) (@cyphercodes, @cyphercodes)
  • bf623e0 #9473 验证允许远程 tar 包的注册表路径 (@Abhinav-143x)
  • 6be874b #9479 当设置 ignore-scripts 时,在 approve-scripts 中列出待处理的脚本 (#9479) (@JamieMagee)
  • 6603b2c #9469 在未审查脚本警告中建议对全局安装使用 --allow-scripts (#9469) (@JamieMagee)
  • fe820b6 #9442 无效的问题模板 YAML 缩进 (#9442) (@fallintoplace)
  • fe41ae7 #9404 在子命令使用错误中显示完整的父命令路径 (#9404) (@shaanmajid)
  • 75bf7de #9456 在 prune、dedupe、uninstall、audit fix 和 link 中尊重 allowScripts 策略 (@JamieMagee)
  • 6efac6e #9453 配置:澄清 --all 帮助,以确保其对 approve-scripts 和 deny-scripts 是准确的 (@JamieMagee)
  • b97edc0 #9430 审计:在验证已安装签名时不要在过滤前应用最小发布年龄 (@JamieMagee)
  • 080e3b2 #9425 在 Queryable 的 setter 中阻止禁止的键以防止原型污染 (@12122J, @claude)
  • c5292fa #9422 使用预发布策略而不产生错误 (@owlstronaut)
  • 33aebaa #9410 修复 fullMetadata 的拼写错误 (@owlstronaut)
  • 2a03860 #9267 在实现之前运行根预安装 (@owlstronaut)
  • c0fc549 #9372 配置:在交互式编辑器启动时暂停进度旋转器 (#9372) (@Zelys-DFKH, @claude)

文档

🌐 Documentation

  • 357e8cd #9520 仅在使用 -g 运行时才会抛出 EGLOBAL (@JamieMagee)
  • bcf01c6 #9505 澄清 package.json 覆盖值规范 (#9505) (@ded-furby)
  • 455aa4a #9401 使用最新版本进行全局更新,过时的 wanted (#9401) (@liangmiQwQ)
  • aac80dc #9470 更新 npm trust 所需的最低 npm 版本 (@meeech)
  • d124c08 #9385 文档 npm_old_versionnpm_new_version 环境变量 (#9385) (@36degrees)

依赖

🌐 Dependencies

杂务

🌐 Chores

12.0.0-pre.0.0 (2026-05-20)

⚠️ 重大变更

🌐 ⚠️ BREAKING CHANGES

  • npm view --json 现在总是返回一个数组。
  • npm sbom --sbom-format=cyclonedx 现在报告每个包的 package.json 中的 name 字段,而不是磁盘上的目录名称。根组件和别名依赖的 namebom-refpurl 可能会发生变化。
  • npm 在全局安装时不再向系统注册手册页。man npm-install 将不再有效,但 npm help install 不受影响。
  • npm pkg 输出不再强制为 JSON。这意味着你可以获取单个值,而无需担心值的封装。它还会更类似于 npm view 地输出非 JSON 内容。
  • npm shrinkwrap 已被移除,shrinkwrap 配置别名已被移除,npm-shrinkwrap.json 不再在项目根目录或依赖包的压缩文件中加载或生效。将项目根目录的 npm-shrinkwrap.json 重命名为 package-lock.json;如果需要发布锁定的依赖树,请使用 bundleDependencies
  • npm 注册表中已删除了 Twitter 和 Freenode 配置文件字段。这意味着用户将不再能够在他们的 npm 配置文件中设置或查看这些字段。
  • npm 不再尝试通过 whichnode 解析 node 的路径。process.execPath 已经由 Node 设置为 node 二进制文件的实际解析路径,因此之前的查找是多余的。依赖 npm 用 PATH 解析(可能是符号链接的)node 路径覆盖 process.execPath 的脚本可能会受到影响。
  • npm packnpm publish 的 --json 输出已更改。它们现在始终一致,并且格式相同。
  • starstarsunstar 命令已被移除
  • npm adduser 命令已被移除。在 npm 网站上创建和管理用户账户,并使用 npm login 在命令行进行身份验证。

功能

🌐 Features

  • 254809e #9201 npm 阶段 (#9201) (@reggi, @Copilot)
  • cf94dbe #9248 为信任命令添加权限支持 (#9248) (@reggi, @Copilot)
  • e0f12f7 #9348 添加 allow-git/allow-file/allow-directory/allow-remote 配置 (@owlstronaut)
  • 916cb4b #9287 添加 allow-directory、allow-file 和 allow-remote (#9287) (@wraithgar)
  • 2e5dcad #9262 放弃对 npm-shrinkwrap.json 的支持 (@owlstronaut)
  • 2397196 #9265 删除 Twitter 和 Freenode 个人资料字段 (@owlstronaut)
  • 738be10 #9196 移除星标命令 (#9196) (@wraithgar)
  • db7c1f8 #9163update 命令添加 u 作为别名 (#9163) (@Ausoj)
  • 45e44dd #9228 添加了一个回移脚本 (@owlstronaut)

错误修复

🌐 Bug Fixes

  • 2a13550 #9380 关键阶段下载 -- 按包名输出 JSON (#9380) (@reggi, @Copilot)
  • ca585c8 #9368 允许在 npmrc 中使用 min-release-age 与 --before 共存 (@raazkhnl)
  • f550eb4 #9348 重构 #failureNode,调整测试和安全性 (@owlstronaut)
  • 1f17566 #9348 allow-remote=none 不会阻止注册表 tar 包 (@owlstronaut)
  • 70af7b3 #9327 移除设置 (#9327) (@owlstronaut)
  • d623988 #9311 sbom: 对每个节点的 dependsOn / relationships 进行去重 (#9311) (@mikaelkristiansson)
  • d36945d #9160 不要在 --json 输出中展开单项数组 (@yetanotheraryan)
  • faf7348 #9284 将 CycloneDX SBOM 组件名称与 SPDX 对齐 (#9284) (@cyphercodes, @cyphercodes)
  • e20424b #9035 不要在系统位置安装 man 手册页 (@owlstronaut)
  • 01d9acd #9269 包:输出像 npm view 一样,不要强制 JSON 输出(@wraithgar)
  • 27567ab #9257 忽略预期的错误代码 (@owlstronaut)
  • 4ef5b6e #9039 停止通过 whichnode 解析节点路径 (@owlstronaut)
  • 2e9b26e #9247 同步打包和发布的 JSON 输出 (#9247) (@wraithgar)
  • 7357d7f #9036 移除 npm adduser 命令 (@owlstronaut)

文档

🌐 Documentation

  • c97b39b #9363 在 optionalDependencies 部分添加示例 (#9363) (@verifizieren)
  • 6704ab2 #9335 npm view 使用 json 输出数组文档更新 (#9335) (@yetanotheraryan)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.12.1 (2026-03-24)

错误修复

🌐 Bug Fixes

  • 596706a #9148 恢复 prefer-offline/prefer-online 的排他性 (#9129) (@owlstronaut)

文档

🌐 Documentation

  • d1ee8a5 #9140 为 npm 发布添加相对路径前缀的注释 (#9140) (@pydsigner)

依赖

🌐 Dependencies

11.12.0 (2026-03-18)

功能

🌐 Features

  • 8eff5fb #9049 审计:添加 --include-attestations 标志以输出 sigstore 打包包 (#9049) (@mitchdenny)

错误修复

🌐 Bug Fixes

  • 03af94d #9123 当命令没有用法时跳过概要代码块 (@owlstronaut)
  • 21ea382 #9110 树艺师: 通过共同祖级解决兄弟覆盖集合 (#9110) (@manzoorwanijk)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.11.1 (2026-03-10)

错误修复

🌐 Bug Fixes

  • a9d242b #9099 在主命令帮助中包含所有子命令 (#9099) (@wraithgar)
  • 29b8407 #9087 展开用于输出的注释和行 (#9087) (@wraithgar)
  • b56986a #9095 ls: 在链接策略中抑制错误的 UNMET DEPENDENCY (#9095) (@manzoorwanijk)
  • 76c76e5 #9083 ci: 不要在锁文件中对可选依赖报错 (#9083) (@wraithgar)
  • a29aeee #9028 树艺师: 在 Windows 上重试 bin-links EPERM (#9028) (@manzoorwanijk)
  • 6565eeb #9045 绕过 packument 缓存以防止发布后出现 ETARGET 错误 (#9045) (@Jadu07)

文档

🌐 Documentation

  • 3b96929 #9074 脚本:移除对过时 root 用户行为的提及 (#9074) (@mohd-akram)
  • 16ac4e0 #9054 修复工作区交叉依赖文档 (@owlstronaut)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.11.0 (2026-02-25)

功能

🌐 Features

  • 4fcd352 #9017 在查询选择器语法中添加 :type(registry) (#9017) (@wraithgar)
  • e1b21f0 #8909 将 circleci 添加到 trust 命令 (#8909) (@owlstronaut)
  • 9a33ad0 #8925 将 circleci 添加到 oidc (#8925) (@owlstronaut)

错误修复

🌐 Bug Fixes

  • 4426411 #9026 针对无密钥认证注册表的 npm 审核签名 (#9026) (@ajayk)
  • 658b323 #9010 在 sbom 输出中处理遗留许可数组 (#9010) (@JNC4)

文档

🌐 Documentation

  • 143f8cd #9007 文档不应换行 YAML 描述 (#9007) (@owlstronaut)

依赖

🌐 Dependencies

11.10.1 (2026-02-19)

错误修复

🌐 Bug Fixes

  • 9fac412 #8995 改进未知配置警告,增加 .npmrc 部分提示 (#8995) (@umeshmore45)
  • bb135cc #8981 树艺师:修复 buildIdealTreepeerOptional 依赖解析 (#8981) (@Saibamen, @cursoragent)
  • 5c03826 #8993 从 “npm view” 中移除表格输出 (@wraithgar)
  • 4648f26 #8993 从 “npm team” 中移除表格输出 (@wraithgar)

文档

🌐 Documentation

  • 0a5756d #8998 澄清不支持的自定义 .npmrc 键并推荐替代方案 (#8998) (@maitrawebtech)
  • 22c9153 #8985 修复 README 中的拼写和语法错误 (#8985) (@csmit195, Chris)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.10.0 (2026-02-11)

功能

🌐 Features

依赖

🌐 Dependencies

杂务

🌐 Chores

11.9.0 (2026-02-04)

功能

🌐 Features

错误修复

🌐 Bug Fixes

  • 2242f25 #8952 webauth:改进非 TTY 环境下 webauth 的错误信息 (#8952) (@Andarist)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.8.0 (2026-01-21)

功能

🌐 Features

  • 545e861 #8828 在 npm 配置列表中显示代理环境变量 (Max Black)

错误修复

🌐 Bug Fixes

  • c2f784d #8859 在 CycloneDX SBOM 输出中保留 serialNumber UUID #8837 (#8859) (@saksham-malhotra-27)
  • f2c3af7 #8840 为四舍五入提供更直观的字节格式边界 (#8840) (@watilde)

文档

🌐 Documentation

  • 3474ec3 #8866 修复 npm-dedupe 文档中的拼写/逻辑错误 (#8866) (@Schweinepriester)
  • 5552e46 #8797 npm-install:解释 package-lock.json 的行为 (#8797)(@MaxBlack-dev, Max Black)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.7.0 (2025-12-09)

功能

🌐 Features

  • b380d15 #8697 除非处于详细模式+,否则对通知进行去重 (@owlstronaut)

错误修复

🌐 Bug Fixes

  • 4ebb831 #8839 更新提示以使用命令行模式(@owlstronaut)
  • 7896e51 #8838 更新令牌列表文本 (@owlstronaut)
  • 8ab8668 #8836 查询:在工作区中仅支持 package-lock (@watilde)
  • 35e8d38 #8322 在使用加载动画时正确处理输入中的换行 (#8322) (@mbtools)
  • 0c0faae #8780 adduser:改进电子邮件提示 (#8780) (@mbtools)

文档

🌐 Documentation

  • 7f2ab9d #8810 脚本:将已弃用的 prepublish 和 install 示例替换为 prepare(Max Black)
  • 91ebab7 #8847 移除关于已禁用令牌创建的备注 (@owlstronaut)
  • 2030250 #8822 脚本:澄清准备脚本在 --production 下的运行(Max Black)
  • [33a50d7](https://github.com/npm/cli/commit/33a50d7981492e71f533448d93fc586429e603fd)[#8821](https://github.com/npm/cli/pull/8821) 脚本:更新 npmpackage* 环境变量文档(Max Black)
  • 50508f9 #8793 package-json:为 type 字段添加文档 (#8793) (@MaxBlack-dev, Max Black)
  • aa1dd7e #8823 脚本:记录在工作区中并发运行脚本的准备工作(Max Black)
  • 3f48487 #8820 package-spec:修复示例中的别名语法(Max Black)
  • dd104da #8812 版本:添加关于 Git 版本要求的说明(Max Black)
  • 58afdcc #8792 安装:澄清预发布版本范围的行为(Max Black)
  • 9f818e8 #8795 npm-view:阐明对象属性访问语法并提供示例(Max Black)
  • 39c2f2e #8791 添加命令行参数示例,包括 --prefix(Max Black)
  • 1298530 #8790 澄清 package-lock 中的版本字段可以省略 (Max Black)
  • 090b6ca #8794 npx:澄清参数是传递给执行的命令的(Max Black)
  • a864f80 #8787 在 package.json 中记录 gypfile 字段 (Max Black)
  • 2fc689d #8788 为 npm view 添加字段访问模式(Max Black)
  • 4850639 #8796 package-json:在覆盖中添加用分支替换依赖的示例(Max Black)
  • 4864dd4 #8798 npm-install:安装包时记录 engines 字段的优先级(Max Black)
  • 95d25cd #8799 package-json:在发布期间澄清仓库字段的规范化 (Max Black)
  • a367f9b #8800 package-lock-json:澄清对于某些依赖可以省略 version 字段(Max Black)
  • ffc9b71 #8801 npm 安装:澄清 --tag 不会覆盖 package.json (#8801) (@MaxBlack-dev, Max Black)
  • 73688ca #8735 澄清 npm 在预发行版本下的版本行为 (#8735) (@yashwantbezawada)
  • 4a32606 #8785 更新了令牌创建文档 (#8785) (@owlstronaut, @wraithgar)

杂务

🌐 Chores

依赖

🌐 Dependencies

11.6.4 (2025-11-25)

文档

🌐 Documentation

  • dfb83c7 #8749 为关键词字段添加示例 (#8749) (@MaxBlack-dev, Max Black)
  • 1b1e227 #8750 移除过时的路线图链接 (#8750) (@MaxBlack-dev, Max Black)
  • 1333d57 #8752 澄清环境变量覆盖的 .npmrc 命名约定 (#8752) (@MaxBlack-dev)
  • 22cddb8 #8755 向工作区添加工作区依赖示例(Max Black)
  • 17e154c #8756 将环境变量标准化为大写约定 (Max Black)
  • 1e51a25 #8754 修复准备脚本的生命周期事件顺序 (Max Black)
  • 8d72bc9 #8753 在 package-lock.json 中添加 os、cpu 和 funding 字段(Max Black)

依赖

🌐 Dependencies

11.6.3 (2025-11-19)

错误修复

🌐 Bug Fixes

  • c6242d9 #8706 更改 npm 配置以创建支持 GAT 的令牌 (#8706) (@owlstronaut, @wraithgar)
  • cbc6fa9 #8731 错误信息中版本信息的顺序 (#8731) (@piotrd, @pd-be)
  • 11dbd7e #8709 创建身份验证令牌时显示完整令牌 (#8709) (@MaxBlack-dev, Max Black)
  • 49a4eef #8676 使用回顾正则去除结尾斜杠 (#8676) (@wraithgar)
  • b1aee62 #8645 依赖标志计算 (#8645) (@liamcmitchell)

文档

🌐 Documentation

  • ca53c21 #8745 添加工作区使用示例 (#8745) (@MaxBlack-dev, Max Black)
  • e71ca0e #8746 在文档中添加 --save 标志 (#8746) (@MaxBlack-dev, Max Black)
  • 06510a8 #8683 在 npm version 帮助和文档中添加 ignore-scripts 选项 (#8683) (@Tejas242)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.6.2 (2025-10-08)

错误修复

🌐 Bug Fixes

  • c54d1e9 #8633 进度条代码清理 (#8633) (@wraithgar)
  • d352e27 #8629 不要编辑发送到标准输出的通知日志 (#8629) (@wraithgar)
  • 5ac3678 #8617 在 ./lib 和 ./test/lib 中的拼写 (#8617) (@jsoref)
  • 9197995 #8619 拼写 (#8619) (@jsoref)
  • dd884e3 #8618 拼写 (#8618) (@jsoref)
  • f6028e6 #8614 跳过编辑供用户打开的 URL (#8614) (@wraithgar, @jolyndenning)
  • 54fd27f #8602 将 node.ideallyInert 重构为 node.inert (#8602) (@liamcmitchell)
  • 79e3c1e #8593 使用 @npmcli/package-json 来规范化包数据 (@wraithgar)

文档

🌐 Documentation

依赖

🌐 Dependencies

杂务

🌐 Chores

11.6.1 (2025-09-23)

错误修复

🌐 Bug Fixes

  • d389614 #8579 修复了 peer 依赖标志的传递 (@owlstronaut)
  • 5db81c3 #8512 允许并发非本地 npx 调用 (#8512) (@jenseng, @wraithgar)

文档

🌐 Documentation

依赖

🌐 Dependencies

杂务

🌐 Chores

11.6.0 (2025-09-03)

功能

🌐 Features

  • bdcc10d #8359 为 .npmrc 添加可选环境变量替换支持 (#8359) (@aczekajski, @owlstronaut)

错误修复

🌐 Bug Fixes

  • dd4cee9 #8539 powershell:改进参数解析 (#8539) (@alexsch01)
  • 5f18557 #8532 powershell:修复修改后的 InvocationName 问题 (#8532) (@alexsch01)
  • 9e5abf1 #8529 在日志格式出口中添加编辑功能 (#8529) (@wraithgar)
  • 75ce64a #8524 恢复处理信号优雅退出 (#8524) (@owlstronaut)
  • 5d82d0b #8469 PowerShell 5.1 中的 ps1 脚本 (#8469) (@splatteredbits)

依赖

🌐 Dependencies

11.5.2 (2025-07-30)

错误修复

🌐 Bug Fixes

  • 7d900c4 #8467 源头的 OIDC 可见性检查 (#8467) (@reggi, @wraithgar)

文档

🌐 Documentation

  • d4e56b2 #8459 更新快照生成命令 (#8459) (@MikeMcC399)

11.5.1 (2025-07-24)

错误修复

🌐 Bug Fixes

  • 476bf17 #8457 来源应该只针对 OIDC 默认为开启 (@reggi)

11.5.0 (2025-07-24)

功能

🌐 Features

  • 1cce318 #8336 添加了对 OIDC 发布的支持 (#8336) (@reggi)

错误修复

🌐 Bug Fixes

  • 7f66f0a #8447before 添加更好的提示并清理描述 (@wraithgar)
  • 280817a #8447 在命令帮助输出中添加 --before 参数 (@wraithgar)
  • 6e47325 #8441 让 404 错误不那么可怕,同时不透露存在信息 (#8441) (@owlstronaut)
  • 0a97ffd #8429 优雅地处理信号退出 (@owlstronaut)
  • 5b858c6 #8411 确保进度条在所有环境中显示一致 (#8411) (@owlstronaut)

文档

🌐 Documentation

  • ef3529e #8435 添加测试快照 (#8435) (@reggi, @wraithgar)
  • b7758d7 #8418 删除对 Node.js 下载不常见操作系统的引用 (#8418) (@MikeMcC399)
  • 746ac5d #8380 移除重复信息 (#8380) (@alexsch01)
  • 4673e9c #8371 将 OS X 的引用重命名为 macOS (@MikeMcC399)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.4.2 (2025-06-11)

错误修复

🌐 Bug Fixes

  • f2d6947 #8345npm init 被取消时,将警告移动到新行 (@mbtools)
  • e758dd7 #8318 powershell:多个 Invoke-Expression 修复 (#8318) (@alexsch01)

文档

🌐 Documentation

  • 7233cb3 #8355 移除与临时文件相关的已弃用部分 (#8355) (@milaninfy)
  • fb7a498 #8351 澄清脚本使用的 shell (#8351) (@milaninfy)
  • 8b55d38 #8329 将“command”重命名为“script” (#8329) (@DanKaplanSES)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.4.1 (2025-05-21)

文档

🌐 Documentation

  • 3ed764a #8308 澄清脚本工作目录的行为(修复 #8305)(#8308) (@tarekwfa0110, @owlstronaut)

杂务

🌐 Chores

  • 2f30251 #8314 移除对 skimdb.npmjs.com 的引用 (#8314) (@shmam)
  • 9cb9d50 #8298 在更改日志条目中添加贡献者 (#8298) (@wraithgar)

依赖

🌐 Dependencies

11.4.0 (2025-05-15)

功能

🌐 Features

  • a0e60fb #8246 添加了 init-private 选项 (@owlstronaut)
  • 57aa89f #8265 默认使用 run,并将 run-script 作为别名 (#8265) (@owlstronaut)
  • 0d4c023 #8234 安装:将包信息添加到 JSON 输出 (#8234) (@wraithgar)

错误修复

🌐 Bug Fixes

  • 8794fd9 #8297 powershell:支持使用 Invoke-Expression 的管道输入 (#8297) (@alexsch01)
  • b5173d1 #8293 文档:修复了 github_path (#8293) (@xaos7991)
  • 2210d7a #8278 powershell:使用 Invoke-Expression 传递参数 (#8278) (@alexsch01, @mbtools)
  • 8669d09 #8228 为 enable-2fa、disable-2fa、access 添加 otplease (#8228) (@reggi, @wraithgar)
  • 78b5a6f #8269 正确处理前缀为当前工作目录的情况 (#8269) (@owlstronaut, @ficocelliguy)
  • fdc3413 #8221 执行:无法执行以 Shell 关键字命名的二进制文件 (#8221) (@13sfaith)
  • 4b08e2e #8245 文档:为本地包链接准备脚本运行 (@milaninfy)
  • 1622ac4 #8241 处理 packument 中缺失的 time 以防止 npm view 崩溃 (@owlstronaut)
  • db8f5da #8110 过时:在长输出中添加依赖位置 (#8110) (@milaninfy, @wraithgar)

文档

🌐 Documentation

  • d2498df #8295 从从不忽略列表中移除 CHANGELOG (#8295) (@mrazauskas)
  • 4d5c3c1 #8283 修复 package-json.md 中的 overrides 示例 (#8283) (@glasser)
  • 96cc4f9 #8226 以代码形式发布以高亮它 (@LiangYingC)
  • 4990ea0 #8226 澄清 npm login 和 adduser 命令中遗留令牌的创建 (@LiangYingC)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.3.0 (2025-04-08)

功能

🌐 Features

  • b306d25 #8129 添加 node-gyp 作为实际配置 (@wraithgar)

错误修复

🌐 Bug Fixes

  • 2f5392a #8135 使 npm run 在工作区中自动补齐 (#8135) (@terrainvidia)

文档

🌐 Documentation

  • 26b6454 修复本地路径中的语法说明 (@cgay)
  • 1c0e83d #7886 修复 package-json.md 中的拼写错误 (#7886) (@stoneLeaf)
  • 14efa57 #8178 修复 overrides 说明中的示例包名称 (#8178) (@G-Rath)
  • 4183cba #8162 日志记录:在日志级别详情中将 proceeding 替换为 preceding (#8162) (@tyleralbee)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.2.0 (2025-03-05)

功能

🌐 Features

  • 247ee1d #8100 缓存:添加 npx 命令 (@wraithgar)
  • 3a80a7b #8081 添加 --init-type 标志 (#8081) (@reggi)
  • 2a1e11f #8071 将 nerfDart 列表移动到 @npmcli/config(@wraithgar)

错误修复

🌐 Bug Fixes

  • 8461186 #8100 如果规范是范围,则在可能的情况下更新 npx 缓存 (@wraithgar)
  • e345cc5 #8050 不建议在有效引擎范围之外更新 npm (#8050) (@milaninfy)
  • 811ca29 #8115 停止绕过在 npm-package-arg@12.0.2 中修复的错误 (@TrevorBurnham)
  • 879303c #8078 对无效的 publishConfig 发出警告 (#8078) (@wraithgar)
  • 41417de #8080 当 TUF 获取密钥失败时发出警告 (#8080) (@wraithgar)
  • 593c849 #8076 对无效的单连字符 CLI 标志发出警告 (#8076) (@wraithgar)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.1.0 (2025-01-29)

功能

🌐 Features

  • 7f6c997 #8009 为废弃/取消废弃命令添加干运行模式 (@wraithgar)
  • 1764a37 #8009 添加 npm undeprecate 命令 (@wraithgar)

错误修复

🌐 Bug Fixes

  • 31455b2 #8054 发布:强制检查 dist 标签和注册表版本 (#8054) (@reggi)
  • dc31c1b #8038 移除最大长度 lint 忽略 (@wraithgar)
  • 8a911ff #8038 发布:在计算最高版本时忽略已弃用的版本 (@wraithgar)
  • 7f72944 #8038 发布:接受 publishConfig.tag 以覆盖最高的 semver 检查 (@wraithgar)
  • ab9ddc0 #7992 sbom:去重 sbom 依赖 (#7992) (@bdehamer)
  • f7da341 #7980 搜索:正确显示多个搜索词 (#7980) (@wraithgar)

文档

🌐 Documentation

  • 3644e79 #8055 更新 Node.js 版本的自述文件,移除徽章 (#8055) (@wraithgar)
  • f1af61f #8041 修复 “package-json” 中的拼写错误 (#8041) (@maxkoryukov)
  • e90c6fe #8051 深度标志默认值 (#8051) (@milaninfy)
  • 866b5ee #8030 更安全的文档 URL、仓库、软件包 (#8030) (@reggi)

依赖

🌐 Dependencies

杂务

🌐 Chores

  • 61f00e3 #8069 将冒烟测试从发布干运行测试中拆分出来 (#8069) (@reggi)
  • 6d0f46e #8058 停止在检查 git clean 时发布烟雾 (#8058) (@reggi)
  • 9281ebf #8057 修复预发布的冒烟测试需要单独的字符串参数 (#8057) (@reggi)
  • aa202e9 #8056 使用 preid 的冒烟测试 (#8056) (@reggi)
  • 18e0449 #8053 开发依赖更新 (@wraithgar)
  • 859a71c #8052 更新节点版本以进行发布集成测试 (#8052) (@wraithgar)
  • 7e7961d #8038 将 @npmcli/eslint-config 升级到 5.1.0 (@wraithgar)
  • workspace: @npmcli/config@10.0.1

11.0.0 (2024-12-16)

文档

🌐 Documentation

  • 8a911da #7963 ls: 已删除设计更改待处理部分的注释 (#7963) (@milaninfy)

依赖

🌐 Dependencies

杂务

🌐 Chores

11.0.0-pre.1 (2024-12-06)

⚠️ 重大变更

🌐 ⚠️ BREAKING CHANGES

  • 在发布时,为了应用默认的“latest”分发标签,该命令现在会检索包的所有以前版本。它要求你尝试发布的版本高于注册表中的最新语义化版本,不包括预发布标签。
  • npm init 现在有了 type 提示,并且以不同方式对已创建包中的条目进行排序
  • bun.lockb 文件现在在打包时被严格忽略列表包含

功能

🌐 Features

  • f3ac7b7 #7939 当 latest > version 时发布时不会隐式使用 latest 标签 (#7939) (@reggi, @ljharb)

错误修复

🌐 Bug Fixes

  • e362c6d #7944 前缀:从使用输出中移除重复的 -g (#7944) (@wraithgar)

文档

🌐 Documentation

依赖

🌐 Dependencies

杂务

🌐 Chores

11.0.0-pre.0 (2024-11-26)

⚠️ 重大变更

🌐 ⚠️ BREAKING CHANGES

  • 发布预发布版本的软件包时,必须明确指定标签。
  • --ignore-scripts 现在适用于所有生命周期脚本,包括 prepare
  • 如果批量咨询请求失败,npm 将不再回退到旧的审计端点。
  • 如果将 npm 别名为“npmg”或“npm-g”等,npm 将不再切换到全局模式。
  • npm hook 命令已被移除
  • 此软件包所做的证明将不再在 npm 10.6.0 之前的版本中生效。
  • npm 现在支持 node ^20.17.0 || >=22.9.0
  • @npmcli/docs 现在支持 node ^20.17.0 || >=22.9.0

功能

🌐 Features

  • 6995303 #7850pack 添加了 --ignore-scripts 标志 (@reggi)

错误修复

🌐 Bug Fixes

  • 16b7367 #7910 发布预发行版本需要明确标签 (#7910) (@reggi)
  • e19bff0 #7901 性能:如果存在则启用编译缓存 (#7901) (@H4ad)
  • 080a0f2 #7911 移除旧的审计回退请求 (@wraithgar)
  • 780afc5 #7855 包:如果存在多个属性中的任意一个则显示 (#7855) (@Sanderovich)
  • ecd2d23 #7842 如果被别名为 npmg,则不要进入全局模式 (#7842) (@wraithgar)
  • 62c71e5 #7835 移除了 npm hook 命令 (@reggi)
  • 7f541e8 #7815 使 pack 和 exec 支持 git 哈希引用 (#7815) (@milaninfy)
  • 3162620 #7831 将节点引擎范围设置为 ^20.17.0 || >=22.9.0 (@reggi)
  • 4c8ba0a #7831 为 @npmcli/docs 设置了节点引擎范围为 ^20.17.0 || >=22.9.0 (@reggi)
  • 70cd88d #7808 查看:排序并截断 dist-tags (#7808) (@wraithgar)
  • 534ad77 #7795 移除未使用的参数捕获语句 (#7795) (@btea)

文档

🌐 Documentation

  • feb54f7 #7822 package.json:添加 libc 字段 (#7822) (@wraithgar)

依赖

🌐 Dependencies

杂务

🌐 Chores

目录