Skip to content

Releases: denoland/deno

v1.32.5

18 Apr 19:57
6cfca9b
Compare
Choose a tag to compare

1.32.5 / 2023.04.18

  • feat(UNSTABLE/kv): AtomicOperation#sum (#18704)
  • fix(core): Use safe primordials wrappers (#18687)
  • fix(ext/node): add req.socket.remoteAddress (#18733)
  • fix(ext/node): implement crypto.createVerify (#18703)
  • fix(ext/node): polyfill response._implicitHeader method (#18738)
  • fix(ext/websocket): Avoid write deadlock that requires read_frame to complete
    (#18705)
  • fix(lsp): ensure language server status works on unix (#18727)
  • fix(npm): eagerly reload package information when version from lockfile not
    found locally (#18673)
  • fix(path): Remove non node symbols (#18630)
  • fix(test): add process sigint handler for --watch (#18678)
  • perf(ext/websocket): make op_server_ws_next_event deferred (#18632)
  • perf(ops): directly respond for eager ops (#18683)

v1.32.4

12 Apr 16:56
709cfd6
Compare
Choose a tag to compare

1.32.4 / 2023.04.12

  • Revert "fix(cli): don't store blob and data urls in the module cache (#18261)"
    (#18572)
  • feat(core): sync io ops in core (#18603)
  • feat(ext/http): add an op to perform raw HTTP upgrade (#18511)
  • fix(core): preserve syntax error locations in dynamic imports (#18664)
  • fix(ext/cache): cache.put overwrites previous call (#18649)
  • fix(ext/kv): keys must be arrays (#18655)
  • fix(ext/node): add X509Certificate (#18625)
  • fix(ext/node): add symmetric keygen (#18609)
  • fix(ext/node): fix unable to resolve fraction.js (#18544)
  • fix(ext/node): implement hkdf-expand (#18612)
  • fix(ext/node): json encode binary command name (#18596)
  • fix(npm): cache bust npm specifiers more aggressively (#18636)
  • fix(npm): do not "npm install" when npm specifier happens to match
    package.json entry (#18660)
  • fix(npm): reload an npm package's dependency's information when version not
    found (#18622)
  • perf(ext/io): remove a data copy from File write (#18601)
  • perf(ext/websocket): replace tokio_tungstenite server with fastwebsockets
    (#18587)

v1.32.3

02 Apr 00:23
73d4721
Compare
Choose a tag to compare

1.32.3 / 2023.04.01

  • fix(check): ensure diagnostics caused by changes in other files get
    invalidated between runs (#18541)
  • fix(ext/ffi): crash when same reference struct is used in two fields (#18531)
  • fix(lsp): add a document preload file system entry limit (#18553)
  • fix(repl): disable language server document preloading in the repl (#18543)
  • fix(test): don't swallow sanitizer errors with permissions (#18550)
  • perf(check): faster source hashing (#18534)

v1.32.2

31 Mar 22:20
24e0b31
Compare
Choose a tag to compare

1.32.2 / 2023.03.31

  • Revert "refactor(ext/node): Use Deno.inspect (#17960)" (#18491)
  • feat(core): initialize SQLite off-main-thread (#18401)
  • feat(ext/kv): return versionstamp from set/commit (#18512)
  • feat(ext/node): add crypto.checkPrime API (#18465)
  • feat(ext/node): implement crypto.createSecretKey (#18413)
  • feat(test): print pending tests on sigint (#18246)
  • feat: port node:zlib to rust (#18291)
  • fix(cli): add colors to "Module not found" error frame (#18437)
  • fix(cli): don't store blob and data urls in the module cache (#18261)
  • fix(cli/bench): look for clone3 syscalls for thread count (#18456)
  • fix(core): located_script_name macro was using format syntax (#18388)
  • fix(core): panic at build time if extension code contains anything other than
    7-bit ASCII (#18372)
  • fix(core): restore cache journal mode to TRUNCATE and tweak tokio test in
    CacheDB (#18469)
  • fix(coverage): ignore files from npm registry (#18457)
  • fix(dts): improve types for the Deno.KV API (#18510)
  • fix(ext/kv): add missing getMany method (#18410)
  • fix(ext/node): add aes-128-ecb algorithm support (#18412)
  • fix(ext/node): add missing _preloadModules hook (#18447)
  • fix(ext/node): implement crypto.Sign (RSA/PEM/SHA{224,256,384,512}) (#18471)
  • fix(ext/node): make cipher/decipher transform stream (#18408)
  • fix(lsp): textDocument/references should respect includeDeclaration
    (#18496)
  • fix(lsp): better handling of data: urls (#18527)
  • fix(lsp): include all diagnosable documents on initialize (#17979)
  • fix(ops): fallback when FastApiOneByteString is not utf8 (#18518)
  • fix(repl): improve package.json support (#18497)
  • fix(streams): add support Float64Array to ReadableStreamByobReader
    (#18188)
  • fix: Add missing processenv winapi feature to deno_io (#18485)
  • fix: upgrade to TypeScript 5.0.3 (#18532)
  • perf(ext/websocket): efficient event kind serialization (#18509)
  • perf(ext/websocket): special op for sending binary data frames (#18506)
  • perf(ext/websocket): special op for sending text data frames (#18507)
  • perf(ext/websocket): use opAsync2 to avoid spread deopt (#18525)
  • perf: const op declaration (#18288)

v1.32.1

23 Mar 21:23
99b5eaa
Compare
Choose a tag to compare

1.32.1 / 2023.03.23

  • fix(core): disable resizable ArrayBuffer and growable SharedArrayBuffer (#18395)
  • fix(cli): restore deno run - to handle stdin as typescript (#18391)
  • fix(inspect): ensure non-compact output when object literal has newline in entry text (#18366)
  • fix(lsp): ensure enablePaths works when clients do not provide a trailing slash for workspace dir (#18373)

v1.32.0

23 Mar 00:37
d06fdf6
Compare
Choose a tag to compare
v1.32.0 Pre-release
Pre-release

🚨 Deno 1.32.0 contains a critical security issue. Please upgrade to 1.32.1.

1.32.0 / 2023.03.22

  • BREAKING(unstable): remove WebGPU (#18094)
  • feat(ext/fs): FileInfo.dev is supported on Windows (#18237)
  • feat(cli): --ext parameter for run, compile, and bundle (#17172)
  • feat(compile): Add support for web workers in standalone mode (#17657)
  • feat(compile): Enable multiple roots for a standalone module graph (#17663)
  • feat(core): deno_core::extension! macro to simplify extension registration
    (#18210)
  • feat(ext/kv): key-value store (#18232)
  • feat(ext/net): Add multicasting APIs to DatagramConn (#10706) (#17811)
  • feat(ext/url): URLSearchParams.size (#17884)
  • feat(repl): add DENO_REPL_HISTORY to change history file path (#18047)
  • feat(serde_v8): support BigInt serialization (#18225)
  • feat: TypeScript 5.0.2 (except decorators) (#18294)
  • fix(cli): preserve blob store when resetting file watcher (#18253)
  • fix(cli/integration): clippy lints (#18248)
  • fix(ext/kv): don't request permissions for ":memory:" (#18346)
  • fix(ext/kv): reverse mapping between AnyValue::Bool and KeyPart::Bool
    (#18365)
  • fix(ext/node): add createDecipheriv (#18245)
  • fix(ext/node): resource leak in createHmac (#18229)
  • fix(ext/node): use Deno.Command from ext:runtime (#18289)
  • fix(repl): Hide indexable properties in tab completion (#18141)
  • fix(runtime): Extract error code for all OS error variants (#17958)
  • fix: include error in message about not being able to create the TypeScript
    cache (#18356)
  • perf(check): type check local files only when not using --all (#18329)
  • perf(core) Reduce copying and cloning in extension initialization (#18252)
  • perf(core) Reduce script name and script code copies (#18298)
  • perf(core): preserve ops between snapshots (#18080)
  • perf(core): use static specifier in ExtensionFileSource (#18271)
  • perf: disable WAL for transpiled source cache (#18084)
  • perf: disable runtime snapshot compression (#18239)

v1.31.3

16 Mar 07:05
f64adbe
Compare
Choose a tag to compare

1.31.3 / 2023.03.16

  • fix(check): regression where config "types" entries caused type checking
    errors (#18124)
  • fix(core): Upgrades bytes crate from =1.2.1 to ^1.4.0 (#18123)
  • fix(core): SafePromiseAll to be unaffected by Array#@@iterator (#17542)
  • fix(core/internal): fix typo in primordial type definitions (#18125)
  • fix(ext/fs): retry if file already exists in makeTempFile (#17787)
  • fix(ext/http): abort request signal when response errors (#17822)
  • fix(ext/node): add crypto.createCipheriv (#18091)
  • fix(ext/node): implement "ascii" encoding for node:fs writeFile() (#18097)
  • fix(ext/web): Stop using globalThis.ReadableStream in Blob (#18187)
  • fix(info/doc): add missing --no-lock and --lock flags (#18166)
  • fix(lsp): avoid calling client while holding lock (#18197)
  • fix(npm): "not implemented scheme" message should properly show the scheme
    (#18209)
  • fix(npm): show a progress bar when initializing the node_modules folder
    (#18136)
  • fix(repl): do not panic deleting Deno or deleting all its properties
    (#18211)
  • fix: ensure no node_modules directory is created when a package.json exists
    and no npm dependencies are used (#18134)
  • perf: do not depend on iana-time-zone (#18088)

v1.31.2

10 Mar 07:53
fc6edac
Compare
Choose a tag to compare

1.31.2 / 2023.03.10

  • feat(core): prevent isolate drop for CLI main worker (#18059)
  • feat(ext/ffi): Make External pointers keep reference to V8 buffer (#17955)
  • feat(ops): reland fast zero copy string arguments (#17996)
  • feat(ops): relational ops (#18023)
  • fix(check): include dts files in tsc roots (#18026)
  • fix(cli,ext/web): Upgrading uuid from =1.1.2 to 1.3.0 (#17963)
  • fix(core): introduce SafeRegExp to primordials (#17592)
  • fix(ext/crypto): correctly limit ECDSA and hash algorithms (#18030)
  • fix(ext/ffi): Remove deno_core::OpState qualifiers, fix ops returning pointer
    defaults (#17959)
  • fix(ext/node): remove unused _hex module (#18045)
  • fix(ext/node): util.types.isSharedArrayBuffer (#17836)
  • fix(ext/webstorage): check size of inputs before insert (#18087)
  • fix(lockfile): don't touch lockfile is npm specifiers are identical (#17973)
  • fix(npm): improve peer dependency resolution with circular dependencies
    (#18069)
  • fix(prompt): better output with control chars (#18108)
  • fix(rumtime): Add Deno. prefix for registered symbols (#18086)
  • fix(runtime/windows): ensure Deno.stdin.setRaw(false) properly disables raw
    mode (#17983)
  • fix: Split extension registration and snapshotting (#18098)
  • fix: attempt to only allow one deno process to update the node_modules folder
    at a time (#18058)
  • fix: lazily surface errors in package.json deps parsing (#17974)
  • perf(core): over-allocate in ModuleMap when running from snapshot (#18083)
  • perf(ext/node): improve createHash performance (#18033)
  • perf: don't add unload event listener (#18082)
  • perf: move runtime bootstrap code to snapshot time (#18062)
  • perf: move setting up Deno namespace to snapshot time (#18067)

v1.31.1

25 Feb 03:31
86785f2
Compare
Choose a tag to compare

1.31.1 / 2023.02.25

  • feat: add DENO_NO_PACKAGE_JSON env var (#17926)
  • fix(npm): lazily install package.json dependencies only when necessary
    (#17931)
  • fix(npm): package.json auto-discovery should respect --no-config and
    --no-npm (#17924)
  • fix: ensure concurrent non-statically analyzable dynamic imports do not
    sometimes fail (#17923)
  • fix: ignore workspace, git, file, http, https specifiers in package.json
    (#17934, #17938)
  • fix: regression remapping remote specifier to local file (#17935)
  • fix: remote modules should be allowed to import data urls (#17920)

v1.31.0

24 Feb 01:35
b6ac548
Compare
Choose a tag to compare

1.31.0 / 2023.02.23

  • feat(bench): Add JSON reporter for "deno bench" subcommand (#17595)
  • feat(bench): change --json output format (#17888)
  • feat(core): allow to specify entry point for snapshotted ES modules (#17771)
  • feat(ext/ffi): Replace pointer integers with v8::External objects (#16889)
  • feat(ext/http): add 2nd param to handler to get remote address (#17633)
  • feat(ext/node): embed std/node into the snapshot (#17724)
  • feat(ext/node): implement node:v8 (#17806)
  • feat(install): follow redirects for urls with no path (#17449)
  • feat(node): stabilize Node-API (#17553)
  • feat(npm): support bare specifiers from package.json in more subcommands and
    language server (#17891)
  • feat(npm): support npm specifiers in remote modules without --unstable
    (#17889)
  • feat(permissions): grant all permission for a group in permission prompt
    (#17140)
  • feat(task): add warning about package.json scripts support (#17900)
  • feat(task): adjust warning (#17904)
  • feat(task): support scripts in package.json (#17887)
  • feat: Deprecate 'deno bundle' subcommand (#17695)
  • feat: Stabilize Deno.Command API (#17628)
  • feat: add more variants to Deno.build.os (#17340)
  • feat: add signal option to Deno.resolveDns (#17384)
  • feat: auto-discover package.json for npm dependencies (#17272)
  • feat: stabilize Deno.osUptime() (#17554)
  • feat: start caching npm package version's "bin" entry from npm registry
    (#17881)
  • feat: support bare specifier resolution with package.json (#17864)
  • feat: wire up ext/node to the Node compatibility layer (#17785)
  • fix(cli): Add better error message when powershell is missing during upgrade
    (#17759)
  • fix(cli/graph_util): don't append referrer info for root module errors
    (#17730)
  • fix(cli/napi): correct name handling in napi property descriptor (#17716)
  • fix(cli/napi): handle all property variants in napi_define_properties (#17680)
  • fix(core): don't allow to import internal code is snapshot is loaded (#17694)
  • fix(core): rebuild when JS sources for snapshotting change (#17876)
  • fix(core): remove async op inlining optimization (#17899)
  • fix(dts): make Deno.Command accept readonly prop in options.args (#17718)
  • fix(ext/console): Only right-align integers in console.table() (#17389)
  • fix(ext/ffi): Fix re-ref'ing UnsafeCallback (#17704)
  • fix(ext/ffi): improve error messages in FFI module (#17786)
  • fix(ext/flash): Always send correct number of bytes when handling HEAD
    requests (#17740)
  • fix(ext/flash): wrong order of arguments passed to http1Response (#17893)
  • fix(ext/node): add support for BYOB streams (#17803)
  • fix(ext/node): fix node stream (#17874)
  • fix(ext/node): fix npm module resolution when --node-modules-dir specified
    (#17896)
  • fix(ext/node): fix process.uptime (#17839)
  • fix(ext/node): fix webcrypto export (#17838)
  • fix(ext/websocket): extra ws pongs sent (#17762)
  • fix(fmt): make fmt options CLI args less verbose (#17550)
  • fix(lint): revert no-deprecated-api for Deno.run (#17880)
  • fix(npm): allow resolving from package.json when an import map exists (#17905)
  • fix(npm): filter out duplicate packages names in resolution (#17857)
  • fix(npm): improve peer dependency resolution (#17835)
  • fix(npm): resolve node_modules dir relative to package.json instead of cwd
    (#17885)
  • fix(npm): support bare specifiers in package.json having a path (#17903)
  • fix(ops): Always close cancel handles for read_async/write_async (#17736)
  • fix(webgpu): don't default to 0 for setVertexBuffer.size & properly use
    webidl.setlike (#17800)
  • fix(runtime): Refactor fs error mapping to use unified format (#17719)
  • fix(webgpu): use correct op for GPUDevice.createSampler (#17729)
  • fix: add WouldBlock error (#17339)
  • fix: loading built-in Node modules embedded in the binary (#17777)
  • fix: use static Reflect methods in nodeGlobalThis proxy (#17696)
  • perf(core): speed up promise hook dispatch (#17616)
  • perf(core, runtime): Further improve startup time (#17860)
  • perf(ext/ffi): Revert UTF-8 validity check from getCString (#17741)
  • perf(ext/node): move winerror binding to rust (#17792)
  • perf(http): remove allocations checking upgrade and connection header values
    (#17727)
  • perf: disable fetching graph cache info except for deno info (#17698)
  • perf: module info cache - avoid MediaType.to_string() allocation (#17699)
  • perf: remove current_dir() call in Deno.mainModule (#17883)
  • perf: use ops for node:crypto ciphers (#17819)