Deno v2.7.8 & Deno v2.7.9 Deno v2.7.8とDeno v2.7.9がリリースされています。 OpenTelemetry OTEL_EXPORTER_OTLP_PROTOCOL=console OTEL_EXPORTER_OTLP_PROTOCOL=consoleがサポートされています (#32717)。これが指定されると、シグナルがOpenTelemetryバックエンドではなく標準エラー出力に書き込まれます。 使用例として、DENO_AUDIT_PERMISSIONS=otelと併用することで、アプリケーションが要求したパーミッションをログに出力することができます: $ cat main.js console.info(Deno.env.get("FOO")); $ OTEL_DENO=true \ DENO_AUDIT_PERMISSIONS=otel \ OTEL_EXPORTER_OTLP_PROTOCOL=console \ deno run -E=FOO main.js LOG [INFO] 2026-03-29T07:33:36.045Z "env: FOO" scope: deno@2.7.9 deno.permission.type: "env" deno.permission.value: "FOO" deno.permission.stack: "" LOG [INFO] 2026-03-29T07:33:36.046Z "foo " scope: deno@2.7.9 log.iostream: "stdout" http.route Deno.serve()のハンドラー内からtrace.getActiveSpan()で取得したSpanにおいてhttp.route属性の設定がサポートされています (#32720) deno install -g jsrパッケージのインストールが改善 deno install -gでjsrパッケージをインストールする際に、そのパッケージが提供するdeno....
2026/03/16〜2025/03/22の最新情報
Deno v2.7.6 & Deno v2.7.7 Deno v2.7.6とDeno v2.7.7がリリースされています。 --cpu-prof --cpu-prof-flamegraphオプションが追加されています (#32572, #32716) フレームグラフをSVG形式で出力してくれます: $ deno run --cpu-prof-flamegraph --cpu-prof-name=cli.cpuprofile --cpu-prof-dir=cpu-profile -R src/cli.ts $ open cpu-profile/cli.svg --cpu-prof-flamegraphオプションの公式ドキュメントも追加されています (denoland/docs#2975) また、--cpu-profオプション関連の出力に対してソースマップが適用されるよう改善されています (#32634) deno eval --extオプションを指定しなくても、与えられたソースコードがCJSかESMかを自動的に判定してくれるように改善されています (#32472) シグナル --watchオプション使用時にファイルの変更もしくはCtrl+Cの入力が検出された際に、SIGTERMシグナル向けのリスナーが呼ばれるように挙動が改善されています (#32564) また、Windowsで下記改善が実施されています (#32689) Deno.addSignalListener()でSIGQUITとSIGTERMがサポート Deno.kill()でSIGQUIT/SIGKILL/SIGTERM/SIGABRTがサポート OpenTelemetry console.log()やconsole.error()などの第1引数にErrorオブジェクトが渡された場合、Semantic Conventionsに従って Log レコードに下記の属性が追加されるように改善されています (#32726) exception.type exception.message exception.stacktrace また、Log レコードにlog.iostream属性を設定する改善も実施されています (#32723)。console.error()またはconsole.warn()によるログの出力の場合はstderr, それ以外の場合はstdoutが設定されます。 また、Attributes への配列の指定がサポートされています (#32748) Node.js互換性の改善 deno install 書き込み権限が付与されていない実行可能ファイル (bin) を配布するnpmパッケージのインストールに失敗してしまう問題が修正されています (#32632) node:util 下記APIが実装されています (#32793):...
2026/03/09〜2025/03/15の最新情報
Deno v2.7.5 Deno v2.7.5がリリースされています。 --cpu-prof --cpu-prof, --cpu-prof-dir, --cpu-prof-name, --cpu-prof-interval, 及び--cpu-prof-mdオプションが追加されています (#31909) あわせて公式ドキュメントの追加も実施されています (docs: add CPU profiling section to debugging page (#2962)) --cpu-profオプションを指定すると、CPUプロファイラーが有効化され、プロセス終了時にデフォルトでカレントディレクトリにCPUプロファイルが保存されます (デフォルトで CPU.<timestamp>.<pid>.cpuprofile という名前で保存されます。--cpu-prof-dirオプションで出力先ディレクトリ、--cpu-prof-nameオプションでファイル名をカスタマイズ可能です) $ deno run --cpu-prof --cpu-prof-name=cli.cpuprofile -R src/cli.ts $ file cli.cpuprofile cli.cpuprofile: JSON data また、--cpu-prof-md オプションを指定すると、プロファイル結果をMarkdown形式で出力してくれます。 $ deno run --cpu-prof-md --cpu-prof-name=cli.cpuprofile -R src/cli.ts $ cat cli.md # CPU Profile | Duration | Samples | Interval | Functions | | --- | --- | --- | --- | | 414....
2026/03/02〜2025/03/08の最新情報
Deno v2.7.2/v2.7.3/v2.7.4 以下のバージョンのリリースが実施されています。 Deno v2.7.2 Deno v2.7.3 Deno v2.7.4 deno install パフォーマンス改善 並列性の改善によりdeno installによるnpmパッケージのインストール速度が改善されています (#32416) パッケージによっては4倍以上の改善がなされるケースもあるようです。 https://x.com/rough__sea/status/2029531069435830602によると、この改善により各種パッケージマネージャー内において Bun に次ぐ速度が達成されているようです。 peerDependencies peerDependenciesの解決が改善されており、あるパッケージが複数のパッケージからpeerDependenciesとして依存されている場合、意図せずそのパッケージの複数のバージョンがインストールされてしまうことがある問題への改善が実施されています (#32358) deno compile --self-extracting extraction directory の名前が変更されています (#32329) 変更前: <実行可能ファイル>.fs/<ハッシュ> 変更後: .<実行可能ファイル>/<ハッシュ> (.fsが削除され、隠しファイルとして扱われるよう.がプレフィックスとして付与されています) deno jupyter 以下の改善が実施されています (#32359) Denoカーネルでinterrupt_requestメッセージがサポートされています shutdown_requestに対して、Denoカーネルがshutdown_replyを返却するように改善されています node:crypto 下記 API が実装されています: X509Certificate の下記API (#32270) checkIP() checkIssued() checkPrivateKey() infoAccess raw subjectAltName toLegacyObject() toString() verify() KeyObject#equals() (#32409) また、下記改善も実施されています:...
2026/02/23〜2025/03/01の最新情報
Deno v2.7 Deno v2.7.0がリリースされました。 以下のページに変更内容をまとめているため、よろしければ参照ください: Deno v2.7 denoland/deno_coreがアーカイブ denoland/deno_coreがアーカイブされるようです: chore: archive repo, point to denoland/deno (denoland/deno_core#1314) deno_coreのコードはDeno本体のリポジトリへ統合されており、今後はDeno本体と合わせて開発されてゆくようです: chore: merge deno_core repo into main repo (denoland/deno#32353)
Deno v2.7
はじめに Deno v2.7がリリースされました。 この記事では主な変更点などについて紹介します。 deno compile --self-extracting deno compileコマンドに--self-extractingオプションが追加されています (#32227) 例えば、以下のファイルがあったとします。 main.js: import { readData } from "./read_data.js"; console.info(await readData()); read_data.js: export async function readData() { const data = await Deno.readTextFile(import.meta.dirname + "/data.txt"); return data; } data.txt: Hello, Deno! この状態で--self-extractingを指定して実行可能ファイルを作成します。 $ deno compile --self-extracting --output foo -R=data.txt --include=data.txt main.js そして、作成された実行可能ファイルを実行します。 $ ./foo Hello, Deno! すると、実行可能ファイルと同一ディレクトリに<実行可能ファイル>.fs/<ハッシュ>ディレクトリが作成されます (<ハッシュ>はDenoのバージョン及び各種ファイルの内容から計算されます) $ ls foo.fs/6b768ca39a1ab3f1 data.txt main....
2026/02/16〜2026/02/22の最新情報
Deno v2.7のリリースタイミングについて Deno公式のXアカウントにて、今週にDeno v2.7のリリースを計画している旨について発表されています。 直近でTemporal APIの安定化 (#31928) や package.jsonにおけるoverridesのサポート (#32073) などがマージされており、これらがv2.7にてリリースされるものと思われます。 Deno v2.6.10 Deno v2.6.10がリリースされています。 deno install --global --compile deno install --globalで--compileオプションがサポートされています (#32046) 指定されたエントリーポイントをインストールする際にdeno compileを適用して実行可能ファイルを作成してくれます。 $ deno install --global --compile -ER npm:cowsay $ cowsay hi ____ < hi > ---- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || deno install deno install/deno add/deno removeの実行時に、不要なnpmパッケージをnode_modulesから削除してくれるよう挙動が改善されています (#32058) SSLKEYLOGFILE SSLKEYLOGFILE環境変数がサポートされています (#31867)...
2026/02/09〜2026/02/15の最新情報
Deno v2.6.9 Deno v2.6.9がリリースされています。 deno doc Markdownファイルのプレビューがサポートされています (#32024) $ deno doc README.md deno docコマンドに--agentsオプションの追加 (#31987) が検討されており、それに向けた対応であると思われます。 --agentsオプションの追加についてはまだマージはされていませんが、すでにPRも作成されています (#32044) deno upgrade --checksumが追加されています (#31804)。ダウンロードされたアーカイブが改ざんされていないか検査できます。 $ deno upgrade --checksum 8a677a4b0cea1a25aaecfc70d6c6a288f9ad69af0a92e9e9d513cabaaf3c688f チェックサムはGitHub Releaseページの Assets として配置してあります。 deno compile npm:をエントリーポイントに指定した場合、デフォルトで/tmp/deno_nm/yyyy-mm-ddディレクトリにnode_modulesを作成し、そこに依存パッケージをインストールしてコンパイルするよう挙動が修正されています (#32084) node:worker_threads 下記APIが実装されています: threadName (#32072) Worker#cpuUsage() (#32050) BroadcastChannel#ref() & BroadcastChannel#unref() (#32036) Worker#[Symbol.asyncDispose]() (#32051) また、MessageChannelの一方のMessagePortがcloseされたら、もう一方のMessagePortでもcloseイベントが発火されるよう改善されています (#32092) node:sqlite DatabaseSync#setAuthorizer()が実装されています (#32009) node:child_process ChildProcessのstdin/stdout/stderrにReadable/Writableではなく Socket (node:net) インスタンスが設定されるよう改善されています (#31975, #32071) また、シグナルによってプロセスが停止した場合は ChildProcess.exitCodeがnullに設定されるよう挙動が修正されています (#32081) node:zlib ZstdCompress/ZstdDecompressが実装されています (#32025) node:tty isatty()に0, 1, または2以外の値が渡された際も適切に動作するよう実装が改善されています (#31912)...
2026/02/02〜2026/02/08の最新情報
Deno Deploy is Generally Available Deno Deployの一般公開が発表されました。 Deno Deploy is Generally Available また、Deno SandboxについてもDeno公式ブログで正式に発表されています。 Introducing Deno Sandbox Deno Sandboxのランディングページも公開されています。 Deno v2.6.8 Deno v2.6.8がリリースされています。 Windows ARM64のサポート DenoのWindows ARM64へのサポートが追加されています (#31917) GitHubのReleaseでもビルド済みのバイナリーが追加されています。 jsr Deno v2.6.7における@jsrスコープの取り扱いの変更に続き、package.jsonのdependenciesにおいてjsr:スキームがサポートされています (#31938) 例えば、package.jsonで以下のように定義されている場合、jsr:@std/math@0.0.0がインストールされます。 { "dependencies": { "@std/math": "jsr:0.0.0" } } node:sqlite DatabaseSync#createTagStore() 及びSQLTagStoreが実装されています (#31945) また、DatabaseSyncでdefensiveオプションのサポートが追加されています (#32004) Worker Workerの各種コールバック (onerror, onmessageなど) の型定義が誤っていた問題が修正されています (#31981) dax v0.45.0 dax v0.45.0がリリースされています。 set/shoptのサポート Deno v2.6.6における変更に追従して、set/shoptが実装されています (#353) この追加に合わせて failglobオプションがデフォルトで無効化されています (#355)。以前までのバージョンの挙動に戻したい場合、CommandBuilder#failglob()やshopt -s failglobなどを実行する必要があります。...
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://npm.jsr.io からパッケージがダウンロードされますが、 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)...