2026/06/01〜2025/06/07の最新情報

Deno v2.8.2 Deno v2.8.2がリリースされています。 deno compile --bundle deno compileに--bundleオプションが追加されています (#34527, #34529, #34531, #34532, #34534) deno bundleと同様の仕組みでエントリーポイントをバンドルしてから実行可能ファイルを作成してくれます。実行可能ファイルのサイズ削減などが目的で導入されたようです。 また、--minifyオプションによるバンドルの最小化も可能です (#34536)。 JSR deno publish JSRパッケージ中の各.wasmファイルにおけるインポートセクションに対して、通常のJavaScript/TypeScriptモジュールと同様にImport mapsに基づいてbare specifierを解決してからJSRへ公開されるように挙動が変更されています (#34549) deno add JSRパッケージのインストール時に@latestタグの指定がサポートされています (#32859) $ deno add jsr:@std/fmt@latest deno task 複数タスクの一括実行に関する改善 実行するタスクのパターンを指定する際に(!a|b|c)形式での指定がサポートされています (#34506)。具体的にはtest:*(!e2e|integration)形式でパターンを指定すると、test:unitタスクは実行されるもののtest:e2e及びtest:integrationタスクは実行がスキップされます。 また、--recursiveや--filterによってワークスペース中の複数のパッケージに対するタスクを一括実行する際に、各パッケージ間でタスクが並列実行されるように挙動が変更されています (#34512) --env-file --env-fileオプションがサポートされています (#34508)。.envで定義された環境変数が適用された状態でタスクが実行されます。 deno run deno runに<folder>/<subpath>形式でエントリーポイントが指定され かつ 対応するnpmパッケージ向けのマッピングがImport mapsによって定義されている ("<folder>": "npm:folder") 場合、 該当npmパッケージが<subpath>エントリーポイントを提供していなければ、./<folder>/<subpath>形式でローカルファイルへフォールバックするよう挙動が変更されています (#32854) また、deno check以外のdeno runなどのコマンドでcompilerOptions.verbatimModuleSyntaxの設定が認識されるように改善されています (#34495) deno lsp 入力補完の改善 deno.jsonのimports及び scopesにおけるjsr:/npm:/node: specifier に対する入力補完がサポートされています (#34724)。npmやjsrレジストリへ問い合わせを行った上でパッケージを提案してくれるようです。 それに加えて、npmパッケージのサブパスに対する入力補完 (npm:<package>/<subpath>) がサポートされています (#34675)...

June 7, 2026

2026/05/25〜2025/05/31の最新情報

Deno v2.8.1 Deno v2.8.1がリリースされています。 deno bundle package.jsonのsideEffectsフィールドがサポートされています (#34406)。sideEffectsフィールドの設定値を元に Tree Shaking が行われるようです。 また、--platform browser向けにpackage.jsonでオブジェクト形式のbrowserフィールドがサポートされています (#34407) deno pack deno packコマンドにおける@deno/shim-denoの自動注入機能が削除されています (#34411) この変更に合わせて--no-deno-shimオプションも削除されています。 背景としては、@deno/shim-denoパッケージはしばらくメンテナンスされていない状況であったことが理由のようです。 Web API fetch()/WebSocket --deny-netが指定された際に、fetch()及びWebSocketにおいて、名前解決後のIPアドレスが考慮されるように挙動が変更されています (#34236) fetch()/WebSocketに指定されたドメインの名前解決結果が--deny-netにマッチする場合、アクセスが拒否されます。 CompressionStream Deno v2.8.0においてnew CompressionStream("brotli")及びnew DecompressionStream("brotli")の型チェックが失敗する問題が修正されています (#34349) Node.js 互換性の改善 --preload npm:<package> --preloadオプション (--import) でnpmパッケージの読み込みがサポートされています (#34346) node:module Deno v2.8.0にて導入されていたenableCompileCache()/flushCompileCache()/getCompileCacheDir()の追加が Revert されています (#34348) Deno本体ではすでにV8 code cacheが実装されていることに加え、この変更によって意図せず--allow-envが要求されてしまう副作用があったことが理由のようです。 node:process loadEnvFile()が--allow-readだけでなく--allow-envも要求するように挙動が変更されています (#34350) node:tls createServer()でpfxオプションがサポートされています (#34383) また、createSecureContext()における配列形式のcert/key/pfxオプションがサポートされています (#34379) node:util getSystemErrorMap()が実装されています (#34372) deno_stdのリリース deno_stdのリリースが行われています (release-2026.05.26) @std/async@1.4.0 @std/async@1.4.0がリリースされています。 @std/async/unstable-debounce @std/async/unstable-debounceで提供されていたdebounce()へのAbortSignalのサポートが@std/async/debounceへマージされました (#7096) 今後は@std/async/debounceにおいてもAbortSignalサポートが利用できます。...

May 31, 2026

2026/05/18〜2025/05/24の最新情報

Deno v2.8 Deno v2.8.0がリリースされました。 以下のページに変更内容をまとめているため、よろしければ参照ください: Deno v2.8 Claw Patrol Deno公式からClaw PatrolというAIエージェント向けのファイアウォールがOSSとして公開されています: https://deno.com/blog/clawpatrol https://github.com/denoland/clawpatrol Denoと直接的に関係があるわけではなさそうですが、Denoの開発や運用において活用されているようです。

May 24, 2026

Deno v2.8

はじめに Deno v2.8がリリースされました。 この記事では主な変更点などについて紹介します。 グローバルAPIに関する破壊的変更 タイマーAPI globalThis.setTimeout()やglobalThis.setInterval()などのタイマーAPIにおいて、Web標準ではなくNode.jsベースの実装が使用されるように変更されています (#33249) これにより、これらのAPIからはnumber型ではなくnode:timersモジュールのTimeoutやImmediateなどのオブジェクトが返却されます。 また、この変更に伴い、TypeScriptで自動的にlib: ["node"]が設定されるように変更されています (#33823) URLSearchParams globalThis.URLSearchParamsがNode.js互換となるように修正されています (#34119) 軽微ですが、コンストラクター引数としてnullやundefinedを渡した際の振る舞いが若干異なるようです。 deno add/deno install npm:プレフィックスの指定の省略がサポート deno addの引数に指定したパッケージでnpm:及びjsr:が省略された場合、デフォルトでnpm:が指定されたものとみなすよう挙動が変更されています (#33246, #34290) # 下記は`deno add npm:zod`と同様に振る舞います $ deno add zod --prod/--skip-types deno installコマンドに--prod/--skip-typesオプションが追加されています (#33248) --prodオプションを指定すると、package.jsonのdevDependenciesに指定されたパッケージのインストールがスキップされます。 --skip-typesオプションは--prodとの併用が想定されており、指定されるとpackage.json及びdeno.jsonで指定された@types/*パッケージのインストールがスキップされます。 --package-json deno add/deno install/deno remove/deno uninstallコマンドに--package-jsonオプションが追加されています (#33199) package.jsonとdeno.jsonが併用されたプロジェクトにおいてこれらのコマンドを実行するとデフォルトではdeno.jsonが更新されます。--package-jsonオプションを指定することで、更新対象のファイルをdeno.jsonからpackage.jsonに変更できます。 --os/--arch --os及び--archオプションが追加されています (#32785) Denoはデフォルトで現在のプラットフォームに基づいてnpmパッケージのoptionalDependenciesにおける適切なプラットフォーム向けの依存関係のみをダウンロードしますが、--os及び--archを使用することでこの挙動を変更し、指定されたOS/アーキテクチャー向けの依存関係のダウンロードを行わせることが可能です。 --archと既存のDENO_INSTALL_ARCH環境変数を併用した場合、--archが優先されます。 deno test OpsサニタイザーとResourcesサニタイザーがデフォルトで無効化 OpsサニタイザーとResourcesサニタイザーをデフォルトで無効化する変更が実施されています (#33250) これらを有効化するために、下記いずれかの手段が提供されています。 1. Deno.test Deno.test()の下記オプションをtrueに設定することで、該当テストケースでサニタイザーを有効化できます: sanitizeOps sanitizeResources また、テストファイル内でDeno.test.sanitizer()を実行することで、該当のテストファイル内のすべてのテストケースでサニタイザーを有効化できます。 Deno.test.sanitizer({ ops: true, resources: true, }); Deno....

May 24, 2026

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