Denoの直近の開発について // deno-doc-ignoreコメント まだリリースはされていませんが、特定のコードに対するdeno doc --lintによる報告の無効化がサポートされています。 feat: support // deno-doc-ignore lint directives (denoland/deno_doc#829) // deno-doc-ignoreコメントを記述すると、その次のコードに対するdeno doc --lintによる違反の報告が無効化されます。// deno-lint-ignoreと同様に、無視する違反種別の指定やコメントの記述などもサポートされています。 // deno-doc-ignore missing-explicit-type missing-jsdoc -- TODO: Write a JSDoc comment. export const foo = 123; また、// deno-doc-ignore-fileによってファイル全体に対する違反報告の無効化もサポートされています。 deno desktop - メニュー項目におけるチェックマーク/アイコン/ツールチップのサポート まだマージはされていませんが、deno desktopのメニュー項目においてチェックマークやアイコン、ツールチップの表示をサポートする対応が行われています。 feat(desktop): support checked, icon, and tooltip on menu items (#36649) Deno.MenuItemに以下の3つのプロパティーが追加されています。 checked icon tooltip denext denext というNext.js互換なWebフレームワークが公開されています。 https://github.com/Brainwires/denext App Routerやファイルシステムベースルーティングなどの各種機能に加え、deno lintプラグインなどが提供されているようです。...
2026/08/10〜2026/08/16の最新情報
fresh v3 (alphaバージョン) について 以前にfreshframework Organizationへの移行についてアナウンスされました。 その後、現在はfresh v3の開発が進められているようです (https://discord.com/channels/684898665143206084/991511118524715139/1536792238133346424)。nextブランチで開発が行われているようです (現時点での最新コミット: 119581a) fresh v2との比較 fresh v2との比較についてはfresh2-comparison.mdで詳細に解説されています。 esbuildサポートを廃止してVite 8+Nitroベースで再実装することで、全体的に軽量化が図られているようです。これに伴い、Deno DeployだけでなくNode.jsやCloudflare Workersなどでも動作されるように改善されるようです。パッケージもjsrではなくnpmに公開されています (@frsh/fresh) また、シグナルのサポートの改善や、fresh v2ではサポートされていないイベントリスナーのハイドレーション、Navigation APIをベースにPartialの再実装なども検討されているようです。 現在の実装状況について TODO.mdで実装状況が公開されています。まだalphaバージョンであるため、未実装の機能などがいくつかありそうです。
2026/08/03〜2026/08/09の最新情報
Deno v2.9.5 Deno v2.9.5がリリースされています。 QuickJSバックエンド QuickJSバックエンドの実験的実装が追加されています (#36194) deno compile及びdeno desktopコマンドに--engineオプションが追加されており、--engine=quickjsを指定すると、DenoがQuickJSランタイムを自動でダウンロードした上で、そのQuickJSランタイムをベースに実行可能ファイルを生成してくれます。 $ deno compile --engine quickjs main.js 公式ドキュメントも公開されています。 docs: document deno compile –engine quickjs (denoland/docs#3439) deno add --unscopedオプションが追加されています (#36319)。スコープ付きパッケージをインストールする際にこのオプションを指定すると、deno.jsonにはスコープを取り除いた状態でそのパッケージに関するマッピングが追加されます。 $ deno add --unscoped jsr:@david/dax $ cat deno.json | jq .imports.dax "jsr:@david/dax@^0.49.0" deno task --membersオプションが追加されています (#35748)。ワークスペースの各メンバーにおける指定したタスクを一括で実行することができます。--recursiveや--filterオプションとの違いとして、ワークスペースルートのタスクの実行はスキップされます。 deno fmt deno fmt -においてXMLとSVGのフォーマットがサポートされています (#36149)。--extオプションにxmlまたはsvgを指定できます。 $ cat file.xml | deno fmt --ext=xml - Web API textStream() Response#textStream()/Request#textStream()/Blob#textStream()が実装されています (#35616) const stream = (await fetch(import.meta.url)).textStream(); assert(stream instanceof ReadableStream); let content = ""; for await (const x of stream) { assert(typeof x === "string"); content += x; } console....
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)。各種相対パスの解決やテストファイル・設定ファイルの探索などが指定されたディレクトリを基準に行われるよう挙動が変更されます。
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のいずれかを切り替えることができるようです。...
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....
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....
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....
2026/06/22〜2026/06/28の最新情報
Deno v2.9 Deno v2.9.0がリリースされました。 以下のページに変更内容をまとめているため、よろしければ参照ください: Deno v2.9
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....