2026/01/26〜2026/02/01の最新情報

Deno v2.6.7 Deno v2.6.7がリリースされています。 JSR - @jsrスコープの取り扱いの変更 @jsrスコープのnpmパッケージがJSRから取得されるよう挙動が変更されています (#31925)。具体的には、以下を実行すると@uki00a/deno-json-lintがインストールされます。 # `npm:@jsr/*` は registry.npmjs.org からダウンロードされます $ deno install npm:@jsr/uki00a__deno-json-lint $ cat deno.json | jq '.imports["@jsr/uki00a__deno-json-lint"]' "npm:@jsr/uki00a__deno-json-lint@^0.4.0" デフォルトではhttps://registry.npmjs.org からパッケージがダウンロードされますが、 JSR_NPM_URL環境変数または.npmrcによって設定変更が可能です。 Deno.cron() - 外部サーバーへのタスク管理の移譲がサポート (DENO_UNSTABLE_CRON_SOCK) Deno.cron()によるジョブ管理をソケットを介して外部サーバーへ移譲する機能が実装されています (#31952) この機能はDENO_UNSTABLE_CRON_SOCKにソケットへのURLを指定することで有効化されます (例: unix:/path/to/cron.sock)。指定されたソケットとの間でJSON形式のメッセージを交換し合うことでジョブの管理が行われます。 DenoプロセスでDeno.cron()が呼ばれると、ソケットに対してタスクの登録用メッセージが送信されます ({ "kind":"register", "crons": [{ "name": "<task-name>", "schedule": "<cron-expression>" }] }) サーバーはソケットに対してタスクの実行を指示するメッセージ ({ "kind": "invoke" }) を書き込むことで、そのメッセージを受信したDenoプロセスで指定されたタスクが実行されます。 Denoプロセスでタスクの実行が完了すると、ソケットに対して実行完了メッセージが書き込まれます ({ "kind": "result", "name": "<task-name>", "success": true }) おそらく、主にDeno Deploy向けの機能であると推測されますが、上記メッセージを処理するサーバー実装を用意することで、独自のジョブ管理の仕組みが実装できそうです。 Node.js互換性の改善 node:test 下記のモック関連APIが実装されています (#31954)...

February 1, 2026

2026/01/19〜2026/01/25の最新情報

Deno v2.6.6 Deno v2.6.6がリリースされています。 deno task deno_task_shellが0.26.2から0.28.0へアップデートされています (#31913) https://github.com/denoland/deno_task_shell/releases/tag/0.27.0 https://github.com/denoland/deno_task_shell/releases/tag/0.28.0 これにより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)...

January 25, 2026

2026/01/12〜2026/01/18の最新情報

Deno v2.6.5 Deno v2.6.5がリリースされています。 Web API createImageBitmap() createImageBitmap()への入力としてgifやwebp形式がサポートされています (#31402) Performance performance.clearResourceTimings()及びperformance.setResourceTimingBufferSize()が実装されています (#31603) WebGPU GPUCompilationMessageのoffset及びlengthプロパティーの型定義が追加されています (#31780) deno audit deno auditコマンドで何らかの脆弱性が検出された際に常に終了コードとして1が返却される問題が修正されています。--levelで指定された以上の脆弱性が存在しない場合は終了コードとして1を返さないよう修正されています (#31721) deno compile deno compileで--includeオプションによって埋め込まれたファイルをfetch() API経由で読み込む※ことが出来なかった問題が修正されています (#31814) ※ Denoでは fetch() APIに file: 形式のURLなどを指定することで、ローカルのファイルを読み込むことが出来ます。 node:sqlite DatabaseSyncがGCによって回収されると、それによって作成されたStatementSyncも無効化されてしまう問題が修正されています (#31737) また、問い合わせ結果の走査中に意図せずStatementSyncがGCによって回収されないように修正されています (#31770) node:fs/promises FileHandle#readableWebStream()が実装されています (#31745) node:tls setDefaultCACertificates()が実装されています (#31522) Deno API Deno.errors.* Deno.errors配下の各種エラーのコンストラクターにoptions引数を渡した際に、それが無視されてしまう問題が修正されています (#31510) その他 Top-level awaitを使用したモジュールが複数回同時に読み込まれると、エラーが発生する問題が修正されています (#31670) LogTape v2 ロギングライブラリのLogTapeでv2のリリースが行われています。 リリースノート CHANGES.md @logtape/logtape lazy()というAPIが追加されています。このAPIはLogger#with()との併用が想定されており、ロギングが実行される度にコンテキストの動的な計算を行うことができます。 また、下記メソッドの第1引数に直接Errorオブジェクトを渡せるようにする改善が実施されています。 Logger#error() Logger#warn() Logger#fatal() @logtape/config @logtape/configというパッケージが追加されています。configureFromObject()というAPIが提供されており、JSONやYAMLなどからLogTapeを設定できるようにすることなどが目的とされているようです。 @logtape/file @logtape/fileパッケージでgetTimeRotatingFileSink()が追加されています。日時に基づいたログのローテションがサポートされています。

January 18, 2026

2026/01/05〜2026/01/11の最新情報

Deno v2.6.4 Deno v2.6.4がリリースされています。 deno compile deno compileコマンドで--unstable-npm-lazy-cachingオプションがサポートされています (#31704) また、deno compileでx86_64-apple-darwinターゲット向けのコンパイルが失敗してしまう問題が修正されています (#31714) deno install deno.jsonのlinksプロパティーによってパッチが適用されたnpmパッケージがある状態でdeno installを実行すると、パッチが適用されていない状態で該当のパッケージがインストールされてしまうことがある問題が修正されています (#31711) deno serve deno serveコマンドとパーミッションセットを併用した際に、パーミッションセットで指定されたnetパーミッションの定義が無視されてしまう問題が修正されています (#31718) node:sqlite SessionクラスでSymbol.disposeが実装されています (#31756) また、?NNN形式のパラメーターがサポートされています (#31722) node:http AgentにおいてkeepAlive: trueオプションがサポートされています (#31709) node:buffer Buffer#copy()でDataViewとTypedArrayがサポートされています (#31734) node:inspector url()が実装されています (#31705) Deno.upgradeWebSocket() サーバー側からWebSocket接続を閉じた場合、Close received after closeエラーが発生することがある問題が修正されています (#31747) URLPattern URLPatternでignoreCase: trueが動作しない問題などが修正されています (#31193) denoland/deno_pypi DenoのPyPI向けのディストリビューションが公開されています。 リポジトリ: https://github.com/denoland/deno_pypi パッケージ: https://pypi.org/project/deno/

January 11, 2026

2025/12/22〜2025/12/28の最新情報

Happy Eyeballsのサポートについて まだマージはされていませんが、Deno.connect()やDeno.connectTls()でHappy EyeballsをサポートするPRが作成されています。 feat(ext/net): implement Happy Eyeballs for Deno.connect and Deno.connectTls #31726 c057103時点における実装ではHappy Eyeballsはデフォルトで有効化されており、必要に応じてautoSelectFamilyオプションにfalseを指定することで無効化できるようです。指定されたホストに対して複数のアドレスが解決された場合、まずIPv6アドレスに対する接続を試み、その後、デフォルトで250ミリ秒後 (autoSelectFamilyAttemptDelayオプションでカスタマイズ可能) にIPv4アドレスの方へ並行で接続を試みるよう実装されているようです。 deno sandboxコマンドのドキュメント 先週に紹介したdeno sandboxコマンドに関する公式ドキュメントが追加されています。 Sandbox CLI (denoland/docs#2795) deno_std のリリース deno_std のリリースが行われています (release-2025.12.24, release-2025.12.25) @std/uuid@1.1.0 @std/uuid@1.1.0がリリースされています。 UUIDv7のサポートが安定化 UUIDv7のサポートが安定化されています (#6897) 今後は @std/uuid/unstable-v7 ではなく @std/uuid/v7 から利用できます。 @std/async@1.0.16 @std/async@1.0.16がリリースされています。 @std/async/unstable-semaphoreが追加 Semaphoreクラスが提供されています (#6894) @std/streams@1.0.16 @std/streams@1.0.16がリリースされています。 @std/streams/unstable-capped-delimiter-stream @std/streams/unstable-capped-delimiter-streamという新規モジュールが追加されています (#6890) CappedDelimiterStreamが提供されており、既存のDelimiterStream (@std/streams/delimiter-stream) との違いとして、デリミターで区切られた個々のフィールドのサイズが一定以上の大きさを持つようなケースでの使用が想定されています。 @std/http@1.0.23 @std/http@1.0.23がリリースされています。 @std/http/negotiation 戻り値の型に関する推論を賢くするためにaccepts(), acceptsEncodings(), 及びacceptsLanguages()に型パラメーターが追加されています (#6876) @std/ini@1.0.0-rc.9 @std/ini@1.0.0-rc.9がリリースされています。 @std/ini/parse parse()にreviver()オプションが指定された場合、reviver()の第2引数に数値や真偽値が常に文字列として渡される問題が修正されています (#6887) @std/path@1.1.4 @std/path@1....

December 28, 2025

2025/12/15〜2025/12/21の最新情報

Deno v2.6.1 Deno v2.6.1がリリースされています。 deno x - Windows向けの改善 Deno v2.6.0で実装されたdeno xコマンドについて、Windows向けの改善が実施されています。 まずWindowsにおいてdxコマンドが実行できなかった問題が修正されています (#31573) また、Winodwsでdeno xによってネイティブバイナリーを実行できるようにする改善が実施されています (#31551) deno add - jsrパッケージのダウンロードに関する挙動の修正 deno addコマンドでjsrパッケージを追加した際に、該当パッケージ内における type-only import 先のモジュールがダウンロード対象から除外されてしまう問題が修正されています (#31552) deno deploy - deploy.appの省略がサポート deno.jsonのdeployフィールドにおいて、appフィールドの設定を省略できるよう改善されています (#31567) --require/--preloadに関する修正 --require及び--preloadオプションがdeno bundleなどの非ランタイムコマンドでも利用できていた問題が修正されています (#31614) node:sqlite 様々な改善が実施されています (#31515) DatabaseSync#location()が実装 DatabaseSyncでtimeoutオプションがサポート DatabaseSyncのisOpen及びisTransactionプロパティーが実装 DatabaseSyncコンストラクタ及びbackup()のpath引数においてURL及びBufferによる指定がサポート Stream関連の型定義の改善 Deno v2.6.0におけるStreamの移譲のサポートに合わせて、MessagePort#postMessage()のtransferオプションなどで、ReadableStream/WritableStream/TransformStreamを受け入れるよう型定義が改善されています (#31586) Deno v2.6.2 Deno v2.6.2がリリースされています。 deno sandbox Deno Sandboxesと連携するためのdeno sandboxコマンドが追加されています (#31568, #31657) 内部的には@deno/deployパッケージ経由で@deno/sandboxパッケージが実行されており、deno sandbox createコマンドによるサンドボックスの作成、deno sandbox execコマンドによるサンドボックス内でのコマンドの実行などがサポートされているようです (参考: @deno/deploy@0.0.75/sandbox.ts) OpenTelemetry 下記APIが動作するよう、Baggage などに関する実装が修正されています (#31620)...

December 21, 2025

2025/12/08〜2025/12/14の最新情報

Deno v2.6 Deno v2.6.0がリリースされました。 以下のページに変更内容をまとめているため、よろしければ参照ください: Deno v2.6 Deno Sandboxes Denoの公式ドキュメントにDeno Sandboxesに関するページが追加されています。 initial commit for sandboxes pages #2754 Deno Sandboxesでは、公式SDK (jsr:@deno/sandbox) を介してDeno Deployのインフラ上で即席のLinux VMを立ち上げ、そこでコードやコマンドの実行など様々なことを行うことができるサービスのようです。 Deno Sandboxesについては、Deno Advent Calendarで本日に公開された@okutann88さんの記事でも解説されています。 @deno/sandbox による任意コード実行と強制停止

December 14, 2025

Deno v2.6

はじめに Deno v2.6がリリースされました。 この記事では主な変更点などについて紹介します。 deno x deno xコマンドが追加されています (#31138) このコマンドを使うことで、npxのように指定したパッケージをインストールし、実行することができます。 $ deno x cowsay@1.6.0 hi ____ < hi > ---- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || インストールされたパッケージは$DENO_DIR/deno_x_cacheに保存されます。$DENO_DIR/deno_x_cache/<package-dir>/deno.lockを作成することで、パッケージの依存関係を固定してくれます。 また、パーミッションフラグの指定も可能です (デフォルトでは --allow-all が指定されます) $ deno x --ignore-env --allow-read cowsay@1.6.0 hi ネイティブバイナリーを実行する場合は--allow-runが要求されます。 $ deno x --deny-run esbuild --version error: Requires run access to "/path/to/.deno/esbuild@0.27.1/node_modules/esbuild/bin/esbuild", run again with the --allow-run flag デフォルトではnpmパッケージが実行されますが、jsr:を指定することでjsrパッケージの実行も可能です。...

December 14, 2025

2025/12/01〜2025/12/07の最新情報

直近のDenoのアップデート まだリリースは行われていませんが、直近でいくつかの機能が追加されてますため紹介いたします。 ⚠️ 8c46ac3228762fb442b0080c7eb81e5e918543bb時点での canary バージョンを想定して記述していますが、正式にリリースされる際には仕様などに変更が発生する可能性があります。 deno approve-scripts 以前に紹介した deno approve-scriptsコマンドが追加されています。 feat(cli): add approve-scripts AKA “approve-builds” subcommand #31472 この機能はDeno 3.0.0-rc.0で追加されているdeno.jsonのallowScriptsフィールドをベースにしています。 このコマンドの引数にはnpmパッケージを指定可能で、その場合、指定されたパッケージがdeno.jsonのallowScriptsフィールドに追加された後、該当パッケージのライフサイクルスクリプトが実行されます。引数の指定が省略された場合は、deno outdated --update --interactive と同様のUIが表示され、ライフサイクルスクリプトの実行を許可したいパッケージを対話的に選択できます。 # (1) ライフサイクルスクリプトを持つパッケージをインストールします $ deno install npm:better-sqlite3@12.2.0 Add npm:better-sqlite3@12.2.0 ╭ Warning │ │ Ignored build scripts for packages: │ npm:better-sqlite3@12.2.0 │ │ Run "deno approve-scripts" to run build scripts. ╰─ # (2) 対話的に特定パッケージに対するライフサイクルスクリプトの実行を許可できます $ deno approve-scripts ? Select which packages to approve lifecycle scripts for (<space> to select, ↑/↓/j/k to navigate, a to select all, i to invert selection, enter to accept, <Ctrl-c> to cancel) ❯ ○ npm:better-sqlite3@12....

December 7, 2025

2025/11/17〜2025/11/23の最新情報

Denoの直近のアップデート まだリリースは行われていませんが、直近でいくつか新機能がマージされているため紹介いたします。 --ignore-envオプションが追加 Deno--ignore-envオプションが実装されています。 feat: add --ignore-env=... #31187 例えば以下のようなスクリプトがあったとします: // main.js console.info(Deno.env.get("HOME")); console.info(Deno.env.get("DENO_DIR")); このスクリプトを--ignore-env=HOMEを指定して実行すると、以下のように出力されます: $ deno run --allow-env --ignore-env=HOME main.js undefined /home/uki00a/.cache/deno Deno.env.toObject()を実行した場合、--ignore-envで指定された環境変数が返却結果から除外されます。 この機能はdeno.jsonにおけるパーミッションセット (--permission-set)においてもサポートされています。 { "permissions": { "default": { "env": { "allow": true, "ignore": ["HOME"] } } } } deno audit --socket deno auditコマンドに--socketオプションを追加するPRがマージされています: feat(unstable): add socket.dev integration for deno audit #31106 このオプションを指定すると、@socketsecurity/bun-security-scannerでも使用されているfirewall-api.socket.devエンドポイントを使用してパッケージの検査が行われます。 $ deno audit --socket No known vulnerabilities found Socket....

November 23, 2025