Node.js 又更新了。就在 8 月 5 日,Node.js 26.7.0 正式发布。这一次版本号虽然只是从 26.6.0 升级到 26.7.0,但里面有几个变化对于正在使用 Node.js 26 做开发的人来说,还是值得关注。
![]()
尤其是测试覆盖率、Perfetto、FFI、Crypto、ModuleHooks 这几个方向。其中最值得开发者注意的,是一个新的测试覆盖率参数:
--test-coverage-include-all它解决了一个非常现实的问题:没有被测试执行到的文件,过去很难直接出现在覆盖率报告里。现在终于可以把它们也纳入统计。
![]()
Node.js 26.7.0 正式发布
先说版本信息。Node.js 官方已经发布 Node.js 26.7.0 (Current) ,发布时间为 2026-08-05。当前 Node.js 26 仍然属于 Current 发布线。
官方发布说明中列出的重要变化包括:
- --test-coverage-include-all
- Perfetto 支持
- Symbol.dispose 支持 ModuleHooks
- FFI 多项修复
- Crypto 能力增强
- npm 更新至 11.19.0
- SQLite 更新至 3.53.4
如果你现在正在尝试 Node.js 26,这个版本值得关注。
二、最实用的更新:测试覆盖率终于更完整了
先看这个:
--test-coverage-include-all这是 Node.js 26.7.0 在 test_runner 中新增的支持,官方把它列为此次版本的 SEMVER-MINOR 变化。
为什么这个东西有用?因为实际开发中经常会出现这种情况:项目里有 100 个文件,测试只执行了 60 个,覆盖率工具统计出来只有 60 个文件。剩下的 40 个文件可能根本没有进入覆盖率统计范围,这会让你看到一个比较"漂亮"的覆盖率数字,但它不一定意味着整个项目真的测试得很好。
现在可以把"没跑过的文件"也纳入报告
新的参数就是解决这个问题。例如:
node --test --experimental-test-coverage \--test-coverage-include-all核心思路可以理解成:
以前:执行测试统计被覆盖代码生成报告现在:扫描项目文件结合测试执行结果包含未覆盖文件生成更完整的覆盖率报告这对于大型 TypeScript / Node.js 项目尤其有意义。因为真正有价值的覆盖率报告,不应该只是告诉你"被执行过的代码覆盖了多少",还应该告诉你"项目里还有哪些代码压根没有测试"。
第二个值得关注的变化:Perfetto 来了
Node.js 26.7.0 还加入了Perfetto 支持,官方将它列为此次版本的重要变化之一。
如果你不知道 Perfetto 是什么,可以简单理解成:应用运行 → 采集运行轨迹 → 生成时间线 → 分析性能瓶颈。它是一套用于性能分析和追踪的工具体系。
![]()
对于 Node.js 来说,它意味着开发者未来可以从更底层的时间线视角观察运行过程,例如:
CPU├── JavaScript 执行├── GC├── I/O├── Async├── 系统调用└── 其他运行时事件最终形成更加直观的时间线。
不过这里有一个重要细节
别看到"Node.js 支持 Perfetto"就直接理解成"下载 Node.js 26.7.0 就可以直接使用全部 Perfetto 能力。"
不是。官方发布信息明确提到,Perfetto 相关支持涉及构建配置。也就是说,如果你只是直接安装官方提供的 Node.js 二进制,并不意味着所有 Perfetto 构建能力都已经默认打开。
对于需要深入分析 Node.js 本身性能的开发者,更值得关注的是 Node.js + V8 + Perfetto 这套组合未来能够提供怎样的诊断能力。
FFI 也进行了多项修复
Node.js 26.7.0 还集中处理了一批 FFI 相关问题。官方 changelog 中可以看到:
ffi: fix crash in refCallback and unrefCallbackffi: reject fast calls after library closeffi: validate fast 32-bit integer argument rangesffi: fix optimized buffer conversionsffi: preserve strings during reentrant calls等修复。
简单来说,这次不是简单地"加一个 API",而是对 FFI 运行过程中的回调、参数、内存、Buffer、库生命周期进行了多方面修正。对于使用 Node.js FFI 调用原生库的项目,这个版本值得重点测试。
Crypto 也有更新
Node.js 26.7.0 还带来了几项 Crypto 相关变化。其中一个比较明显的是支持通过 STORE loaders 加载私钥,官方将其标记为 SEMVER-MINOR。
同时还更新了 NSS 根证书版本到 NSS 3.125。另外,官方还修复了一些与 Argon2、KDF、X509 等相关的问题。
对于安全相关基础设施来说,这些更新往往比"新增一个 API"更加重要。因为运行时 + 密码学库 + 证书,任何一个环节出现问题,最终都会影响应用安全。
Node.js 26.7.0 还加入了 Symbol.dispose
另一个容易被忽略的变化是 ModuleHooks + Symbol.dispose。官方在 26.7.0 中加入了 ModuleHooks 对 Symbol.dispose 的支持。
如果你已经关注现代 JavaScript 的显式资源管理,应该不会对 Symbol.dispose 这个名字陌生。它解决的核心问题是:资源什么时候释放?
比如:打开资源 → 使用资源 → 退出作用域 → 自动清理。对于底层模块、文件、连接以及其他需要明确生命周期管理的资源来说,这类能力会越来越重要。
npm 也顺手升级了
Node.js 26.7.0 内置的 npm 版本也更新到了npm 11.19.0,官方 changelog 明确列出了这项依赖更新。
所以如果你升级 Node.js 26.7.0,实际上也会顺带获得对应版本的 npm。这也是为什么 Node.js 的小版本更新并不只是"修几个 Bug",而是整个运行时依赖栈的一次同步升级。
Node.js 26.7.0 到底值不值得升级?
如果你问我"生产环境现在要不要马上升级?"我的建议还是:先看你的项目是不是适合 Current 版本。
因为 Node.js 26.7.0 当前仍然属于 Current,而不是 LTS。Node.js 官方的发布策略也明确建议:生产应用应使用 Active LTS 或 Maintenance LTS 版本。
所以:
个人项目可以直接尝鲜,尤其适合 Node.js 26 + TypeScript + Test Runner + FFI + 性能分析 这些场景。
新项目可以提前测试,特别是测试覆盖率、Perfetto、Node.js 26 API 这些能力。
企业生产项目建议:先测试 → 跑 CI → 检查依赖 → 验证原生模块 → 再决定升级。不要因为一个新版本发布就直接把生产环境全部替换。
真正值得关注的,其实不是 26.7.0
如果只看版本号,你可能会觉得"26.7.0,又一个小版本。"但把这些变化放在一起看,会发现 Node.js 正在持续强化几个方向:
测试├── Test Runner├── Coverage└── 更完整的测试分析性能├── Perfetto├── V8└── Runtime Diagnostics原生能力├── FFI├── SQLite└── Crypto现代 JavaScript├── Symbol.dispose├── ESM└── Web Platform APIs这其实比单独一个新 API 更值得关注。Node.js 正在不断把开发工具、测试能力、诊断能力和底层运行时能力继续往核心运行时里收。
Node.js 26 的节奏正在越来越快
Node.js 26 在 2026 年 5 月正式发布,当时已经带来了 Temporal API 默认启用、V8 14.6、Undici 8 等变化。
现在来到 26.7.0,又继续加入 Test Coverage、Perfetto、FFI 修复、Symbol.dispose、Crypto 更新、npm 11.19.0。这意味着 Node.js 26 这条 Current 发布线仍然在快速推进。
而按照 Node.js 官方发布策略,Node.js 26 将在 2026 年 10 月进入 LTS。所以现在,其实正是开发者提前测试 Node.js 26 的一个时间窗口。
Node.js 26.7.0 并不是一个"惊天动地"的版本。它没有"Node.js 变成另一个运行时",也没有"一夜之间性能翻倍"。
但它做了一件非常重要的事情:继续把 Node.js 本身打磨得更加完整。测试覆盖率更加完整,性能追踪能力继续增强,FFI 更稳定,Crypto 更完善,资源管理能力继续推进。
对于真正做 Node.js 开发的人来说,这种更新可能比一个"炫酷的新 API"更加重要。因为最终决定开发体验的,从来不只是"能不能跑",而是"能不能测、能不能查、能不能调、能不能稳定运行"。
而 Node.js 26.7.0,正在把这些事情继续往前推进。
官方发布说明:https://nodejs.org/en/blog/release/v26.7.0
你平时写 Node.js 项目会关注测试覆盖率吗?--test-coverage-include-all 这个参数对你有没有帮助?你觉得 Node.js 26 进入 LTS 后,你会第一时间升级吗?评论区聊聊~
各位互联网搭子,要是这篇文章成功引起了你的注意,别犹豫,关注、点赞、评论、分享走一波,让我们把这份默契延续下去,一起在前端的海洋里乘风破浪!
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.