Releases: denoland/deno
Releases · denoland/deno
v1.37.0
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 sameexpireAt
(#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 whencwd
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
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
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
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 indeno 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
1.36.1 / 2023.08.10
- feat(unstable): rename
deno_modules
tovendor
(#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
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
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
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
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
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
acceptsArrayBufferView
… (#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)