Releases: denoland/deno
Releases Β· denoland/deno
v1.38.3
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
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
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
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
thendeno 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()
andMap.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)
v1.37.2
1.37.2 / 2023.10.12
- feat(ext/web): cancel support for TransformStream (#20815)
- feat(lsp): jupyter notebook analysis (#20719)
- feat(lsp): send "deno/didChangeDenoConfiguration" notifications (#20827)
- feat(unstable): add Deno.jupyter.display API (#20819)
- feat(unstable): add unix domain socket support to Deno.serve (#20759)
- feat(unstable): Await return from
Jupyter.display
(#20807) - feat(unstable): send binary data with
Deno.jupyter.broadcast
(#20755) - feat(unstable): send Jupyter messaging metadata with
Deno.jupyter.broadcast
(#20714) - feat(unstable): support Deno.test() (#20778)
- fix(bench): use total time when measuring wavg (#20862)
- fix(cli): Support using both
--watch
and--inspect
at the same time
(#20660) - fix(cli): panic with __runtime_js_sources (#20704)
- fix(ext/ffi): use anybuffer for op_ffi_ptr_of (#20820)
- fix(ext/formdata): support multiple headers in FormData (#20801)
- fix(ext/http): Deno.Server should not be thenable (#20723)
- fix(ext/kv): send queue wake messages accross different kv instances (#20465)
- fix(ext/node): don't call undefined nextTick fn (#20724)
- fix(ext/node): fix TypeError in Buffer.from with base64url encoding. (#20705)
- fix(ext/node): implement uv.errname (#20785)
- fix(ext/web): writability of
ReadableStream.from
(#20836) - fix(jupyter): Rename logo assets so they are discoverable (#20806)
- fix(jupyter): keep
this
around (#20789) - fix(jupyter): more robust Deno.jupyter namespace (#20710)
- fix(lsp): allow formatting vendor files (#20844)
- fix(lsp): normalize "deno:" urls statelessly (#20867)
- fix(lsp): percent-encode host in deno: specifiers (#20811)
- fix(lsp): show diagnostics for type imports from untyped deps (#20780)
- fix(node/buffer): utf8ToBytes should return a Uint8Array (#20769)
- fix(node/http2): fixes to support grpc (#20712)
- fix(npm): upgrade to deno_npm 0.15.2 (#20772)
- fix(upgrade): use tar.exe to extract on Windows (#20711)
- fix: define window.name (#20804)
- fix: upgrade dprint-plugin-markdown 0.16.2 and typescript 0.88.1 (#20879)
- perf(ext/web): optimize DOMException (#20715)
- perf(ext/web): optimize structuredClone without transferables (#20730)
- perf(lsp): fix redundant file reads (#20802)
- perf(lsp): optimize formatting minified files (#20829)
- perf(node): use faster utf8 byte length in Buffer#from (#20746)
v1.37.1
1.37.1 / 2023.09.27
- feat(ext/web): use readableStreamDefaultReaderRead in
resourceForReadableStream (#20622) - feat(kv_queues): increase max queue delay to 30 days (#20626)
- feat(lsp): cache all dependencies quick fix (#20665)
- feat(lsp): support more vscode built-in settings (#20679)
- feat(unstable): add
Deno.jupyter.broadcast
API (#20656) - fix(cli/test): clear connection pool after tests (#20680)
- fix(ext/http): ensure that resources are closed when request is cancelled
(#20641) - fix(ext/node): Fix invalid length variable reference in blitBuffer (#20648)
- fix(ext/node): simplified array.from + map (#20653)
- fix(ext/web): Aggregate small packets for Resource implementation of
ReadableStream (#20570) - fix(jupyter): await Jupyter.display evaluation (#20646)
- fix(kv): unflake kv unit tests (#20640)
- fix(kv_queues): graceful shutdown (#20627)
- fix(lsp): allow query strings for "deno:/status.md" (#20697)
- fix(lsp): resolve remote import maps (#20651)
- fix(lsp): show related information for tsc diagnostics (#20654)
- fix(node): point process.version to Node 18.18.0 LTS (#20597)
- fix(node): supported arguments to
randomFillSync
(#20637) - fix(node/package_json): Avoid panic when "exports" field is null (#20588)
- fix(upgrade): error instead of panic on unzip failure (#20691)
- perf(ext/fetch): use new instead of createBranded (#20624)
- perf(test): use core.currentUserCallSite (#20669)
- perf(test): use fast ops for deno test register (#20670)
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)