Changelog

denoland/deno · · 7 commits

Deno tightens Node compat and fixes outdated/fmt

BlockList ranges got a major performance refactor, while Deno also fixed fmt stdin extensions, JSR outdated detection, and a few compatibility bugs.

Node BlockList ranges now store compact intervals (nathanwhit140ec24)

Deno’s node:net BlockList no longer expands large ranges address-by-address; it now stores inclusive start/end pairs and checks containment numerically. That removes the CPU/memory blowup for large ranges while preserving IPv4-mapped IPv6 behavior and existing rules serialization.

deno outdated stops treating JSR pre-releases as latest (bartlomiejuf69a8ff)

The package manager now skips pre-release versions when the currently resolved dependency is stable, so --latest follows JSR’s stable latest semantics instead of surfacing alpha/beta versions. This makes outdated checks more accurate for projects that aren’t already on a pre-release line.

fmt --ext now accepts XML and SVG on stdin (rathodkunj2005f425eda)

Formatting from stdin now recognizes xml and svg as valid extensions, matching the file-based formatter behavior. This unblocks correctly formatted XML/SVG pipelines that rely on stdin input.

Http2 settings callbacks no longer fire after destroy (crowlbot7e4d1fb)

A destroyed HTTP/2 session now exits early before invoking the pending settings callback. This fixes a race where late SETTINGS_ACK events could call user code after teardown.

Storage keeps the constructor name (rathodkunj2005a117b87)

Web Storage now avoids binding the constructor property like a normal method, so localStorage.constructor.name and sessionStorage.constructor.name stay "Storage". This restores expected Web API identity behavior.

Other misc changes

  • Removed the vendored ext/node/polyfills/_util/async.ts and its import-map entry (tomas-zijdemanse3fb03a)
  • Docs: corrected a few N-API and Node compat links (cppcoffee51c48cf)