History of WebGPU in Deno (Web Engines Hackfest ‘24)

Web Engines Hackfest 2024でのcrowlKats氏の発表内容が公開されています。

DenoにおけるWebGPU APIの実装やWebGPU APIが一時的に削除された背景、WebGPU APIに関する今後の計画などについて解説されています。今後、OffscreenCanvasなどの実装も検討されているようです

feat(ext/canvas): OffscreenCanvas (#23773)

Deno v1.44.3

Deno v1.44.3がリリースされています。

deno lsp

ワークスペース直下以外の各ディレクトリに存在するdeno.jsonが認識されるように改善されています。

feat(lsp): multi deno.json resolver scopes (#24206)

この改善によって、例えば、以下のような構成のプロジェクトにおいて、各deno.jsondeno lspによって認識されるようです。

  • ./frontend/deno.json
  • ./backend/deno.json
  • ./backend/sub_dir/deno.json

上記のPRによると、各deno.jsonごとに型チェックの振る舞いや設定などを分離できるようにすることなども今後、検討されているようです。

Node.js互換性の改善

  • node:net: BlockListSocketAddressが追加されています。
  • node:http: Server#closeでGraceful shutdownが行われるように改善されています。
  • node:diagnostics_channel: dd-traceのサポート向けにNode.jsとの互換性が改善されています。

AbortSignal

AbortSignal.timeoutのリソースリークが修正されています。

Deno v1.44.4

Deno v1.44.4がリリースされています。

Deno.addSignalListener

Deno.addSignalListener'SIGPOLL''SIGUNUSED'がサポートされています。

node:fs

DirentparentPathpathプロパティが追加されています。

deno_stdのリリース

deno_stdがリリースされています。

@std/collections@1.0.0

@std/collections@1.0.0が正式にリリースされました。

@std/async@1.0.0-rc.1

@std/async@1.0.0-rc.1がリリースされています。

@std/async/poolで公開されていたERROR_WHILE_MAPPING_MESSAGEが非公開になっています。

@std/async@1.0.0-rc.2

@std/async@1.0.0-rc.2がリリースされています。

@std/async/deadline

deadlineDeadlineErrorではなくDOMExceptionrejectされるように修正されています。

@std/async/abortable

abortablePromiseabortableAsyncIterableが非公開化されました。(abortableへの移行が推奨されます)

@std/http@0.224.5

@std/http@0.224.5がリリースされています。

@std/http/cookie

Cookiepartitionedプロパティが追加されています。このプロパティにtrueが設定されると、setCookie()によってSet-Cookieヘッダーを設定する際にPartitioned属性が設定されます。

@std/cli@1.0.0-rc.1

@std/cli@1.0.0-rc.1がリリースされました。

このリリースに合わせて、@std/cli/spinnerは実験的APIという扱いに変わっています。@std/cli/spinnerについてはv1リリース移行もAPIに変更が入るかもしれません。

@std/json@1.0.0-rc.1

@std/json@1.0.0-rc.1がリリースされました。

このリリースに合わせて、以下のAPIからreadableStrategywritableStrategyオプションが削除されています。 (#5097)

  • ConcatenatedJsonParseStream
  • JsonParseStream
  • JsonStringifyStream

また、@std/json/common@std/json/typesにリネームされています。

@std/streams@1.0.0-rc.1

@std/streams@1.0.0-rc.1がリリースされています。

このリリースに合わせて、非推奨化されていた以下のAPIが削除されています (#5060)

  • iterateReader
  • iterateReaderSync
  • readableStreamFromReader
  • readerFromIterable
  • readerFromStreamReader
  • writableStreamFromWriter
  • writerFromStreamWriter

@std/ioで上記の各APIと同様の機能が提供されているため、そちらへの移行が推奨されます。

@std/fs@1.0.0-rc.1

@std/fs@1.0.0-rc.1がリリースされています。特に大きな変更は行われていませんが、近いタイミングでv1がリリースされそうです。

@std/msgpack@1.0.0-rc.1

@std/msgpack@1.0.0-rc.1がリリースされています。特に大きな変更は行われていませんが、近いタイミングでv1がリリースされそうです。

Implement SQLx interface (denodrivers/mysql#168)

deno_mysqldeno-sqlxのAPIに適合するように実装を変更するPRがマージされています。

Implement SQLx interface #168

まだリリースは行われていないようではありますが、この修正に合わせてJSRへの公開に向けた準備も進められているようです。