T
traeai
登录
返回首页
Node.js Blog

Node.js — Node.js 26.1.0 (Current)

8.5Score

TL;DR · AI 摘要

Node.js 26.1.0 引入实验性 `node:ffi` 模块,支持从 JavaScript 调用原生库,并改进了多个核心模块功能。

核心要点

  • 新增实验性 `node:ffi` 模块,需启用 `--experimental-ffi` 标志。
  • `fs.stat()` 增加 `signal` 参数以支持异步取消操作。
  • `crypto` 模块新增 `randomUUIDv7()` 方法生成随机 UUID。

结构提纲

按章节快速跳转。

  1. Node.js 26.1.0 发布,包含多项新特性和改进。

  2. ·实验性 FFI 模块

    引入实验性 `node:ffi` 模块用于加载动态库。

  3. 包括对 buffer、crypto、fs 等模块的功能增强。

  4. 新增 `end` 参数以提升灵活性。

  5. 新增 `randomUUIDv7()` 方法生成随机 UUID。

  6. 新增 `signal` 参数支持异步取消操作。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Node.js 26.1.0
    • Experimental `node:ffi`
    • Other Changes
      • Buffer Updates
      • Crypto Updates
      • FS Updates

金句 / Highlights

值得收藏与分享的关键句。

#Node.js#JavaScript#FFI#Crypto
打开原文

Antoine du Hamel

[2026-05-07, Version 26.1.0 (Current), @aduh95](http://nodejs.org/en/blog/release/v26.1.0#2026-05-07-version-2610-current-aduh95)

[Notable Changes](http://nodejs.org/en/blog/release/v26.1.0#notable-changes)

#### Experimental `node:ffi` module

Node.js now includes an experimental node:ffi module for loading dynamic libraries and calling native symbols from JavaScript.

The API is gated behind the --experimental-ffi flag and, when the Permission Model is enabled, requires --allow-ffi.

This API is inherently unsafe. Invalid pointers, incorrect signatures, or accessing memory after it has been freed can crash the process or corrupt memory.

Contributed by Paolo Insogna in #62072.

#### Other Notable Changes

  • [`34a6454fe3`] - (SEMVER-MINOR)buffer: add end parameter (Robert Nagy) #62390
  • [`073e84d7fe`] - (SEMVER-MINOR)crypto: accept key data in crypto.diffieHellman() and cleanup DH jobs (Filip Skokan) #62527
  • [`5b9cb10a5f`] - (SEMVER-MINOR)crypto: implement randomUUIDv7() (nabeel378) #62553
  • [`98f9becd16`] - (SEMVER-MINOR)debugger: add edit-free runtime expression probes to node inspect (Joyee Cheung) #62713
  • [`06defaa2ea`] - (SEMVER-MINOR)fs: add signal option to fs.stat() (Mert Can Altin) #57775
  • [`db66a963bf`] - (SEMVER-MINOR)fs: expose frsize field in statfs (Jinho Jang) #62277
  • [`87adb3472b`] - (SEMVER-MINOR)http: harden ClientRequest options merge (Matteo Collina) #63082
  • [`9047ec12ce`] - (SEMVER-MINOR)http: add req.signal to IncomingMessage (Akshat) #62541
  • [`ab66de8eaa`] - (SEMVER-MINOR)process: throw on execve(2) failure instead of aborting (Bryan English) #62878
  • [`8273682c87`] - (SEMVER-MINOR)src: allow empty --experimental-config-file (Marco Ippolito) #61610
  • [`fbff28f7e6`] - (SEMVER-MINOR)stream: propagate destruction in duplexPair (Ahmed Elhor) #61098
  • [`a8c773a0c7`] - (SEMVER-MINOR)test_runner: align mock timeout api (sangwook) #62820
  • [`b883a5eaea`] - (SEMVER-MINOR)test_runner: add mock-timers support for AbortSignal.timeout (DeveloperViraj) #60751
  • [`a21ae1771e`] - (SEMVER-MINOR)test_runner: support test order randomization (Pietro Marchini) #61747
  • [`b85c73ff10`] - (SEMVER-MINOR)util: colorize text with hex colors (Guilherme Araújo) #61556

[Commits](http://nodejs.org/en/blog/release/v26.1.0#commits)

Windows 64-bit Installer: https://nodejs.org/dist/v26.1.0/node-v26.1.0-x64.msi

Windows ARM 64-bit Installer: https://nodejs.org/dist/v26.1.0/node-v26.1.0-arm64.msi

Windows 64-bit Binary: https://nodejs.org/dist/v26.1.0/win-x64/node.exe

Windows ARM 64-bit Binary: https://nodejs.org/dist/v26.1.0/win-arm64/node.exe

macOS 64-bit Installer: https://nodejs.org/dist/v26.1.0/node-v26.1.0.pkg

macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-darwin-arm64.tar.gz

macOS Intel 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-darwin-x64.tar.gz

Linux 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-linux-x64.tar.xz

Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-linux-ppc64le.tar.xz

Linux s390x 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-linux-s390x.tar.xz

AIX 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-aix-ppc64.tar.gz

ARMv8 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-linux-arm64.tar.xz

Source Code: https://nodejs.org/dist/v26.1.0/node-v26.1.0.tar.gz

Other release files: https://nodejs.org/dist/v26.1.0/

Documentation: https://nodejs.org/docs/v26.1.0/api/

[SHASUMS](http://nodejs.org/en/blog/release/v26.1.0#shasums)

code
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

67808a758620e6c9cc075b5c9c77600a3793c7be6d4610c7066ae6794e91db0b  node-v26.1.0-aix-ppc64.tar.gz
1b16ac3cc9ba73efdb65f1b2b39ddb746e55c3affc9684c1b6f10ecefb25639c  node-v26.1.0-arm64.msi
91063f665c2f5d6e69e4f8fcb66d3d476bc2785ace82267274bf4da789985ceb  node-v26.1.0-darwin-arm64.tar.gz
c4b028b1ab7c01e4a526524d732522f71b0ea08e8859e29514d535ce2e17d443  node-v26.1.0-darwin-arm64.tar.xz
33519b28a352de668ab0a2a64366db032a45cb629d5353f86e4576e2780f4fcf  node-v26.1.0-darwin-x64.tar.gz
6cbc3e8f528abaceca02d65e9f7df787ee7a49c245708d5bca6bc9c7c3cbf71f  node-v26.1.0-darwin-x64.tar.xz
ffae4d3d81ba3a5e88579fa36aecb3ba9b4d5ed59dbe35233df7dce035402bb0  node-v26.1.0-headers.tar.gz
3147480b0957fcd4a515078c1b16948512a273264b018b159e1896e075852a1d  node-v26.1.0-headers.tar.xz
fcb4c339eef70c909cae72091008a6497278e2d0fcd221c0653068cf4ea4f0c7  node-v26.1.0-linux-arm64.tar.gz
058f00fe6c84f804b4b96aab377f76ed57dd0be5f10af4dcc0fded172746f366  node-v26.1.0-linux-arm64.tar.xz
f3ee72a29d3d25a626bae1672667a500b12c284fcfc00f5d6162e3762ebf173f  node-v26.1.0-linux-ppc64le.tar.gz
dbe65c537c7ce339a6e193c0aa9ac5b092b92589e1c1f12c3ac8eef4f18742ff  node-v26.1.0-linux-ppc64le.tar.xz
6e381e4a3b353f335d297abfe4c7d9485459247519df10445b17cc89d8c7f7a5  node-v26.1.0-linux-s390x.tar.gz
d484cea6da8b734986786b8711652da927ba7508c044930401c66206d55577a3  node-v26.1.0-linux-s390x.tar.xz
62d555c329e05e3625109f2e3a8b5195b368d5ef38266292469d32f63cd98ffd  node-v26.1.0-linux-x64.tar.gz
9fc6f21b6c4a62439727123e510e9c39febb2f563738f4927cd3e0b288c9b3c9  node-v26.1.0-linux-x64.tar.xz
c48f0cd097575dd3fcac777421fb427cc2076895990163cb4fc0de0b9eefddaf  node-v26.1.0-win-arm64.7z
0b913d67ccef3e7e62edcecd2daf31de5fd9551936501ccd3cd5c027ada089ee  node-v26.1.0-win-arm64.zip
645eb4944098148c58fb1864e9084610ede8e630eaa36d203f0883489ca56a93  node-v26.1.0-win-x64.7z
089a02c4c687451c9f0b7f1bfd252dae85a7ba27df0295a14096bdcc956fdc92  node-v26.1.0-win-x64.zip
64a9313ae5334a3ce3e482b92d79ae4f9d62764c69d90849ec83c22854f7b0da  node-v26.1.0-x64.msi
1cf43d1e8cba1f407ddb6a683e79ccb648d2465c1c0486943b00b3dabdaa021a  node-v26.1.0.pkg
ccaf9bfea12ec3d2beb36f5a1d54483f2620ad9de007e551fb8640ed82d29989  node-v26.1.0.tar.gz
779a1364889575d44e0215adc381806bbd0d9437557b59893e172f5b9d35a990  node-v26.1.0.tar.xz
d2da4369f98ca3333f3374128237916e91bd4c9a42cfa952e085a6b42e94f41a  win-arm64/node.exe
376eb35054756d8493adc1f26495fba0b7bda7365cdb7c132130044a622d6c31  win-arm64/node.lib
703253747a04e5660756d42a4c49760a67e029cc433bf47ff5363a2291d1e3af  win-arm64/node_pdb.7z
80ef6b8b87a28f041fec9ff0bb1a4f8eaa3af457ff550361c4360c7acfb894aa  win-arm64/node_pdb.zip
35ebb74da6acb56fdf570de64f1ae510d6d18ca09da494a3e1ac87edd32d263b  win-x64/node.exe
9c236a87f9c50a26099d74f35883c28c6b279585ccc5849aa640ff23de7be9b8  win-x64/node.lib
154c4f86083a255aabe3a95dea05b2557a04674505a9c00542ecf239539c5d6d  win-x64/node_pdb.7z
28d09820ad0228f3b7e1085ade8ae38895b76ea96baee12e020c2fd88c4d1c50  win-x64/node_pdb.zip

-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCafxkYgAKCRAgsaOQsWjT
VqUsAQDS9Mx+1Igqr9+8eUuVZoEqwb/Ps9JetNgrC2xonjB4JQD/Xi9Snnbu+88Z
mkEFu14+D5hcDCmaGgkUjoYU7bsPGQg=
=Be6F
-----END PGP SIGNATURE-----

AI 可能会生成不准确的信息,请核实重要内容