Node.js 26.4.0 (Current)
Notable Changes
- doc: Updated
blockListstability status to release candidate (alphaleadership) #63050 - fs: Support caller-supplied
readFile()buffers (Matteo Collina) #63634 - http: Close pre-request sockets in
closeIdleConnections(semimikoh) #63470 - loader: Implement package maps (Maël Nison) #62239
- net: Support
TCP_KEEPINTVLandTCP_KEEPCNTinsetKeepAlive(Guy Bedford) #63825 - tls: Add
certificateCompressionoption (Tim Perry) #62217 - vfs: Dispatch
node:fs/promisesto mounted VFS instances (Matteo Collina) #63537 - vfs: Add minimal
node:vfssubsystem (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()andSubtleCrypto.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_worderror (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-hitoption 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-13andg++-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.supportsexample (Anshika Jain) #63717 - [51cab5cb72] - doc: add webstreams to args for
pipelinefromstream/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
blockListstability status to release candidate (alphaleadership) #63050 - [d29483fc4f] - doc,crypto: mark argon2 and encap/decap as stable (Filip Skokan) #63924
- [6e668331d9] - events: improve
addAbortListenerperf 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 - [a44f51eef3] - lib: fix missing
lazyDOMExceptionimport (Filip Skokan) #64033 - [27cc4ec598] - lib: add lint rule to enforce use of
kEmptyObject(Antoine du Hamel) #63790 - [7ee31b0bf4] - lib: improve control abstraction coverage in frozen intrinsics (Renegade334) #63698
- [078457839a] - lib: add Iterator global to primordials (Renegade334) #63698
- [58837dc4dd] - lib: remove source map deadcode in type stripping (Chengzhong Wu) #63738
- [e7513a8b9e] - lib: make
Navigator#languagegetter throw on invalidthis(Mohamed Sayed) #63601 - [fbb108be7d] - (SEMVER-MINOR) loader: implement package maps (Maël Nison) #62239
- [ea0b8e1dc2] - meta: bump github/codeql-action from 4.35.3 to 4.36.1 (dependabot[bot]) #63724
- [ac90719532] - meta: bump actions/cache from 5.0.4 to 5.0.5 (dependabot[bot]) #62847
- [3ed3de3062] - meta: bump actions/checkout from 6.0.2 to 6.0.3 (dependabot[bot]) #63726
- [d08d57bf70] - meta: bump codecov/codecov-action from 6.0.0 to 6.0.1 (dependabot[bot]) #63725
- [e748d192cf] - meta: bump cachix/cachix-action (dependabot[bot]) #63729
- [10554eb131] - meta: bump actions/stale from 10.2.0 to 10.3.0 (dependabot[bot]) #63728
- [791885f2af] - meta: bump step-security/harden-runner from 2.19.0 to 2.19.4 (dependabot[bot]) #63727
- [32d9a407d9] - meta: bump cachix/install-nix-action from 31.10.5 to 31.10.6 (dependabot[bot]) #63723
- [b97c7bed07] - module: enable existing machinery for deferred import of static modules (Maya Lekova) #63712
- [4becad2117] - module: use
file:URL as sourceURL for type-stripped CommonJS (Joyee Cheung) #63705 - [c71c85b95f] - net: early TCP binding via synchronous
net.BoundSocket(Guy Bedford) #63951 - [45494d5a8a] - (SEMVER-MINOR) net: support
TCP_KEEPINTVLandTCP_KEEPCNTinsetKeepAlive(Guy Bedford) #63825 - [3988efa1f3] - net: coerce -0 to +0 in
BlockListprefixes (Filip Skokan) #63556 - [484efd1c44] - quic: fix get_reader bug that dropped data on FIN (Tim Perry) #63946
- [04a17fe6f0] - quic: expose QUIC certificates as JS
X509Certificate, not raw handles (Tim Perry) #63191 - [b62d5696dc] - quic: fix reader backpressure deadlock on idle connections (Tim Perry) #63950
- [3f1c8d7453] - quic: fix broken
listEndpointsexport, test callbacks & nghttp3 include (Tim Perry) #63874 - [d8538b9deb] - quic: impl. cb for http/3 settings/app. options (Marten Richter) #63558
- [643b19716e] - quic: add
listEndpointsAPI (James M Snell) #63536 - [2bce35bea4] - sqlite: do not leave database open after failed open (Yagiz Nizipli) #63854
- [394af52abb] - sqlite: fix stack-use-after-scope with function callback (ndossche) #63640
- [10f03e5958] - src: omit unconvertible names in
cjs_lexer::Parse(Yagiz Nizipli) #63943 - [1723773d41] - src: keep global list of addon-provided cleanup hooks (Anna Henningsen) #63985
- [ef12e9ea44] - src: guard OpenSSL compression header include (Filip Skokan) #64009
- [48af8a6d8d] - src: handle empty
MaybeLocalincjs_lexer::Parse(Yagiz Nizipli) #63885 - [2a672ee9e8] - src: fast path empty native immediate drain (Gürgün Dayıoğlu) #62969
- [db6a31d1a1] - src: do not track weak
BaseObjects as children ofRealms (Anna Henningsen) #63842 - [5fb837ff46] - src: allow tracking children in
MemoryTrackerwith weak edges (Anna Henningsen) #63842 - [6d22d373a9] - src: use C++14 deprecated attribute for
NODE_DEPRECATED(Anna Henningsen) #63755 - [7ac3fe1992] - src: add cleanup hooks to
node::ObjectWrap(Anna Henningsen) #63642 - [d82d369155] - src: fix edge case when
deflateInit2()fails withZ_VERSION_ERROR(Nora Dossche) #63476 - [03858d152b] - src: remove redundant
handle_field in ffi (Anna Henningsen) #63665 - [1682264f6b] - src: add Latin1 fast path in
StringBytes::Encodeutf8 (Mert Can Altin) #63385 - [cc29696acf] - stream: fix
Writable.toWeb()desiredSize for non-object-mode (Matteo Collina) #62986 - [d9967a25b2] - stream: handle falsy push writer fail reasons (Trivikram Kamat) #63569
- [b53f8f75c9] - stream: reduce allocations on WHATWG streams hot paths (Matteo Collina) #63876
- [315ca426d8] - stream: handle setEncoding after buffered data (Matteo Collina) #63973
- [06413cd6bd] - stream: fix Utf8Stream stall after full write of multi-byte data (Daijiro Wachi) #63964
- [a9f9a3dafa] - stream: keep overlapping broadcast reads pending (Trivikram Kamat) #63500
- [009cca11bd] - stream: refine the stream/iter backpressure (James M Snell) #63697
- [3f81dcfc99] - stream: only pass the expected number of parameters to callbacks (Antoine du Hamel) #63909
- [9a83b5d1fe] - stream: fix dropped first chunk in Utf8Stream buffer mode (Daijiro Wachi) #63833
- [0bdf5adea9] - stream: remove transform-writer handling in pipeTo (Trivikram Kamat) #63684
- [10272a94b6] - stream: check done before backpressure in stream reader (Daijiro Wachi) #63699
- [792c410631] - stream: fix pipeToSync byte accounting (Trivikram Kamat) #63564
- [3cfafbc54b] - stream: reject pull() reads on abort (Trivikram Kamat) #63498
- [640a8cede5] - stream: fast-path stateless transform flush results (Trivikram Kamat) #63605
- [ece4477872] - stream: optimize pipeTo promise handling (Matteo Collina) #63572
- [2cb84c2daf] - stream: handle sync writev completion in pipeTo (Trivikram Kamat) #63561
- [7d9fdda5fa] - stream: settle pending broadcast reads on return (Trivikram Kamat) #63603
- [e2aea3aac7] - test: tolerate duplicate watch change events (Trivikram Kamat) #63937
- [ea6300593a] - test: mark test-debugger-run-after-quit-restart as flaky on macOS (Matteo Collina) #64006
- [be1b204fa4] - test: update WPT for url to d4598eba09 (Node.js GitHub Bot) #63899
- [b3d0d05b05] - test: update WPT for WebCryptoAPI to 03a1476844 (Node.js GitHub Bot) #63900
- [046af2609f] - test: update WPT for urlpattern to 23aac92784 (Node.js GitHub Bot) #63898
- [562b831a98] - test: add tests for 3 methods in util
Comments
No comments yet. Start the discussion.