Deno 2.7.12 hardens Node.js stdlib compatibility

File descriptor passthrough, native pipe implementation, and memory leak fixes enable drop-in Node.js module compatibility in Deno runtime.

May 27, 2026

Summary

Deno's Node.js API surface now handles critical posix patterns (fd passing in child_process, net.Socket from fds, Pipe.open) that legacy packages depend on. This reduces friction when running existing Node code without rewrites.

Why it matters

Deno's Node.js API surface now handles critical posix patterns (fd passing in child_process, net.Socket from fds, Pipe.open) that legacy packages depend on. This reduces friction when running existing Node code without rewrites.

Implementation verdict

Replaces workarounds for Node stdlib gaps in Deno projects. Requires upgrading to 2.7.12+; no code changes needed if you're already using node: imports. Worth testing against your locked Node dependencies immediately—this release closes concrete compatibility holes.

Sources

  1. 1.native uv_pipe_t implementation with NativePipe and FdTable
  2. 2.create net.Socket from file descriptors
  3. 3.return real OS file descriptors from node:fs APIs
  4. 4.support numeric FDs in child_process stdio array
  5. 5.free UvLoopInner on uv_loop_t drop to prevent worker memory leak

Dev Signal

Get briefs like this in your inbox — free, 3x a week.

100+ sources compressed into one 4-minute read. Ranked, cited, implementation-ready.