Deno v2.6.6

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

deno task

deno_task_shellが0.26.2から0.28.0へアップデートされています (#31913)

これによりshoptがサポートされています (denoland/deno_task_shell#164)。現状では以下のオプションがサポートされています (デフォルトでは failglob 及び globstar が有効化されています)

  • failglob
  • nullglob
  • globstar

また、setコマンドも実装されています。現状では pipefail オプションの設定がサポートされています。

これらの改善に関する公式ドキュメントも追加されています (denoland/docs#2855)

deno check --unstable-tsgo

deno check --unstable-tsgoによる型チェックで typescript-goをダウンロードする際にプログレスバーが表示されるよう改善されています (#31893)

Inspector

UNSTABLE_INSPECTOR_WS_EVENTS

UNSTABLE_INSPECTOR_WS_EVENTSという環境変数が追加されています (#31901)。この環境変数が指定されると、Inspector (--inspect) において /ws/events という WebSocket エンドポイントが有効化されます。

現時点では--watchとの併用が想定されており、監視対象のファイルが変更された際に、WebSocket クライアントに対してtype: "restart"というイベントが通知されます

ホスト名またはポートの省略がサポート

--inspect/--inspect-brk/--inspect-waitオプションにおいてホスト名またはポートの指定が省略できるよう改善されています (#31881)

  • ホスト名を省略した場合、127.0.0.1がデフォルトで使用されます
  • ポートを省略した場合、9229がデフォルトで使用されます

OpenTelemetry

Deno.cron()が計装されています (#31916)

OpenTelemetryサポートが有効化されていれば、Deno.cron()に渡したハンドラーが自動的にdeno.cronという名前のSpanでラップされます。

Crypto

SHA3-256/SHA3-384/SHA3-512がサポートされています (#31668)

node:assert

node:assert@std/assertベースではなくNode.js 24.12.0本体の実装をベースとすることで、互換性を改善するための対応が実施されています (#31821)

node:perf_hooks

PerformanceObserverが実装されています (#31875)

これに合わせてWeb API (globalThis.PerformanceObserver) も公開されています (#31887)

node:child_process

fork()におけるNode.jsコマンドライン引数の解析処理がJavaScriptからRustでリライトされ、互換性が改善されています (#31825)

node:inspector

inspector.open()inspector.close()が実装されています (#31898)

node:fs

rm()にシンボリックリンクを指定した際に、そのシンボリックリンク自身を削除するよう挙動が修正されています (#31886)

node:process

process.featuresが実装されています (#31864)

Deno.upgradeWebSocket()

WebSocket#close()code引数がundefinedかつreason引数が指定されている場合に、クライアント側へ1005コードを返却しないよう修正されています (#31845)

deno_stdのリリース

deno_stdのリリースが行われています (release-2026.01.20)

@std/async@1.1.0

@std/async@1.1.0がリリースされています。

@std/async/retry

@std/async/unstable-retryで提供されていたretry()isRetriableオプションが安定化されています (#6944)。これにより@std/async/retryでもisRetriableが利用できます。isRetriableに関数を指定することで、ユーザーはエラーの内容を元にリトライすべきかどうかを判断できます。

@std/async/unstable-retry

signalオプションオプションが追加されています。AbortSignalによるリトライの中断が可能です (#6938)。

@std/async/unstable-circuit-breaker

@std/async/unstable-circuit-breakerモジュールが追加されています (#6900, #6926, #6933)

このモジュールからはCircuitBreakerクラスが提供されており、Circuit Breakerパターンが実装されています。

@std/cache@0.2.2

@std/cache@0.2.2がリリースされています。

LruCacheTtlCacheにおいてfalsyな値が設定されたキーを削除した際に、onEject()コールバックが呼ばれない問題が修正されています (#6935)

@std/collections@1.1.4

@std/collections@1.1.4がリリースされています。

各種APIに渡される関数へのindex引数の追加

下記の各種APIへ引数として渡す関数にindex引数が追加されています (#6382)。

  • distinctBy()
  • dropLastWhile()
  • dropWhile()
  • findSingle()
  • firstNotNullishOf()
  • joinToString()
  • mapNotNullish()
  • maxBy()
  • maxOf()
  • minBy()
  • minOf()
  • partition()
  • sortBy()
  • sumOf()
  • takeLastWhile()
  • takeWhile()

実験的機能であるため、本機能を利用したい場合はunstable-プレフィックスがついたモジュールを読み込む必要があります (例: @std/collections/unstable-distinct-by)

パフォーマンス改善

下記APIのパフォーマンスチューニングが行われています

  • maxBy()/minBy() (#6919)
    • 配列が与えられた際にfor...ofではなくインデックスベースで各要素を走査することでパフォーマンスが改善されています
  • maxOf()/minOf() (#6936)
    • maxBy()/minBy() と同様の改善が実施されています
  • sortBy() (#6916)
    • 内部における不要なオブジェクトの割り当ての削減などによりパフォーマンスが改善されています

@std/datetime@0.225.7

@std/datetime@0.225.7がリリースされています。

@std/datetime/constants

月 (JAN, FEB, など) や曜日 (SUN, MONなど)を表現する定数が追加されています (#6910)

Deno Sandboxesの名称について

Denoの公式ドキュメントが更新されています:

この更新ではDeno Sandboxesの名称が Deno Sandbox へ変更されています。