Node.js v20.16.0 官方正式安装版+绿色解压版 32位
Node.js 是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。Node.js 的生态系统是目前最大的开源包管理系统。
由于上月 Node.js 21 已正式发布,因此 Node.js 20 就变成了长期支持版本 (LTS)。
Node.js 20 64位下载
node --watch(实验性)
运行时最近增加的一个令人兴奋的功能是支持使用 node --watch 选项在 "watch" 模式下运行。在 "watch" 模式下运行,当导入的文件被改变时,会重新启动进程。
$ node --watch index.js
该功能在 v18.11.0+ 中可用。
默认启用 HTTP (S)/1.1 KeepAlive
从这个版本开始,Node.js 默认将 keepAlive 设置为 true。这意味着任何出站的 HTTP (s) 连接将自动使用 HTTP 1.1 Keep-Alive。默认的 keep-alive 时间是 5 秒。
启用 keep-alive 将提供更好的吞吐量,因为连接在默认情况下被重复使用。
稳定的 WebCrypto
WebCrypto API 现在已经稳定(以下算法除外:Ed25519、Ed448、X25519 和 X448)
使用 globalThis.crypto 或 require('node:crypto').webcrypto 来访问这个模块。
自定义 ESM Resolution 调整
Node.js 已经删除了 --experimental-specifier-resolution 标志。其功能现在可以通过自定义加载器实现。
移除 DTrace/SystemTap/ETW 支持
对 DTrace/SystemTap/ETW 的支持在 v19.0.0 中被移除,主要原因是资源的优先级问题。
更新日志
显著变化
这是一个安全发布。
显著变化
CVE-2024-21892-通过Linux功能进行代码注入和权限提升-(高)
CVE-2024-22019-http:读取具有无限制区块扩展的未处理http请求允许DoS攻击-(高)
CVE-2024-21896-猴子修补缓冲区内部的路径遍历-(高)
CVE-2024-22017-setuid()不会由于io_uring而放弃所有特权-(高)
CVE-2023-46809-Node.js易受Marvin攻击(针对PKCS#1 v1.5填充的Bleichenbacher攻击的定时变体)-(中等)
CVE-2024-21891-由于不正确的路径遍历序列净化,多权限模型绕过-(中等)
CVE-2024-21890---allow fs read和--allow fs-write中通配符处理不当(中等)
CVE-2024-22025-fetch()brotli解码中因资源耗尽而拒绝服务-(中等)
undici 5.28.3版
libuv版本1.48.0
OpenSSL 3.0.13+quic1版本