2025/10/06〜2025/10/12の最新情報

Deno v2.5.4 Deno v2.5.4がリリースされています。 deno update deno updateでバージョンレンジとして~が指定されたパッケージを更新した際に、更新後にも~が維持されるよう改善されています (#30946) Node.js互換性の改善 node:fs WindowsにおいてStatsオブジェクトのino/nlink/blocksの3つのプロパティーが設定されるよう改善されています (#30866)。Deno.FileInfoにも同様の改善が実施されています。 また、cp()におけるoptions引数のサポート (#30502) やrealpath()におけるencodingオプションのサポート (#30885) も実施されています。 node:crypto X509CertificateのvalidFromDate及びvalidToDateプロパティーが実装されています (#30882) node:zlib 入力が巨大な場合に gunzip() がスタックオーバーフローを起こす問題が修正されています (#30865) その他の改善 JSXプラグマコメントに関するバグの修正 @jsxRuntimeにclassicやautomatic以外の値が設定されている場合や@jsxFrag nullが指定された際などにプロセスがパニックする問題が修正されています (#30935) --tunnelオプションについて 細かな内容ですが、deno runなどの--helpに--tunnelオプション (--connected) の情報が表示されるよう変更されています (#30940)。ローカルから Deno Deploy へセキュアな接続を確立するための機能のようです。 deno_stdのリリース deno_stdのリリースが行われています (release-2025.10.07, release-2025.10.07a) @std/assert@1.0.15 @std/assert@1.0.15がリリースされています。 @std/assert/unstable-equalsと@std/assert/unstable-strict-equalsが追加されています。通常の@std/assert/equals及び@std/assert/strict-equalsとの違いとして、任意でDIFF_CONTEXT_LENGTH環境変数に行数を指定することで、エラーメッセージ中のdiffの省略表示を有効化することが可能です (#6835) また、@std/assert/equalでArrayBufferの比較がサポートされています。assertEquals()などのAPIにも適用されます (#6821) @std/async@1.0.15 @std/async@1.0.15がリリースされています。 @std/async/unstable-throttleにensureLastCallオプションが追加されています。trueを指定すると、タイムフレーム中に複数回throttleされた関数が呼ばれた際に、最後の呼び出しが実行されることが保証されます (#6800) また、@std/async/unstable-wait-forでpredicateにPromiseを返す関数が渡された場合、常にtrueであるとみなされる問題が修正されています (#6839) @std/html@1.0.5 @std/html@1.0.5がリリースされています。 新規APIとしてescapeCss() (@std/html/unstable-escape-css) とescapeJs() (@std/html/unstable-escape-js) が追加されています。escapeCss()はCSS.escape()と同様のロジックで文字列をエスケープし、escapeJs()は<script>タグの中に安全に埋め込めるようにオブジェクトや文字列をエスケープしてくれます (#6782) @std/testing@1.0.16 @std/testing@1.0.16がリリースされています。 @std/testing/unstable-bddで下記APIが追加されています (#6712) describe.todo() it....

October 12, 2025

2025/09/01〜2025/09/07の最新情報

Deno v2.5 向けの機能の追加について Deno v2.5 向けに直近でマージされた内容について紹介します (⚠️まだ正式にはリリースされていないため、今後、APIの使い方に変更が発生する可能性があります) Deno.bundle()APIが追加 deno bundleコマンドの機能をプログラムから動的に利用するために、Deno.bundle()というAPIが追加されています。 feat(bundle): runtime API for deno bundle #29949 Deno.bundle()を利用するためには--unstable-bundleによって明示的に有効化が必要です: const result = await Deno.bundle({ entrypoints: ["./mod.ts"], platform: "deno", }); console.assert(result.success); const [outputFile] = result.outputFiles; const bundledCode = outputFile.text(); console.assert(typeof bundledCode === "string"); outputPathやoutputDirオプションを指定することで、バンドル結果がファイルシステムへ書き込まれます (--allow-writeの指定は不要なようです): const result = await Deno.bundle({ entrypoints: ["./mod.ts"], platform: "browser", minify: true, sourcemap: "external", outputDir: "dist", }); console.assert(result.success); まだマージはされていませんが、現在、プラグイン (pluginsオプション) のサポートに関する実装も進められているようです:...

September 7, 2025

2025/08/11〜2025/08/17の最新情報

Deno v2.4.4 Deno v2.4.4がリリースされています。 Web API EventSourceでヘッダーのカスタマイズがサポート EventSourceでheadersオプションがサポートされています (#30278) Deno独自のオプションのようで、リモートリソースへ接続する際に送信されるヘッダーをカスタマイズできます。 Deno KV - 環境変数の追加 Deno KV向けに以下の環境変数がサポートされています (#30320) 環境変数 概要 DENO_KV_DEFAULT_PATH Deno.openKv()にデータベースパスが指定されたなかった際のデフォルトのパスを指定できます DENO_KV_PATH_PREFIX 指定されると、Deno.openKv()に指定されたデータベースパスに、この環境変数の値がプレフィックスとして結合されます deno repl - --jsonオプションが追加 deno replコマンドに--jsonオプションが追加されています (#30307) このオプションが指定されると、Denoがファイルディスクリプター3にパイプを作成し、それを介してJSONメッセージを送信することで、Denoに指定したコードを動的に実行させる仕組みのようです。まず後続のペイロード長をリトルエンディアン形式の32ビット整数として書き込み、その後に { type: "Run", code: "<code>", output: true, }形式のJSONペイロードをパイプに書き込むことで、指定された<code>をDenoが実行し、その結果をパイプ経由で読み込むことができるようです。 deno bundle package.jsonの取り扱いの改善 require()によってパッケージのサブディレクトリを指定した際に、package.jsonの内容が考慮されるよう挙動が改善されています (#30253) また、ESM形式のモジュールからpackage.jsonを持つディレクトリへのimportがサポートされています (#30273) Conditional exports に関する改善 --platform=browserが指定されたら、npmパッケージのbrowserもしくはimport conditionsが解決されるように挙動が変更されています (#30250) deno compile - Deno.build.standaloneに関するバグ修正 deno compileによって生成された実行可能ファイルにおいて、Worker内だとDeno.build.standaloneが未設定になってしまう問題が修正されています (#30335)...

August 17, 2025

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

Deno Deploy EA におけるデータベースのサポートについて Deno Deploy EAアプリケーションからのPostgreSQLへの接続サポートが追加されているようです: Feat: Deploy EA Databases (#1908) Deploy EA changelog for 21 July 2025 (#2384) あらかじめ Deno Deploy のダッシュボードから登録しておいたデータベースを Deno Deploy アプリケーションに割り当てることが出来るようです。 Deno Deploy は本番やプレビューなどの各環境ごとに自動でデータベースを作成し、各環境のアプリケーションに対してPGHOST/PGPORT/PGDATABASEなどの環境変数を自動で割り当ててくれるため、特に設定をせずともnode-postgresなどのパッケージによって適切なデータベースへ接続が出来る仕組みのようです。 現時点ではPostgreSQLのみがサポートされており、今後、MySQLやMongoDB, Redisなどのサポートも検討されているようです (Supported Database Engines) Fresh v2 に関する直近でのアップデート まだFresh v2は正式リリースされたわけではないですが、直近でいくつか大きな変更が実施されているため、紹介します。 Tailwind CSS v4のサポート @fresh/plugin-tailwind@0.0.1-alpha.8がリリースされています。このリリースではTailwind CSS v4がサポートされています (#3054) @fresh/plugin-tailwind-v3というパッケージも追加されており、Tailwind CSS v3についてはこのパッケージからサポートが提供されます (#3135) 公式ミドルウェアの拡充 CORS (#3013) や CSRF (#3018) 向けのミドルウェアがFreshの公式リポジトリに追加されています。これらは@fresh/coreパッケージから提供されています。 ユーザーコードをimportせずにビルドできるようにする変更 今まで、ビルドを実行する際にユーザーコードをimportしていた関係で、一部のケースにおいてFreshのビルドが終了しなくなってしまう問題の修正が行われています (#3122) この変更の影響として、ファイルベースの Route の登録方法が変更されています。ファイルベースの Route を有効化したい場合、fsRoutes()ではなくApp#fsRoutesを実行する必要があるようです。(ファイルベースの Route はBuilderによって処理されるよう挙動が変更されているようです)...

July 27, 2025

2025/06/30〜2025/07/06の最新情報

Deno v2.4.0 Deno v2.4.0がリリースされました。 以下のページに変更内容をまとめているため、よろしければ参照ください: Deno v2.4 deno_stdのリリース deno_stdのリリースが行われています (release-2025.07.01) @std/text@1.0.15 @std/text@1.0.15がリリースされています。 新規モジュール @std/text/unstable-longest-common-prefixモジュールが追加されています (#6734)。longestCommonPrefix()という配列の中の各文字列から共通する最長の接頭辞を見つけるための関数が提供されます。 また、@std/text/unstable-to-sentence-caseと@std/text/unstable-to-title-caseも追加されています (#6701)。 それぞれtoSentenceCase()とtoTitleCase()を提供します。 @std/text/unstable-dedent - バグ修正 dedent()で空行が意図せず取り除かれてしまう問題が修正されています (#6738) @std/http@1.0.19 - ファイルサーバーのパフォーマンス改善 @std/http@1.0.19がリリースされています。 @std/http/file-server HTMLのレンダリングのパフォーマンスがかなり改善されています (#6727) Aleph.jsのメンテナンスが停止 Aleph.jsのメンテナンスが停止されたようです。リポジトリもアーカイブされています。 今後はFreshへの移行が推奨されています。

July 6, 2025

2025/06/09〜2025/06/15の最新情報

Deno v2.3.6 Deno v2.3.6がリリースされています。 deno.json - patchからlinksへのリネーム deno.jsonのpatchがlinksへリネームされています (#29677, #29714) deno.jsonのpatchは元々、JSRパッケージやnpmパッケージにパッチを適用するために導入された機能で、今回のlinksへのリネームに伴い、特に利用法などに変更はないようです。 patchについてはまだサポートされているようですが、将来的に削除される予定のようです。 esbuildベースのdeno bundleコマンド esbuildをベースにdeno bundleコマンドが再実装されました (#29470, #29706, #29651, #29683, #29680) $ cat main.js import pc from "npm:picocolors@1.1.1"; console.info(pc.green("foo")); $ deno bundle --output bundle.js main.js ⚠️ deno bundle is experimental and subject to changes bundled in 28ms $ deno run --allow-env bundle.js foo 今後、Freshとの統合も検討されているようです: https://x.com/rough__sea/status/1933244186104639839 deno deploy 以前に紹介したdeno deployサブコマンドがリリースされています。Deno Deploy Early Accessに関連した変更だと思われます。 利用するためにはDENO_DEPLOY_SUBCOMMAND環境変数によって明示的に有効化する必要があるようです。 $ DENO_DEPLOY_SUBCOMMAND=1 deno deploy --help Usage: deno deploy [OPTIONS] [args]....

June 15, 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/05/12〜2025/05/18の最新情報

Deno v2.3.2 & v2.3.3 Deno v2.3.2とDeno v2.3.3がリリースされています。 https://github.com/denoland/deno/blob/395878c5fb72d87a44f7c88ce9f391acc31feab3/Releases.md#233--20250516 deno lint deno lintプラグインでコメントの取得がサポートされています (#29189) SourceCodeクラス (RuleContext.sourceCodeからアクセス可能) にgetAllComments()/getCommentsBefore()/getCommentsAfter()/getCommentsInside()メソッドが追加されています。 また、Programにもcommentsプロパティーが追加されています。 deno coverage deno coverage --htmlで生成されるHTMLレポートで、OS設定に基づいてlightとdarkテーマが切り替わるように改善されています (#29267) deno jupyter - 複数カーネルの管理がサポート deno jupyterコマンドで複数のカーネルをインストール・管理するための機能が導入されています (#29249) --nameオプション deno jupyterコマンドに--nameオプションが追加されています。 --installオプションとともに--nameオプションが指定されると、カーネルがインストールされる際のディレクトリ名を変更できます (デフォルトはLinuxだと~/.local/share/jupyter/kernels/denoで、--name deno-canaryを指定すると~/.local/share/jupyter/kernels/deno-canaryにインストールされます) --installが省略された場合、--nameオプションによって指定された名前でkernel.jsonがインストールされているか確認できます。 deno jupyter --install --display <name> deno jupyter --installに--displayオプションが追加されています。 このオプションを指定することで、kernel.jsonのdisplay_nameをカスタマイズできます (デフォルトはDeno) deno jupyter --install --force deno jupyter --installに--forceオプションが追加されています。 このオプションを指定すると、カーネルがすでにインストール済みである際も強制的にカーネルを再インストールしてくれます。 deno check Ambient moduleに関する挙動の改善 Ambient moduleによって型が定義されたパスに対して発生する型エラーが無視されるよう挙動が変更されています (#29135) 例えば、Ambient moduleによって*.svgに対する型定義が定義されていたら、*.svgに対するimportによって型エラーが起きぬように改善されています。 deno.lock deno.lockの更新タイミングが型チェックの実行前から実行後へ変更されています (#29265) 型チェックの実行時にはじめて@types/nodeが必要となるケースがあるため挙動が変更されたようです。...

May 18, 2025

2025/04/28〜2025/05/04の最新情報

Deno v2.3.0 Deno v2.3.0がリリースされました。 以下のページに変更内容をまとめているため、よろしければ参照ください: Deno v2.3 Deno v2.3.1 Deno v2.3.1がリリースされています。 このリリースではDeno v2.3.0において誤ったバージョンが表示されてしまう問題が修正されています。 deno_stdでBunを使用してパッケージのテストコードを実行する仕組みが導入 deno_stdでBunを使用してパッケージのテストコードを実行する仕組みが導入されています: chore: run some test cases in bun in CI #6635 この仕組みによってテストされているパッケージ (_tools/node_test_runner/run_test.mjs) については、Bunでも安定して利用ができる可能性が高そうです。

May 4, 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