Changelog

nodejs/node · · 19 commits

Perfetto tracing lands; net BoundSocket grows paths

Node adds Perfetto-backed tracing support and expands net.BoundSocket to Unix domain/pipe paths, alongside readline and stream fixes.

net.BoundSocket now supports Unix domain and named pipe paths (guybedfordb420cb6)

BoundSocket can now bind via path instead of only TCP host/port pairs, including Linux abstract namespace sockets via a leading \0. The API docs and tests spell out the new isPipe/address() behavior and synchronous path reservation semantics, making it possible to adopt pre-bound pipe sockets with clearer error handling.

Perfetto tracing support is wired into Node (legendecas5bdc82d)

Node now has a Perfetto-backed tracing agent, new perfetto-specific trace event plumbing, and build/configuration support to enable it with --with-perfetto. This is a major tracing architecture change that adds a new tracing backend while preserving legacy behavior behind build-time switches.

readline.createInterface() is cheaper to construct (mcollina9041ad0)

Interface creation now avoids per-instance closure/descriptor churn, stops mutating the user-provided input stream with history options, and only checks TERM in terminal mode. The new benchmark and refactor target hot-path overhead, so this should translate into lower allocation pressure and faster startup for readline-heavy code.

Stream iterators handle aborts and overflow more predictably (trivikr7bee754, trivikre383a1d)

The merge-read path now correctly rejects pending reads on cancellation, and broadcast backpressure overflow is now reported as a RangeError. These are focused correctness fixes that make async iterator stream behavior more consistent and easier to handle.

Other misc changes

  • DNS tests updated to codify ENODATA behavior for empty-record lookups and CNAME chains.
  • Docs cleanup for unsupported stream_iter syntax.
  • Dependency bumps and backports: googletest, histogram, amaro, and V8.
  • Minor internal cleanup and trace macro compatibility fixes.
  • Windows/libuv assertion fix when stopping delayed tasks.