Changelog

nodejs/node · · 28 commits

Stream iter API gets big behavior cleanup

Node’s experimental stream-iter APIs saw major semantics fixes: Web IDL validation, writer lifecycle changes, and safer pipe/pull behavior.

Stream iter semantics tightened across writers and pipelines (jasnell7aba44d, jasnell6e1789a, jasnell1ed73da, jasnell5ada066, jasnell33f85fe, jasnell60b8f28, jasnell7fafadf, jasnell7089049, jasnelle6332d6, jasnell57e0f33, jasnell3c8f77f, jasnell7b61c62)

The experimental stream/iter API picked up a substantial round of behavior fixes. Writer arguments now follow Web IDL conversion rules, pull()/pipeTo() normalize sources at call time, transforms preserve their receiver, and push/broadcast writers were adjusted so capacity, draining, end-of-stream, and async disposal behave more predictably.

fs.mkdtemp() now returns Buffer when given a Buffer prefix (hamidrezaghavami1f53d7e)

mkdtemp() and its promise variant now preserve Buffer input by returning a Buffer output instead of always coercing to string. That fixes a long-standing type inconsistency in the fs API and aligns the result with the caller’s prefix type.

ffi helpers now throw when required args are omitted (soulee-dev7147a3e)

The memory helper methods in the ffi addon no longer quietly return undefined when a required argument is missing. That makes omitted-argument bugs observable instead of being mistaken for a legitimate zero-value read or write.

Undici updated to 8.10.2 (nodejs-github-bot8af7545)

Node bundled a newer Undici release, bringing along a broad set of internal HTTP client and proxy changes. This can affect fetch and related network behavior even though the update is dependency-driven.

QUIC stop-sending callback guard removed (Renegade334695f01f)

Node simplified its ngtcp2 stop-sending callback handling in QUIC code. This is a targeted internal fix for the QUIC session path and likely reduces wrapper complexity around the callback field.

Other misc changes

  • Typings updates for internal bindings (fs_event_wrap, stream_pipe, profiler)
  • Docs-only updates, including node:modules header wording and stream_iter API text
  • Test stability fixes for benchmark timing, DNS timeout comparisons, WASI threads, watch restarts, proxy resets, EPIPE handling, and core-dump behavior