Skip to content

Releases: denoland/deno

v1.39.3

12 Jan 16:57
aa23ccd
Compare
Choose a tag to compare

1.39.3 / 2024.01.12

  • feat(unstable): fast subset type checking of JSR dependencies (#21873)
  • fix(ci): update copright year for _fs_cp.js (#21803)
  • fix(cli): update import map url (#21824)
  • fix(compile): preserve granular unstable features (#21827)
  • fix(ext): enable prefer-primordials for internal TypeScript (#21813)
  • fix(ext/crypto): initial support for p521 in generateKey and importKey
    (#21815)
  • fix(ext/node): add WriteStream.isTTY (#21801)
  • fix(ext/node): add fs.cp, fs.cpSync, promises.cp (#21745)
  • fix(ext/websocket): pass on uncaught errors in idleTimeout (#21846)
  • fix(fast_check): analyze identifiers in type assertions/as exprs (#21899)
  • fix(kv): improve .listenQueue types (#21781)
  • fix(lsp): implement host.getGlobalTypingsCacheLocation() (#21882)
  • fix(lsp): show test code lens for template literal names (#21798)
  • fix(lsp): use a dedicated thread for the parent process checker (#21869)
  • fix(registry): wait for already pending publish (#21663)
  • fix(task): do not eagerly auto-install packages in package.json when
    "nodeModulesDir": false (#21858)
  • fix(unstable/tar): skip node_modules, .git, and config "exclude" (#21816)
  • fix(web): use rustyline for prompt (#21893)
  • fix: add EventSource typings (#21908)
  • fix: android support (#19437)
  • fix: cjs export rewritten to invalid identifier (#21853)
  • fix: update deno_lint and swc (#21718)
  • perf(lsp): use host-owned cache for auto-import completions (#21852)
  • perf: skip expanding exclude globs (#21817)

v1.39.2

05 Jan 00:21
6af25c0
Compare
Choose a tag to compare

1.39.2 / 2024.01.04

  • Revert "fix(runtime): Make native modal keyboard interaction consistent with
    browsers" (#21739)
  • feat(lsp): allow to connect V8 inspector (#21482)
  • feat(lsp): cache jsxImportSource automatically (#21687)
  • feat(unstable): only allow http2 for kv remote backend (#21616)
  • fix(ci): copyright year for console_test.ts (#21787)
  • fix(cli): harden permission stdio check (#21778)
  • fix(cli): make signals tests more reliable (#21772)
  • fix(cli): respect exclude option for deno check command (#21779)
  • fix(ext/http): use arraybuffer binaryType for server websocket (#21741)
  • fix(ext/node): Implement aes-192-ecb and aes-256-ecb (#21710)
  • fix(ext/node): UdpSocket ref and unref (#21777)
  • fix(ext/node): add ClientRequest#setNoDelay (#21694)
  • fix(ext/node): add process.abort() (#21742)
  • fix(ext/node): implement os.machine (#21751)
  • fix(ext/node): querystring stringify without encode callback (#21740)
  • fix(ext/node): use node:process in _streams.mjs (#21755)
  • fix(http_client): Fix Deno.createHttpClient to accept poolIdleTimeout
    parameter (#21603)
  • fix(jupyter): error message when install fails due to jupyter command not
    being on PATH (#21767)
  • fix(lsp): support test code lens for Deno.test.{ignore,only}() (#21775)
  • fix(node): Implement os.cpus() (#21697)
  • fix(node): support nested tests in "node:test" (#21717)
  • fix(node/zlib): accept dataview and buffer in zlib bindings (#21756)
  • fix(node/zlib): cast Dataview and Buffer to uint8 (#21746)
  • fix(node/zlib): consistently return buffer (#21747)
  • fix(unstable): kv watch should stop when db is closed (#21665)
  • fix(unstable/byonm): support using an import map with byonm (#21786)
  • fix: Object.groupBy return type should be a partial (#21680)
  • fix: allow npm: specifiers in import.meta.resolve (#21716)
  • fix: strict type check for cross realms (#21669)
  • perf(coverage): faster source mapping (#21783)
  • perf(lsp): use LanguageServiceHost::getProjectVersion() (#21719)
  • perf: remove opAsync (#21690)

v1.39.1

21 Dec 17:58
68254dd
Compare
Choose a tag to compare

1.39.1 / 2023.12.21

  • fix(bench): added group banner to bench output. (#21551)
  • fix(console): inspect for {Set,Map}Iterator and Weak{Set,Map} (#21554)
  • fix(coverage): add default coverage include dir (#21625)
  • fix(coverage): error if no files found (#21615)
  • fix(devcontainer): moved settings to customizations/vscode (#21512)
  • fix(ext/napi): don't close handle scopes in NAPI as the pointers are invalid
    (#21629)
  • fix(jupyter): Deno.test() panic (#21606)
  • fix(lsp): apply specifier rewrite to CompletionItem::text_edit (#21564)
  • fix(net): remove unstable check for unix socket listen (#21592)
  • fix(node): add crypto.pseudoRandomBytes (#21649)
  • fix(node): child_process IPC on Windows (#21597)
  • fix(node): child_process kill cancel pending IPC reads (#21647)
  • fix(node): return false from vm.isContext (#21568)
  • fix(node): support resolving a package.json import to a builtin node module
    (#21576)
  • fix(repl): remove stray debug log (#21635)
  • fix: prompts when publishing (#21596)
  • fix: urls for publishing (#21613)

v1.39.0

13 Dec 23:09
5b96f7b
Compare
Choose a tag to compare

1.39.0 / 2023.12.13

  • Reland "fix(ext/console): fix inspecting iterators error. (#20720)" (#21370)
  • Update doc for deno fmt --no-semicolons arg. (#21414)
  • feat(compile): support "bring your own node_modules" in deno compile (#21377)
  • feat(compile): support discovering modules for more dynamic arguments (#21381)
  • feat(coverage): add html reporter (#21495)
  • feat(coverage): add summary reporter (#21535)
  • feat(cron): added the support for json type schedule to cron api (#21340)
  • feat(ext/fetch): allow Deno.HttpClient to be declared with using (#21453)
  • feat(ext/kv) add backoffSchedule to enqueue (#21474)
  • feat(ext/web): add ImageData Web API (#21183)
  • feat(fmt): support formatting code blocks in Jupyter notebooks (#21310)
  • feat(lsp): debug log file (#21500)
  • feat(lsp): provide quick fixes for specifiers that could be resolved sloppily
    (#21506)
  • feat(streams): ReadableStream.read min option (#20849)
  • feat(test): add default to --coverage option (#21510)
  • feat(unstable): --unstable-unsafe-proto (#21313)
  • feat(unstable): ability to resolve specifiers with no extension, specifiers
    for a directory, and TS files from JS extensions (#21464)
  • feat(unstable): append commit versionstamp to key (#21556)
  • feat: TypeScript 5.3 (#21480)
  • feat: add suggestions to module not found error messages for file urls
    (#21498)
  • feat: bring back WebGPU (#20812)
  • feat: stabilize Deno.HttpServer.shutdown and Unix socket support (#21463)
  • fix (doc): Typo in runtime/README.md (#20020)
  • fix(cli/installer): percent decode name (#21392)
  • fix(compile/npm): ignore symlinks to non-existent paths in node_modules
    directory (#21479)
  • fix(coverage): escape source code in html coverage report (#21531)
  • fix(coverage): rename --pretty to --detailed (#21543)
  • fix(cron): move deprecated Deno.cron overload (#21407)
  • fix(doc): ambient namespaces should have members as exports (#21483)
  • fix(dts): Deno.ChildProcess actually implements AsyncDisposable (#21326)
  • fix(ext/kv): throw error if already closed (#21459)
  • fix(ext/node): ServerResponse getHeader() return undefined (#21525)
  • fix(ext/node): add stubbed process.report (#21373)
  • fix(ext/node): add util.parseArgs (#21342)
  • fix(ext/node): allow null value for req.setHeader (#21391)
  • fix(ext/node): basic vm.runInNewContext implementation (#21527)
  • fix(ext/node): fix Buffer.copy when sourceStart > source.length (#21345)
  • fix(ext/node): fix duplexify compatibility (#21346)
  • fix(ext/node): fix os.freemem (#21347)
  • fix(ext/node): include non-enumerable keys in Reflect.ownKeys(globalThis)
    (#21485)
  • fix(ext/node): sign with PEM private keys (#21287)
  • fix(ext/node): stub ServerResponse#flushHeaders (#21526)
  • fix(ext/node): use primordials in ext/node/polyfills/_util (#21444)
  • fix(ext/websocket): don't panic on bad resource id (#21431)
  • fix(fmt): "singleQuote": true should prefer single quoteβ€”not always use one
    (#21470)
  • fix(fmt): remove trailing comma for single type param in default export in jsx
    (#21425)
  • fix(fmt/jupyter): handle "source" property that's a string (#21361)
  • fix(lsp): handle byonm specifiers in jupyter notebooks (#21332)
  • fix(node): setting process.exitCode should change exit code of process
    (#21429)
  • fix(node/tls): fix NotValidForName for host set via socket / servername
    (#21441)
  • fix(npm): do not create symlink for non-system optional dep in node_modules
    directory (#21478)
  • fix(perm): allow-net with port 80 (#21221)
  • fix(permissions): fix panics when revoking net permission (#21388)
  • fix(runtime): Make native modal keyboard interaction consistent with browsers
    (#18453)
  • fix(task): handle node_modules/.bin directory with byonm (#21386)
  • fix(task): use exit code 127 for command not found and parse escaped parens
    (#21316)
  • fix(unstable): Honor granular unstable flags in js runtime (#21466)
  • fix(websockets): server socket field initialization (#21433)
  • fix(zlib): handle no flush flag in handle_.write (#21432)
  • fix: add more warnings when using sloppy imports (#21503)
  • fix: allow reserved word 'mod' in exports (#21537)
  • fix: batch upload authentication (#21397)
  • fix: correct flag in tar & upload (#21327)
  • fix: correct the batch upload length (#21401)
  • fix: display unstable flags at bottom of help text (#21468)
  • fix: don't error if a version already published (#21455)
  • fix: error code used for duplicate version publish (#21457)
  • fix: extraneous slash in tar & upload (#21349)
  • fix: ignore more paths in dynamic arg module search (#21539)
  • fix: implement child_process IPC (#21490)
  • fix: use correct import map in tar & upload (#21380)
  • perf(ext/ffi): switch from middleware to tasks (#21239)
  • perf(ext/napi): port NAPI to v8 tasks (#21406)
  • perf(ext/url): improve URLPattern perf (#21488)
  • perf(ext/web): Avoid changing prototype by setting hostObjectBrand directly
    (#21358)
  • perf(lsp): collect counts and durations of all requests (#21540)
  • perf(lsp): instrument all ops with performance marks (#21536)
  • perf(lsp): simplify some of the startup code (#21538)
  • perf(lsp): use null types instead of stub modules (#21541)
  • perf(node/fs): faster existsSync when not exists (#21458)
  • perf: move "cli/js/40_testing.js" out of main snapshot (#21212)

v1.38.5

05 Dec 23:49
172e5f0
Compare
Choose a tag to compare

1.38.5 / 2023.12.05

  • feat(unstable): kv.watch() (#21147)
  • perf(lsp): better op performance logging (#21423)
  • perf(lsp): check tsc request cancellation before execution (#21447)
  • perf(lsp): fix redundant clones for ts responses (#21445)
  • perf(lsp): fix redundant serialization of sources (#21435)

v1.38.4

30 Nov 22:05
8c07f52
Compare
Choose a tag to compare

1.38.4 / 2023.11.30

  • fix(node): spawnSync's status was incorrect (#21359)
  • perf(lsp): add performance marks for TSC requests (#21383)
  • perf(lsp): avoid redundant getNavigationTree() calls (#21396)
  • perf(lsp): cancel ts requests on future drop (#21387)
  • perf(lsp): remove throttling of cancellation token (#21395)

v1.38.3

24 Nov 04:56
3193e93
Compare
Choose a tag to compare

1.38.3 / 2023.11.24

  • feat(unstable): tar up directory with deno.json (#21228)
  • fix(ext,runtime): add missing custom inspections (#21219)
  • fix(ext/http): avoid lockup in graceful shutdown (#21253)
  • fix(ext/http): fix crash in dropped Deno.serve requests (#21252)
  • fix(ext/node): fix node:stream.Writable (#21297)
  • fix(ext/node): handle closing process.stdin more than once (#21267)
  • fix(ext/url): add deno_console dependency for bench (#21266)
  • fix(fmt): maintain parens for jsx in member expr (#21280)
  • fix(lsp): force shutdown after a timeout (#21251)
  • fix(runtime): fix for panic in classic workers (#21300)
  • fix(swc): support jsx pragma when hashbang present (#21317)
  • fix: 'Promise was collected' error in REPL/jupyter (#21272)
  • fix: Deno.noColor should not be true when NO_COLOR is empty string (#21275)

v1.38.2

17 Nov 07:02
118be11
Compare
Choose a tag to compare

1.38.2 / 2023.11.17

  • feat(ext/web): add AbortSignal.any() (#21087)
  • feat(lsp): upgrade check on init and notification (#21105)
  • fix(cli): Allow executable name start with digit (#21214)
  • fix(doc): issue discovering re-exports of re-exports sometimes (#21223)
  • fix(ext/node): Re-enable alloc max size test (#21059)
  • fix(ext/node): add APIs perf_hook.performance (#21192)
  • fix(ext/node): implement process.geteuid (#21151)
  • fix(ext/web): Prevent TextDecoderStream resource leak on stream cancellation
    (#21074)
  • fix(ext/web): webstorage has trap for symbol (#21090)
  • fix(install): should work with non-existent relative root (#21161)
  • fix(lsp): update tsconfig after refreshing settings on init (#21170)
  • fix(node/http): export globalAgent (#21081)
  • fix(npm): support cjs entrypoint in node_modules folder (#21224)
  • fix(runtime): fix Deno.noColor when stdout is not tty (#21208)
  • fix: improve deno doc --lint error messages (#21156)
  • fix: use short git hash for deno version (#21218)
  • perf(cli): strace mode for ops (undocumented) (#21131)
  • perf(ext/http): Object pooling for HttpRecord and HeaderMap (#20809)
  • perf: lazy bootstrap options - first pass (#21164)
  • perf: move jupyter esm out of main snapshot (#21163)
  • perf: snapshot runtime ops (#21127)
  • perf: static bootstrap options in snapshot (#21213)

v1.38.1

10 Nov 13:06
0e7ad03
Compare
Choose a tag to compare

1.38.1 / 2023.11.10

  • feat(ext/kv): increase checks limit (#21055)
  • fix small Deno.createHttpClient typo in lib.deno.unstable.d.ts (#21115)
  • fix(byonm): correct resolution for scoped packages (#21083)
  • fix(core/types): Promise.withResolvers: Unmark callback param as optional
    (#21085)
  • fix(cron): update Deno.cron doc example (#21078)
  • fix(doc): deno doc --lint mod.ts should output how many files checked
    (#21084)
  • fix(doc): require source files if --html or --lint used (#21072)
  • fix(ext): use String#toWellFormed in ext/webidl and ext/node (#21054)
  • fix(ext/fetch): re-align return type in op_fetch docstring (#21098)
  • fix(ext/http): Throwing Error if the return value of Deno.serve handler is not
    a Response class (#21099)
  • fix(node): cjs export analysis should probe for json files (#21113)
  • fix(node): implement createPrivateKey (#20981)
  • fix(node): inspect ancestor directories when resolving cjs re-exports during
    analysis (#21104)
  • fix(node): use closest package.json to resolve package.json imports (#21075)
  • fix(node/child_process): properly normalize stdio for 'spawnSync' (#21103)
  • fix(node/http): socket.setTimeout (#20930)
  • fix(test) reduce queue persistence test time from 60 secs to 6 secs (#21142)
  • perf: lazy atexit setup (#21053)
  • perf: remove knowledge of promise IDs from deno (#21132)

v1.38.0

02 Nov 02:59
41877a0
Compare
Choose a tag to compare

1.38.0 / 2023.11.01

  • feat(cron) implement Deno.cron() (#21019)
  • feat(doc): display non-exported types referenced in exported types (#20990)
  • feat(doc): improve non-exported diagnostic (#21033)
  • feat(doc): support multiple file entry (#21018)
  • feat(ext/kv): support key expiration in remote backend (#20688)
  • feat(ext/web): EventSource (#14730)
  • feat(ext/websocket): split websocket read/write halves (#20579)
  • feat(ext/websocket): use rustls-tokio-stream instead of tokio-rustls (#20518)
  • feat(ext/websocket): websockets over http2 (#21040)
  • feat(lsp): respect "typescript.preferences.quoteStyle" when deno.json is
    absent (#20891)
  • feat(task): add head command (#20998)
  • feat(unstable): deno run --env (#20300)
  • feat(unstable): ability to npm install then deno run main.ts (#20967)
  • feat(unstable): allow bare specifier for builtin node module (#20728)
  • feat: deno doc --lint (#21032)
  • feat: deno doc --html (#21015)
  • feat: deno run --unstable-hmr (#20876)
  • feat: disposable Deno resources (#20845)
  • feat: enable Array.fromAsync (#21048)
  • feat: granular --unstable-* flags (#20968)
  • feat: precompile JSX (#20962)
  • feat: rename Deno.Server to Deno.HttpServer (#20842)
  • fix(ext/ffi): use anybuffer for op_ffi_buf_copy_into (#21006)
  • fix(ext/http): patch regression in variadic args to serve handler (#20796)
  • fix(ext/node): adapt dynamic type checking to Node.js behavior (#21014)
  • fix(ext/node): process.argv0 (#20925)
  • fix(ext/node): tty streams extends net socket (#21026)
  • fix(lsp): don't commit registry completions on "/" (#20902)
  • fix(lsp): include mtime in tsc script version (#20911)
  • fix(lsp): show diagnostics for untitled files (#20916)
  • fix(node): resolve file.d specifiers in npm packages (#20918)
  • fix(polyfill): correctly handle flag when its equal 0 (#20953)
  • fix(repl): jsxImportSource was not working (#21049)
  • fix(repl): support transforming JSX/TSX (#20695)
  • fix(test): --junit-path should handle when the dir doesn't exist (#21044)
  • fix(unstable/byonm): improve error messages (#20987)
  • fix: add 'unstable' property to config json schema (#20984)
  • fix: add missing Object.groupBy() and Map.groupBy() types (#21050)
  • fix: implement node:tty (#20892)
  • fix: improved using declaration support (#20959)
  • perf(ext/streams): optimize streams (#20649)
  • perf(lsp): cleanup workspace settings scopes (#20937)
  • perf(lsp): fix redundant walk when collecting tsc code lenses (#20974)
  • perf: use deno_native_certs crate (#18072)