Deno v2.2.7
Deno v2.2.7がリリースされています。
panic.deno.com
Denoのプロセスがパニックした際に、panic.deno.comというサイトへのリンクが表示されるよう改善されています (#28470)
エラーメッセージ中のリンクから詳細なスタックトレースを閲覧できるようです。
panic.deno.comのソースコードは以下にあります:
OpenTelemetry
V8 JS Engine Runtime metrics のサポート
V8 JS Engine Runtime metricsのサポートが実施されています (#28592)
OTEL_DENOまたはOTEL_DENO_METRICSによってMetricsが有効化されていれば、自動でヒープやGCなどに関する各指標が収集されます。
Node.js互換性の改善
npmライフサイクルスクリプト
Denoにおいてnpmのライフサイクルスクリプトは、Node.jsのCLIフラグの有無などに応じてNode.jsまたはDenoのいずれかを使用して実行されます。
このリリースではnpmのライフサイクルスクリプトの実行において、より多くの場面でDenoが使用されるよう変更されています (#28715)
これに合わせて、Denoでnpmライフサイクルスクリプトを実行する際に追加で以下のオプションが適用されるよう変更されています:
--unstable-bare-node-builtins--unstable-detect-cjs--unstable-node-globals--unstable-sloppy-imports--unstable-unsafe-proto
node:dns
dns.lookup()の互換性が改善されています (#27936)
node:netのconnect()においてホスト名を指定した場合、今まではDNSサーバーと解決したいホスト名の両方を--allow-netで許可する必要があったものの、この変更に合わせて解決したいホスト名の指定だけで動作するよう改善されているようです。
node:sqlite
空のBLOBがnullではなく空のUint8Arrayとして返却されるよう修正されています (#28674)
node:process
process.cpuUsage()でpreviousValue引数がサポートされています (#28550)
deno lsp
vscodeにおいて、deno lspでsettings.json (User settings)をフォーマットできるよう改善されています (#28706)
その他
Error.isError
Error.isErrorの型定義が追加されています (#28679)
WebGPU
以下のAPIに関して変更が行われています (#28650)
isFallbackAdapterプロパティーがGPUAdapterからGPUAdapterInfoへ移動GPUSupportedLimits- 各プロパティーが
readonlyに変更 maxBindGroupsPlusVertexBuffersとmaxInterStageShaderVariablesプロパティーが追加
- 各プロパティーが
Deno v2.2.8
Deno v2.2.8がリリースされています。
v2.2.7におけるsegfaultの修正 (macOS)
v2.2.7において、macOSでNode-APIを使おうとするとsegfaultが起きる問題が修正されています (#28758)
deno compile - --includeにおけるatime/birthtime/mtime/ctimeのサポート
deno compileで生成されたバイナリにおいて、--includeで埋め込んだファイルにatime/birthtime/mtime/ctimeが設定されるよう改善されています (#28731)
元のファイルに設定されていたmtimeの値が各時刻に設定されるようです。
deno fmt - 終了コードの改善
deno fmtが構文エラーなどでフォーマットに失敗した場合、終了コードとして1が返却されるよう改善されています (#28523)
deno lint - プラグインのパス解決に関するバグ修正
ワークスペースルートのdeno.jsonでlint.pluginsを定義した状態でdeno lintを実行すると、ルートのdeno.jsonではなく各メンバーのdeno.jsonを基準にプラグインのパス解決が行われていた問題が修正されています (#28752)
vsockのサポートについて
⚠️まだマージはされていないため、正式にこの機能が導入されるかどうかはまだわかりません。
DenoでvsockをサポートするPRが作成されています:
vsockを利用できるようにするため、Deno.listen()とDeno.connect()にtransport: "vsock"とcidオプションが追加されています 。
また、Deno.serve()にもcidオプションが追加されています。
これらの機能を利用するには、--allow-readと--allow-writeが必要なようです。