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などを実行する必要があります。...

February 8, 2026

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

February 1, 2026

Deno v2.6

はじめに Deno v2.6がリリースされました。 この記事では主な変更点などについて紹介します。 deno x deno xコマンドが追加されています (#31138) このコマンドを使うことで、npxのように指定したパッケージをインストールし、実行することができます。 $ deno x cowsay@1.6.0 hi ____ < hi > ---- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || インストールされたパッケージは$DENO_DIR/deno_x_cacheに保存されます。$DENO_DIR/deno_x_cache/<package-dir>/deno.lockを作成することで、パッケージの依存関係を固定してくれます。 また、パーミッションフラグの指定も可能です (デフォルトでは --allow-all が指定されます) $ deno x --ignore-env --allow-read cowsay@1.6.0 hi ネイティブバイナリーを実行する場合は--allow-runが要求されます。 $ deno x --deny-run esbuild --version error: Requires run access to "/path/to/.deno/esbuild@0.27.1/node_modules/esbuild/bin/esbuild", run again with the --allow-run flag デフォルトではnpmパッケージが実行されますが、jsr:を指定することでjsrパッケージの実行も可能です。...

December 14, 2025

2025/05/26〜2025/06/01の最新情報

Deno v2.3.4 & v2.3.5 Denoのv2.3.4とv2.3.5がリリースされています。 CLI --unstable-subdomain-wildcardsが追加 --unstable-subdomain-wildcardsオプションが追加されています (#29327) --allow-netにおいてサブドメインに対するワイルドカード指定が有効化されます: $ deno run --unstable-subdomain-wildcards --allow-net='*.github.com' main.mjs DENO_UNSTABLE_SUBDOMAIN_WILDCARDS環境変数によって有効化することも可能です。 DENO_USR2_MEMORY_TRIM環境変数の導入 DENO_USR2_MEMORY_TRIMという環境変数が導入されています (#29295) この環境変数が設定された場合、SIGUSR2シグナルが受信された際に、Denoがmalloc_trim(0)でヒープの開放を行ってくれます。この環境変数はLinuxでのみ利用可能です。おそらく、後述するDeno Deploy Early Accessに関連した変更ではないかと思われます。 --frozenオプションの拡充 deno uninstallやdeno docなどの一部コマンドで--frozenオプションがサポートされていなかった問題が修正されています (#29508) Web API globalThis.performanceの取り扱いの変更 ユーザーコードとnpmパッケージとの間でglobalThis.performanceが同一のオブジェクトが共有されるよう挙動が変更されています (#29323) 今までは、ユーザーコードとnpmパッケージ中のコードにおいてglobalThis.performanceが異なるオブジェクトを参照していました。具体的には、ユーザーコードではWeb Performance APIsにおけるPerformanceオブジェクト、npmパッケージ中のコードではnode:perf_hooksモジュールのPerformanceオブジェクトがそれぞれ参照されていました。 今回のリリースに伴い、ユーザーコードとnpmパッケージ中のコードの両方がglobalThis.performanceによってnode:perf_hooksモジュールのPerformanceオブジェクトを参照するよう挙動が変更されています。 WebGPU Deno.UnsafeWindowSurfaceにresize()というメソッドが実装されています (#29254) このメソッドはウィンドウのサイズが変更された際に呼ばれることが想定されています。 また、GPUQueue#onSubmittedWorkDoneが実装されています (#29255) deno lsp deno/testRunの改善 deno lspから実行したテストが失敗した際に、Deno.test()の行ではなく実際にエラーが発生した行にエラーが表示されるよう改善されています (#29221) プロジェクト外のdeno.jsonの参照がサポート .vscode/settings.jsonのdeno.configにおいて、プロジェクト外のdeno.jsonの指定がサポートされています (#29420) Auto importの改善 Workspaceメンバーに対する相対パス形式ではなく bare specifier によってimportが追加されるよう改善されています (#29304) また、deno.jsonのpatchで指定されたjsrパッケージに対して、相対パス形式でimportが追加される問題が修正されています (#29437) deno task - タスクのワイルドカード指定に関するバグ修正 deno task check:*のようにワイルドカード形式でタスクを指定した場合、先頭一致ではなく部分一致によってタスクが探索されてしまう問題が修正されています (#29343)...

June 1, 2025

2025/04/21〜2025/04/27の最新情報

Deno v2.2.12 Deno v2.2.12がリリースされています。 Windowsにおけるdeno compileのバグ修正 Deno v2.2.11におけるWindows環境で発生するdeno compileの問題が修正されています。deno compileによって生成した実行可能ファイルがエラーが出ずに実行が終了する問題の修正 (#28986)や、リソースの読み込みに失敗してしまう問題への一時的な対策 (#29005, #29039)などが実施されています。 後述するv2.2.3のRCバージョンにもこれらの変更は取り込まれています。 Deno v2.3について リリース時期について deno.newsにて、Deno v2.3のリリースについて言及されています: Deno v2.3 is almost here まもなくリリース予定のようです。直近でv2.3向けと思われる機能がいくつか追加されているため、紹介します。 Deno.connectでのAbortSignalのサポート Deno.connectにsignalオプションが追加されています (#27113) AbortSignalを指定することで、接続をキャンセルすることができます。現状ではTCP接続のキャンセルのみがサポートされています。 TypeScript v5.8 Deno本体に搭載されたTypeScriptをv5.7からv5.8へアップデートする対応が実施されています: feat: TypeScript 5.8 #29041 このPRはすでにマージされており、Deno v2.3で正式に導入される可能性が高そうです。 DENO_EMIT_CACHE_MODE環境変数 DenoにおいてDENO_EMIT_CACHE_MODEという環境変数をサポートするPRがマージされています: feat(cache): add DENO_EMIT_CACHE_MODE #29025 この環境変数にdisableという値を指定しておくと、DenoがTypeScriptからJavaScriptへトランスパイルした結果のファイルシステムへのキャッシュが無効化されるようです。 Deno v2.3.0-rc.1〜rc.3 Deno v2.3.0のrc.1, rc.2, 及びrc.3がリリースされています: v2.3.0-rc.0〜rc.1 v2.3.0-rc.1〜rc.2 v2.3.0-rc.2〜rc.3 deno lsp 診断 (diagnostics) リダイレクトに関する診断 (The import of \"${from}\" was redirected to \"${to}\"....

April 27, 2025

2025/02/24〜2025/03/02の最新情報

Deno v2.2.2 Deno v2.2.2がリリースされています。 deno check - compilerOptions.jsxImportSourceに関する修正 compilerOptions.jsxImportSourceが未定義の場合、v2.2から型チェックが失敗してしまう問題が修正されています (#28228) deno lint - プラグインシステムに関するバグ修正 :exitコールバックの実行タイミングの修正 JavaScriptプラグインにおいて:exitコールバックが呼ばれるタイミングが修正されます (#28229) 変更前 (v2.2.1): 対象ノードのすべての兄弟ノードを訪問し終えたあとに:exitコールバックが呼ばれていました 変更後 (v2.2.2): 対象ノードのすべての子孫ノードを訪問し終えて、上のノードを再度訪れるタイミングで:exitコールバックが呼ばれます Deno.lint.SourceCode.textにおけるTypeErrorの修正 JavaScriptプラグインのテスト時(deno test)にDeno.lint.SourceCode.textを参照すると、TypeErrorが発生する問題が修正されています (#28278) deno fmt - --extオプションでのNunjucksとVentoのサポート deno fmtの--extオプションでnjkとvtoの指定がサポートされています (#28262) パッチの絶対パス指定がサポート deno.jsonのpatchで絶対パスの指定がサポートされています (#28279) node:crypto: createDecipheriv()の修正 ブロック長が不正な場合、Decipher#finalがパニックする問題が修正されています (#28215) deno install - .cssなどの取り扱いの改善 パッケージが.cssなどのファイルへのimportを含んでいると、deno installが失敗する問題が修正されています (#28234) @sigma/deno-compile-extra @sigma/deno-compile-extraというJSRパッケージが公開されています。deno compileコマンドによって生成された実行可能ファイルは、deno runによってスクリプトを実行した場合と挙動が異なる場合があり、このパッケージはそういったギャップを吸収してくれることを目的としているようです: JSRパッケージ: @sigma/deno-compile-extra リポジトリ: https://github.com/sigmaSd/deno-compile-extra bxnch GitHubリポジトリに含まれるdeno bench --jsonによって生成されたJSONファイルを解析して、画像を生成してくれるサービスが公開されています: bxnch Deno Deployやfresh_chartsなどをベースに実装されているようです。

March 2, 2025

2025/02/17〜2025/02/23の最新情報

Deno v2.2.0 Deno v2.2.0がリリースされています。 以下に内容をまとめたため、よろしければこちらを参照いただければと思います。 Deno v2.2 Deno v2.2.1 Deno v2.2.1がリリースされています。 deno check - @types/*へのフォールバックがサポート npmパッケージが型定義を提供していない場合、@types/*から型定義を読み込むようフォールバックを行う対応が行われています (#28185) 注意点として、このフォールバック機能は該当の@types/*パッケージがプロジェクトの依存に含まれている場合のみ有効のようです。(#28185に画像を使った説明があり、こちらの説明がわかりやすいと思います) まだマージはされていないものの、deno lspに@types/*の導入を促すQuickfixの実装が進められているようです。(#28216) deno check - Deno本体に組み込まれたlibファイルに関する型チェックの安定性の改善 Deno v2.2.0のリリースに伴い、deno checkにおいてDeno本体に組み込まれたTypeScriptのlibファイルに関する型チェックがやや不安定になっていたようで、今回のv2.2.1のリリースで安定化するための対応が行われています (#28202) deno publish - jsx/tsxファイルのサポート deno publishコマンドでjsx/tsxファイルを含むパッケージの公開がサポートされています (#28188) パッケージを公開する際に、deno.jsonの設定を元にしてjsx/tsxファイルに以下のディレクティブを自動で書き込んでくれるようです @jsxRuntime @jsxImportSource @jsxImportSourceTypes @jsxFactory @jsxFragmentFactory node:sqlite StatementSync#setAllowBareNamedParametersが実装されています (#28197) また、StatementSync#setReadBigInts(true)が呼ばれていない状態で大きな整数値を読み込んだ際に、意図せず値が丸められてしまうことがある問題が修正されています (#28193) ワークスペース使用時のJSX関連の設定の改善 ワークスペースの使用時にJSX関連の設定が適切なdeno.jsonから解決されるよう改善されています。(#28186)

February 23, 2025

2024/09/30〜2024/10/06の最新情報

The Final Touches: What’s New In v2.0.0-rc.10 後述するDeno v2.0.0-rc.10に関する記事がDeno公式ブログで公開されています: The Final Touches: What’s New In v2.0.0-rc.10 上記の記事によると、Deno v2の正式リリースについては今週に予定されているようです。 Deno Deploy NextGen Deno公式からDeno Deploy NextGenが公開されています: Deno Deploy NextGen これはKubernetesクラスター上でユーザーがDeno Deployのインフラストラクチャーを実行するための基盤のようで、現時点だとAWSとAzureがサポートされているようです。 Deno v2.0.0-rc.8/v2.0.0-rc.9/v2.0.0-rc.10がリリース Denoのv2.0.0-rc.8〜v2.0.0-rc.10がリリースされています: v2.0.0-rc.7からv2.0.0-rc.8までの差分 v2.0.0-rc.8からv2.0.0-rc.9までの差分 v2.0.0-rc.9からv2.0.0-rc.10までの差分 破壊的変更 URLPattern#execの振る舞いの変更 Deno v1.46.0で導入され、 Deno v1.46.1で取り消されたURLPattern#execの振る舞いの変更が改めて実施されました。 URLPattern#execでパターンにマッチするグループがない場合にgroups[key]にundefinedが設定されるように振る舞いが変わります。 Revert “fix(urlpattern): fallback to empty string for undefined group values” #25961 $DENO_DIR/depsが$DENO_DIR/remoteへリネーム リモートからダウンロードされた依存関係のグローバルキャッシュとして利用される$DENO_DIR/depsディレクトリが$DENO_DIR/remoteへリネームされました。 DENO_DIRの操作を行うツールやライブラリなどを除いて、基本的にはこの変更による影響は特にないはずです。 BREAKING: rename “deps” remote cache folder to “remote” #25969 deno lsp npm:@types/*を追加するQuick fixのサポート 自前で型定義を持たないnpmパッケージに対して// @deno-types=\"npm:@types/*"を追加するQuick fixが実装されています。(Add @deno-types directive for \"<package>\")...

October 6, 2024

2024/09/23〜2024/09/29の最新情報

Deno v2.0.0-rc.5/v2.0.0-rc.6/v2.0.0-rc.7がリリース Denoのv2.0.0rc.5〜v2.0.0 rc.7がリリースされています: v2.0.0-rc.4からv2.0.0-rc.5までの差分 v2.0.0-rc.5からv2.0.0-rc.6までの差分 v2.0.0-rc.6からv2.0.0-rc.7までの差分 --allow-importの導入 --allow-importという新しいパーミッションフラグが導入されています (短縮形式は-I) Deno v2からリモートモジュールの読み込みを許可するホストに制限がかかるようです。必要に応じて--allow-importにリモートモジュールの読み込みを許可するホストを指定する必要があります。 ただし、デフォルトで以下のホストからのモジュールのimportが許可されるようなので、基本的なケースにおいては今まで通り利用できると思われます: deno.land jsr.io esm.sh raw.githubusercontent.com 例えば、unpkg.comからモジュールをimportしようとすると、上記のいずれのホストにも当てはまらないため、権限が要求されます: import ky from "https://unpkg.com/ky@1.7.2"; const res = await ky.get("https://api.github.com/repos/uki00a/deno-weekly").json(); この場合、以下のように権限が求められます: $ deno run --allow-net main.js ┏ ⚠️ Deno requests import access to "unpkg.com:443". ┠─ Requested by `import()` API. ┠─ Learn more at: https://docs.deno.com/go/--allow-import ┠─ Run again with --allow-import to bypass this prompt. ┗ Allow? [y/n/A] (y = yes, allow; n = no, deny; A = allow all import permissions) > --allow-importによってunpkg....

September 29, 2024

2024/09/02〜2024/09/08の最新情報

Deno v2.0.0-rc.1 Deno v2.0.0-rc.1がリリースされています。 どの変更内容がv2.0.0-rc.1に入っているかは不明なため、Deno v2.0.0-rc.0からの差分を参考に直近の変更内容についてまとめます (差分) deno lint jsr関連のlintルールの実行について deno.jsonでnameとexportsが定義されていればjsr関連のlintルールが実行されるように挙動が変更されています (今まではnameとexportsに加えてversionの3つのフィールドが定義されている必要がありました) fix(lint): support linting jsr pkg without version field #25230 deno lsp HTML/CSS/Yamlファイルのフォーマット deno lspでHTML/CSS/Yamlファイルのフォーマットがサポートされています。 feat(lsp): html/css/yaml file formatting #25353 deno add パッケージのサブパスの指定がサポート # 例: 以下の場合、`@std/dotenv`が追加されます $ deno add @std/dotenv/load feat(add): strip package subpath when adding a package #25419 deno install --entrypointがサポート このオプションが指定された場合、指定されたファイルの依存関係がダウンロードされます (deno cacheと同じように振る舞います) $ deno install --entrypoint main.ts feat(install): deno install with entrypoint #25411 TypeScript useUnknownInCatchVariablesがデフォルトで有効化 TypeScriptのuseUnknownInCatchVariablesがデフォルトで有効化されています。...

September 8, 2024