2026/05/11〜2025/05/17の最新情報

Denoの直近の変更について 先週に続いていくつかの新機能がmainブランチにマージされているため、紹介いたします。 node:wasi node:wasiを実装するPRがマージされています: feat(ext/node): implement node:wasi #34089 Denoのパーミッションシステムと統合されており、preopensに指定された各種パスに対して権限が付与されているかを確認してくれるようです。 poll_oneoffやsock_*など、一部関数はまだ実装されていないようです。 Web Crypto APIにおけるSHA3のサポート SubtleCrypto#digest()で下記アルゴリズムがサポートされています (#32342): SHA3-256 SHA3-384 SHA3-512 WICG/webcrypto-modern-algosにて提案されている機能のようです。

May 17, 2026

2026/05/04〜2025/05/10の最新情報

Denoの直近の変更について 先週に続いていくつかの新機能がmainブランチにマージされているため、紹介いたします。 --node-modules-linker=hoisted --node-modules-linkerオプションが追加されています (#32788)。 これはpnpmにおけるnodeLinkerオプションに相当するオプションのようで、現状ではhoistedまたはisolatedのいずれかの値の指定がサポートされています。デフォルト値はisolatedで、isolatedが指定されている際は、今まで通り、pnpmなどと同様のレイアウトでnode_modulesが作成されます。 それに対して hoisted (--node-modules-linker=hoisted) を指定すると、DenoがnpmやYarn v1と同様のレイアウトでnode_modulesを作成してくれます (--node-modules-dir=manualとの併用が必要です) また、本オプションはdeno.jsonにおけるnodeModulesLinkerによって設定することも可能です。 このオプションの追加によりnpmを採用したプロジェクトとの互換性が改善されそうです。 Deno.test()にtimeoutオプションが追加 Deno.test()にtimeoutオプションが追加されています (#33815) ミリ秒単位でテストケースごとにタイムアウトを設定できます。 Deno.test({ name: "doSomethingAsync", timeout: 5_000, fn: async () => { const result = await doSomethingAsync(); assert(result === 123); }, });

May 10, 2026

2026/04/27〜2025/05/03の最新情報

直近のDenoの変更について 直近でDenoのmainブランチにいくつかの機能がマージされているため紹介します。 ⚠️ これらの機能はまだ正式にはリリースされていないため、今後、使用方法などが変更される可能性があります deno compile - フレームワークの検出機能 deno compileコマンドにフレームワークの検出機能が追加されています: feat: framework detection for deno compile #33164 deno compileの引数としてディレクトリが指定された場合、指定されたディレクトリ内に存在する設定ファイル (例: next.config.js)などに基づいてDenoが自動的にプロジェクトで使用されているフレームワークを検出し、必要に応じて該当フレームワーク向けのビルドコマンドを実行した上で、最終的に実行可能ファイルを作成してくれます。 現状、以下のフレームワークがサポートされているようです: Next.js Fresh Astro Nuxt SvelteKit Remix SolidStart TanStack Start Vite (SSR) 先週に紹介したdeno desktopコマンドにおいてフレームワークの検出機能の導入が検討されており、その一環の対応であると思われます。 catalog:プロトコル カタログ機能を実装するPRがマージされています: feat(npm): add catalog: protocol for centralized dependency versions in workspaces #32947 ワークスペースのルートにおけるdeno.jsonまたはpackage.jsonにおいてcatalogもしくはcatalogsプロパティーを定義しておくことで、pnpmなどと同様にワークスペースメンバーの各package.jsonにおいてカタログで定義されたパッケージのバージョンをcatalog:形式で参照することができます。 deno transpile 昨年に提案されていたdeno transpileコマンドが実装されています: feat: add deno transpile subcommand #32691 TypeScriptファイルをJavaScriptファイルにトランスパイルするためのコマンドで、--declarationオプションを指定することで.d.tsファイルの生成も行えるようです。 現在はクローズされていますが、以前にDenoからnpmパッケージの公開を行えるようにするためのdeno publish –npmの実装が進められており、deno transpileコマンドの追加はその一環である可能性もありそうです。...

May 3, 2026

2026/04/20〜2025/04/26の最新情報

Fresh v2.3 Fresh v2.3がリリースされています。詳細については下記ページを参照いただければと思います。 Fresh v2.3 deno desktopコマンドについて まだ正式に導入されるかどうかはわかりませんが、deno desktopというコマンドを実装するPRが作成されています: feat: deno desktop subcommand #33441 名前の通りデスクトップアプリケーションを作成することを想定したコマンドのようです。複数のバックエンドのサポート (webview, Chromium など) やフレームワーク (Next.js, Fresh など) の自動検出, アプリケーションの自動アップデートなど、様々な機能が検討されているようです。 Deno v2.7.13 Deno v2.7.13がリリースされています。 deno upgrade 先週に紹介したdeno upgrade pr <number>が導入されています (#33252) deno audit 先週に紹介したBulk Advisory Endpointへの移行が導入されています (#33292) deno doc --html jsx/tsxコードブロック向けのハイライトがサポートされています (#33255) Node.js互換性の改善 node:repl node:replが実装されています (#32799) Node.jsのテストスイートのうち1/3近くがパスしている状態のようです。 node:http Deno v2.7.12で内部的に導入されていたllhttpベースのHTTPParserが正式に採用開始されています (#33208) また、globalAgentの上書きがサポートされています (#33337) node:http2 createServer()などにおけるstrictSingleValueFields: falseの指定がサポートされています (#33332) node:tls connect()のsocketオプションにおける任意のストリームの指定やconnect()/Server#listen()におけるUnixドメインソケットのサポートが実施されています (#33331) Node-API node_api_post_finalizer()が実装されています (#33260)...

April 26, 2026

2026/04/13〜2025/04/19の最新情報

denoland/deno3-test1 DenoのGitHub Organizationで以下の2つのリポジトリが公開されています。 denoland/deno3-test1 denoland/deno3-test2 Deno v3に関連したものと思われ、まだ正式に機能が取り込まれるかどうかはわかりませんが、これらのリポジトリから読み取れる限りでは、Deno.tomlというファイルでパッケージのメタ情報の定義や依存関係の管理を行うアイデアが試されているようです。 Denoの直近の更新について 先週、Denoの main ブランチにマージされている変更の中から主要なものについて紹介いたします。 deno upgrade pr <number> deno upgradeコマンドで特定のPR向けにビルドされたバージョンへのアップグレードがサポートされています。 feat(upgrade): support installing from a PR #33252 現時点ではgh run downloadコマンドをベースに実装されているため、本機能の利用にはGitHub CLI (gh) がインストールされている必要あります。 $ deno upgrade --output ./deno-pr-33298 pr 33298 $ ./deno-pr-33298 --version deno 2.7.12+4c90c4d (canary, release, x86_64-unknown-linux-gnu) v8 14.7.173.19-rusty typescript 5.9.2 deno audit - Bulk Advisory Endpointへの移行 deno auditコマンドの内部実装においてBulk Advisory Endpoint (/-/npm/v1/security/advisories/bulk) へ移行する対応が行われています。 fix(audit): migrate to bulk advisory endpoint #33292 元々、Full Audit エンドポイント (/-/npm/v1/security/audits) というAPIが使われていましたが、直近のタイミングでこのBulk Advisory Endpointは廃止されたようで、その影響を受けての対応のようです。...

April 19, 2026

2026/04/06〜2025/04/12の最新情報

Deno v2.7.12 Deno v2.7.12がリリースされています。 OpenTelemetry OTEL_EXPORTER_OTLP_TIMEOUT環境変数が追加されています (#33159) バックエンド向けに Signal を送信する際のタイムアウトをミリ秒単位で設定できます (デフォルトは10秒) deno repl タブ補完の実装においてLSPの使用を廃止し、CDP (Runtime.getPropertiesなど) のみを使用するように変更されています (#33119) これにより起動速度などの改善が期待されそうです。 パーミッション --deny-netにおいてIPv4-mapped IPv6 addressなどが意図せず許可されてしまうことがある問題が修正されています (#33203, #33223) Node.js互換性の改善 node:http 内部クラスであるHTTPParserがllhttpを使用して再実装されています (#33202) 内部的な変更ではあり、まだ実際に使用されているわけではなさそうですが、今後、HTTP関連の互換性がさらに改善されそうです。 node:net connect()のfdオプションのサポートが追加されています (#33150, #33155, #33136) また、ServerやSocketのref()メソッドが動作するように改善されています (#33174) node:child_process spawnSync()でtimeout及びkillSignalオプションがサポートされています (#32810) spawn()のstdioオプションにおいてファイルディスクリプターの指定がサポートされています (#33140) また、ChildProcess.stdio[fd]などに設定されるオブジェクトがRustで再実装されています (#33165) node:dns getDefaultResultOrder()が追加されています (#33197) node:fs open()やopenSync()がridではなくファイルディスクリプターを返却するように改善されています(#33039) その他のfdを引数として受け取る各種APIも rid ではなく実際のファイルディスクリプターを考慮するように改善されています。 links deno.jsonのlinksに指定されたnpmパッケージがpeerDependenciesを定義しており かつ deno.lockが存在している場合にエラーが発生してしまう問題が修正されています (#33143) WebAPI GPUQueue#writeBuffer() GPUQueue#writeBuffer()のdata引数におけるArrayBufferの指定がサポートされています (#33152) Worker Workerにおけるメモリリークが修正されています (#33200)

April 12, 2026

2026/03/30〜2025/04/05の最新情報

Deno v2.7.10 & Deno v2.7.11 Deno v2.7.10とDeno v2.7.11がリリースされています。 deno upgrade deno upgradeコマンドでalphaとbetaチャネルがサポートされています (#33098) RCバージョンへのアップグレードと同様に、deno upgradeの引数にalphaもしくはbetaを指定することでアップグレードが可能です。 ただし、まだ alpha 及び beta バージョンのリリースは実施されていません。今後、実際にリリースが行われれば、利用できるようになりそうです。 deno compile deno.jsonにおいてcompile.include及びcompile.excludeフィールドがサポートされています (#33024) 効果はそれぞれ--include及び--excludeオプションと同様です。 deno lsp Import mapsにおいて以下のようにディレクトリへのマッピングが定義されている状態でdeno lspがimportの補完をする際に、相対パス形式だけでなく@/形式のパスに対する補完候補も表示してくれるように改善されています (#33048) { "imports": { "@/": "./src/" } } Permissoins Windowsにおいて、--allow-readなどのパーミッションオプションにおけるパスの大文字・小文字を区別せずに取り扱うように挙動が変更されています (#33073) Node.js互換性の改善 links deno.jsonのlinksフィールドにおいてまだnpmレジストリに公開されていないnpmパッケージが参照されている場合にエラーが発生してしまう問題が修正されています (#33021) BYONM --node-modules-dir=manual (BYONM) が適用されている場合、Node.js組み込みモジュールと同名のパッケージ (例: eventsパッケージ) が読み込めない問題が修正されています (#32865) node:child_process spawnSync()の戻り値として返却されるオブジェクトにpidプロパティーが設定されるように改善されています (#33081) node:crypto 下記の改善が実施されています: createCipher()/createDecipher()でchacha20-poly1305がサポート (#33084) Verify#verify()への秘密鍵の指定がサポート (#33083) node:worker_threads exitイベントがmessageイベントよりも先に発火されてしまうことがある問題が修正されています (#32623)...

April 5, 2026

2026/03/23〜2025/03/29の最新情報

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....

March 29, 2026

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):...

March 22, 2026

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....

March 15, 2026