Skip to content

Releases: denoland/deno

v1.37.0

19 Sep 23:57
997aa60
Compare
Choose a tag to compare

1.37.0 / 2023.09.19

  • feat: Add "deno jupyter" subcommand (#20337, #20552, #20530, #20537, #20546)
  • feat(test): add TAP test reporter (#14390, #20073)
  • feat(ext/node): http2.connect() API (#19671)
  • feat(ext/web): Add name to Deno.customInspect of File objects (#20415)
  • feat(lint): --rules print all rules (#20256)
  • feat(lockfile): add redirects to the lockfile (#20262)
  • feat(lsp): WorkspaceSettings::disablePaths (#20475)
  • feat(lsp): enable via config file detection (#20334, #20349)
  • feat(lsp): include source in auto import completion label (#20523)
  • feat(lsp): npm specifier completions (#20121)
  • feat(lsp): provide the deno.cache command server-side (#20111)
  • feat(lsp): update imports on file rename (#20245)
  • feat(test): Add Deno.test.ignore and Deno.test.only (#20365)
  • feat(unstable): package manager (#20517)
  • feat: TypeScript 5.2 (#20425)
  • feat: explicit resource management in TypeScript (#20506)
  • feat: lockfile v3 (#20424)
  • feat: support import attributes (#20342)
  • fix(cli): ensure that an exception in getOwnPropertyDescriptor('constructor')
    doesn't break Deno.inspect (#20568)
  • fix(cli): for main-module that exists in package.json, use the version defined
    in package.json directly (#20328)
  • fix(compile): support providing flags as args (#20422)
  • fix(evt/kv): Add serde feature to uuid (#20350)
  • fix(ext/crypto): remove EdDSA alg key checks and export (#20331)
  • fix(ext/http): create a graceful shutdown API (#20387)
  • fix(ext/http): ensure aborted bodies throw (#20503)
  • fix(ext/kv): add a warning for listenQueue if used with remote KV (#20341)
  • fix(ext/kv): same expireIn should generate same expireAt (#20396)
  • fix(ext/node): implement AES GCM cipher (#20368)
  • fix(ext/node): remove unnecessary and incorrect type priority_t (#20276)
  • fix(ext/node/ops/zlib/brotli): Allow decompressing more than 4096 bytes
    (#20301)
  • fix(fmt/markdown): improve ignore comment handling (#20421)
  • fix(init): skip existing files instead of erroring (#20434)
  • fix(lsp): always enable semantic tokens responses (#20440)
  • fix(lsp): force correct media type detection from tsc (#20562)
  • fix(lsp): include JSON modules in local import completions (#20536)
  • fix(lsp): match enable_paths by whole path components (#20470)
  • fix(lsp): pass quote preference to tsc (#20547)
  • fix(lsp): prefer local auto-import specifiers (#20539)
  • fix(lsp): properly handle disabled configuration requests (#20358)
  • fix(lsp): recreate npm search cache when cache path changes (#20327)
  • fix(lsp): refresh npm completions on each character (#20565)
  • fix(lsp): respect configured exclusions for testing APIs (#20427)
  • fix(lsp): restore tsc's quick fix ordering (#20545)
  • fix(lsp): sort quickfix actions (#17221)
  • fix(node): Bump hardcoded version to latest (#20366)
  • fix(node/child_process): don't crash on undefined/null value of an env var
    (#20378)
  • fix(node/http): correctly send Content-length header instead of
    Transfer-Encoding: chunked (#20127)
  • fix(npm): properly handle legacy shasum of package (#20557)
  • fix(runtime/permissions): Resolve executable specifiers in allowlists and
    queries (#14130)
  • fix(test): apply filter before checking for "only" (#20389)
  • fix(test): share fail fast tracker between threads (#20515)
  • fix: Deno.Command - improve error message when cwd is not a directory
    (#20460)
  • fix: don't show filtered test suites as running (#20385)
  • fix: empty include in config file excludes all (#20404)
  • fix: exclude internal JS files from coverage (#20448)
  • fix: init v8 platform once on main thread (#20495)
  • fix: output traces for op sanitizer in more cases (#20494)
  • perf(ext/http): optimize set_response for small responses (#20527)
  • perf(ext/node): Optimise Buffer string operations (#20158)
  • perf(ext/streams): optimize async iterator (#20541)
  • perf(node/net): optimize socket reads for 'npm:ws' package (#20449)
  • perf: improve async op santizer speed and accuracy (#20501)
  • perf: make deno test 10x faster (#20550)

v1.36.4

01 Sep 16:40
c0617d1
Compare
Choose a tag to compare

1.36.4 / 2023.09.01

  • feat(ext/kv): connect to remote database (#20178)
  • feat(node): use i32 for priority_t on MacOS and {Free,Open}BSD (#20286)
  • fix(bench): explicit timers don't force high precision measurements (#20272)
  • fix(ext/http): don't panic on stream responses in cancelled requests (#20316)
  • fix(ext/kv): don't panic if listening on queues and KV is not closed (#20317)
  • fix(ext/node): fix argv[1] in Worker (#20305)
  • fix(ext/node): shared global buffer unlock correctness fix (#20314)
  • fix(ext/tls): upgrade webpki version (#20285)
  • fix(fmt/markdown): ignore trailing words in code block info string for
    language detection (#20310)
  • fix(kv) increase number of allowed mutations in atomic (#20126)
  • fix(lsp): delete test modules with all tests deleted (#20321)
  • fix(lsp): implement deno.suggest.completeFunctionCalls (#20214)
  • fix(lsp): test explorer panic on step result (#20289)
  • fix(lsp/testing): don't queue modules without tests (#20277)
  • fix(lsp/testing): use full ancestry to compute static id of step (#20297)
  • fix(napi): ignore tsfn recv error (#20324)
  • fix(network): adjust Listener type params (#18642)
  • fix(node): propagate create cipher errors (#20280)
  • fix(node/http): don't leak resources on destroyed request (#20040)
  • fix: unexpected lsp function arg comma completion (#20311)

v1.36.3

24 Aug 17:40
55029c7
Compare
Choose a tag to compare

1.36.3 / 2023.08.24

  • fix(build): socket2 compile error
  • fix(cli): add timeout on inspector tests (#20225)
  • fix(ext/node): simultaneous reads can leak into each other (#20223)
  • fix(ext/web): add stream tests to detect v8slice split bug (#20253)
  • fix(ext/web): better handling of errors in resourceForReadableStream (#20238)
  • fix(lint): erroneous remove await in async (#20235)
  • fix: add missing URL.canParse() types (#20244)

v1.36.2

21 Aug 16:50
a7f5244
Compare
Choose a tag to compare

1.36.2 / 2023.08.21

  • feat(ext/kv): key expiration (#20091)
  • feat(ext/node): eagerly bootstrap node (#20153)
  • feat(unstable): Improve FFI types (#20215)
  • fix(cli) error gracefully when script arg is not present and --v8-flags is
    present in deno run (#20145)
  • fix(cli): handle missing now field in cache (#20192)
  • fix(ext/fetch): clone second branch chunks in Body.clone() (#20057)
  • fix(ext/http): ensure request body resource lives as long as response is alive
    (#20206)
  • fix(ext/kv): retry transaction on SQLITE_BUSY errors (#20189)
  • fix(ext/net): implement a graceful error on an invalid SSL certificate
    (#20157)
  • fix(ext/node): allow for the reassignment of userInfo() on Windows (#20165)
  • fix(ext/node): support dictionary option in zlib init (#20035)
  • fix(lsp): pass fmt options to completion requests (#20184)
  • fix(node): don't print warning on process.dlopen.flags (#20124)
  • fix(node): implement TLSSocket._start (#20120)
  • fix(node): object keys in publicEncrypt (#20128)
  • fix(node/http): emit error when addr in use (#20200)
  • fix(npm): do not panic providing file url to require.resolve paths (#20182)
  • fix(require): use canonicalized path for loading content (#20133)
  • fix(runtime): navigator.userAgent in web worker (#20129)
  • fix(runtime): use host header for inspector websocket URL (#20171)
  • fix(test): JUnit reporter includes file, line and column attributes (#20174)
  • fix(unstable): disable importing from the vendor directory (#20067)
  • fix: release ReadeableStream in fetch (#17365)
  • perf(ext/event): always set timeStamp to 0 (#20191)
  • perf(ext/event): optimize Event constructor (#20181)
  • perf(ext/event): optimize addEventListener options converter (#20203)
  • perf(ext/event): replace ReflectHas with object lookup (#20190)
  • perf(ext/headers): cache iterableHeaders for immutable Headers (#20132)
  • perf(ext/headers): optimize getHeader using for loop (#20115)
  • perf(ext/headers): optimize headers iterable (#20155)
  • perf(ext/headers): use regex.test instead of .exec (#20125)
  • perf(ext/http): use ServeHandlerInfo class instead of object literal (#20122)
  • perf(ext/node): cache IncomingMessageForServer.headers (#20147)
  • perf(ext/node): optimize http headers (#20163)
  • perf(ext/request): optimize Request constructor (#20141)
  • perf(ext/request): optimize validate and normalize HTTP method (#20143)
  • perf(ext/urlpattern): optimize URLPattern.exec (#20170)
  • perf(http): use Cow<[u8]> for setting header (#20112)

v1.36.1

10 Aug 12:37
Compare
Choose a tag to compare

1.36.1 / 2023.08.10

  • feat(unstable): rename deno_modules to vendor (#20065)
  • fix(ext/abort): trigger AbortSignal events in correct order (#20095)
  • fix(ext/file): resolve unresolved Promise in Blob.stream (#20039)
  • fix(ext/http): serveHttp brotli compression level should be fastest (#20058)
  • fix(ext/http): unify default gzip compression level (#20050)
  • fix(ext/timers): some timers are not resolved (#20055)
  • fix(fmt): do not insert expr stmt leading semi-colon in do while stmt body
    (#20093)
  • fix(node): polyfill process.title (#20044)
  • fix(node): repl._builtinLibs (#20046)
  • fix(node/async_hooks): don't pop async context frame if stack if empty
    (#20077)
  • fix(test): handle ASCII escape chars in test name (#20081)
  • fix(test): make test runner work when global setTimeout is replaced (#20052)
  • fix(test): use only a single timeout for op sanitizers (#20042)
  • fix(unstable): vendor cache override should handle forbidden windows directory
    names (#20069)
  • fix(unstable): vendor cache should support adding files to hashed directories
    (#20070)
  • perf(ext/headers): use .push loop instead of spread operator (#20108)

v1.36.0

03 Aug 17:41
6ba245f
Compare
Choose a tag to compare

1.36.0 / 2023.08.03

  • feat(bench): add BenchContext::start() and BenchContext::end() (#18734)
  • feat(bench): print iter/s in the report (#19994)
  • feat(cli): Add dot test reporter (#19804)
  • feat(cli): Adding JUnit test reports (#19747)
  • feat(compile): Add --no-terminal to compile command (#17991)
  • feat(ext/http): Upgrade to hyper1.0-rc4 (#19987)
  • feat(ext/websocket): allow HTTP(S) protocol in URL (#19862)
  • feat(node): add polyfill for node:test module (#20002)
  • feat(node/os): implement getPriority, setPriority & userInfo (#19370)
  • feat(npm): support running non-bin scripts in npm pkgs via deno run (#19975)
  • feat(permissions): add "--deny-*" flags (#19070)
  • feat(unstable): optional deno_modules directory (#19977)
  • feat(unstable/lsp): support navigating to deno_modules folder (#20030)
  • feat: Deno.createHttpClient allowHost (#19689)
  • fix(Deno.serve): accessing .url on cloned request throws (#19869)
  • fix(bench): iter/s calculation (#20016)
  • fix(check): should bust check cache when json module or npm resolution changes
    (#19941)
  • fix(ext/compression): throw TypeError on corrupt input (#19979)
  • fix(ext/fs): fix MaybeArc when not sync_fs (#19950)
  • fix(ext/node): fix import json using npm specifier (#19723)
  • fix(lsp): handle import mapped node: specifier (#19956)
  • fix(node): node:test reports correct location (#20025)
  • fix(node): package path not exported error - add if types resolution was
    occurring (#19963)
  • fix(npm): improve declaration resolution for filename with different
    extensions (#19966)
  • fix(repl): highlight from ident in import from or export from (#20023)
  • fix(test): request cloning should throw if body stream is locked (#19990)
  • fix: call setIsTrusted for generated events (MessageEvent) (#19919)
  • fix: deno diagnostic - clarify where to put triple-slash directive (#20009)
  • fix: do not include jsx without @ts-check in tsc roots (#19964)
  • fix: error on invalid & unsupported jsx compiler options (#19954)
  • fix: make "suggest.autoImports" to switch completions from external modules
    (#19845)
  • fix: regression in workers using dynamic imports (#20006)
  • fix: retry module download once if server errored (#17252)
  • perf(ext/ffi): Avoid receiving on FFI async work channel when no
    UnsafeCallback exists (#19454)
  • perf: faster node globals access in cjs (#19997)

v1.35.3

26 Jul 16:24
Compare
Choose a tag to compare

1.35.3 / 2023.07.26

  • feat(runtime): sys_info.rs - Use KERN_OSRELEASE on {Free,Open}BSD (#19849)
  • fix(cli): build script panics on musl due to glibc_version check (#19913)
  • fix(cli): output file handling in deno upgrade (#18994)
  • fix(cli/init): update to assert/mod.ts (#19924)
  • fix(cli/test): fix clear screen behavior when run deno test --watch (#19888)
  • fix(ext/http): Error on deprecated/unavailable features (#19880)
  • fix(ext/http): Quietly ignore invalid status codes (#19936)
  • fix(ext/net): fix string port number handling in listen (#19921)
  • fix(ext/node): inspector with seggregated globals (#19917)
  • fix(lint): allow to use --rules with --rules-tags (#19754)
  • fix(lsp): auto-discover deno.json in more cases (#19894)
  • fix(lsp): handle watched files events from symlinked config files (#19898)
  • fix(node): add writable and readable fields to FakeSocket (#19931)
  • fix(node/http): add encrypted field to FakeSocket (#19886)
  • fix(node_compat): Wrap require resolve exports in try catch block (#19592)
  • fix(task): ensure quoted strings are maintained mid-word (#19944)
  • fix: deno info should respect import map (#19781)
  • perf(lsp): format in a blocking task (#19883)
  • perf: cache node resolution when accesing a global (#19930)

v1.35.2

20 Jul 03:10
60fe8aa
Compare
Choose a tag to compare

1.35.2 / 2023.07.20

  • fix(bench): run warmup benchmark to break JIT bias (#19844)
  • fix(ext/node): check if resource can be used with write_vectored (#19868)
  • fix(ext/node): fix stream/promises export (#19820)
  • fix(ext/node): properly segregate node globals (#19307)
  • fix(napi): update env_test.js (#19876)
  • fix(node): add process.dlopen API (#19860)
  • fix(node): improve error message requiring non-npm es module (#19856)
  • fix(node): improve require esm error messages (#19853)
  • fix(node/http): call callback after request is sent (#19871)
  • fix(node/net): Server connection callback include socket value (#19779)
  • fix(npm): improve error message importing non-existent file in a node_modules
    npm package (#19835)
  • fix(npm): improve error message on directory import in npm package (#19538)
  • fix(npm): support dynamic import of Deno TS from npm package (#19858)
  • fix(runtime): print process name in case of spawn error (#19855)
  • fix(tsc): more informative diagnostic when Deno does not exist (#19825)
  • fix(vendor): do not panic vendoring with jsxImportSource and no jsx files
    (#19837)

v1.35.1

13 Jul 00:36
b4824bf
Compare
Choose a tag to compare

1.35.1 / 2023.07.12

  • fix(ext/http): Use brotli compression params (#19758)
  • fix(lsp): exclude files in deno.json "exclude" (#19791)
  • fix(lsp): remove quotes and period surrounding specifier in uncached messages
    (#19794)
  • fix(lsp): stop diagnostics flickering (#19803)
  • fix(node/http): add destroy to FakeSocket (#19796)
  • fix(node/http): allow callback in first argument of end call (#19778)
  • fix(node/http): server use FakeSocket and add end method (#19660)
  • fix(vendor): support import mapped jsxImportSource (#19724)
  • fix: remove unstable check for Deno.listenTls#alpnProtocols (#19732)
  • perf(ext/node): native vectored write for server streams (#19752)
  • perf(ext/node): optimize net streams (#19678)
  • perf(ext/websocket): optimize server websocket js (#19719)
  • perf(node/async_hooks): optimize AsyncLocalStorage (#19729)
  • perf: add setup cache for node_modules folder (#19787)

v1.35.0

05 Jul 03:21
1ac5fdd
Compare
Choose a tag to compare

1.35.0 / 2023.07.04

  • feat: add more Deno.errors classes (#19514)
  • feat: ReadableStream.from (#19446)
  • feat: stabilize 'alpnProtocols' setting (#19704)
  • feat: Stabilize Deno.serve() API (#19141)
  • feat: upgrade to TypeScript 5.1.6 (#19695)
  • feat(ext/fetch): add Headers#getSetCookie (#13542)
  • feat(ext/url): URLSearchParams two-argument delete() and has() (#19654)
  • feat(lock): skip saving declaration files in the lockfile (#19447)
  • feat(lsp): basic support of auto-imports for npm specifiers (#19675)
  • feat(lsp): support import maps in quick fix and auto-imports (#19692)
  • fix: add exactOptionalPropertyTypes for configuration file JSON schema
    (#19647)
  • fix: bump default @types/node version range to 18.16.19 (#19706)
  • fix(cli): don't store blob and data urls in the module cache (#18581)
  • fix(cli): Fix the bug where the command description is not displayed. (#19604)
  • fix(cli/napi): napi_get_buffer_info accepts ArrayBufferView … (#19551)
  • fix(cli/napi): property with getter/setter always failed (#19562)
  • fix(console): correct the parseCssColor algorithm (#19645)
  • fix(dts): make globals available on globalThis (#19438)
  • fix(ext/crypto): Fix WebCrypto API's deriveKey (#19545)
  • fix(ext/fs): fix boolean checks in JS parser (#19586)
  • fix(ext/http): Catch errors in eager stream timeout to avoid uncaught promise
    rejections (#19691)
  • fix(ext/kv): expose Deno.AtomicOperation (#19674)
  • fix(ext/node): Define performance.timeOrigin as getter property (#19714)
  • fix(ext/node): ignore cancelled timer when node timer refresh (#19637)
  • fix(ext/node): support brotli APIs (#19223)
  • fix(ext/websocket): Ensure that errors are available after async response
    returns (#19642)
  • fix(node/http): add setKeepAlive to FakeSocket (#19659)
  • fix(npm): escape export identifier in double quoted string (#19694)
  • fix(npm): handle more reserved words as cjs exports (#19672)
  • fix(npm): support siblings that are peer dependencies of each other (#19657)