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
が必要なようです。