Node.js 27.0.0-alpha.0.0.0 (Alpha)
TL;DR · AI 摘要
Node.js 27.0.0-alpha引入V8 15.6引擎,新增Math.sumPrecise等方法,调整内存管理规则,WebAssembly不再支持asm.js编译。
核心要点
- V8 15.6新增Math.sumPrecise()等6项默认语言特性
- 内存默认限制调整为物理内存的一半(256MB-4GB)
- WebAssembly不再支持asm.js编译,相关标志重命名
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Node.js 27.0.0-alpha更新
- V8 15.6特性
- 新增Math.sumPrecise()等6项方法
- 实验性功能:import defer等
- 内存管理
- 默认堆限制=物理内存/2
- Buffer/ArrayBuffer计入堆限制
- 构建要求
- 移除FIPS提供者
- 要求OpenSSL 3+
金句 / Highlights
值得收藏与分享的关键句。
内存默认限制调整为物理内存的一半(256MB-4GB)
Math.random()序列因--random-seed参数变化
asm.js不再编译为WebAssembly,标志重命名为--wasm-<name>
Rafael Gonzaga
[2026-10-29, 版本 27.0.0-alpha.0.0.0(Alpha), @RafaelGSS](https://nodejs.org/en/blog/release/v27.0.0-alpha.0.0.0#2026-10-29-version-2700-alpha000-alpha-rafaelgss)
[重要变更](https://nodejs.org/en/blog/release/v27.0.0-alpha.0.0.0#notable-changes)
#### V8 15.6
V8 引擎已更新至版本 15.6.75.13,较 Node.js 26 中的 14.6 有显著升级。主要更新包括:
- 新增默认启用的语言特性:
Math.sumPrecise()、Intl.Locale.prototype.variants、Iterator.prototype.join()、Iterator.prototype.includes()、Iterator.zip()和Iterator.zipKeyed()。 - 标志后启用的实验性特性:
import defer(--js-defer-import-eval)、不可变ArrayBuffer(--js-immutable-arraybuffer)和正则表达式缓冲区边界(--js-regexp-buffer-boundaries)。 - 内存管理:当未设置
--max-old-space-size时,默认堆大小限制现为物理内存的一半,且在 256 MB 与 4 GB 之间取值。Buffer和ArrayBuffer实例占用的内存现在计入堆限制。依赖旧版默认值的应用应显式设置--max-old-space-size。 - 序列化:
v8.serialize()、structuredClone()和postMessage()使用新版格式,旧版 Node.js 无法读取。v8.cachedDataVersionTag()和编译缓存会在每次 V8 补丁更新时变更,而不仅限于 V8 版本变更时。 - 可观测行为变更:
Math方法现使用 LLVM 的 libm 库,可能在最低位存在差异;Math.random()序列在给定--random-seed时会变化;error.stack不再通过原型链查找;await产生的微任务更少;Array.prototype.sort()对大型数组使用 PowerSort 算法并保持稳定性。 - 堆快照现在包含内部对象、数值和完整脚本源码。生成堆快照耗时约为之前的两倍,生成的文件体积也增大约两倍。
- WebAssembly:asm.js 不再编译为 WebAssembly,
--experimental-wasm-<name>标志已更名为--wasm-<name>。
14.6 到 15.6 的 V8 更新完整变更日志将很快发布。
由 Joyee Cheung 贡献,详见 #65161、#66537 和 #66601。
#### 其他重要变更
- [`21cfb2a4ad`] - (SEMVER-MAJOR)build: 移除捆绑的FIPS提供者构建 (Filip Skokan) #64777
- [`34e3b90621`] - (SEMVER-MAJOR)build: 要求使用OpenSSL 3或更高版本 (Filip Skokan) #64777
- [`c362db6e24`] - (SEMVER-MAJOR)build: 将Intel macOS支持降级为实验性功能 (Antoine du Hamel) #65427
- [`fb8d52d75a`] - (SEMVER-MAJOR)crypto: 将DEP0093标记为已终止 (Filip Skokan) #64777
- [`8be36fb494`] - (SEMVER-MAJOR)crypto: 移除旧版OpenSSL代码路径 (Filip Skokan) #64777
- [`718f044f07`] - (SEMVER-MAJOR)crypto: 验证摘要输出编码 (Filip Skokan) #66247
- [`6b8001d219`] - (SEMVER-MAJOR)crypto: 验证更新输入编码 (Filip Skokan) #66247
- [`127f79a911`] - (SEMVER-MAJOR)crypto: 验证Cipher/Decipher更新中的inputEncoding (Maruthan G) #66247
- [`b116861e88`] - (SEMVER-MAJOR)crypto: 将DEP0198标记为已终止 (Filip Skokan) #64000
- [`4d09c04253`] - (SEMVER-MAJOR)crypto: 将DEP0203和DEP0204标记为已终止 (Filip Skokan) #63188
- [`9d50432837`] - (SEMVER-MAJOR)crypto: 在Web Crypto缓冲区参数中拒绝可调整大小的后备存储 (Filip Skokan) #63925
- [`63907e1018`] - (SEMVER-MAJOR)crypto: 在未初始化的DH computeSecret时抛出异常 (Filip Skokan) #63922
- [`463e56fb00`] - (SEMVER-MAJOR)crypto: 运行时弃用多次调用Hmac.digest() (Madelyn) #63624
- [`a2cd8aa883`] - (SEMVER-MAJOR)crypto,https,tls: 终止OpenSSL引擎支持 (Filip Skokan) #64777
- [`3983092f63`] - (SEMVER-MAJOR)deps: 为openssl-4.1.0更新archs文件 (Node.js GitHub Bot) #66971
- [`79239a48f1`] - (SEMVER-MAJOR)deps: 将openssl源代码升级到openssl-4.1.0 (Node.js GitHub Bot) #66971
- [`85bfe9a938`] - (SEMVER-MAJOR)deps: 移除 ncrypto 遗留的 OpenSSL 后端 (Filip Skokan) #64777
- [`826df076a3`] - (SEMVER-MAJOR)deps: 将 V8 升级到 15.6.75.13 (Joyee Cheung) #66601
- [`4eb3908d1f`] - (SEMVER-MAJOR)deps: 将 npm 升级到 12.1.0 (npm 团队) #66212
- [`cba0833111`] - (SEMVER-MAJOR)dgram: 对字面 IP 地址跳过自定义查找 (Ruben Bridgewater) #64131
- [`54a5095764`] - (SEMVER-MAJOR)dns: 反向查找时不再查阅 hosts 文件 (Archkon) #64268
- [`efc0a14461`] - (SEMVER-MAJOR)dns: 在
SetServers中停止使用已弃用函数 (Antoine du Hamel) #64356 - [`7f16850ef6`] - (SEMVER-MAJOR)doc: 移除 OpenSSL 1.x 相关引用 (Filip Skokan) #64777
- [`9c67491706`] - (SEMVER-MAJOR)doc: 更新 Node.js 27 官方二进制工具链 (Richard Lau) #66377
- [`6071f8bc32`] - (SEMVER-MAJOR)domain: 运行时弃用该模块 (Matteo Collina) #65074
- [`2c4356cedf`] - (SEMVER-MAJOR)domain: 迁移到 AsyncLocalStorage (Matteo Collina) #61095
- [`a8f2bf007e`] - (SEMVER-MAJOR)fs: 本地实现 glob 功能 (Aviv Keller) #65392
- [`1f53d7ee3f`] - (SEMVER-MAJOR)fs: 当前缀为 Buffer 时,mkdtemp 返回 Buffer (Hamid Reza Ghavami) #64397
- [`e5778f78c5`] - (SEMVER-MAJOR)http: 拒绝超出头部限制的响应 (Matteo Collina) #65010
- [`25c0c8e18a`] - (SEMVER-MAJOR)http: 运行时弃用无 new 实例化的写法 (Yagiz Nizipli) #64853
- [`9f75269840`] - (SEMVER-MAJOR)http: 将 keepAliveTimeout 默认值提升至 65 秒 (Tim Perry) #62782
- [`21436f0405`] - (SEMVER-MAJOR)http: 使 req.headers 拥有 null 原型 (Matteo Collina) #62900
- [`b2248fd370`] - (SEMVER-MAJOR)http: 在 finish 之后拒绝 addTrailers (Ryuhei Shima) #62832
- [`1576cb83b4`] - (SEMVER-MAJOR)http2: 增加默认窗口大小 (Matteo Collina) #64623
- [`12ce81920a`] - (SEMVER-MAJOR)lib: 弃用 _http_* (Sebastian Beltran) #58535
- [`19c46abbef`] - (SEMVER-MAJOR)lib: 在 setDeserializeMainFunction 中将 argv[0] 插入到 argv[1] (Daijiro Wachi) #62928
- [`b1387e6aed`] - (SEMVER-MAJOR)lib: 使用
Object.freeze避免在SourceMap中进行防御性克隆 (Daijiro Wachi) #62830 - [`9390c810d1`] - (SEMVER-MAJOR)lib: 根据规范在 Blob 构造函数中拒绝 SharedArrayBuffer (Ali Hassan) #63046
- [`057e591f7c`] - (SEMVER-MAJOR)lib,src: 移除
--no-experimental-websocketCLI 标志 (Antoine du Hamel) #65284 - [`9746ebce07`] - (SEMVER-MAJOR)net: 优化 family 自动选择的竞争尝试 (Matteo Collina) #66229
- [`e03e2f6486`] - (SEMVER-MAJOR)net: 对多次 listen 调用抛出异常 (Matteo Collina) #64871
- [`a6e7e6a95e`] - (SEMVER-MAJOR)net: 运行时弃用 Server.prototype._listen2 (Guilherme Araújo) #64794
- [`6d8baeabb0`] - (SEMVER-MAJOR)net: 添加实验性 net/promises API (Ethan Arrowood) #63965
- [`4f844f4380`] - (SEMVER-MAJOR)repl: 使用 inspector 代替 vm (Aviv Keller) #64034
- [`fc28d9402f`] - (SEMVER-MAJOR)src: 官方弃用
node::ObjectWrap(Anna Henningsen) #63756 - [`2d0c926907`] - (SEMVER-MAJOR)src: 合并
CreateEnvironment()重载版本 (Anna Henningsen) #63596 - [`f378cfcfbf`] - (SEMVER-MAJOR)src,lib: 添加 --allow-env 权限 (James M Snell) #66132
- [`9f7ae86d8b`] - (SEMVER-MAJOR)stream: 当 map 迭代器提前关闭时销毁源 (Y1D7NG) #64264
- [`6698675526`] - test_runner: 使用 AsyncLocalStorage 代替 async_hooks (Matteo Collina) #66795
- [`7a11a9b2db`] - (SEMVER-MAJOR)tls: 将
_tls_*标记为已淘汰 (Sebastian Beltran) #60658 - [`967d4af565`] - (SEMVER-MAJOR)zlib: 将类转换为现代语法并终止 DEP0184 (Yagiz Nizipli) #64849
[语义版本主版本提交](https://nodejs.org/en/blog/release/v27.0.0-alpha.0.0.0#semver-major-commits)
- [`984aa0c25e`] - (SEMVER-MAJOR)async_hooks: 移除旧版AsyncLocalStorage实现 (Matteo Collina) #63641
- [`d1960949bb`] - (SEMVER-MAJOR)benchmark: 防止意外触发fork炸弹 (James M Snell) #66132
- [`21cfb2a4ad`] - (SEMVER-MAJOR)build: 移除捆绑的FIPS提供者构建 (Filip Skokan) #64777
- [`34e3b90621`] - (SEMVER-MAJOR)build: 要求使用OpenSSL 3或更高版本 (Filip Skokan) #64777
- [`6f178cd39f`] - (SEMVER-MAJOR)build: 将嵌入器字符串重置为"-node.0" (Joyee Cheung) #66601
- [`60c7958b8e`] - (SEMVER-MAJOR)build: 更新V8 CI的标志 (Richard Lau) #66537
- [`05c9b89d42`] - (SEMVER-MAJOR)build: 禁用V8_USE_METAGEN_INSTANCE_TYPES (Joyee Cheung) #66537
- [`18077b5d3a`] - (SEMVER-MAJOR)build: 抓取源代码时不要匹配v8_libplatform_headers (Joyee Cheung) #66537
- [`520388f362`] - (SEMVER-MAJOR)build: 将嵌入器字符串重置为"-node.0" (Joyee Cheung) #66537
- [`30074a3cc8`] - (SEMVER-MAJOR)build: 修复cppgc_base perfetto源代码抓取器 (Chengzhong Wu) #65161
- [`b356886269`] - (SEMVER-MAJOR)build: 在V8中使用ICU_UTIL_DATA_STATIC (Joyee Cheung) #65161
- [`08a7331bb1`] - (SEMVER-MAJOR)build: 禁用v8_postmortem_support (Joyee Cheung) #65161
- [`c148a7f3ba`] - (SEMVER-MAJOR)build: 将嵌入器字符串重置为"-node.0" (Joyee Cheung) #65161
- [`87a4efb61f`] - (SEMVER-MAJOR)_Revert_ "build: 更新Makefile以支持fat binary" (Antoine du Hamel) #65427
- [`c362db6e24`] - (SEMVER-MAJOR)build: 将Intel macOS支持降级为实验性功能 (Antoine du Hamel) #65427
- [`ea86967557`] - (SEMVER-MAJOR)build,win: 不对cmd参数添加引号 (StefanStojanovic) #65161
- [`fb8d52d75a`] - (SEMVER-MAJOR)crypto: 将 DEP0093 标记为已结束生命周期 (Filip Skokan) #64777
- [`8be36fb494`] - (SEMVER-MAJOR)crypto: 移除遗留的 OpenSSL 代码路径 (Filip Skokan) #64777
- [`718f044f07`] - (SEMVER-MAJOR)crypto: 验证摘要输出编码 (Filip Skokan) #66247
- [`6b8001d219`] - (SEMVER-MAJOR)crypto: 验证更新输入编码 (Filip Skokan) #66247
- [`127f79a911`] - (SEMVER-MAJOR)crypto: 验证 Cipher/Decipher 更新中的 inputEncoding (Maruthan G) #66247
- [`b116861e88`] - (SEMVER-MAJOR)crypto: 将 DEP0198 标记为已结束生命周期 (Filip Skokan) #64000
- [`4d09c04253`] - (SEMVER-MAJOR)crypto: 将 DEP0203 和 DEP0204 标记为已结束生命周期 (Filip Skokan) #63188
- [`9d50432837`] - (SEMVER-MAJOR)crypto: 在 Web Crypto 缓冲区参数中拒绝可调整大小的后备存储 (Filip Skokan) #63925
- [`63907e1018`] - (SEMVER-MAJOR)crypto: 在未初始化的 DH computeSecret 中抛出异常 (Filip Skokan) #63922
- [`463e56fb00`] - (SEMVER-MAJOR)crypto: 运行时弃用多次调用 Hmac.digest() (Madelyn) #63624
- [`a2cd8aa883`] - (SEMVER-MAJOR)crypto,https,tls: 停止支持 OpenSSL 引擎 (Filip Skokan) #64777
- [`b61e682fc0`] - (SEMVER-MAJOR)_Revert_ "crypto,https,tls: 运行时弃用基于 OpenSSL 引擎的 API (DEP0183)" (Filip Skokan) #64777
- [`da516920fc`] - (SEMVER-MAJOR)crypto,https,tls: 运行时弃用基于 OpenSSL 引擎的 API (DEP0183) (Filip Skokan) #63966
- [`3983092f63`] - (SEMVER-MAJOR)deps: 为 openssl-4.1.0 更新 archs 文件 (Node.js GitHub Bot) #66971
- [`79239a48f1`] - (SEMVER-MAJOR)deps: 将 openssl 源代码升级到 openssl-4.1.0 (Node.js GitHub Bot) #66971
- [`85bfe9a938`] - (SEMVER-MAJOR)deps: 移除 ncrypto 遗留的 OpenSSL 后端 (Filip Skokan) #64777
- [`1c90519c1a`] - (SEMVER-MAJOR)deps: V8: cherry-pick 8d14d49c4040 (Antoine du Hamel) #66601
- [`2d87c56f37`] - (SEMVER-MAJOR)deps: V8: cherry-pick 19173cde61d8 (Joyee Cheung) #66601
- [`2589e42f48`] - (SEMVER-MAJOR)deps: V8: cherry-pick 95626c699ff2 (Joyee Cheung) #66601
- [`0e2f479a0c`] - (SEMVER-MAJOR)deps: V8: cherry-pick 99ebeac9c548 (Joyee Cheung) #66601
- [`c1e280b773`] - (SEMVER-MAJOR)deps: V8: cherry-pick b2fc93f37507 (Joyee Cheung) #66601
- [`66f9d2e907`] - (SEMVER-MAJOR)deps: V8: cherry-pick e10d795bfe95 (Joyee Cheung) #66601
- [`fc2b3fb0d0`] - (SEMVER-MAJOR)deps: V8: cherry-pick 5dfeb2e42380 (Joyee Cheung) #66601
- [`5fb4242977`] - (SEMVER-MAJOR)deps: V8: cherry-pick 415b7d302d2e (Joyee Cheung) #66601
- [`cb9469250e`] - (SEMVER-MAJOR)deps: 修补 V8 以避免 zlib 符号重复 (Michaël Zasso) #66601
- [`415fe6e55e`] - (SEMVER-MAJOR)deps: 更新 V8 15.6.75.13 对应的 Rust crates (Joyee Cheung) #66601
- [`826df076a3`] - (SEMVER-MAJOR)deps: 将 V8 升级至 15.6.75.13 (Joyee Cheung) #66601
- [`18b117b30f`] - (SEMVER-MAJOR)deps: 修补 V8 以修复 Windows 构建问题 (StefanStojanovic) #66537
- [`87c1b1cfb4`] - (SEMVER-MAJOR)deps: 在所有 illumos 版本中支持 madvise(3C) (Dan McDonald) #66537
- [`5fb74d16f9`] - (SEMVER-MAJOR)deps: 为 illumos 修补 V8 (Dan McDonald) #66537
- [`ea41e655f3`] - (SEMVER-MAJOR)deps: 在 Windows 上将 V8_PRESERVE_MOST 定义为无操作 (Stefan Stojanovic) #66537
- [`a633547d9c`] - (SEMVER-MAJOR)deps: 修补 V8 以避免 zlib 符号重复 (Michaël Zasso) #66537
- [`bae4e709b8`] - (SEMVER-MAJOR)deps: V8: cherry-pick 1246d3bfab1a (Joyee Cheung) #66537
- [`a9cc80dd34`] - (SEMVER-MAJOR)deps: V8: cherry-pick 00508c374a45 (Joyee Cheung) #66537
- [`801d1c7a39`] - (SEMVER-MAJOR)deps: V8: backport 9fb4444bfc46 (Steven R. Loomis) #66537
- [`938487505f`] - (SEMVER-MAJOR)deps: V8: cherry-pick 786c1c2d88d4 (Eliau Elkouby) #66537
- [`e7db80914f`] - (SEMVER-MAJOR)deps: V8: cherry-pick 820f3d72a638 (Joyee Cheung) #66537
- [`2551a56021`] - (SEMVER-MAJOR)deps: V8: cherry-pick 315d9c945ac3 (ishabi) #66537
- [`bfd74f89dd`] - (SEMVER-MAJOR)deps: V8: cherry-pick 37baecdd9479 (ishabi) #66537
- [`fd1aba0dfa`] - (SEMVER-MAJOR)deps: V8: cherry-pick 99ebeac9c548 (Joyee Cheung) #66537
- [`f0273edb9e`] - (SEMVER-MAJOR)deps: V8: cherry-pick b2fc93f37507 (Joyee Cheung) #66537
- [`d5a8930d0f`] - (SEMVER-MAJOR)deps: 更新 V8 15.5.35.20 对应的 Rust crates (Joyee Cheung) #66537
- [`6b28cb0909`] - (SEMVER-MAJOR)deps: 升级 V8 到 15.5.35.20 (Joyee Cheung) #66537
- [`93bb027b68`] - (SEMVER-MAJOR)deps: V8: cherry-pick c795f5948568 (Aviv Keller) #65161
- [`28553729d0`] - (SEMVER-MAJOR)deps: 移除损坏的 NamedPropertyDefinerCallbackV2 转换器 (Joyee Cheung) #65161
- [`84087531dc`] - (SEMVER-MAJOR)deps: V8: backport 9fb4444bfc46 (Steven R. Loomis) #65161
- [`346ac563dc`] - (SEMVER-MAJOR)deps: V8: cherry-pick 786c1c2d88d4 (Eliau Elkouby) #65161
- [`39d3b1d1a0`] - (SEMVER-MAJOR)deps: V8: cherry-pick 5404e0f85a83 (Shelley Vohr) #65161
- [`5d221d9cd6`] - (SEMVER-MAJOR)deps: V8: cherry-pick 820f3d72a638 (Joyee Cheung) #65161
- [`6faa33426f`] - (SEMVER-MAJOR)deps: V8: cherry-pick 315d9c945ac3 (ishabi) #65161
- [`daf03c0361`] - (SEMVER-MAJOR)deps: V8: 挑选 37baecdd9479 (ishabi) #65161
- [`9e274db98a`] - (SEMVER-MAJOR)deps: V8: 回滚 a0607c5006b8 (Antoine du Hamel) #65161
- [`bfc94df374`] - (SEMVER-MAJOR)deps: V8: 挑选 f4221e09e812 (Gundepalli Sravani) #65161
- [`f2967441e5`] - (SEMVER-MAJOR)deps: V8: 回滚 f3d4d458fe59 (Olivier Flückiger) #65161
- [`33e5031503`] - (SEMVER-MAJOR)deps: V8: 挑选 99ebeac9c548 (Joyee Cheung) #65161
- [`c419eaca14`] - (SEMVER-MAJOR)deps: V8: 挑选 811fe8b04203 (Milad Fa) #65161
- [`677424cd86`] - (SEMVER-MAJOR)deps: V8: 挑选 ba4ef8d72cde (Joyee Cheung) #65161
- [`268bd647fc`] - (SEMVER-MAJOR)deps: V8: 挑选 68cf9ecd884b (Joyee Cheung) #65161
- [`430abdf455`] - (SEMVER-MAJOR)deps: 修复 macros.h 以支持 GCC (Michaël Zasso) #65161
- [`109aaa78bd`] - (SEMVER-MAJOR)deps: 修复 V8 在 AIX 上的竞态条件 (Abdirahim Musse) #65161
- [`38b9b32a3b`] - (SEMVER-MAJOR)deps: 修补 V8 以修复 Windows 构建 (StefanStojanovic) #65161
- [`a4c868738f`] - (SEMVER-MAJOR)deps: 支持所有 illumos 版本的 madvise(3C) (Dan McDonald) #65161
- [`904ceda2cb`] - (SEMVER-MAJOR)deps: 修补 V8 以适配 illumos (Dan McDonald) #65161
- [`ee7590d4b9`] - (SEMVER-MAJOR)deps: V8: 挑选 b2fc93f37507 (Joyee Cheung) #65161
- [`1407687630`] - (SEMVER-MAJOR)deps: 在 Windows 上将 V8_PRESERVE_MOST 定义为无操作 (Stefan Stojanovic) #65161
- [`0b7a5c99d3`] - (SEMVER-MAJOR)deps: 修补 V8 以避免 zlib 符号重复 (Michaël Zasso) #65161
- [`888c6fd847`] - (SEMVER-MAJOR)deps: 更新 V8 15.2.124.38 对应的 Rust crates (Joyee Cheung) #65161
- [`07fa7280c1`] - (SEMVER-MAJOR)deps: 将 V8 更新至 15.2.124.38 (Joyee Cheung) #65161
- [`4eb3908d1f`] - (SEMVER-MAJOR)deps: 将 npm 升级至 12.1.0 (npm team) #66212
- [`cba0833111`] - (SEMVER-MAJOR)dgram: 跳过字面 IP 地址的自定义查找 (Ruben Bridgewater) #64131
- [`54a5095764`] - (SEMVER-MAJOR)dns: 反向查找时不查阅 hosts 文件 (Archkon) #64268
- [`efc0a14461`] - (SEMVER-MAJOR)dns: 在
SetServers中停止使用弃用函数 (Antoine du Hamel) #64356 - [`7f16850ef6`] - (SEMVER-MAJOR)doc: 移除 OpenSSL 1.x 相关引用 (Filip Skokan) #64777
- [`9c67491706`] - (SEMVER-MAJOR)doc: 更新 Node.js 27 官方二进制工具链 (Richard Lau) #66377
- [`6071f8bc32`] - (SEMVER-MAJOR)domain: 运行时弃用该模块 (Matteo Collina) #65074
- [`2c4356cedf`] - (SEMVER-MAJOR)domain: 移植至 AsyncLocalStorage (Matteo Collina) #61095
- [`a8f2bf007e`] - (SEMVER-MAJOR)fs: 本地实现 glob 功能 (Aviv Keller) #65392
- [`1f53d7ee3f`] - (SEMVER-MAJOR)fs: 当前缀为 Buffer 时,mkdtemp 返回 Buffer (Hamid Reza Ghavami) #64397
- [`e5778f78c5`] - (SEMVER-MAJOR)http: 拒绝超出头部限制的响应 (Matteo Collina) #65010
- [`25c0c8e18a`] - (SEMVER-MAJOR)http: 运行时弃用无 new 实例化的用法 (Yagiz Nizipli) #64853
- [`9f75269840`] - (SEMVER-MAJOR)http: 将 keepAliveTimeout 默认值提升至 65 秒 (Tim Perry) #62782
- [`21436f0405`] - (SEMVER-MAJOR)http: 使 req.headers 拥有 null 原型 (Matteo Collina) #62900
- [`b2248fd370`] - (SEMVER-MAJOR)http: 拒绝在 finish 之后调用 addTrailers (Ryuhei Shima) #62832
- [`1576cb83b4`] - (SEMVER-MAJOR)http2: 提升默认窗口大小 (Matteo Collina) #64623
- [`12ce81920a`] - (SEMVER-MAJOR)lib: 弃用 _http_* (Sebastian Beltran) #58535
- [`19c46abbef`] - (SEMVER-MAJOR)lib: 在 setDeserializeMainFunction 中将 argv[0] 插入到 argv[1] (Daijiro Wachi) #62928
- [`b1387e6aed`] - (SEMVER-MAJOR)lib: 使用
Object.freeze避免在SourceMap中进行防御性克隆 (Daijiro Wachi) #62830 - [`9390c810d1`] - (SEMVER-MAJOR)lib: 根据规范在 Blob 构造函数中拒绝 SharedArrayBuffer (Ali Hassan) #63046
- [`057e591f7c`] - (SEMVER-MAJOR)lib,src: 移除
--no-experimental-websocketCLI 标志 (Antoine du Hamel) #65284 - [`9746ebce07`] - (SEMVER-MAJOR)net: 修复网络族自动选择的竞争条件 (Matteo Collina) #66229
- [`e03e2f6486`] - (SEMVER-MAJOR)net: 对多次 listen 调用抛出异常 (Matteo Collina) #64871
- [`a6e7e6a95e`] - (SEMVER-MAJOR)net: 运行时弃用 Server.prototype._listen2 (Guilherme Araújo) #64794
- [`6d8baeabb0`] - (SEMVER-MAJOR)net: 添加实验性 net/promises API (Ethan Arrowood) #63965
- [`4f844f4380`] - (SEMVER-MAJOR)repl: 在 REPL 中使用 inspector 代替 vm (Aviv Keller) #64034
- [`d9264eb6f2`] - (SEMVER-MAJOR)src: 将 NODE_MODULE_VERSION 更新至 153 (Joyee Cheung) #66601
- [`26cc118a75`] - (SEMVER-MAJOR)src: 将 NODE_MODULE_VERSION 更新至 152 (Joyee Cheung) #66537
- [`6cf05e7ddc`] - (SEMVER-MAJOR)src: 修复新 CFunction 生命周期的外部引用注册 (Joyee Cheung) #65161
- [`da93e7e4de`] - (SEMVER-MAJOR)src: 从
v8::PropertyCallbackInfo<void>迁移 (Michaël Zasso) #65161 - [`45287a975f`] - (SEMVER-MAJOR)src: 从已弃用的 xxxV2 API 迁移 (Michaël Zasso) #65161
- [`aa1d7b53ac`] - (SEMVER-MAJOR)src: 将 NODE_MODULE_VERSION 更新至 151 (Joyee Cheung) #65161
- [`fc28d9402f`] - (SEMVER-MAJOR)src: 正式弃用
node::ObjectWrap(Anna Henningsen) #63756 - [`2d0c926907`] - (SEMVER-MAJOR)src: 合并
CreateEnvironment()重载版本 (Anna Henningsen) #63596 - [`f92c252fe9`] - (SEMVER-MAJOR)src, test: 迁移至 cppgc 所有者 v8::MicrotaskQueue (Joyee Cheung) #66537
- [`f378cfcfbf`] - (SEMVER-MAJOR)src,lib: 添加 --allow-env 权限 (James M Snell) #66132
- [`7e7ff40303`] - (SEMVER-MAJOR)src,test: 将 GetPrototypeV2() 迁移至 GetPrototype() (Joyee Cheung) #66537
- [`9f7ae86d8b`] - (SEMVER-MAJOR)stream: 当 map 迭代器提前关闭时销毁源 (Y1D7NG) #64264
- [`a730f3bf1f`] - (SEMVER-MAJOR)test: 更新以适配新的 V8 序列化格式 (Joyee Cheung) #65161
- [`9b4d1576df`] - (SEMVER-MAJOR)test: 避免在共享值传送带测试中使用 worker (Michaël Zasso) #65161
- [`536cedd8bc`] - (SEMVER-MAJOR)test: 更新 test-heapdump-vm-script.js 以适配新版本 V8 (Joyee Cheung) #65161
- [`27be1e05a4`] - (SEMVER-MAJOR)test: 更新 WPT Wasm jsapi 期望值 (Michaël Zasso) #65161
- [`822e8ef3ce`] - (SEMVER-MAJOR)test: 修复 fs 写入编码覆盖率 (Filip Skokan) #66247
- [`acbc3ff133`] - (SEMVER-MAJOR)test,benchmark: 移除仅适用于 OpenSSL 1.x 的覆盖率 (Filip Skokan) #64777
- [`ee9ae88636`] - (SEMVER-MAJOR)test,tools: 移除 OpenSSL 1.x 时代的 FIPS 剩余代码 (Filip Skokan) #64777
- [`7a11a9b2db`] - (SEMVER-MAJOR)tls: 将 _tls_* 移至生命周期结束 (Sebastian Beltran) #60658
- [`1eead123e2`] - (SEMVER-MAJOR)tools: 为 MSVC STL 增加 constexpr 步长限制 (Joyee Cheung) #65161
- [`6d854b7338`] - (SEMVER-MAJOR)tools: 更新 V8 gypfiles 至 15.1 版本 (Michaël Zasso) #65161
- [`84de78ad23`] - (SEMVER-MAJOR)tools: 为 15.0 更新 V8 gyp 文件 (Michaël Zasso) #65161
- [`60c6de2540`] - (SEMVER-MAJOR)tools: 为 14.9 更新 V8 gyp 文件 (Michaël Zasso) #65161
- [`8394db37d8`] - (SEMVER-MAJOR)tools: 为 14.8 更新 V8 gyp 文件 (Michaël Zasso) #65161
- [`967d4af565`] - (SEMVER-MAJOR)zlib: 将类转换为现代语法并结束 DEP0184 (Yagiz Nizipli) #64849
[Semver-Minor Commits](https://nodejs.org/en/blog/release/v27.0.0-alpha.0.0.0#semver-minor-commits)
- [`bcf58508d8`] - (SEMVER-MINOR)doc: 将 Alpine 提升至二级。将 Alpine 3.21 列为最低版本 (Stewart X Addison) #63737
- [`1a885caa6e`] - (SEMVER-MINOR)fs: 添加 mkstemp() (Marco) #66484
- [`6dea43a0f8`] - (SEMVER-MINOR)lib: 优化 AbortSignal 性能 (Robert Nagy) #66789
- [`2052d0dcdf`] - (SEMVER-MINOR)module: 添加 --experimental-strip-private-modules (Marco Ippolito) #63869
- [`9a9f7e87b8`] - (SEMVER-MINOR)process: 从最终化中返回注销函数 (Matteo Collina) #66482
- [`f513ec7e7c`] - (SEMVER-MINOR)test_runner: 添加 mockReturnValue 和 promise 工具函数 (Guilherme Araújo) #66631
- [`49ad95045a`] - (SEMVER-MINOR)vfs: 移除标记 (Matteo Collina) #66318
- [`df2ea49e00`] - (SEMVER-MINOR)zlib: 添加 crc32c (Philipp Dunkel) #66828
[Semver-Patch Commits](https://nodejs.org/en/blog/release/v27.0.0-alpha.0.0.0#semver-patch-commits)
- [`a4231cfc6b`] - benchmark: 在 perf_hooks usertiming 中正确处理 n 参数 (Rafael Gonzaga) #66746
- [`77609be7c0`] - benchmark: 在 run.js 中固定 CPU 时使用 process.execPath (Rafael Gonzaga) #66724
- [`2d908f48d9`] - benchmark: 修复 hideStackFrames 错误基准测试 (Rafael Gonzaga) #66723
- [`b41fabb13c`] - build: 遵循 OpenSSL 配置的 API 级别 (Filip Skokan) #66953
- [`5741b0ed04`] - build: 对不兼容的 quic 配置标志触发错误 (Antoine du Hamel) #66893
- [`262e9ac11f`] - build: 对不兼容的 dtls 配置标志发出警告 (Antoine du Hamel) #66892
- [`d1ed17b708`] - build: 移除
libname的默认值 (Antoine du Hamel) #66790 - [`796a83a7ce`] - build: 在构建共享库时不再传递 vendor 头文件 (Antoine du Hamel) #66844
- [`ef632266e5`] - build: 在发布包中包含 v8_debug_helper 源文件 (Chengzhong Wu) #66763
- [`754325cd2f`] - build: 对不兼容的 quic 配置标志发出警告 (Antoine du Hamel) #66754
- [`cd192cd442`] - build: 使用 pkg-config 加载
gtest_main(Antoine du Hamel) #66675 - [`06c0e46c81`] - build: 使 rustc 版本警告与最低要求保持一致 (Yuya Inoue) #66794
- [`e463b487c6`] - build: 在 Windows CI 中缺少 GYP 源时失败 (Yuya Inoue) #66787
- [`df214abc5f`] - build: 修复 gtest 集成 (Antoine du Hamel) #66735
- [`87db28b6ba`] - build: 从 abseil.gyp 中移除不存在的头文件 (Jiawen Geng) #66583
- [`7514ef8caf`] - build: 从元数据输入中移除已删除的 V8 头文件 (inoway46) #66531
- [`313b83438f`] - build: 在 GitHub 工作流中将 RUSTC_VERSION 升级至 1.88 (Joyee Cheung) #65742
- [`b12bad4b11`] - build,deps,tools: 准备更新到 OpenSSL 4.1 (Filip Skokan) #66758
- [`ca277a6294`] - build,test: 在 Windows 构建中设置 Perfetto 测试 (Chengzhong Wu) #66731
- [`4c294b3b27`] - build,win: 修复 Perfetto (StefanStojanovic) #66876
- [`28b50fb016`] - build,win: 在无 cargo 时 vcbuild 快速失败 (Ved Chaudhari) #66858
- [`86066045ea`] - cli: 添加无操作的
--experimental-repl-await(Aviv Keller) #64986 - [`7e58295439`] - crypto: 将 SHA-3 与 BoringSSL 集成 (Filip Skokan) #66922
- [`91c4436158`] - crypto: 修复使用较旧 OpenSSL 3.0 的构建问题 (Filip Skokan) #66931
- [`14ed05f86b`] - crypto: 修复 BoringSSL RSA-PSS 宏重复定义问题 (Filip Skokan) #66900
- [`39e03b4673`] - crypto: 使用
OPENSSL_SIZE_T代替硬编码的int(Antoine du Hamel) #66889 - [`fccdbc8b99`] - crypto: 避免泄露 scrypt 参数检查错误 (Lazizbek Ergashev) #66671
- [`b5b07a0772`] - crypto: 使用
OPENSSL_SIZE_T代替硬编码的int(Antoine du Hamel) #66752 - [`38aa1f3881`] - crypto: 避免重复使用 randomInt() 缓存字节 (Jiawen Geng) #66597
- [`f0f8115e10`] - crypto: 修复非 NIST 曲线的 X509 曲线名称崩溃问题 (Lazizbek Ergashev) #66694
- [`75191c45af`] - deps: 修补 npm engines 以接受 alpha 版本 (Rafael Gonzaga) #67063
- [`640ce854c5`] - deps: 将 zlib 更新到 1.3.2.1-motley-9f9f52c (Node.js GitHub Bot) #66989
- [`578d081148`] - deps: 将 brotli 更新到 1.2.1 (Node.js GitHub Bot) #66990
- [`0f2a5394a5`] - deps: 将 undici 更新到 8.12.3 (Node.js GitHub Bot) #66993
- [`352e81424f`] - deps: 将 V8 修补到 15.6.75.25 (Node.js GitHub Bot) #66820
- [`3bc923a3e4`] - 依赖项: 将 googletest 更新至 cd8e73f067129f8489e35c7b51c7a68552b289d2 (Node.js GitHub Bot) #66814
- [`7c2eaad296`] - 依赖项: V8: 从 Antoine du Hamel 提交 785a2ea88a90 挑选提交 (Node.js GitHub Bot) #66876
- [`00d716d323`] - 依赖项: 将 sqlite 更新至 3.54.1 (Node.js GitHub Bot) #66816
- [`ce3f25de37`] - 依赖项: 将 simdjson 更新至 5.0.5 (Node.js GitHub Bot) #66817
- [`c883ccf3b2`] - 依赖项: 修补 V8 以 undefined (Node.js GitHub Bot) #66656
- [`8b52f14ae5`] - _回滚_ "依赖项: 启用 V8 API 中断 JS 检查" (Antoine du Hamel) #65907
- [`875d905390`] - _回滚_ "依赖项: V8: 从 b36cf9f6ccd2 后向移植" (Antoine du Hamel) #65907
- [`ccd648eb0c`] - 依赖项: V8: 从 b36cf9f6ccd2 后向移植 (Olivier Flückiger) #65397
- [`49e2608492`] - 依赖项: 启用 V8 API 中断 JS 检查 (deepak1556) #65397
- [`d8ac30125b`] - 依赖项: 从 SQLite 提取提交 e807d4e379 (Junsu Han) #63525
- [`8ee5b26f86`] - 依赖项: V8: 从 bef0d9c1bc90 后向移植 (Joyee Cheung) #62132
- [`88ec31414c`] - _回滚_ "依赖项、lib、tools: 移除 jitless 和 lite 模式" (Joyee Cheung) #66516
- [`7e39b8781a`] - 依赖项、lib、tools: 移除 jitless 和 lite 模式 (Paolo Insogna) #66459
- [`45ae12c3aa`] - diagnostics_channel: 修复悬空绑定指针 (Trevor Burnham) #65860
- [`2f65b902d8`] - dns: 在 ParseTxtReply 中保留向量容量 (agape1225) #64978
- [`3e6cca0e6a`] - (CVE-2026-58042)dns: 处理大型 resolveAny 地址回复 (RafaelGSS) #64820
- [`c558c8e81a`] - dns: 为 resolveAny 地址回复添加大型处理 (RafaelGSS) #64820
- [`c558c8e81a`] - dns: 为 resolveAny 地址回复添加大型处理 (RafaelGSS) #64820
- [`c558c8e81a`] - dns: 为 resolveAny 地址回复添加大型处理 (RafaelGSS) #64820
- [`7abbd56cfd`] - 文档:记录 alpha 版本发布流程 (Rafael Gonzaga) #66796
- [`ba3c34a93a`] - 文档:修复 typescript.md 中语法和措辞问题 (Ravi Arnan Irianto) #66977
- [`2e4f8cfa20`] - 文档:将 Rafael 和 Antoine 添加为最后安全发布负责人 (Rafael Gonzaga) #66909
- [`84f8e2f3a9`] - 文档:在权限模型页面中记录 --allow-fs-vfs 参数 (Rafael Gonzaga) #66793
- [`952dcb2dc2`] - 文档:更新 test-forbid-only 的配置模式 (Filip Skokan) #66945
- [`6d4646731e`] - 文档:将测试运行器监视模式标记为稳定 (Guilherme Araújo) #66708
- [`67d0e5faca`] - 文档:更新 node-config-schema.json (Marco Ippolito) #66827
- [`8df2dd89d0`] - 文档:更新 V8 ABI 发布策略 (Rafael Gonzaga) #64196
- [`5926201795`] - 文档:添加关于何时将 V8 补丁回溯到 main 的文档 (Chengzhong Wu) #66710
- [`9df97a7c2b`] - 文档:为 Electron 46 预留 NMV 154 (David Babenko-Sanders) #66712
- [`ba4d9bf94b`] - 文档:将 hoondongkang 添加为 triager (Donghoon Kang) #66427
- [`c0c8ce80a8`] - 文档:警告不要在模块钩子中等待回复 (Paul Bouchon) #65590
- [`4381c4730e`] - 文档:修正 QuicStream 方向和 id 类型 (Kisnner Obando) #66687
- [`04fb145b6a`] - 文档:明确 styleText 文档中十六进制代码的使用方式 (Chris Swithinbank) #66539
- [`886c7b41f3`] - 文档:在权限中列出 openssl-store 通道并移除字段 (Rafael Gonzaga) #66558
- [`d4484555ea`] - 文档:为新的发布计划添加文档 (Antoine du Hamel) #66568
- [`6f723ec6e7`] - 文档:修复 crypto 变更列表排序 (Chengzhong Wu) #66073
- [`dab3a73673`] - 文档:修复因冲突解决不当导致的 YAML 错误 (Antoine du Hamel) #65921
- [`bb5cffc091`] - 文档:明确 DEP0207 的适用范围 (Antoine du Hamel) #65618
- [`e65df3b3e5`] - 文档:为 Electron 45 保留 NMV 150 (John Kleinschmidt) #65405
- [`0ce7b02d50`] - 文档:移除摘要 (Aviv Keller) #65246
- [`d097de8855`] - 文档:为 Electron 44 保留 NMV 149 (Calvin) #63859
- [`a641226c91`] - 文档:修复 lint-md (Rafael Gonzaga) #63127
- [`fc192ee030`] - 文档:为 Electron 43 保留 NMV 148 (Ryan Fitzgerald) #63016
- [`936b20c074`] - 文档,加密:将原始密钥格式标记为稳定 (Filip Skokan) #66829
- [`98dbf6070e`] - 事件:在移除时报告原始 once() 监听器 (Ved Chaudhari) #66621
- [`1eb734d568`] - ffi:在事件循环回调后排空任务队列 (Trivikram Kamat) #66918
- [`e0619bb7e3`] - ffi:修复快速缓冲参数中的句柄泄漏 (Trivikram Kamat) #66867
- [`4c14b9f58a`] - ffi:添加 getFunction 缓存未命中基准测试 (Donghoon Kang) #66456
- [`8fbb315a4d`] - ffi:为内部绑定类型添加二进制参数 (Donghoon Kang) #66502
- [`bb3f9176ca`] - fs:减少 glob 部分的内存分配 (Roberto Bianchi) #66716
- [`9c06dab7d0`] - http:将 maxHeaderPairs 传递给 parser.initialize() (Matteo Collina) #66250
- [`34c28d5a69`] - _撤销_ "http:在完整响应后不要发出套接字错误" (Matteo Collina) #64511
- [`17163ead33`] - http:在完整响应后不要发出套接字错误 (Archkon) #64278
- [`41b1e6845a`] - http2:检测 nghttp2 放弃的流 (Matteo Collina) #66641
- [`1f26576a3f`] - http2:在发出 'aborted' 之前提交 RST_STREAM (Lazizbek Ergashev) #66314
- [`191a3b2db4`] - http2: 为中止的HEAD兼容响应发出关闭事件 (Robert Nagy) #66310
- [`351da9c1b1`] - http2: 减少每个请求的计划回调次数 (Matteo Collina) #64265
- [`d3b20a7cd5`] - http2: 为兼容流原生完成空尾部字段 (Matteo Collina) #64265
- [`ec8b9f49bf`] - http2: 跳过兼容响应的尾部字段往返 (Matteo Collina) #64265
- [`a28496591e`] - _撤销_ "inspector: 从V8中断中延迟JS执行" (Antoine du Hamel) #65907
- [`30f4990224`] - inspector: 从V8中断中延迟JS执行 (deepak1556) #65397
- [`6353f4026c`] - lib: 优化TextEncoder.encode对短字符串的处理 (Mert Can Altin) #66831
- [`d15ccb7e97`] - meta: 为顶级GN构建文件添加标签 (Yuya Inoue) #66808
- [`3ab2db8cb5`] - meta: 忽略AGENTS.override.md (Matteo Collina) #66629
- [`8ae0ad0683`] - module: 为Web Worker线程添加"worker"条件 (Guy Bedford) #66635
- [`c526694ae9`] - module: 修复module.register()钩子线程中require(esm)的问题 (Matteo Collina) #66770
- [`269cab6320`] - net: 当BlockList对等地址不可用时关闭连接 (Matteo Collina) #66640
- [`c4429c85ec`] - _撤销_ "path: 修复win32规范化在保留名称上的误报" (Anna Henningsen) #64216
- [`b0a4f162df`] - path: 修复win32规范化在保留名称上的误报 (Daijiro Wachi) #64159
- [`a7e06d975d`] - permission: 在丢弃环境变量时拒绝通配符引用 (Rafael Gonzaga) #66773
- [`53f037ecc3`] - quic: 移除过时的setOutbound() (Efe Karasakal) #66646
- [`1a54c4fe8c`] - quic: 截断CONNECTION_CLOSE帧的原因字段 (Efe Karasakal) #66644
- [`107133ceb8`] - quic: 在打开流时允许空主体 (Efe Karasakal) #66690
- [`6678d6f71d`] - quic: 重用头部支持断言 (Efe Karasakal) #66777
- [`f88a1d25e9`] - quic: 验证流错误代码 (Efe Karasakal) #66650
- [`8c1a7d3172`] - quic: 替换已移除的 SetPrototypeV2 调用 (Yuya Inoue) #66603
- [`9f2fb935fd`] - sea: 在第 0 层和工作线程中挂载 vfsArchive (Philipp Dunkel) #66709
- [`3f0c2e4c8b`] - _撤销_ "sea: 在第 0 层和工作线程中挂载 vfsArchive" (Antoine du Hamel) #66706
- [`ac9d85c418`] - sea: 在第 0 层和工作线程中挂载 vfsArchive (Philipp Dunkel) #66614
- [`eb663fe6f4`] - sqlite: 避免在每次运行前调用 sqlite3_clear_bindings() (Michał Fox) #66983
- [`d630b5d88b`] - sqlite: 重试繁忙或锁定的备份步骤 (Lazizbek Ergashev) #66769
- [`e20da720c8`] - sqlite: 验证 backup() 源是一个 Database (Guilherme Araújo) #66797
- [`cfb2de3db8`] - sqlite: 在虚拟表迭代器耗尽时跳过 return() (Trivikram Kamat) #66519
- [`1bffd1d0a3`] - sqlite: 传播 Database 选项获取器的错误 (Guilherme Araújo) #66748
- [`68df1db7b0`] - sqlite: 为结果行使用共享形状对象 (Guilherme Araújo) #66385
- [`6511fb8e34`] - _撤销_ "src: 从操作系统 CSPRNG 而非 OpenSSL 的 DRBG 初始化 V8" (Filip Skokan) #66903
- [`03cca65be3`] - src: 修复使用
--shared-brotli时的构建问题 (Lazizbek Ergashev) #66895 - [`1c12ff1667`] - src: 避免将 Blob 大小截断为 32 位 (Christian Aurich Zanettini Martins) #66207
- [`5a566ac6b9`] - src: 优化 node::MakeCallback 的小开销 (Nigro Simone) #66395
- [`a0ce8f152b`] - src: 在 AsyncResource::MakeCallback 中保留 ALS 存储 (Nigro Simone) #66326
- [`f9f3fa96b2`] - src: 允许在 V8 启动 blob 基础上构建快照 (Shelley Vohr) #65374
- [`21f0f2786f`] - src: 移除 --harmony-import-attributes (Olivier Flückiger) #65396
- [`0401a2d083`] - src: 修复新 CFunction 生命周期的外部引用注册 (Joyee Cheung) #63679
- [`18f938d254`] - src: 将 NODE_MAJOR_VERSION 提升至 27 (Rafael Gonzaga) #63128
- [`967f0a7061`] - src,permission: 在没有入口点时不要授予当前目录读取权限 (Rafael Gonzaga) #66645
- [`60e6c84f4e`] - stream: 保留暂停写入的异步上下文 (Matteo Collina) #66907
- [`4e75b714df`] - stream: 降低 TransformStream 构造成本 (Matteo Collina) #66643
- [`153ec89621`] - stream: 优化 stream/iter from() 取消等待性能 (James M Snell) #66648
- [`818f34833a`] - stream: 在 stream/iter 中共享 abort 监听器的 once 选项 (James M Snell) #66648
- [`17e7b68996`] - stream: 防止 fromWritable() 中遗漏 'drain' 事件 (James M Snell) #66648
- [`a7c156fd37`] - stream: 构造传递给 stream/iter transforms 的选项 (James M Snell) #66648
- [`13d0167013`] - stream: 构造 stream/iter 等待和合并记录 (James M Snell) #66648
- [`e6c9c8eecd`] - stream: 构造 stream/iter 字节视图快照和批量条目 (James M Snell) #66648
- [`724190cfdc`] - stream: 在 stream/iter 写入器中避免每次写入分配内存 (James M Snell) #66648
- [`778306c001`] - stream: 使用构造函数创建 stream/iter 迭代器结果 (James M Snell) #66648
- [`5bcade91de`] - stream: 在 pipeToSync() 中使 endSync() 可选 (James M Snell) #66648
- [`82563d8c39`] - stream: 将长期存在的流/迭代器对象保持在快速模式 (James M Snell) #66648
- [`64a762b7d3`] - stream: 修复HTTP/2拆解时可能出现问题的流销毁逻辑 (Tim Perry) #65079
- [`ddba9a535f`] - test: 验证HTML和JSON文档文件是否生成正确 (Richard Lau) #66613
- [`62b471723d`] - test: 适配libuv 1.53+版本的
test-blocklist(Antoine du Hamel) #67002 - [`9b5d938fad`] - test: 移除过时的BoringSSL跳过测试 (Filip Skokan) #66922
- [`236f6e7217`] - test: 修复OpenSSL 4.1环境下TLS合并测试 (Filip Skokan) #66962
- [`b91d04955a`] - _Revert_ "test: 标记SmartOS上worker初始化失败为不稳定测试" (Filip Skokan) #66903
- [`08b09a2f62`] - test: 处理stringbytes分配失败的情况 (Filip Skokan) #66887
- [`2f91bc366d`] - test: 修复test-http-agent-keepalive测试的稳定性 (Filip Skokan) #66887
- [`727e0cac72`] - test: 在CA证书测试中发送SNI信息 (Tamir Duberstein) #66835
- [`fd20448111`] - test: 在终结器测试用例中保持对象存活 (Matteo Collina) #66869
- [`ce9d6504a4`] - test: 在跳过配置模式测试时检查构建选项 (Yuya Inoue) #66899
- [`221b47d556`] - test: 在默认构建中运行test-config-json-schema测试 (Marco Ippolito) #66827
- [`56da329c76`] - test: 更新WebCryptoAPI的WPT测试至e15690d276版本 (Node.js GitHub Bot) #66813
- [`4737802218`] - test: 在BoringSSL环境下跳过openssl配置测试 (David Babenko-Sanders) #66780
- [`c61ba86ed0`] - test: 适配OpenSSL 4.x版本变更 (Filip Skokan) #66775
- [`9347db1df9`] - test: 修复test-filehandle-close测试的稳定性 (Filip Skokan) #66750
- [`bc5af1c67c`] - test: 等待shared-isolate Worker退出完成 (Filip Skokan) #66722
- [`0c2949dd9d`] - test: 将大型 SQLite 字符串测试用例迁移至 pummel (Filip Skokan) #66722
- [`c172bcd8a8`] - test: 在高负载下允许周期性刷新完成 (Filip Skokan) #66722
- [`592a0bd89c`] - test: 在退出前等待调试器重启 (Filip Skokan) #66722
- [`6fc90e4427`] - test: 重试未就绪进程的超时报告 (Filip Skokan) #66722
- [`8d4262525d`] - test: 为本地端口测试保留两种协议族 (Filip Skokan) #66722
- [`2745698537`] - test: 覆盖关闭套接字上的源特定成员资格 (Rich Trott) #66624
- [`782a3ac8ae`] - test: 更新 WebCryptoAPI 的 WPT 至 b638c093cd (Node.js GitHub Bot) #66689
- [`4599b6a0f2`] - test: 跳过以 root 身份运行时失败的测试 (Livia Medeiros) #66666
- [`c570b67593`] - test: 将 loader 调试器等待测试标记为非易失 (Filip Skokan) #66319
- [`c12d483b1f`] - test: 将退出超时测试标记为非易失 (Filip Skokan) #66319
- [`1a15692fb6`] - test: 将 test-cpu-prof-dir-worker 标记为非易失 (Filip Skokan) #66319
- [`cbf3566b12`] - test: 移除 SEA Linux 调试器易失条目 (Filip Skokan) #66319
- [`e0a3c37c30`] - test: 移除过期的易失状态条目 (Filip Skokan) #66319
- [`a4aa3c02cc`] - test: 修复 HTTP/2 重置回调检查的易失性 (Trivikram Kamat) #64730
- [`2cc4c81e10`] - _Revert_ "test: 降低
different-registry-per-thread的易失性" (Antoine du Hamel) #63244 - [`130398ab05`] - test: 降低
different-registry-per-thread的易失性 (Antoine du Hamel) #63209 - [`45b6626457`] - test_runner: 添加禁止独占测试的选项 (joao-oliveira-softtor) #66578
- [`6698675526`] - test_runner:使用 AsyncLocalStorage 代替 async_hooks(Matteo Collina)#66795
- [`a0b4170764`] - tls:使用 BoringSSL 配置 TLS 1.3 加密套件(Filip Skokan)#66922
- [`c7974d9982`] - tls:将缓冲记录合并为一次读取(Robert Nagy)#66698
- [`135b70e670`] - tls:添加 tlsSocket.socket,用于访问 TLS 下方的原始流(Tim Perry)#66598
- [`a2ce2c6def`] - tls,tools:更新 BoringSSL 指纹和 TLS 错误(Filip Skokan)#66922
- [`79c1fc4fbb`] - tools:升级 remark-preset-lint-node(dependabot[bot])#67023
- [`8587d711a1`] - tools:将 nixpkgs-unstable 升级至 901c54c08bdc20e00c2b3c73716b97497b1(Node.js GitHub Bot)#66994
- [`ec8e19d893`] - _Revert_ "tools:在 /tools/doc 中通过 2 次更新提升文档组"(Antoine du Hamel)#67015
- [`763524d434`] - tools:授予 CI 工作流 Actions 读取权限(Filip Skokan)#66919
- [`7eff3cc4cd`] - tools:限制 lint-addon-docs 的 checkout 范围(Yuya Inoue)#66505
- [`6209c29dcf`] - tools:在 x64 macOS 上禁用 error-on-warn(Antoine du Hamel)#66925
- [`a232998e0d`] - tools:在
test-shared.yml中添加--error-on-warn配置标志(Antoine du Hamel)#66751 - [`678c5551b2`] - tools:在
test-shared.yml中重新启用 openssl 1.1.x 和 3.0.x(Antoine du Hamel)#66711 - [`d7b6fee8cc`] - tools:将 nixpkgs-unstable 升级至 f20cd90e28fe0403873f473b29e42662cd8(Node.js GitHub Bot)#66819
- [`8175dc3c05`] - tools:为未读的基准测试
n添加 lint 规则(Murat Kirazkaya)#66807 - [`1bc3cdae37`] - tools:通过 4 次更新提升 /tools/doc 的文档组(dependabot[bot])#66798
- [`947b9a3aba`] - tools:如果 PR 包含非机器人提交,则跳过依赖项更新(Marco Ippolito)#66503
- [`e2d5522773`] - tools: 容忍非 UTF-8 编码的测试输出 (Filip Skokan) #66783
- [`a5af6440be`] - tools: 在选定分支上更新 OpenSSL (Filip Skokan) #66704
- [`e39f2e8cff`] - tools: 在
nix-changes.yml中添加只读访问权限 (Antoine du Hamel) #66691 - [`d8d598b6d0`] - tools: 将 nixpkgs-unstable 更新至 8edc0c72e3a38faf5434e40d1f19431125f (Node.js GitHub Bot) #66497
- [`2192f7f916`] - tools: 将 /tools/doc 中的 doc group 版本号提升 2 次 (dependabot[bot]) #66632
- [`28194a3037`] - tools: 将 /tools/doc 中的 doc group 版本号提升 4 次 (dependabot[bot]) #66468
- [`5d9228d5c3`] - tools: 在所有平台上固定 sccache 版本以修复基准测试 CI 作业 (Tim Perry) #66284
- [`d4120cbcc6`] - tools: 将 nixpkgs-unstable 更新至 79b35bf0bda5cd110f856aa5b5b2c5ba446 (Node.js GitHub Bot) #66146
- [`fe10572a1c`] - tools: 将 nixpkgs-unstable 更新至 aff8a0b28396750446e5537a96461bc4fac (Node.js GitHub Bot) #66010
- [`278a9b21b3`] - tools: 将 nixpkgs-unstable 更新至 e5ead30d0824debba629dcf0720abeddee5 (Node.js GitHub Bot) #65836
- [`8e8ada7f6b`] - tools: 在
sharedLibDeps.nix中移除 nghttp2 固定版本 (Antoine du Hamel) #65687 - [`f80223c414`] - tools: 将 nixpkgs-unstable 更新至 0e7911a191ea0fb9d6e8e771d24736d3618 (Node.js GitHub Bot) #65657
- [`9d7f18516c`] - tools: 将 nixpkgs-unstable 更新至 391b592eb44808b3bd0cb80bb71b63a5a11 (Node.js GitHub Bot) #65496
- [`04a0c270be`] - tools: 将 nixpkgs-unstable 更新至 6b5e5b7a6631f065bf6908986990b37d845 (Node.js GitHub Bot) #65224
- [`1b0b7ae7c9`] - tools: 更新 nixpkgs 固定版本 (Node.js GitHub Bot) #64747
- [`c76aff4e0a`] - tools: 将 nixpkgs-unstable 更新至 20535e48e12c86043b577b8518234ff5dbb (Node.js GitHub Bot) #64589
- [`56387dda0f`] - tools: 更新 nixpkgs 固定版本 (Node.js GitHub Bot) #64463
- [`71812d1b43`] - tools: 在 Intel Mac 上将 nixpkgs 版本固定为 26.05-darwin (Antoine du Hamel) #64210
- [`72b8d91212`] - tools: 将 nixpkgs-unstable 更新至 d33369954a67ae3322177dc9a3d56409291 (Node.js GitHub Bot) #64298
- [`0c59d78639`] - tools: 将 nixpkgs-unstable 更新至 89570f24e97e614aa34aa9ab1c927b6578a (Node.js GitHub Bot) #64183
- [`1434a079e1`] - tools: 将 nixpkgs-unstable 更新至 3e41b24abd260e8f71dbe2f5737d24122f9 (Node.js GitHub Bot) #64041
- [`e3a1c12f81`] - tools: 将 nixpkgs-unstable 更新至 49a4bd0573c376468dd7996ddb6f9fa31d8 (Node.js GitHub Bot) #63902
- [`7378f014ae`] - tools: 将 nixpkgs-unstable 更新至 cbb5cf358f50aa6acc9efd6113b7bcfbc35 (Node.js GitHub Bot) #63778
- [`330f44f29c`] - tools: 将 nixpkgs-unstable 更新至 e9a7635a57597d9754eccebdfc7045e6c86 (Node.js GitHub Bot) #63671
- [`73c592be2f`] - tools: 将 nixpkgs-unstable 更新至 3d8f0f3f72a6cd4d93d0ad13203f2ea1cb7 (Node.js GitHub Bot) #63528
- [`2ebf53330d`] - tools: 将 nixpkgs-unstable 更新至 d233902339c02a9c334e7e593de68855ad2 (Node.js GitHub Bot) #63376
- [`a37c61d1c2`] - tools: 将 nixpkgs-unstable 更新至 b3da656039dc7a6240f27b2ef8cc6a3ef3b (Node.js GitHub Bot) #63218
- [`f59539b514`] - url: 在百分号转义检查中跳过普通前缀 (Roberto Bianchi) #66696
- [`dd7235cb6a`] - url: 降低搜索参数排序时的缓冲区使用 (Roberto Bianchi) #66665
- [`531d28fc36`] - util: 修复对 URL 子类原型的检查功能 (Donghoon Kang) #66822
- [`c7ae7ab5b9`] - vfs: 修复 readlink、realpath 和 mkdtemp 的编码问题 (Christian Aurich Zanettini Martins) #66352
- [`fcb1aa83f6`] - vfs: 修复 promises.watch() 在信号已中止时的兼容性 (Trivikram Kamat) #66254
- [`44d5d57ad2`] - vfs: 保持内存句柄与文件状态同步 (Trivikram Kamat) #66356
- [`06550c777f`] - vfs: 在打开的句柄上强制只读状态 (Harjoth Khara) #64403
- [`62ca1bae5a`] - vfs: 允许在权限审计模式下挂载 (Rafael Gonzaga) #66745
- [`1d5f8e6cba`] - wasi: 接受带有高位设置的 wasm i32 指针 (Guy Bedford) #66636
- [`7622ebb3d7`] - zlib: 为 ZipEntry 添加原始内容读取方法 (Philipp Dunkel) #66801
Windows 64位安装程序:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0-x64.msi
Windows ARM 64位安装程序:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0-arm64.msi
Windows 64位二进制文件:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/win-x64/node.exe
Windows ARM 64位二进制文件:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/win-arm64/node.exe
macOS 64位安装程序:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0.pkg
macOS Apple Silicon 64位二进制文件:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0-darwin-arm64.tar.gz
macOS Intel 64位二进制文件:_即将推出_
Linux 64位二进制文件:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0-linux-x64.tar.xz
Linux PPC LE 64位二进制文件:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0-linux-ppc64le.tar.xz
Linux s390x 64位二进制文件:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0-linux-s390x.tar.xz
AIX 64位二进制文件:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0-aix-ppc64.tar.gz
ARMv8 64位二进制文件:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0-linux-arm64.tar.xz
源代码:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/node-v27.0.0-alpha.0.0.0.tar.gz
其他发布文件:https://nodejs.org/dist/v27.0.0-alpha.0.0.0/
文档:https://nodejs.org/docs/v27.0.0-alpha.0.0.0/api/
[SHASUMS](https://nodejs.org/en/blog/release/v27.0.0-alpha.0.0.0#shasums)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
/
c8401001efc634a60f68d34530abd5bbfc2ec15f4382e6979bded0ebbc6c365e node-v27.0.0-alpha.0.0.0-aix-ppc64.tar.gz
281a07f2feef054a0689b83f23233a21bd1fb5d4a1bbbe7ed756ab509bc21c2a node-v27.0.0-alpha.0.0.0-arm64.msi
ce167d66bc5d1dd25efcfb0126425e2a1c2b267aaea2a5d0bb47892b2afacbc4 node-v27.0.0-alpha.0.0.0-darwin-arm64.tar.gz
8061d34354a9d847d9f12658e02796fdf8f20ed17375474c299eeca5d900d30d node-v27.0.0-alpha.0.0.0-darwin-arm64.tar.xz
c618e72a423cf7c7dce64096079947df50786feb327a13c78e7e9a58c6ebb419 node-v27.0.0-alpha.0.0.0-headers.tar.gz
db853c33670e65974ec1297dd2d024d89b3de231d3ef3d99eec2d89335793c04 node-v27.0.0-alpha.0.0.0-headers.tar.xz
e87502413c0e9e695a57ef4bf8ad527fef6f60d3b7750de78de8181369e43aa4 node-v27.0.0-alpha.0.0.0-linux-arm64.tar.gz
348be53d6a3d6d41ba147d88743cc842777ac1a1efec56a8dc56128b27e69b9f node-v27.0.0-alpha.0.0.0-linux-arm64.tar.xz
45758e930f08cef1e8c1cc5f469ae0c597127ea0e72d62b20557e780df89ee38 node-v27.0.0-alpha.0.0.0-linux-ppc64le.tar.gz
27be897917bb780cf392b48e81f069b464a0cabe0d73654e6fe212ddd15c0338 node-v27.0.0-alpha.0.0.0-linux-ppc64le.tar.xz
e5dbe6de5182d637b35d208f1dc22700e74d851a06aa5d69b7c463d363793c04 node-v27.0.0-alpha.0.0.0-linux-s390x.tar.gz
e5dbe6de5182d637b35d208f1dc22700e74d851a06aa5d69b7c463d363793c04 node-v27.0.0-alpha.0.0.0-linux-s390x.tar.xz
e5dbe6de5182d637b35d208f1dc22700e74d851a06aa5d69b7c463d363793c04 node-v27.0.0-alpha.0.0.0-linux-x64.tar.gz
e5dbe6de5182d637b35d208f1dc22700e74d851a06aa5d69b7c463d363793c04 node-v27.0.0-alpha.0.0.0-linux-x64.tar.xz
e5dbe6de5182d637b35d208f1dc22700e74d851a06aa5d69b7c463d363793c04 node-v27.0.0-alpha.0.0.0-mingw-x64.tar.gz
e5dbe6de5182d637b35d208f1dc22700e74d851a06aa5d69b7c463d363793c04 node-v27.0.0-alpha.0.0.0-mingw-x64.tar.xz
e5dbe6de5182d637b35d208f1dc22700e74d851a06aa5d69b7c463d363793c04 node-v27.0.0-alpha.0.0.0-sunos-x64.tar.gz
e5dbe6de5182d637b35d208f1dc22700e74d851a06aa5d69b7c463d363793c04 node-v27.0.0-alpha.0.0.0-sunos-x64.tar.xz
e5dbe6de5182d637b35d208f1dc22700e74d851a06aa5d69b7c463d363793c04 node-v27.0.0-alpha.0.0.0-x64.msi
bbe99e34367fd02e0e6dc181cdfcf458b55f452a89d9220d01d05c348dec2198 win-arm64/node.exe
de28d8d8768051522162aa34a0f287c0f94078c4caeba6c6fab1fcfa8460cbcb win-arm64/node.lib
c5fd5d55235526806eb56ea598bc99ba2c155c24937f6b6df46ac0fbc1e886b6 win-arm64/node_pdb.7z
e1983ddca25f92653157b2077de8ecc5417601aae01de6a0b2b3ae3d5c45eff6 win-arm64/node_pdb.zip
88769901875e13e26ee712839fdf316c3182711f27ce9e328dd02fd56d8500bc win-x64/node.exe
7ef7aa20eba9873a03b1dcf4dfb7989144eaea1adae2544a9e95b68012d3093f win-x64/node.lib
591ca66ad0fe18eb211a0e4d751dddd2de337d9a7bf8a09e6f2d113a6e916217 win-x64/node_pdb.7z
f564344b9ca7dd4e5211c2a0068e7a6eb364a00869a88d89c32082c7833c9e7f win-x64/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQHPBAEBCAA5FiEEiQwI24V5Fi/uDfnbi+q0389VXvQFAmrjkfgbFIAAAAAABAAO bWFudTIsMi41KzEuMTIsMCwzAAoJEIvqtN/PVV70ftsL/ROeGCpltZo4KtkIwR2K vZ5YA3qjeaVNWJv8CCiAd1Xdh4uq0pfKFNpBqBolXNcn7zG2AWg5eniOs1koXqhj 1AmkBOY5waC3vw1XXlnxJhbi/yGHbln5f4ipsi5rZWDh6/EGGNmh4IUUiblGzlrX ge5dzFjp4DRuR0ggW0OncC0F3Kxe3Uy3rY6/eZ9CeFrlhSjGh9yUJhFrmZSjhQGn vlFxymrfAc4EkA550/ZfQP5udSK26WCVW0OohHJFXYXAj7OKGvB4hblZh/G4/m8B D2sTIjBUqtInNvHIwion3+5vjG70ygYfq/1aaqZNJPGgWQ3SHJlSAFgSonrH0Qu3 75aRDBjpWwrFKkMQd7/REuLCRUQvTnZFviwkaWNczdrlaKzqySQ0/RzHkZ/85Vcx Ohd2RtBm/unTE/+KCieXMWDGSdnjAGcSkteeEuTU6TRLl+h5u8jxVFDi4oLtiH3M FRsB096Dvfawz5SanHUu/nD0VLq2v+rOW8EQm7njOQOeoA== =HNM6 -----END PGP SIGNATURE-----