2.4.0 / 2025.07.01
- feat(bundle): support text and bytes imports in bundle (#29908)
- feat(check): tsconfig "references", "extends", "files", "include" and
"exclude" (#29843)
- feat(cli): add
--coverage flag to deno run command (#29329)
- feat(cli): alias --unstable-sloppy-imports to --sloppy-imports (#29780)
- feat(ext/http): support
onListen() callback in deno serve (#29449)
- feat(fmt): add support for .xml, .svg and .mustache files (#29851)
- feat(fmt): remove UTF-8 BOM instead of maintaining it (#29796)
- feat(node API): add
fs.glob, fs.globSync, fs.promises.glob (#28972)
- feat(otel): stabilize OpenTelemetry support (#29822)
- feat(process): add detached option to
Deno.Command (#29933)
- feat(run): resolve main module with workspace resolver (#29928)
- feat(signals): support listening for ctrl+close on Windows (#27880)
- feat(unstable): add DENO_NODE_CONDITIONS env var (#29848)
- feat(unstable): bytes and text imports (#29855)
- feat(unstable): support bytes and text imports in
deno compile (#29924)
- feat: --allow-net supports CIDR ranges (#29704)
- feat: Add --deny-import flag (#29702)
- feat: Deno.execPath() no longer requires --allow-read permission (#29620)
- feat: add 'deno update' subcommand (#29187)
- feat: add
DENO_AUTO_SERVE env var (#29852)
- feat: add
DENO_COMPAT env var (#29889)
- feat: add support for --preload/--import flag (#29626)
- feat: deprecate --unstable-node-globals flag (#29887)
- feat: make 'Buffer' and 'global' available as globals (#29416)
- feat: make
setImmediate and clearImmediate as globals (#29877)
- feat: rename --unstable-node-conditions to --unstable-conditions (#29885)
- feat: stabilize --allow-net subdomain wildcards (#29902)
- feat: stabilize --node-conditions flag (#29628)
- feat: unflag the deploy subcommand (#29863)
- fix(bench): Make output table markdown compatible (#29532)
- fix(bundle): only replace require shim in js files, spruce up output (#29892)
- fix(check): don't detect tsconfigs with no deno.json/package.json or
--no-config (#29925)
- fix(coverage): Make output table markdown compatible (#29533)
- fix(ext/node): add
lchmod, lchmod promise, lchmodSync to node:fs
(#29833)
- fix(ext/node): add type check to LibuvStreamWrap.writeBuffer (#29879)
- fix(ext/node): don't show deprecation warnings for dependencies (#29909)
- fix(ext/node): export promise based
lchown and lutimes from
node:fs/promises (#29870)
- fix(ext/node): fix reference error in node:stream (#29894)
- fix(ext/node): improve assert.fail (#29850)
- fix(ext/node): improve input validations of stream/consumers (#29880)
- fix(ext/node): keep BOM in buffer.toString('utf8') (#29896)
- fix(ext/node): remove duplicated stream classes (#29860)
- fix(fmt/css): prefer collapsing font-family values (#29864)
- fix(install): purge more packages from lockfile on config change (#29953)
- fix(install/global): resolve bin name from npm packument (#29884)
- fix(lsp): don't show no-export diagnostics for type-only npm imports (#29888)
- fix(node): use primordials more consistently in
_events.mjs (#29930)
- fix(publish): disallow publishing with bytes or text imports (#29954)
- fix: support
Deno.permissions.query({name:"import"}) (#29610)
- perf: skip loading bytes and text imports into memory when already cached and
building module graph (#29931)