Changelog

denoland/deno · · 3 commits

Native TLSWrap lands for Node compat

Deno’s Node layer gets a native TLSWrap foundation, plus prep work for TLS context handling and child_process stdio plumbing.

Native TLSWrap added to the Node extension (bartlomieju11db67a)

Deno now registers a standalone Rust implementation of Node’s TLSWrap, intercepting TCP reads and moving data through rustls to produce cleartext for JS. It’s not wired into JS yet, but this lays the core foundation for native TLS support in the Node compat layer.

Node TLS context prep gets real validation (bartlomiejubd2d76d)

_tls_common.ts grew from a stub into actual secure-context normalization, including protocol version validation, legacy secureProtocol mapping, and cert/key coercion. This matters because the upcoming native TLS path needs Node-compatible option handling before JS wiring can land.

Node child_process stdio now bypasses the resource table (bartlomieju62dfdab)

The Node compat layer adds fd-based read/write ops and switches child_process stdio over to raw pipes/streams instead of resource-ID indirection. That’s a meaningful plumbing change for process I/O behavior and cancellation, especially when child pipes are closed asynchronously.

Other misc changes

  • Added TlsWrap to the handle-wrap provider enum.
  • Exposed a cancel handle from ReadCancelResource for fd read cancellation.
  • Misc Node/process/internal binding updates and lint/plugin adjustments.