Deno v2.7.12

Deno v2.7.12がリリースされています。

OpenTelemetry

OTEL_EXPORTER_OTLP_TIMEOUT環境変数が追加されています (#33159)

バックエンド向けに Signal を送信する際のタイムアウトをミリ秒単位で設定できます (デフォルトは10秒)

deno repl

タブ補完の実装においてLSPの使用を廃止し、CDP (Runtime.getPropertiesなど) のみを使用するように変更されています (#33119)

これにより起動速度などの改善が期待されそうです。

パーミッション

--deny-netにおいてIPv4-mapped IPv6 addressなどが意図せず許可されてしまうことがある問題が修正されています (#33203, #33223)

Node.js互換性の改善

node:http

内部クラスであるHTTPParserllhttpを使用して再実装されています (#33202)

内部的な変更ではあり、まだ実際に使用されているわけではなさそうですが、今後、HTTP関連の互換性がさらに改善されそうです。

node:net

connect()fdオプションのサポートが追加されています (#33150, #33155, #33136)

また、ServerSocketref()メソッドが動作するように改善されています (#33174)

node:child_process

spawnSync()timeout及びkillSignalオプションがサポートされています (#32810)

spawn()stdioオプションにおいてファイルディスクリプターの指定がサポートされています (#33140)

また、ChildProcess.stdio[fd]などに設定されるオブジェクトがRustで再実装されています (#33165)

node:dns

getDefaultResultOrder()が追加されています (#33197)

node:fs

open()openSync()ridではなくファイルディスクリプターを返却するように改善されています(#33039)

その他のfdを引数として受け取る各種APIも rid ではなく実際のファイルディスクリプターを考慮するように改善されています。

deno.jsonlinksに指定されたnpmパッケージがpeerDependenciesを定義しており かつ deno.lockが存在している場合にエラーが発生してしまう問題が修正されています (#33143)

WebAPI

GPUQueue#writeBuffer()

GPUQueue#writeBuffer()data引数におけるArrayBufferの指定がサポートされています (#33152)

Worker

Workerにおけるメモリリークが修正されています (#33200)