精选85Node.js(GitHub Releases)语言与库
Node.js v26.4.0:新增 VFS 子系统、包映射与 TLS 证书压缩
2026-06-24, Version 26.4.0 (Current), @aduh95
推荐理由
Node.js 是开发者日常依赖的核心运行时,本次新增 VFS 子系统、包映射等能力,建议关注新特性并评估是否采用。
Notable Changes
- [cde0daabcc] - (SEMVER-MINOR) doc: update blockList stability status to release candidate (alphaleadership) #63050
- [b78f5a7537] - (SEMVER-MINOR) fs: support caller-supplied readFile() buffers (Matteo Collina) #63634
- [417aacbc36] - (SEMVER-MINOR) http: close pre-request sockets in closeIdleConnections (semimikoh) #63470
- [fbb108be7d] - (SEMVER-MINOR) loader: implement package maps (Maël Nison) #62239
- [45494d5a8a] - (SEMVER-MINOR) net: support TCP_KEEPINTVL and TCP_KEEPCNT in setKeepAlive (Guy Bedford) #63825
- [ee29465e77] - (SEMVER-MINOR) tls: add certificateCompression option (Tim Perry) #62217
- [b17817eb2b] - (SEMVER-MINOR) vfs: dispatch node:fs/promises to mounted VFS instances (Matteo Collina) #63537
- [7bc93a6ac5] - (SEMVER-MINOR) vfs: add minimal node:vfs subsystem (Matteo Collina) #63115
Commits
- [c7eb83b46a] - benchmark: add child_process async path baselines (Yagiz Nizipli) #63929
- [066fff17a5] - benchmark: remove old alias usage in ffi benchmarks (Anna Henningsen) #63666
- [509cd1b94f] - buffer: optimize Buffer.prototype.copy (Robert Nagy) #63828
- [86e651bbd0] - buffer: use simdutf for two-byte utf8 byteLength (Mert Can Altin) #63639
- [d3f4ed9015] - build: suppress compiler warnings for histogram (Richard Lau) #63980
- [82dd7ddbe6] - build: add QUIC CI job for PRs matching QUIC related paths (Tim Perry) #63875
- [1124c0652d] - build: remove redundant intermediate node_aix_shared (Chengzhong Wu) #63747
- [e510ee8087] - build: build codecache and snapshot with libnode (Chengzhong Wu) #63626
- [5b583dace5] - build: enable maglev by default on Linux ppc64le (Richard Lau) #63474
- [a2324246b4] - build: remove duplicated node_use_sqlite and node_use_ffi conditions (Chengzhong Wu) #63629
- [2a467a5f69] - Revert "build, doc: generate node.1 with doc-kit" (Antoine du Hamel) #64091
- [e01dec45b8] - build, doc: generate node.1 with doc-kit (Aviv Keller) #62044
- [2ab9848fe4] - child_process: pass spawn options to the binding positionally (Yagiz Nizipli) #63930
- [04c04c8b5c] - child_process: serialize advanced IPC messages natively (Yagiz Nizipli) #63933
- [1eef57293d] - crypto: support non-byte WebCrypto lengths and cSHAKE (Filip Skokan) #63988
- [788a66e147] - crypto: share WebCrypto method and usage helpers (Filip Skokan) #63975
- [f9fdce3f46] - crypto: use EVP_MAC for HMAC on OpenSSL >=3 (Filip Skokan) #63942
- [7e9ca87e58] - crypto: make webcrypto aliasKeyFormat directional (Filip Skokan) #63910
- [656e57ebbf] - crypto: fix unhandled error in Hash._transform (Haram Jeong) #63261
- [65536f0d98] - crypto: refactor keyObject.toCryptoKey() and SubtleCrypto.getPublicKey() (Filip Skokan) #63622
- [978f1d2bcc] - crypto: handle cipher context allocation failures (Tian Teng) #63542
- [5551e8f773] - crypto: deduplicate X509 subject matching logic (Tobias Nießen) #63644
- [57ae87640a] - crypto: fix warnings in test_node_crypto.cc (Maya Lekova) #63490
- [9984b05dff] - crypto: coerce -0 to +0 before native calls (Filip Skokan) #63556
- [88011a3689] - crypto,tls: do not ignore BN_get_word error (Tobias Nießen) #63895
- [9a3393d14f] - debugger: lazily wait for initial break output (Trivikram Kamat) #63969
- [b0bfcb9c59] - debugger: defer probe pause handling until startup (Trivikram Kamat) #63608
- [8516003953] - debugger: await initialization after run and restart (Trivikram Kamat) #63607
- [4438cb5284] - debugger: add --max-hit option to probe mode (Joyee Cheung) #63704
- [238b54ed2a] - debugger: add more logs to probe mode (Joyee Cheung) #63663
- [bbef54b413] - deps: libffi: cherry-pick 9ca53a19833d (Anthony Green) #64040
- [9761385dbd] - deps: update libffi to 3.6.0 (Node.js GitHub Bot) #64040
- [373ec2d092] - deps: update acorn to 8.17.0 (Node.js GitHub Bot) #63901
- [e44b5d487e] - (SEMVER-MINOR) deps: update OpenSSL build config to support compression (Tim Perry) #62217
- [3ed287a2e2] - deps: upgrade npm to 11.17.0 (npm team) #63857
- [b1b597c797] - deps: add ngtcp2_fmt.c to build configuration (ngtcp2.gyp) (沈鸿飞) #63821
- [0bf8e12305] - deps: V8: add CopyArrayBufferBytes API (Robert Nagy) #63828
- [e49d7301a5] - deps: update ngtcp2 to 1.23.0 (Node.js GitHub Bot) #63777
- [e5c079004b] - deps: update nghttp3 to 1.16.0 (Node.js GitHub Bot) #63776
- [d599fa2346] - deps: update googletest to 7140cd416cecd7462a8aae488024abeee55598e4 (Node.js GitHub Bot) #63775
- [bc09f1508c] - deps: update sqlite to 3.53.2 (Node.js GitHub Bot) #63774
- [60787746c4] - deps: update zlib to 1.3.2.1-motley-3246f1b (Node.js GitHub Bot) #63773
- [971af104f1] - deps: update amaro to 1.1.10 (Node.js GitHub Bot) #63670
- [e17f665444] - deps: update googletest to 8736d2cd5c1dcba41170ed2fddca14021d4916c3 (Node.js GitHub Bot) #63669
- [7591949457] - dgram: add synchronous Socket connectSync() (Guy Bedford) #63932
- [d75222d7cb] - dgram: add synchronous Socket.prototype.bindSync() (Guy Bedford) #63838
- [0cf8342ae2] - dns: coerce -0 to +0 in lookup and resolver inputs (Filip Skokan) #63556
- [e068299320] - doc: update gcc toolchains to gcc-13 and g++-13 (Louie Llaneta) #64018
- [65178bdcf3] - doc: add aduh95 to last security release steward (Antoine du Hamel) #63981
- [83eedfe85b] - doc: fix typo in util.md (Daijiro Wachi) #63961
- [54948c78e7] - doc: clarify callback exceptions (Matteo Collina) #63939
- [205d0a57f2] - doc: fix incorrect test runner mock examples (Kimaswa Emmanuel Yusufu) #63656
- [44809b176c] - doc: clarify fromReadable() duck-typed contract (Trivikram Kamat) #63682
- [9cb15fcc85] - doc: fix typo in cli.md (Daijiro Wachi) #63883
- [394d0bb928] - doc: fix typo in vm.md (Daijiro Wachi) #63881
- [59b7be8193] - doc: fix typo in packages.md (Daijiro Wachi) #63882
- [33c236cea9] - doc: fix a/an article typos in module, util, and dns (Daijiro Wachi) #63766
- [30595da67b] - doc: update npm supported versions link (hojeong park) #63672
- [5919ba7e97] - doc: fix AES-OCB IV length in SubtleCrypto.supports example (Anshika Jain) #63717
- [51cab5cb72] - doc: add webstreams to args for pipeline from stream/promises (David Sanders) #63628
- [ce85b2af88] - doc: fix "used to sent" → "used to send" in http2 (Daijiro Wachi) #63700
- [298735e8df] - doc: mark Node.js 25 as End-of-Life (Antoine du Hamel) #63692
- [56948518b9] - doc: clarify tty raw mode applies to input processing only (Muhammad Zeeshan) #63438
- [32ff731248] - doc: add worker_threads history entries (Bob Put) #63545
- [cde0daabcc] - (SEMVER-MINOR) doc: update blockList stability status to release candidate (alphaleadership) #63050
- [d29483fc4f] - doc,crypto: mark argon2 and encap/decap as stable (Filip Skokan) #63924
- [6e668331d9] - events: improve addAbortListener perf by caching options object (Raz Luvaton) #52367
- [97aafe2519] - ffi: add fast support for almost all other platforms (Paolo Insogna) #63941
- [f52cf5eeaa] - ffi: add experimental fast FFI call API for AArch64 and x86_64 (Paolo Insogna) #63068
- [d9461fee05] - ffi: port semi-colon fix for riscv64 (and others) (Stewart X Addison) #63794
- [4c8402e0a8] - fs: do not treat EPERM as ENOTEMPTY on Windows (Kirill Saied) #63709
- [b78f5a7537] - (SEMVER-MINOR) fs: support caller-supplied readFile() buffers (Matteo Collina) #63634
- [3d0097d489] - fs: prevent spurious recursive watch events on prefix siblings (Marco) #63095
- [14d829cb3c] - fs: ignore deleted dirs in recursive watch scan (Trivikram Kamat) #63686
- [ceba08a1ea] - fs: coerce -0 to +0 in mode flags and watch intervals (Filip Skokan) #63556
- [6577d3b282] - http: avoid stream listeners on idle agent sockets (Matteo Collina) #64004
- [417aacbc36] - (SEMVER-MINOR) http: close pre-request sockets in closeIdleConnections (semimikoh) #63470
- [b7fd13a59a] - http2: retain header memory in session accounting (Matteo Collina) #63752
- [e611ccd167] - inspector: fix inspector.close() documented behavior (Chengzhong Wu) #63837
更进一步:量化金融体系
看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力