Releases
v2.5.0
2.5.0 / 2025.09.10
feat(BREAKING/fmt): prompt or require deno fmt .
when providing no files and
no config files discovered (#30623 )
feat(bundle): runtime API for deno bundle (#29949 )
feat(bundle): support html entrypoint (#29856 )
feat(cli): reload environment variables with --watch
and --env-file
(#30197 )
feat(ext/fetch): Parse unix socket and vsock proxies from env var (#30377 )
feat(ext/node): add sqlite-type symbol for DatabaseSync (#30511 )
feat(ext/process): add collector utilities to ChildProcess.stdout
&
ChildProcess.stderr
(#30552 )
feat(fmt): apply object spacing to import/export lines (#30371 )
feat(install): refresh install report (#30615 )
feat(install): update warning for npm package build scripts (#30527 )
feat(lint): no-import-prefix workspace rule (#30598 )
feat(lint): no-unversioned-import rule (#30609 )
feat(node): implement async hooks for nextTick TickObject tracking (#30578 )
feat(npm): support bundleDependencies
in npm dependencies (#30521 )
feat(test): Add setup and teardown APIs to Deno.test
API (#30504 )
feat(unstable): WebSocket headers field (#30321 )
feat(unstable): use Node.js setTimeout
and setInterval
(#29993 )
feat: TypeScript 5.9.2 (#30601 )
feat: V8 14.0.0 (#30629 )
feat: deno run
with no arguments prints list of available tasks (#30592 )
feat: add tcpBacklog
arg to Deno.listen{Tls}
and Deno.serve
(#30541 )
feat: allow disable hostname verification in TLS (#30409 )
feat: permission audit log (#30575 )
feat: permissions in the config file (#30330 )
fix(bundle): avoid cloning parsed source, restore owned transpile assertion
(#30624 )
fix(bundle): do not error on fallible dynamic imports/requires (#30522 )
fix(bundle): don't error when using npm package without bin as entrypoint
(#30523 )
fix(bundle): properly display error on invalid config in watch mode (#30621 )
fix(cache): cache and uninstall are package manager subcommands (#30613 )
fix(check): don't ignore ambient declarations for existent files (#30591 )
fix(check): support "compilerOptions.rootDirs" in tsconfig (#30495 )
fix(check): support "moduleResolution": "bundler" in compiler options (#30603 )
fix(cli): support data urls in preload by not splitting on comma. (#30544 )
fix(cli/run): resolve conflict when dir has same name as a task (#29538 )
fix(dts): align crypto.getRandomValues in lib.deno_crypto.d.ts with
lib.dom.d.ts and lib.webworker.d.ts (#30647 )
fix(dts): specify the underlying buffer type in more places (#30640 )
fix(ext/fetch): only uppercase known methods (#30290 )
fix(ext/node): Readable adapter cancel semantics (#30526 )
fix(ext/node): crypto.hkdfSync
returns wrong result for non-Uint8Array
TypedArray inputs (#30463 )
fix(ext/node): fs.exists
and fs.existsSync
compatibility (#30507 )
fix(ext/node): fs.mkdtemp
and fs.mkdtempSync
compatibility (#30602 )
fix(ext/node): fs.path
' makelong
and resolve
compatibility (#30503 )
fix(ext/node): fix hang induced by maxSockets bounds (#30622 )
fix(ext/node): fs.symlink and fs.symlinkSync compatibility (#30555 )
fix(ext/node): handle null
keypair in tls connect (#30516 )
fix(ext/node): http.server.listen to handle signal option (#30515 )
fix(ext/node): ignore Node.js' --experimental-*
flags when spawning child
process (#26351 )
fix(ext/node): implement http.res.setHeaders (#30586 )
fix(ext/node): path.normalize compatibility (#30537 )
fix(ext/node): path.relative compatibility (#30566 )
fix(ext/node): readline line separators (#30630 )
fix(ext/node): set socket.authorized to true for https request (#30641 )
fix(ext/node): support JS underlying stream in TLS (#30465 )
fix(ext/webgpu): add illegal constructor errors (#30500 )
fix(init): eliminate flickering progress bar (#30496 )
fix(init): use temp node_modules
folders for deno init --npm ...
(#30492 )
fix(install): don't try to re-symlink binaries in node_modules if the symlink
is correct (#30546 )
fix(install): force refresh if cannot find version (#30483 )
fix(install): print install report on add
, cache
, and all install
variants, move scripts and deprecation warnings after the report (#30549 )
fix(install/cache): better discovery for config file based on entrypoint
(#30608 )
fix(lsp): auto-import dep entries from workspace member import maps (#30667 )
fix(lsp): goto-type-definition for builtin on startup (#30499 )
fix(lsp): import rewrites in moved file (#30628 )
fix(napi): buffer finalizer is nullable (#30514 )
fix(node): improve directory import error suggestion (#30619 )
fix(node): regression where Node fs APIs required elevated permissions on
Windows (#30535 )
fix(node_resolver): incorrect resolution of require("..")
(#30524 )
fix(npm): do not error on failure to write warned script file (#30479 )
fix(publish): unfurl import.meta.resolve calls (#30663 )
fix(tests): Switch from --nocapture to --no-capture (#30638 )
fix(types): specify ArrayBuffer
as a backing buffer type for Response.body
and Response.bytes
(#30435 )
fix(types): specify ArrayBuffer
as a backing buffer type for
TextEncoder.encode()
(#30434 )
fix(unstable): make QuicListener yield QuicIncoming (#30150 )
fix(unstable): support unstable-raw-imports when prewarmed (#30530 )
fix: add another space after warning symbol (#30482 )
fix: do not have duplicate progress bars for post install scripts (#30489 )
fix: pass npm process state when spawning script in npm package via Node APIs
(#30490 )
fix: upgrade to swc_ecma_parser 23 (#30564 )
You can’t perform that action at this time.