Releases
v1.46.0
1.46.0 / 2024.08.22
BREAKING(temporal/unstable): Remove obsoleted Temporal APIs (#24836 )
BREAKING(webgpu/unstable): Replace async .requestAdapterInfo() with sync .info
(#24783 )
feat: deno compile --icon <ico>
(#25039 )
feat: deno init --serve
(#24897 )
feat: deno upgrade --rc
(#24905 )
feat: Add Deno.ServeDefaultExport type (#24879 )
feat: async context (#24402 )
feat: better help output (#24958 )
feat: codesign for deno compile binaries (#24604 )
feat: deno clean (#24950 )
feat: deno remove (#24952 )
feat: deno run (#24891 )
feat: Deprecate "import assertions" with a warning (#24743 )
feat: glob and directory support for deno check
and deno cache
cli arg
paths (#25001 )
feat: Print deprecation message for npm packages (#24992 )
feat: refresh "Download" progress bar with a spinner (#24913 )
feat: Rename --unstable-hmr to --watch-hmr (#24975 )
feat: support short flags for permissions (#24883 )
feat: treat bare deno command with run arguments as deno run (#24887 )
feat: upgrade deno_core (#24886 )
feat: upgrade deno_core (#25042 )
feat: upgrade V8 to 12.8 (#24693 )
feat: Upgrade V8 to 12.9 (#25138 )
feat: vm rewrite (#24596 )
feat(clean): add progress bar (#25026 )
feat(cli): Add --env-file as alternative to --env (#24555 )
feat(cli/tools): add a subcommand --hide-stacktraces
for test (#24095 )
feat(config): Support frozen lockfile config option in deno.json (#25100 )
feat(config/jsr): add license field (#25056 )
feat(coverage): add breadcrumbs to deno coverage --html
report (#24860 )
feat(ext/node): rewrite crypto keys (#24463 )
feat(ext/node): support http2session.socket (#24786 )
feat(fetch): accept async iterables for body (#24623 )
feat(flags): improve help output and make deno run
list tasks (#25108 )
feat(fmt): support CSS, SCSS, Sass and Less (#24870 )
feat(fmt): support HTML, Svelte, Vue, Astro and Angular (#25019 )
feat(fmt): support YAML (#24717 )
feat(FUTURE): terse lockfile (v4) (#25059 )
feat(install): change 'Add ...' message (#24949 )
feat(lint): Add lint for usage of node globals (with autofix) (#25048 )
feat(lsp): node specifier completions (#24904 )
feat(lsp): registry completions for import-mapped specifiers (#24792 )
feat(node): support username
and _password
in .npmrc
file (#24793 )
feat(permissions): link to docs in permission prompt (#24948 )
feat(publish): error on missing license file (#25011 )
feat(publish): suggest importing jsr:@std/
for deno.land/std
urls (#25046 )
feat(serve): Opt-in parallelism for deno serve
(#24920 )
feat(test): rename --allow-none to --permit-no-files (#24809 )
feat(unstable): ability to use a local copy of jsr packages (#25068 )
feat(unstable/fmt): move yaml formatting behind unstable flag (#24848 )
feat(upgrade): refresh output (#24911 )
feat(upgrade): support deno upgrade 1.46.0
(#25096 )
feat(urlpattern): add ignoreCase option & hasRegExpGroups property, and fix
spec discrepancies (#24741 )
feat(watch): add watch paths to test subcommand (#24771 )
fix: node:inspector
not being registered (#25007 )
fix: rename
watch event missing (#24893 )
fix: actually add missing node:readline/promises
module (#24772 )
fix: adapt to new jupyter runtime API and include session IDs (#24762 )
fix: add permission name when accessing a special file errors (#25085 )
fix: adjust suggestion for lockfile regeneration (#25107 )
fix: cache bust jsr meta file when version not found in dynamic branches
(#24928 )
fix: CFunctionInfo and CTypeInfo leaks (#24634 )
fix: clean up flag help output (#24686 )
fix: correct JSON config schema to show vendor option as stable (#25090 )
fix: dd-trace http message compat (#25021 )
fix: deserialize lockfile v3 straight (#25121 )
fix: Don't panic if fail to handle JS stack frame (#25122 )
fix: Don't panic if failed to add system certificate (#24823 )
fix: Don't shell out to unzip
in deno upgrade/compile (#24926 )
fix: enable the reporting of parsing related problems when running deno lint
(#24332 )
fix: errors with CallSite methods (#24907 )
fix: include already seen deps in lockfile dep tracking (#24556 )
fix: log current version when using deno upgrade (#25079 )
fix: make deno add
output more deterministic (#25083 )
fix: make vendor cache manifest more deterministic (#24658 )
fix: missing emitWarning
import (#24587 )
fix: regressions around Error.prepareStackTrace (#24839 )
fix: stub node:module.register()
(#24965 )
fix: support npm:bindings
and npm:callsites
packages (#24727 )
fix: unblock fsevents native module (#24542 )
fix: update deno_doc (#24972 )
fix: update dry run success message (#24885 )
fix: update lsp error message of 'relative import path' to 'use deno add' for
npm/jsr packages (#24524 )
fix: upgrade deno_core to 0.298.0 (#24709 )
fix: warn about import assertions when using typescript (#25135 )
fix(add): better error message providing scoped pkg missing leading @
symbol
(#24961 )
fix(add): Better error message when missing npm specifier (#24970 )
fix(add): error when config file contains importMap field (#25115 )
fix(add): Handle packages without root exports (#25102 )
fix(add): Support dist tags in deno add (#24960 )
fix(cli): add NAPI support in standalone mode (#24642 )
fix(cli): Create child node_modules for conflicting dependency versions,
respect aliases in package.json (#24609 )
fix(cli): Respect implied BYONM from DENO_FUTURE in deno task
(#24652 )
fix(cli): shorten examples in help text (#24374 )
fix(cli): support --watch when running cjs npm packages (#25038 )
fix(cli): Unhide publish subcommand help string (#24787 )
fix(cli): update permission prompt message for compiled binaries (#24081 )
fix(cli/init): broken link in deno init sample template (#24545 )
fix(compile): adhoc codesign mach-o by default (#24824 )
fix(compile): make output more deterministic (#25092 )
fix(compile): support workspace members importing other members (#24909 )
fix(compile/windows): handle cjs re-export of relative path with parent
component (#24795 )
fix(config): regression - should not discover npm workspace for nested
deno.json not in workspace (#24559 )
fix(cron): improve error message for invalid cron names (#24644 )
fix(docs): fix some deno.land/manual broken urls (#24557 )
fix(ext/console): Error Cause Not Inspect-Formatted when printed (#24526 )
fix(ext/console): render properties of Intl.Locale (#24827 )
fix(ext/crypto): respect offsets when writing into ab views in randomFillSync
(#24816 )
fix(ext/fetch): include TCP src/dst socket info in error messages (#24939 )
fix(ext/fetch): include URL and error details on fetch failures (#24910 )
fix(ext/fetch): respect authority from URL (#24705 )
fix(ext/fetch): use correct ALPN to proxies (#24696 )
fix(ext/fetch): use correct ALPN to socks5 proxies (#24817 )
fix(ext/http): correctly consume response body in Deno.serve
(#24811 )
fix(ext/net): validate port in Deno.{connect,serve,listen} (#24399 )
fix(ext/node): add CipherIv.setAutoPadding()
(#24940 )
fix(ext/node): add crypto.diffieHellman (#24938 )
fix(ext/node): client closing streaming request shouldn't terminate http
server (#24946 )
fix(ext/node): createBrotliCompress params (#24984 )
fix(ext/node): do not expose self
global in node (#24637 )
fix(ext/node): don't concat set-cookie in ServerResponse.appendHeader (#25000 )
fix(ext/node): don't throw when calling PerformanceObserver.observe (#25036 )
fix(ext/node): ed25519 signing and cipheriv autopadding fixes (#24957 )
fix(ext/node): fix prismjs compatibiliy in Web Worker (#25062 )
fix(ext/node): handle node child_process with --v8-options flag (#24804 )
fix(ext/node): handle prefix mapping for IPv4-mapped IPv6 addresses (#24546 )
fix(ext/node): http request uploads of subarray of buffer should work (#24603 )
fix(ext/node): improve shelljs compat with managed npm execution (#24912 )
fix(ext/node): node:zlib coerces quality 10 to 9.5 (#24850 )
fix(ext/node): pass content-disposition header as string instead of bytes
(#25128 )
fix(ext/node): prevent panic in http2.connect with uppercase header names
(#24780 )
fix(ext/node): read correct CPU usage stats on Linux (#24732 )
fix(ext/node): rewrite X509Certificate resource and add publicKey()
(#24988 )
fix(ext/node): stat.mode on windows (#24434 )
fix(ext/node): support ieee-p1363 ECDSA signatures and pss salt len (#24981 )
fix(ext/node): use pem private keys in createPublicKey (#24969 )
fix(ext/node/net): emit error
before close
when connection is refused
(#24656 )
fix(ext/web): make CompressionResource garbage collectable (#24884 )
fix(ext/web): make TextDecoderResource use cppgc (#24888 )
fix(ext/webgpu): assign missing constants
property of shader about
GPUDevice.createRenderPipeline[Async]
(#24803 )
fix(ext/webgpu): don't crash while constructing GPUOutOfMemoryError (#24807 )
fix(ext/webgpu): GPUDevice.createRenderPipelineAsync should return a Promise
(#24349 )
fix(ext/websocket): unhandled close rejection in WebsocketStream (#25125 )
fix(fmt): handle using stmt in for of stmt (#24834 )
fix(fmt): regression with pipe in code blocks in tables (#25098 )
fix(fmt): upgrade to dprint-plugin-markdown 0.17.4 (#25075 )
fix(fmt): was sometimes putting comments in front of commas in parameter lists
(#24650 )
fix(future): Emit deno install
warning less often, suggest deno install
in
error message (#24706 )
fix(http): Adjust hostname display for Windows when using 0.0.0.0 (#24698 )
fix(init): use bare specifier for jsr:@std/assert
(#24581 )
fix(install): Properly handle dist tags when setting up node_modules (#24968 )
fix(lint): support linting tsx/jsx from stdin (#24955 )
fix(lsp): directly use file referrer when loading document (#24997 )
fix(lsp): don't always use byonm resolver when DENO_FUTURE=1 (#24865 )
fix(lsp): hang when caching failed (#24651 )
fix(lsp): import map lookup for jsr subpath auto import (#25025 )
fix(lsp): include scoped import map keys in completions (#25047 )
fix(lsp): resolve jsx import source with types mode (#25064 )
fix(lsp): rewrite import for 'infer return type' action (#24685 )
fix(lsp): scope attribution for asset documents (#24663 )
fix(lsp): support npm workspaces and fix some resolution issues (#24627 )
fix(node): better detection for when to surface node resolution errors
(#24653 )
fix(node): cjs pkg dynamically importing esm-only pkg fails (#24730 )
fix(node): Create additional pipes for child processes (#25016 )
fix(node): Fix --allow-scripts
with no deno.json
(#24533 )
fix(node): Fix node IPC serialization for objects with undefined values
(#24894 )
fix(node): revert invalid package target change (#24539 )
fix(node): Rework node:child_process IPC (#24763 )
fix(node): Run node compat tests listed in the ignore
field (and fix the
ones that fail) (#24631 )
fix(node): support tty.hasColors()
and tty.getColorDepth()
(#24619 )
fix(node): support wildcards in package.json imports (#24794 )
fix(node/crypto): Assign publicKey and privateKey with let instead of const
(#24943 )
fix(node/fs): node:fs.read and write should accept typed arrays other than
Uint8Array (#25030 )
fix(node/fs): Use correct offset and length in node:fs.read and write (#25049 )
fix(node/fs/promises): watch should be async iterable (#24805 )
fix(node/http): wrong req.url
value (#25081 )
fix(node/inspector): Session constructor should not throw (#25041 )
fix(node/timers/promises): add scheduler APIs (#24802 )
fix(node/tty): fix tty.WriteStream.hasColor
with different args (#25094 )
fix(node/util): add missing debug
alias of debuglog
(#24944 )
fix(node/worker_threads): support port.once()
(#24725 )
fix(npm): handle packages with only pre-released 0.0.0 versions (#24563 )
fix(npm): use start directory deno.json as "root deno.json config" in npm
workspace (#24538 )
fix(npmrc): skip loading .npmrc in home dir on permission error (#24758 )
fix(publish): show dirty files on dirty check failure (#24541 )
fix(publish): surface syntax errors when using --no-check (#24620 )
fix(publish): warn about missing license file (#24677 )
fix(publish): workspace included license file had incorrect path (#24747 )
fix(repl): Prevent panic on broken pipe (#21945 )
fix(runtime/windows): fix calculation of console size (#23873 )
fix(std/http2): release window capacity back to remote stream (#24576 )
fix(tls): print a warning if a system certificate can't be loaded (#25023 )
fix(types): Conform lib.deno_web.d.ts to lib.dom.d.ts and lib.webworker.d.ts
(#24599 )
fix(types): fix streams types (#24770 )
fix(unstable): move sloppy-import warnings to lint rule (#24710 )
fix(unstable): panic when running deno install with DENO_FUTURE=1 (#24866 )
fix(unstable/compile): handle byonm import in sub dir (#24755 )
fix(upgrade): better error message when check_exe fails (#25133 )
fix(upgrade): correctly compute latest version based on current release
channel (#25087 )
fix(upgrade): do not error if config in cwd invalid (#24689 )
fix(upgrade): fallback to Content-Length header for progress bar (#24923 )
fix(upgrade): return no RC versions if fetching fails (#25013 )
fix(upgrade): support RC release with --version flag (#25091 )
fix(upgrade): use proper version display (#25029 )
fix(urlpattern): correct typings for added APIs (#24881 )
fix(webgpu): Fix GPUAdapter#isFallbackAdapter
and GPUAdapter#info
properties (#24914 )
fix(workspace): do not resolve to self for npm pkg depending on matching req
(#24591 )
fix(workspace): support resolving bare specifiers to npm pkgs within a
workspace (#24611 )
fix(workspaces/publish): include the license file from the workspace root if
not in pkg (#24714 )
perf: skip saving to emit cache after first failure (#24896 )
perf: update deno_ast to 0.41 (#24819 )
perf: update deno_doc (#24700 )
perf(ext/crypto): make randomUUID() 5x faster (#24510 )
perf(ext/fetch): speed up resp.clone()
(#24812 )
perf(ext/http): Reduce size of ResponseBytesInner
(#24840 )
perf(ext/node): improve Buffer
from string performance (#24567 )
perf(ext/node): optimize fs.exists[Sync] (#24613 )
perf(lsp): remove fallback config scopes for workspace folders (#24868 )
refactor: version
module exports a single const struct (#25014 )
refactor: decouple node resolution from deno_core (#24724 )
refactor: move importMap with imports/scopes diagnostic to deno_config
(#24553 )
refactor: remove version::is_canary(), use ReleaseChannel instead (#25053 )
refactor: show release channel in deno --version
(#25061 )
refactor: update to deno_config 0.25 (#24645 )
refactor: update to use deno_package_json (#24688 )
refactor(ext/node): create separate ops for node:http module (#24788 )
refactor(fetch): reimplement fetch with hyper instead of reqwest (#24237 )
refactor(lint): move reporters to separate module (#24757 )
refactor(node): internally add .code()
to node resolution errors (#24610 )
refactor(upgrade): cleanup pass (#24954 )
refactor(upgrade): make fetching latest version async (#24919 )
Reland "fix: CFunctionInfo and CTypeInfo leaks (#24634 )" (#24692 )
Reland "refactor(fetch): reimplement fetch with hyper instead of reqwest"
(#24593 )
You canβt perform that action at this time.