$ the-wire · showcase
child_process spawn gets 20% faster, QUIC macro cleaned up
By RepoJournal · Filed · About Node.js · Composed from the cited sources · methodology
Node's child_process path drops a proxy walk per environment variable and the build stops carrying a redundant QUIC macro, while the test suite sheds three Windows and macOS flake entries.
child_process: build the default env block in one native pass nodejs/node
spawn(), spawnSync(), and everything built on them (execFile included) get 19 to 24 percent faster when options.env is not passed, because the child's environment block is now built in a single native pass instead of walking the process.env proxy once per variable. That is the common case, so the win lands on unmodified call sites; nothing in your arguments needs to change.
src: remove `HAVE_QUIC` macro in favor of `OPENSSL_NO_QUIC` nodejs/node
The build no longer defines HAVE_QUIC, keying off OpenSSL's OPENSSL_NO_QUIC instead, so QUIC support is determined by the OpenSSL you compile against rather than a Node-local macro. Anything gating on HAVE_QUIC in a downstream build or native addon needs to follow the new name.
test: deflake inspector network fetch nodejs/node
The inspector network fetch test was racing Windows itself: a socket bound to 127.0.0.1 could accept connections meant for another process's wildcard listener on the same port, letting a competing inspector answer HTTP with 400 or feed plaintext to the HTTPS client. The fixtures now bind to the addresses their requests actually use and bypass environment proxies, and the Windows flaky expectati...
test: deflake debugger PID attachment and cleanup nodejs/node
The debugger PID attachment test waits for the target to finish starting before attaching, captures the CLI close event at spawn time so quit() completes after an early exit, and terminates the target before awaiting cleanup. A regression test covers quitting an already exited CLI, replacing the Windows flaky entry.
test: deflake http headers timeout keepalive nodejs/node
The headers-timeout keepalive test now leaves its second request incomplete across multiple periodic timeout checks instead of racing them, and both macOS keepalive flaky expectations are removed, following an earlier margin extension in c3aa86d6784.
ci: use Visual Studio 2026 on windows-11-arm (#3380) nodejs/node-gyp
node-gyp's windows-11-arm CI moves to Visual Studio 2026: the runner image is now windows-11-vs2026-arm64, which ships only VS 2026, and passing --msvs-version=2022 made the find-VS step reject it with "msvs_version does not match this version" on every run since 2026-09-14. The find-visualstudio tests now mock the VSSetup lookup, and the long tail here is the automated userland-migrations code...