2026/07/27〜2026/08/02の最新情報

deno_stdのリリース deno_stdのリリースが行われています (release-2026.07.30) @std/testing@1.0.20 @std/testing@1.0.20がリリースされています。 @std/testing/bdd @std/testing/bdd及び@std/testing/unstable-bddが非推奨化されています (#7217)。node:testへの移行が推奨されています。もしくはDeno v2.5においてDeno.test.beforeEach()などが追加されているため、それとDeno.TestContext#step()の組み合わせでもある程度は代替はできそうです。 @std/testing/snapshot assertSnapshot()が非推奨化されています (#7216)。Deno v2.9でスナップショットテスティングのサポートが追加されているため、そちらへの移行が推奨されます。ただし、assertInlineSnapshot() (@std/testing/unstable-snapshot) についてはDeno本体でサポートが提供されていないこともあり、非推奨化の対象外です。 @std/dotenv@0.225.8 @std/dotenv@0.225.8がリリースされています。 @std/dotenv/load load()/loadSync()/@std/dotenv/loadが非推奨化されています (#7248)。--env-fileオプションへの移行が推奨されます。parse()及びstringify()については非推奨化対象外です。 @std/http@1.1.3 @std/http@1.1.3がリリースされています。 @std/http/unstable-error @std/http/unstable-errorモジュールが追加されています (#7132)。HttpErrorクラスが提供されています。 @std/data-structures@1.1.2 @std/data-structures@1.1.2がリリースされています。 @std/data-structures/unstable-rolling-counter RollingCounter.from()でRollingCounterオブジェクトの指定がサポートされています (#7234)。指定されたRollingCounterオブジェクトを複製できます。 @std/yaml@1.2.0 @std/yaml@1.2.0がリリースされています。 @std/yaml/types @std/yaml/typesモジュールが追加されています (#7235)。YamlSyntaxErrorが提供されています。また、構文エラーの検出時にparse()やparseAll()がSyntaxErrorではなくYamlSyntaxErrorをthrowするように変更されています。 dnt v0.43.0 dnt v0.43.0がリリースされています。 build()のmappingsオプションのキーにおいて bare specifier の指定がサポートされています (#508)。 また、build()に以下のオプションが追加されています: compilerOptionsにjsx, jsxFactory, jsxFragmentFactory, 及びjsxImportSourceオプションが追加されています (#482) testPreloadModuleオプションが追加されています (#495)。dntによるテストの実行前に読み込まれるモジュールを指定できます。 testIsolationオプションが追加されています (#514)。testIsolation: "process"を指定すると、dntによるテストの実行時に、各テストファイルが独立したプロセスによって実行されます。 polyfillsオプションが追加されています (#496)。dntが有効化または無効化するポリフィルを明示的に制御できます。 frozenLockfileオプションが追加されています (#504)。deno.lockに存在しない依存パッケージが検出されると、ビルド時にエラーが発生します。 configFile: falseの指定がサポートされています (#507)。dnt v0.42.0 で導入されたdeno.jsonの自動検出を無効化できます。 cwdオプションが追加されています (#518)。各種相対パスの解決やテストファイル・設定ファイルの探索などが指定されたディレクトリを基準に行われるよう挙動が変更されます。

August 2, 2026

2026/07/20〜2026/07/26の最新情報

Deno v2.9.4 Deno v2.9.4がリリースされています。 deno desktop React Routerが検出され かつ --hmrが指定された際に、React Routerのdevサーバーが起動されるように改善されています(#35900) deno add --minimum-dependency-age deno add/deno removeコマンドで--minimum-dependency-ageオプションがサポートされています (#36099)。 必要に応じて--minimum-dependency-age=0を指定することで、deno.jsonのminimumDependencyAgeを一時的に無効化できるようにするなどことが目的のようです。 Web Cache API データの保存先が変更 Web Cache APIにおいて、localStorageなどと同様に$DENO_DIR/location_dataディレクトリを使用するように変更されています (#36145)。$DENO_DIR/location_data/web_cache配下にデータが保存されます。 Node.js互換性の改善 node:worker_threads Deno v2.9で実装されたWeb Locks APIをベースにworker_threads.locksが実装されています (#35963) node:crypto createCipheriv()及びcreateDecipheriv()でchacha20がサポートされています (#36016) node:buffer Buffer#indexOf(), Buffer#lastIndexOf(), 及びBuffer#includes()のend引数がサポートされています (#35872) セキュリティ deno x deno xコマンドで--minimum-dependency-age=0オプション及びdeno.jsonのminimumDependencyAgeがサポートされています (#36025) Deno.umask() Deno.umask()及び process.umask() (node:process) が--allow-sys=umaskを要求するように挙動が変更されています (#36222) Deno.UnsafeWindowSurface Deno.UnsafeWindowSurfaceの作成時に--allow-ffiパーミッションが要求されるように挙動が変更されています (#36080) V8 Deno内部のV8が14.9から15.0へアップデートされています (#36098, https://github.com/denoland/rusty_v8/compare/v149.4.0…v150.2.0) QuickJS バックエンド 現時点ではまだマージされていませんが、QuickJS (正確にはQuickJS-ngというフォーク版が使用されるようです) をDenoのバックエンドとして利用できるようにする対応が試みられているようです: feat: add experimental QuickJS backend #36194 feat: deno on quickjs-ng engine #35849 いずれのPRにおいてもv8xをベースに実装されており、Deno本体のビルド時にV8またはQuickJSのいずれかを切り替えることができるようです。...

July 26, 2026

2026/07/13〜2026/07/19の最新情報

Deno v2.9.3 Deno v2.9.3がリリースされています。 deno add/deno install --no-save/--save-optional --no-save及び--save-optionalオプションが追加されています (#36039) --no-saveオプションが指定されると、package.json及びdeno.jsonは更新せずに、指定されたパッケージのインストール及びdeno.lockの更新のみが行われます。 --save-optionalオプションが指定されると、指定されたパッケージをインストールしつつ、 package.jsonの optionalDependenciesに該当パッケージが追加されます。 --min-dep-age --min-dep-ageオプションが追加されています (#35914) 実体は--minimum-dependency-ageオプションへの alias です。 deno compile --target aarch64-pc-windows-msvc deno compileコマンドで--target aarch64-pc-windows-msvcオプションがサポートされています (#36004) Deno v2.6.8にてWindows ARM64のサポートが追加されていたものの、--targetオプションではサポートされていなかったようです。 Deno.createHttpClient() Deno.createHttpClient()にhttp2MaxHeaderListSizeオプションが追加されています (#33194) HTTP/2のSETTINGS_MAX_HEADER_LIST_SIZEに相当します。 セキュリティ BYONM BYONM ("nodeModulesDir": "manual") の有効化時にrequire()にnode_modules/../path/to/file.jsのような形式のパスが指定されると、意図せず--allow-readの要求が迂回されてしまう問題が修正されています (#35882) パフォーマンス改善 crypto.randomUUID() crypto.randomUUID()のパフォーマンスが改善されています (#35953)。 初回の呼び出し時にあらかじめ128個分のUUIDを生成してプールしておき、以降の呼び出しにおいてはプールされたUUIDを返却することで、オーバーヘッドが削減されているようです。プールされているUUIDが尽きたら、再度、UUIDの生成が行われます。 ベンチマークによるとおおよそ2倍近くまでスループットが改善されているようです。 node:fs cp()において、一定条件を満たす場合のパフォーマンスが最適化されています (#35856) 特にrecursiveオプションが有効化された際の振る舞いが改善されており、macOSにおいて、可能な場合はclonefile()の使用を試みることによって大幅なパフォーマンス改善が試みられているようです。 node:sqlite StatementSync#all()パフォーマンスが改善されています (#35863)。行数が多い場合のパフォーマンスがNode.jsと同等以上にまで改善されているようです。 deno lint - graph-aware (cross-file) lint rules — prototype / RFC まだマージはされていませんが、PoCとしてdeno lintのプラグインシステムで複数のモジュールにまたがったLintルールを実装するための仕組みの開発が行われているようです。 feat(lint): graph-aware (cross-file) lint rules — prototype / RFC #35986 現時点 (2f4e00e) での実装としては、Deno....

July 19, 2026

2026/07/06〜2026/07/12の最新情報

Deno v2.9.2 Deno v2.9.2がリリースされています。 deno desktop --hmr - フレームワークとの統合 フレームワーク検出機能によってフレームワークが検出され かつ --hmrオプションが指定されている場合、該当フレームワークのdevサーバーが起動されるように改善されています (#35722, #35851)。ただし、まだすべてのフレームワークで本機能がサポートされているわけではなく、現状ではFreshと各種Viteベース (Nuxt, SvelteKitなど) のフレームワークのみがサポートされているようです。 React Router (フレームワークモード) のサポート deno desktop及びdeno compileのフレームワーク検出機能においてReact Routerのフレームワークモードがサポートされています (#35557)。@react-router/devパッケージの有無に基づいて検出されます。 公式ドキュメント: docs(desktop): document React Router support (#3361) opacity/transparent ウィンドウの透明度の調整がサポートされています (#35646)。 下記APIによって利用できます。 Deno.BrowserWindowOptionsのopacity及びtransparentオプション Deno.BrowserWindowのgetOpacity()及びsetOpacity()メソッド --exclude-unused-npm deno compileで提供されている--exclude-unused-npmオプションのサポートがdeno desktopコマンドにも追加されました (#35740) desktop.backend deno.jsonにおけるdesktop.backendフィールドの設定値が適用されない問題が修正されています (#35815) セキュリティ minimumDependencyAge deno.jsonのminimumDependencyAge.excludeにおいてワイルドカード形式によるパッケージ指定がサポートされています (#35746) { "minimumDependencyAge": { "age": 1440, "exclude": [ "jsr:@std/*" ] } } node:net Deno v2....

July 12, 2026

2026/06/29〜2026/07/05の最新情報

Deno v2.9.1 Deno v2.9.1がリリースされています。 deno check deno checkに--desktopオプションが追加されています (#35644) Deno v2.9で実装されたdeno desktop関連のAPIを使用したコードに対する型チェックが行えます。 deno desktop カスタムURLスキーム カスタムURLスキームの登録がサポートされています (#35466) deno.jsonのdesktop.deepLinksでURLスキームの一覧を定義できるようです。例えば、Linuxにおいては、desktop.deepLinksの設定値を元に.desktop ファイルのMimeTypeキーにx-scheme-handler/<scheme>を書き込んでくれるようです。 安定性の改善 deno desktopにおける各種バックエンドの実装を提供するlaufeyがv0.5.0へアップデートされています (#35663, #35566)。Windowsにおけるcef以外のバックエンドが動作しない問題の修正などが行われています (差分) また、Linux向けにパッケージングされたアプリケーションがうまく起動できない問題が修正されています (#35632, #35580, #35506) deno desktop .でdeno.jsonのdesktopプロパティーの設定がうまく適用されない問題も修正されています (#35660) deno bundle Deno v2.9で実装されたCSSモジュールへのサポートが追加されています (#35598) deno install dist-tag 経由でnpmパッケージの prerelease バージョンをインストール (例: prettier-plugin-tailwindcss@insiders) する際に、意図せず古いバージョンがインストールされてしまうことがある問題が修正されています (#35586) deno lsp LSPが.wasmモジュールの変更を監視し、最新の内容を反映してくれるように改善されています (#35560) node:net Server#listen()でUNIXドメインソケットサーバーを開始する際に--allow-write及び--allow-readが要求されるように挙動が変更されています (#35564) node:process reportAPIが公開されています (#35400) PerformanceObserver deno.window lib にPerformanceObserver関連の型定義が追加されています (#35640)。今まではdeno.workerでしか定義されていなかったようです。 deno_stdのリリース deno_stdのリリースが行われています: release-2026.06.30 release-2026.07.03 @std/async@1.5.0 @std/async@1....

July 5, 2026

2026/06/22〜2026/06/28の最新情報

Deno v2.9 Deno v2.9.0がリリースされました。 以下のページに変更内容をまとめているため、よろしければ参照ください: Deno v2.9

June 28, 2026

Deno v2.9

はじめに Deno v2.9がリリースされました。 この記事では主な変更点などについて紹介します。 deno desktop 実験的機能としてDenoでデスクトップアプリケーションを開発するためのdeno desktopコマンドが実装されています (#33441, #35267, #35296, #35378, #35420, #35424, #35425, #35442, #35472, #35484, #35485) 内部的にはdeno compileの仕組みを活用して実装されているようで、フレームワークの検出機能などもサポートされています。 deno desktopでは--backendオプションにより以下の3種類のバックエンドを切り替えることができます: webview (デフォルト) cef raw 各種バックエンドの実装はlaufeyというライブラリから提供されており、$DENO_DIR/laufey/<laufey-version>にダウンロードされます。 --outputオプションに指定したファイル名の拡張子から、様々なフォーマットへのパッケージングがサポートされています (.dmg/.msi/.AppImage/.deb/.rpmなど) その他にも--hmrオプションによるHMRのサポート、Deno.serve()との統合、bindings[name]()によるDenoランタイムからバックエンドへの関数の公開、alert()/confirm()などによるネイティブポップアップの表示、NotificationAPIによる通知、Deno.BrowserWindow/Deno.Tray/Deno.dock/Deno.MenuItem/Deno.autoUpdate()などのAPIなどがサポートされています。 先週に紹介した時点からの差分として、フレームワークの検出機能において通常のViteを使用したプロジェクトの検出がサポートされています (#35470)。今まではVite SSRを使用しているケースのみがサポートされていましたが、より様々なプロジェクトで活用の余地が広がりそうです。 deno bundle --declaration deno bundleに--declarationオプションが追加されています (#33838)。バンドルとともに単一の型定義ファイルを生成してくれるため、deno packコマンドなどと併用すると便利そうです。 $ deno bundle src/lint.ts --outdir dist --declaration ⚠️ deno bundle is experimental and subject to changes Emit dist/lint.d.ts Bundled 15 modules in 62ms dist/lint.js 63.9KB deno link/deno unlink deno link及びdeno unlinkコマンドが実装されています (#34359)。deno....

June 28, 2026

2026/06/15〜2026/06/21の最新情報

Denoの直近の変更について 直近でDeno 2.9向けと思われるPRがいくつかマージされているため紹介します。 deno desktopコマンド 以前に紹介したdeno desktopを実装するPRがmainブランチにマージされています: feat: deno desktop subcommand (denoland/deno#33441) 以下のいずれかのバックエンドを切り替えることができるようです: cef (Chromium Embedded Framework) webview raw rawバックエンドはユーザーがWebベースのエンジン (cef / webview) を使わずに独自にレンダリングをカスタマイズしたい場合に使うことが想定されているようです。 また--hmrオプションによるHMRのサポート、Deno.serve()との統合、bindings[name]()によるDenoランタイムからバックエンドへの関数の公開、alert()/confirm()などによるネイティブポップアップの表示、NotificationAPIによる通知、Deno.BrowserWindow/Deno.Tray/Deno.dock/Deno.MenuItem/Deno.autoUpdate()などのAPI、フレームワークの自動検出などがサポートされているようです。 公式ドキュメントもすでに公開されており、Deno 2.9にてリリースされる予定のようです: docs: add deno desktop reference page (denoland/docs#3085) package-lock.json/pnpm-lock.yaml/yarn.lock (Yarn v1)/bun.lockからdeno.lockへの移行がサポート deno.lockが存在しない状態でのdeno installコマンドの実行時に、package-lock.json/pnpm-lock.yaml/yarn.lock (Yarn v1)/bun.lockのいずれかが検出されたら、それらの内容からdeno.lockを自動生成してくれる機能が実装されています: feat(install): seed deno.lock from package-lock.json #35330 feat(install): seed deno.lock from pnpm-lock.yaml #35346 feat(install): seed deno.lock from yarn.lock #35350 feat(install): seed deno.lock from bun....

June 21, 2026

2026/06/08〜2026/06/14の最新情報

Deno v2.8.3 Deno v2.8.3がリリースされています。 deno compile deno compileに--exclude-unused-npmオプションが追加されています (#34741)。実行可能ファイルの作成時にアプリケーションにおいてimportされていないnpmパッケージを実行可能ファイルから除外してくれるようです。Deno v2.8.2で実装されたdeno compile --bundleと同様に、実行可能ファイルのサイズの削減が期待されそうです。 また、deno compileで--watchがサポートされています (#34860) deno x deno xコマンドに--ignore-scriptsオプションが追加されています (#34952)。このオプションに引数を指定しない場合、すべてのnpmパッケージのライフサイクルスクリプトが無効化されます。引数が指定された場合、指定されたnpmパッケージに対してのみライフサイクルスクリプトの実行が無効化されます。 deno lsp 以下の改善が実施されています: Deno.test()に対するDebug code lens がサポートされています (#34742) textDocument/codeAction: Deno.test()に対するignore/onlyオプションのトグルがサポートされています (#34861) deno.jsonのimportMapで指定されたImport mapファイルに対する診断がサポートされています (#34864) LSPがdeno doc --lint及びdeno publish --dry-run相当の診断を実施してくれるように改善されています。JSRパッケージ中の各エントリーポイントにおける公開APIのJSDocコメントや型定義について検査してくれます (#34733, #34740) deno test --doc deno test --docがコードブロック中のshebangを解釈してくれるように改善されています。shebangで指定されたパーミッションフラグに基づいてDeno.test()のpermissionsオプションが自動で設定されます (#35052) deno fmt json.trailingCommasオプションが追加されています (#33383) { "fmt": { "json.trailingCommas": "jsonc" } } deno add deno addやdeno updateなどの各種依存関係管理用のコマンドで--env-fileオプションがサポートされています (#34843)。.envでDENO_AUTH_TOKENSが定義されているようなケースなどが想定されています。...

June 14, 2026

2026/06/01〜2026/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