Node.js 正式发布 18.13.0 “Hydrogen” LTS 版本


Node.js 已正式发布 18.13.0 “Hydrogen”  LTS 版本,此版本带来一些新功能:

重要变化

添加对外部共享 js 内置函数的支持 #44376

默认情况下,构建 Node.js 会将所有依赖项都捆绑到 Node.js 二进制文件本身。但一些 Node.js 发行版更喜欢在外部管理依赖项,因此现有的构建选项允许外部化与本机代码的依赖关系。

此提交添加了额外的选项,可以外部化与 JavaScript 代码(包括 WASM)的依赖关系。此添加不会影响 Node.js 项目提供的二进制文件,只是允许其他发行版在需要时外部化额外的依赖项。

File 类 #45139

File 类是 FileAPI 的一部分,可以在任何 Blob 可以使用的地方使用,例如在 URL.createObjectURLFormData 中。它包含 Blob 所没有的两个属性:lastModified,上次修改文件的时间,以 ms 为单位;以及name,文件名。

支持 Node.js 测试运行器上的函数模拟 #45326

node:test 模块支持在测试期间进行模拟(通过顶级 mock 对象)

test('spies on an object method', (t) => {
const number = {
value: 5,
add(a) {
return this.value + a;
},
};
t.mock.method(number, 'add');

assert.strictEqual(number.add(3), 8);
assert.strictEqual(number.add.mock.calls.length, 1);
});

其他变化

  • build
    • 默认情况下禁用 v8 快照压缩 #45716
  • crypto
    • 更新根证书  #45490
  • dep
    • 将 ICU 更新到 72.1 #45068
  • doc
    • 为 headers/trailers 设置器添加仅文档弃用  #45697
    • 将 Rafael 添加到 tsc  #45691
    • url.parse 中弃用无效端口 #45576
    • 弃用 url.parse() #44919
  • lib
    • drop fetch 实验警告 #45287
  • net
    • (SEMVER-MINOR) 添加 autoSelectFamily 和 autoSelectFamilyAttemptTimeout 选项 (Paolo Insogna) #44731
  • src
    • (SEMVER-MINOR) 添加 uvwasi 版本 (Jithil P Ponnan) #45639
    • (SEMVER-MINOR) 添加初始影子领域支持 (Chengzhong Wu) #42869
  • test_runner
    • (SEMVER-MINOR) 添加 t.after() 钩子 (Colin Ihrig) #45792
    • (SEMVER-MINOR)不要为 runHook() 使用符号(Colin Ihrig)#45792
  • tls
    • (SEMVER-MINOR)将“ca”属性添加到证书对象(Ben Noordhuis)#44935
    • 删除 trustcor 根 ca 证书 (Ben Noordhuis) #45776
  • tools
    • 更新 certdata.txt  #45490
  • util
    • 为 utf8 编码添加快速路径 #45412
    • 提高文本解码器解码性能  #45294
    • (SEMVER-MINOR) 添加 MIME 实用程序  #21128

更新公告:https://github.com/nodejs/node/releases/tag/v18.13.0


相關推薦

2023-12-05

Node.js v18.19.0 已发布,代号 'Hydrogen'。Node v18.19.0 是一个长期支持版本 (LTS),这意味着它将获得更长的支持和维护。LTS 版本通常更加稳定和可靠,适合用于生产环境。 主要变化 将 npm 升级到 v10 在 Node.js 20 中经过两个月的试

2022-10-19

Node.js 19 在今天正式发布了,此次更新包括将 V8 JavaScript 引擎更新到 10.7,以及默认启用 HTTP(s)/1.1 KeepAlive。 Node.js 18 在本月晚些时候将进入长期支持(LTS),Node.js 19 将取代 Node.js 18 成为 "Current" 版本。 node --watch(实验性) 运

2024-10-22

2024年10月16日,Node.js v23.0.0 正式发布,带来了新特性、性能改进和更好的开发者体验。该版本增强了兼容性和稳定性,为构建高效应用程序提供了更多工具。 另外,Node.js v22 将在10月29日的这周成为长期支持(LTS)版本,进入

2023-11-24

Node.js v20.10.0 已正式发布,代号 'Iron'。根据发布时间表,由于上月 Node.js 21 已正式发布,因此 Node.js 20 就变成了长期支持版本 (LTS)。 新版本主要变化 引入新的--experimental-default-typeflag,用于改变 Node.js 的默认 module 通

2023-10-19

),相约开源PHP办公室,我们一起聊 AI!>>> Node.js 21 已正式发布。值得关注的变化包括: 将 V8 JavaScript 引擎升级至 11.8 fetch和WebStreams到达稳定状态 添加用于 flip module 默认值的新实验性 flag (--experimental-default-type) 内

2023-04-20

Node.js 20 已正式发布,将于 10 月成为 LTS 版本。 值得关注的变化 引入权限控制模型 (Permission Model) Synchronous import.meta.resolve Test Runner 到达稳定状态 将 V8 JavaScript 引擎升级到 11.3 支持构建单一可执行应用程序 Ada 升级到

2023-07-20

Node.js v18.17.0 现已发布,一些值得关注的变化包括: Ada 2.0 此版本附带最新版本的 URL 解析器 Ada。此更新为 URL 解析带来了显着的性能改进,包括对 node:url 中的 url.domainToASCII 和 url.domainToUnicode 函数的增强。 Ada 2.0 已集成到 Node

2022-09-25

Node.js 发布了 3 个更新,分别是 14.20.1 (LTS)、16.17.1 (LTS) 和 18.9.1。三个版本的主要更新都是修复安全问题。 14.20.1 (LTS) CVE-2022-32212: 在 macOS 上的 --inspect 中重新绑定 DNS(高危) CVE-2022-32213: 通过 obs-fold 机制实现的绕过(中等

2022-10-18

Node.js 发布了两个更新,分别是 v16.18.0 (LTS) &  v18.11.0。 Node v16.18.0 (LTS) 主要变化 [1cc050eaa8] - (SEMVER-MINOR) assert: 添加getCalls和reset到 callTracker #44191 [e5c9975f11] - (SEMVER-MINOR) crypto: 允许 zero-length secret KeyObje

2023-08-11

Node.js 为多个分支发布了更新,分别是:v16.20.2 (LTS)、v16.20.2 (LTS) 和 v20.5.1 (Current)。 根据发布公告,此次更新主要是修复安全漏洞。 CVE-2023-32002:可以通过 Module._load 绕过策略(高危) CVE-2023-32006:可以通过 module.cons

2022-11-18

,可以部署在任何运行 JavaScript 的平台上。 Nuxt 3.0 今天正式发布了稳定版,3.0 基于 Vue 3,为 TypeScript 提供了“一等公民”支持,并进行了一次彻底的重构,对内核进行了精简,速度更快,体验更好。 公告写道,Nuxt 3.0 的 API

2022-10-20

继 2019 年开源 Midway 框架之后,阿里一直在 Node.js 的前沿进行深度研究,除了加入 TC39 参与标准化建设,向上游 Node.js 项目持续贡献,与龙蜥社区合作优化之外,也在 Serverless 领域有

2022-11-16

Node.js v19.1.0 现已发布,此版本一些更新内容包括: Notable changes 支持 Node.js 测试运行器上的 function mocking #45326 node:test 模块在测试过程中通过顶层的 mock object 支持 mocking。 test('spies on an object method', (t) => { const number =

2022-06-22

历经一年多的开发,mojo.js 终于发布了首个主要版本 1.0。 mojo.js 是 Node.js 实时 Web 框架,可将它视作采用 TypeScript 重写的 Mojolicious(Mojolicious 是 Perl 开发的 Web 框架)。mojo.js 使用了所有最新的 JavaScript 特性,专为聚焦超媒体