Changelog

denoland/deno · · 4 commits

Deno lands native Node HTTP rewrite

Major Node HTTP rewrite, plus audit endpoint migration and Windows/playwright and console proxy fixes.

Node HTTP stack rewritten around llhttp and native TCPWrap (bartlomiejua2eb5ba)

Deno replaced its hyper-based node:http implementation with a native TCP layer and llhttp-based parser, along with a large polyfill rewrite to match Node’s structure more closely. This is a major runtime change that should improve compatibility with Node HTTP behavior and make the internals less ad hoc.

deno audit now uses npm’s supported bulk advisories API (bartlomieju8258225)

The audit command was migrated off npm’s retired security audits endpoint onto /-/npm/v1/security/advisories/bulk, which avoids the inconsistent responses that were crashing deserialization. The implementation was also simplified substantially, cutting out dependency-tree construction and response-merging logic.

console.log/Deno.inspect now honor custom inspect on proxies (bartlomieju65a40d0)

Deno now reads Symbol.for('nodejs.util.inspect.custom') directly instead of checking it with in, so proxies that hide symbols via has but expose them via get still format correctly. This fixes broken inspection for proxy-backed objects such as nodejs-polars DataFrames.

Playwright compatibility fixed on Windows (nathanwhit271ae43)

The Windows pipe handoff was corrected so handles are wrapped as CRT file descriptors before being passed into JS, and named pipes are now detected and opened through Tokio’s async named-pipe client when appropriate. That should unblock Playwright compatibility on Windows, which had been disabled previously.

Other misc changes

  • node:http internal refactors and module wiring changes from the HTTP rewrite.
  • Audit test output updates and registry test adjustments.
  • Console unit test additions for proxy/custom-inspect behavior.