Skip to content

v1.46.0

Compare
Choose a tag to compare
@github-actions github-actions released this 22 Aug 02:16
· 885 commits to main since this release
3314a0c

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)