Skip to content

Releases: denoland/deno

v1.45.2

12 Jul 22:04
85de428
Compare
Choose a tag to compare

1.45.2 / 2024.07.12

  • fix(config): regression - should not discover npm workspace for nested
    deno.json not in workspace (#24559)
  • fix(cli/init): broken link in deno init sample template (#24545)
  • fix(ext/node): handle prefix mapping for IPv4-mapped IPv6 addresses (#24546)
  • fix(ext/webgpu): GPUDevice.createRenderPipelineAsync should return a Promise
    (#24349)
  • fix(node): revert invalid package target change (#24539)
  • fix(publish): show dirty files on dirty check failure (#24541)
  • fix: include already seen deps in lockfile dep tracking (#24556)
  • fix: unblock fsevents native module (#24542)
  • perf(ext/crypto): make randomUUID() 5x faster (#24510)

v1.45.1

11 Jul 23:12
c841d16
Compare
Choose a tag to compare

1.45.1 / 2024.07.11

  • fix(node): Ignore broken default install scripts (#24534)
  • fix(npm): only warn about lifecycle scripts not being run when setting up
    directory (#24530)
  • fix(workspace): allow using --import-map flag with workspace (#24527)

v1.45.0

10 Jul 23:47
04ff5c7
Compare
Choose a tag to compare

1.45.0 / 2024.07.10

  • BREAKING(unstable/ffi): remove callback reentrant flag (#24367)
  • feat(cli): Add --frozen flag to error out if lockfile is out of date
    (#24355)
  • feat(cli): deno init --lib (#22499)
  • feat(compile): support --env (#24166)
  • feat(ext/crypto): make deriveBits length parameter optional and nullable
    (#24426)
  • feat(ext/web): add Blob.prototype.bytes() (#24148)
  • feat(jsr): support publishing jsr packages in npm workspaces (#24507)
  • feat(jupyter): support confirm and prompt in notebooks (#23592)
  • feat(lsp): ts language service scopes (#24345)
  • feat(node): Support executing npm package lifecycle scripts
    (preinstall/install/postinstall) (#24487)
  • feat(workspace): support object config (#24483)
  • feat: Deprecate --lock-write flag (#24436)
  • feat: Upgrade to TypeScript 5.5.2 (#24326)
  • feat: add __tests__ to test file detection defaults (#24443)
  • feat: deprecate deno vendor (#22183)
  • feat: npm workspace and better Deno workspace support (#24334)
  • feat: support wildcards in npm workspaces (#24471)
  • feat: upgrade deno_core (#24364)
  • feat: upgrade deno_core to 0.293.0 (#24482)
  • fix(check): CJS types importing dual ESM/CJS package should prefer CJS types
    (#24492)
  • fix(compile): atomically write compile output (#24378)
  • fix(compile): prevent setting unstable feature twice (#24381)
  • fix(ext/node): Add fs.lutimes / fs.lutimesSync (#23172)
  • fix(ext/node): add Module.parent (#24333)
  • fix(ext/node): add ServerResponse#appendHeader (#24216)
  • fix(ext/node): add Symbol.toStringTag to KeyObject instances (#24377)
  • fix(ext/node): discover .npmrc in user's homedir (#24021)
  • fix(ext/node): don't panic on invalid utf-8 in pem (#24303)
  • fix(ext/node): don't wait for end() call to send http client request (#24390)
  • fix(ext/node): http chunked writes hangs (#24428)
  • fix(ext/node): ignore stream error during enqueue (#24243)
  • fix(ext/node): make next tick queue resilient to Array.prototype tampering
    (#24361)
  • fix(ext/node): rewrite crypto.Hash (#24302)
  • fix(ext/node): rewrite digest handling (#24392)
  • fix(ext/node): use cppgc for node:zlib (#24267)
  • fix(ext/webgpu): fix GPUUncapturedErrorEvent parent type (#24369)
  • fix(ext/websocket): drop connection when close frame not ack (#24301)
  • fix(lsp): correct scope attribution for injected @types/node (#24404)
  • fix(lsp): do sloppy resolution for node-to-node imports in byonm (#24481)
  • fix(lsp): don't use global cache paths for scope allocation (#24353)
  • fix(lsp): inherit workspace-root-only fields in members (#24440)
  • fix(lsp): respect lockfile redirects entries for resolution (#24365)
  • fix(lsp): use CliLockfile (#24387)
  • fix(net): handle panic on Windows for Unix socket usage in Deno.serve()
    (#24423)
  • fix(net): set correct max size for Datagram (#21611)
  • fix(node): Implement fs.lchown (and process.getegid) (#24418)
  • fix(node): add missing readline/promises module (#24336)
  • fix(node/assert): throws not checking error instance (#24466)
  • fix(node/http): don't error if request destroyed before send (#24497)
  • fix(node/http): don't send destroyed requests (#24498)
  • fix(node/http): don't throw on .address() before .listen() (#24432)
  • fix(node/http): support all .writeHead() signatures (#24469)
  • fix(node/perf_hooks): stub eventLoopUtilization (#24501)
  • fix(node/v8): stub serializer methods (#24502)
  • fix(permissions): handle ipv6 addresses correctly (#24397)
  • fix(publish): unfurling should always be done with the package json (#24435)
  • fix(task): do not propagate env changes outside subshells (#24279)
  • fix(windows): check USERPROFILE env var for finding home directory (#24384)
  • fix(workspace): better cli file argument handling (#24447)
  • fix: Add sys permission kinds for node compat (#24242)
  • fix: add warning for invalid unstable feature use in deno.json/jsonc (#24120)
  • fix: do not download compilerOptions -> types when not type checking (#24473)
  • fix: do not return undefined for missing global properties (#24474)
  • fix: make .setup-cache.bin in node_modules more reproducible (#24480)
  • fix: memory leak when transpiling (#24490)
  • fix: node-api get_value_string_utf8 should use utf8_length (#24193)
  • fix: panic when piping "deno help" or "deno --version" (#22917)
  • fix: test in presence of .npmrc (#24486)
  • fix: upgrade deno_core to 0.291.0 (#24297)
  • perf(ext/node): improve Buffer.from(buffer) (#24352)
  • perf(ext/websocket): avoid global interceptor overhead (#24284)
  • perf(ws): optimize fastwebsockets in release profile (#24277)
  • perf: optimize Buffer.from("base64") for forgiving-base64 conforming input
    (#24346)

v1.44.4

19 Jun 18:27
892e7c2
Compare
Choose a tag to compare

1.44.4 / 2024.06.19

  • Revert "chore: upgrade to reqwest 0.12.4 and rustls 0.22 (#24056)" (#24262)
  • fix(ext/node): Add Dirent.path and Dirent.parentPath (#24257)
  • fix(ext/node): Add SIGPOLL and SIGUNUSED signals (#24259)
  • fix(ext/node): use primordials in ext/node/polyfills/_utils.ts (#24253)

v1.44.3

19 Jun 02:42
ab2ab0f
Compare
Choose a tag to compare

1.44.3 / 2024.06.18

  • feat(lsp): multi deno.json resolver scopes (#24206)
  • fix(cli): missing flag for --unstable-process (#24199)
  • fix(docs): correctly resolve href for built-ins (#24228)
  • fix(ext/console): bump default max str lengthto 10_00 (#24245)
  • fix(ext/http): actually await goAhead promise (#24226)
  • fix(ext/node): add missing BlockList & SocketAddress classes (#24229)
  • fix(ext/node): server.close() does graceful shutdown (#24184)
  • fix(ext/node): better support for node:diagnostics_channel module (#24088)
  • fix(ext/node): make process.versions own property (#24240)
  • fix(ext/node): use Deno.FsFile.statSync() (#24234)
  • fix(ext/permissions): add correct feature flags to winapi (#24218)
  • fix(ext/web): fix AbortSignal.timeout() leak (#23842)
  • fix(ext/webgpu): fix surface creation panic when adapter not initialized
    (#24201)
  • fix(inspector): crash on "Debugger.setBlackboxPatterns" (#24204)
  • fix(lsp): use import map from workspace root (#24246)
  • fix(napi): Read reference ownership before calling finalizer to avoid crash
    (#24203)
  • fix(no-slow-types): handle named type in mapped type (#24205)
  • fix(npm): use more relaxed package.json version constraint parsing (#24202)
  • fix(repl): prevent panic when deleting globalThis.closed property (#24014)
  • perf(lsp): store settings in Arc (#24191)
  • perf(node): ensure cjs wrapper module has deterministic output (#24248)

v1.44.2

13 Jun 03:41
9ca1320
Compare
Choose a tag to compare

1.44.2 / 2024.06.13

  • fix(lsp): respect editor indentation options (#24181)
  • fix(lsp): workspace jsr resolution (#24121)
  • fix(check): attempt to resolve types from pkg before @types pkg (#24152)
  • fix(cli): Explicitly cache NPM packages during deno install (#24190)
  • fix(cli): Overwrite existing bin entries in node_modules (#24123)
  • fix(ext/http): print [] around ipv6 addresses (#24150)
  • fix(ext/net): make node:http2 work with DENO_FUTURE=1 (#24144)
  • fix(ext/node): ServerResponse header array handling (#24149)
  • fix(ext/node): add crypto and zlib constants (#24151)
  • fix(ext/node): fix vm memory usage and context initialization (#23976)
  • fix(ext/node): lossy UTF-8 read node_modules files (#24140)
  • fix(ext/node): send data frame with end_stream flag on _final call (#24147)
  • fix(ext/node): support stdin child_process IPC & fd stdout/stderr (#24106)
  • fix(ext/web): correct string tag for MessageEvent (#24134)
  • fix(ext/websocket): correctly order messages when sending blobs (#24133)
  • fix(jupyter): Avoid panicking when DEBUG env var is set (#24168)
  • fix(lsp): don't sort workspace files (#24180)
  • fix(lsp): strip .js before probing for valid import fix (#24188)
  • fix(npm): resolve dynamic npm imports individually (#24170)
  • fix: Rewrite Node-API (#24101)
  • fix: clean up some node-api details (#24178)
  • fix: do not panic linting files with UTF-8 BOM (#24136)
  • fix: don't panic when cache is not available (#24175)
  • fix: make writing to the deps cache more reliable (#24135)
  • fix: potential hang on dynamic import (#24128)

v1.44.1

06 Jun 02:43
e02a32b
Compare
Choose a tag to compare

1.44.1 / 2024.06.05

  • fix(console): add missing AssertionError to js (#22358)
  • fix(docs): update Deno.Command docs (#24097)
  • fix(lsp): complete exports for import mapped jsr specifiers (#24054)
  • fix(npm): use configured auth for tarball urls instead of scope auth (#24111)
  • fix: better handling of npm resolution occurring on workers (#24094)
  • fix: retry writing lockfile on failure (#24052)
  • fix: support importing statically unanalyzable npm specifiers (#24107)
  • fix: update deno_npm (#24065)
  • fix: validate integer values in Deno.exitCode setter (#24068)

v1.44.0

30 May 07:51
f3ffffc
Compare
Choose a tag to compare

1.44.0 / 2024.05.30

  • BREAKING(ffi/unstable): always return u64 as bigint (#23981)
  • BREAKING(ffi/unstable): use BigInt representation in turbocall (#23983)
  • FUTURE(ext/ffi,ext/webgpu): stabilize FFI and WebGPU APIs (#24011)
  • FUTURE(ext/fs): stabilize file system APIs (#23968)
  • FUTURE: initial support for .npmrc file (#23560)
  • feat(cli): Add slow test warning (#23874)
  • feat(cli/test): deno test --clean (#23519)
  • feat(ext/fetch): Request.bytes() and Response.bytes() (#23823)
  • feat(ext/fs): stabilize Deno.FsFile.syncData[Sync]() and
    Deno.FsFile.sync[Sync]() (#23733)
  • feat(ext/fs): stabilize Deno.FsFile.unlock[Sync]() and
    Deno.FsFile.lock[Sync]() (#23754)
  • feat(ext/webgpu): byow support for {Free,Open}BSD (#23832)
  • feat(lint): add no-boolean-literal-for-arguments rule and enable
    no-unused-vars for jsx files (#24034)
  • feat(lsp): support .npmrc (#24042)
  • feat(node): buffer isUtf8/isAscii (#23928)
  • feat(serve): support --port 0 to use an open port (#23846)
  • feat(task): run npm run commands with Deno more often (#23794)
  • feat(vendor): support modifying remote files in vendor folder without checksum
    errors (#23979)
  • feat: Add Deno.exitCode API (#23609)
  • feat: add lowercase -v version flag (#23750)
  • feat: do not require DENO_FUTURE=1 for npmrc support (#24043)
  • feat: enable pointer compression via deno_core bump (#23838)
  • fix(cli): Prefer npm bin entries provided by packages closer to the root
    (#24024)
  • fix(cli): Support deno.lock with only package.json present + fix DENO_FUTURE
    install interactions with lockfile (#23918)
  • fix(cli/test): decoding percent-encoding(non-ASCII) file path correctly
    (#23200)
  • fix(coverage): add tooltip to line count in html report (#23971)
  • fix(coverage): do not generate script coverage with empty url (#24007)
  • fix(coverage): handle ignore patterns (#23974)
  • fix(coverage): skip generating coverage json for http(s) scripts (#24008)
  • fix(deno_task): more descriptive error message (#24001)
  • fix(ext/fs): truncate files when a ReadableStream is passed to writeFile
    (#23330)
  • fix(ext/http): flush gzip streaming response (#23991)
  • fix(ext/node): add throwIfNoEntry option in fs.lstatSync (#24006)
  • fix(ext/node): add stubs for perf_hooks.PerformaceObserver (#23958)
  • fix(ext/node): don't encode buffer data as utf8 in http2 (#24016)
  • fix(ext/node): return cancelled flag in get_response_body_chunk op (#23962)
  • fix(ext/node): windows cancel stdin read in line mode (#23969)
  • fix(ext/node/fs): position argument not applied (#24009)
  • fix(ext/web): ReadableStream.from() allows Iterable instead of
    IterableIterator (#23903)
  • fix(ext/web): ReadableStream.from() ignores null Symbol.asyncIterator
    (#23910)
  • fix(ext/websocket): change default idleTimeout to 30s (#23985)
  • fix(lsp): don't discover deno.json in vendor dir (#24032)
  • fix(lsp): process Fenced Code Block in JSDoc on completion correctly
    (#23822)
  • fix(node): set default http server response code 200 (#23977)
  • fix(npm): set up node_modules/.bin/ entries for package that provide bin
    entrypoints (#23496)
  • fix(publish): raise diagnostics for triple-slash directives for --dry-run
    instead of just publish (#23811)
  • fix(runtime): use more null proto objects (#23921)
  • fix(task): always use npm for npm run with flags (#24028)
  • fix: --env flag confusing message on syntax error (#23915)
  • fix: bump cache sqlite dbs to v2 for WAL journal mode change (#24030)
  • fix: empty process.platform with __runtime_js_sources (#24005)
  • fix: use hash of in-memory bytes only for code cache (#23966)
  • perf(cli): Improve concurrency when setting up node_modules and loading
    cached npm package info (#24018)
  • perf(cli): Optimize setting up node_modules on macOS (#23980)
  • perf(lsp): lock out requests until init is complete (#23998)
  • perf(repl): don't walk workspace in repl language server (#24037)
  • perf(startup): use WAL journal for sqlite databases in DENO_DIR (#23955)
  • perf: avoid building module graph if dynamic specifier already in graph
    (#24035)
  • perf: parse source files in parallel (#23858)
  • perf: skip npm install if graph has no new packages (#24017)

v1.43.6

22 May 01:16
7df3d5a
Compare
Choose a tag to compare

1.43.6 / 2024.05.21

  • fix(cli): use CliNodeResolver::resolve() for managed node_modules (#23902)
  • fix(cli/coverage): invalid line id in html reporter (#23908)
  • fix(ext/web): fix potential leak of unread buffers (#23923)
  • fix(ext/webgpu): Allow depthClearValue to be undefined when depthLoadOp is
    not "clear" (#23850)
  • fix(lsp): Fix display of JSDoc named examples (#23927)
  • fix(lsp): apply import fix to missing declaration code action (#23924)
  • fix(node): instantiating process class without new (#23865)
  • fix(node): patch MessagePort in worker_thread message (#23871)
  • fix(node): stub findSourceMap for ava (#23899)
  • fix(node): track SIG* listeners in process.listeners (#23890)
  • fix(task): do not error if node_modules folder not exists (#23920)
  • fix: add missing URL.parse types (#23893)
  • fix: handle signal 0 in process.kill (#23473)
  • fix: serve handler error with 0 arguments (#23652)
  • perf(cache): compile ts to js in parallel for deno cache (#23892)
  • perf: analyze cjs exports and emit typescript in parallel (#23856)
  • perf: analyze cjs re-exports in parallel (#23894)
  • perf: resolver - skip cwd lookup if able (#23851)

v1.43.5

18 May 01:42
a13c453
Compare
Choose a tag to compare

1.43.5 / 2024.05.18

  • fix(npm): regression deserializing JSON for some npm packages (#23868)