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のリリースについて言及されています:

まもなくリリース予定のようです。直近でv2.3向けと思われる機能がいくつか追加されているため、紹介します。

Deno.connectでのAbortSignalのサポート

Deno.connectsignalオプションが追加されています (#27113)

AbortSignalを指定することで、接続をキャンセルすることができます。現状ではTCP接続のキャンセルのみがサポートされています。

TypeScript v5.8

Deno本体に搭載されたTypeScriptをv5.7からv5.8へアップデートする対応が実施されています:

このPRはすでにマージされており、Deno v2.3で正式に導入される可能性が高そうです。

DENO_EMIT_CACHE_MODE環境変数

DenoにおいてDENO_EMIT_CACHE_MODEという環境変数をサポートするPRがマージされています:

この環境変数にdisableという値を指定しておくと、DenoがTypeScriptからJavaScriptへトランスパイルした結果のファイルシステムへのキャッシュが無効化されるようです。

Deno v2.3.0-rc.1〜rc.3

Deno v2.3.0のrc.1, rc.2, 及びrc.3がリリースされています:

deno lsp

診断 (diagnostics)

リダイレクトに関する診断 (The import of \"${from}\" was redirected to \"${to}\".)が削除されています (#28988)

また、あるnpmパッケージの存在しないサブパスを参照した際にエラー (no-export-npm) が表示されるよう改善されています (#28981)

npmパッケージに対する補完の改善

あるnpmパッケージのexportされていないモジュールから提供されるAPIが補完候補として表示されてしまう問題が修正されています (#28962)

textDocument/hoverの改善

非推奨化されたMarkedStringではなくMarkupContentが返却されるよう改善されています (#28987)

deno doc --html - ダークモードのサポート

deno doc --htmlで生成したHTMLページでダークモードへの切り替えがサポートされています (deno_doc 0.171.0)

deno publish - virtual:/cloudflare:のサポート

deno publishコマンドでvirtual:cloudflare:モジュールを含むJSRパッケージを公開できるように改善されています (#28922)

Node.js互換性の改善

--unstable-bare-node-builtins

Node.js組み込みモジュールをnode:なしで読み込む (--unstable-bare-node-builtins) 際に表示されていた以下の警告が削除されています (#29000)

Warning Resolving "events" as "node:events" at file:///path/to/main.js:1:30. If you want to use a built-in Node module, add a "node:" prefix.

今後、deno lintのルールへの移行が検討されているようです。

node:dgram

createSocket()reuseAddrオプションがサポートされています (#28156)

node:process

process.versionv20.11.1からv22.14.0へ更新されています (#27044)

deno_stdのリリース

deno_stdがリリースされています (release-2025.04.24)

@std/encoding@1.0.10

@std/encoding@1.0.10がリリースされています。

(破壊的変更) proposal-arraybuffer-base64への追従

tc39/proposal-arraybuffer-base64に合わせて、Base32/64関連のAPIの見直しが行われています (#6608)

@std/encoding/unstable-base32

encodeBase32()/encodeIntoBase32()/decodeBase32()format引数がオブジェクト (Base32Options) に変更されています。alphabetオプションにBase32Alphabetを指定することで代替できます。

@std/encoding/unstable-base32-stream

Base32EncoderStream及びBase32DecoderStreamformatオプションが削除され、代わりにalphabetオプションが追加されています。

@std/encoding/unstable-base64

encodeBase64()/encodeIntoBase64()/decodeBase64()format引数がオブジェクト (Base64Options) に変更されています。alphabetオプションにBase64Alphabetを指定することで代替できます。

@std/encoding/unstable-base64-stream

Base64EncoderStream及びBase64DecoderStreamformatオプションが削除され、代わりにalphabetオプションが導入されています。

@std/cli@1.0.17

@std/cli@1.0.17がリリースされています。

promptSelect()visibleLinesindicatorオプションが追加

スクリーンサイズに収まり切らないほどの選択肢が与えられた場合に備えて、visibleLinesオプションが追加されています。一度に表示される最大要素数を指定できます (#6523)

また、indicatorオプションも追加されています (デフォルトは)

@std/data-structures@1.0.7

@std/data-structures@1.0.7がリリースされています。

BidirectionalMap (@std/data-structures/unstable-bidirectional-map)の改善

BidirectionalMapconstructorの型定義が改善され、配列だけでなくIterableオブジェクトがサポートされています (#6598)

また、BidirectionalMap#deleteなどにおいてundefinedを値として保持するエントリーが適切に取り扱われない問題が修正されています (#6606)

@std/fs@1.0.17

@std/fs@1.0.17がリリースされています。

Node.jsサポートの改善

Node.jsサポートの改善に向けて以下のモジュールが追加されています:

  • @std/fs/unstable-create (create()createSync()が提供されます)
  • @std/fs/unstable-open (open()openSync()が提供されます)

@std/text@1.0.13

@std/text@1.0.13がリリースされています。

dedent()のパスの変更

dedent()が提供されるパスが@std/text/unstable_dedentから@std/text/unstable-dedentへリネームされています (#6573)

@std/toml@1.0.5

@std/toml@1.0.5がリリースされています。

parse()のバグ修正

parse()に関する様々なバグの修正が行われています:

  • 空のインラインテーブルが適切に解析されない問題が修正されています (#6587)
  • 数値の先頭または末尾の_が意図せず許可されてしまっていた問題が修正されています (#6605)
  • 空文字列が与えられた際に空オブジェクトを返すよう修正されています (#6585)

pnpmとYarnがJSRをサポート

Denoの公式ブログにおいて、pnpmとYarnにおけるJSRパッケージのサポートがアナウンスされています:

pnpmではv10.9.0, Yarnではv4.9.0から、JSRパッケージのサポートが利用できるようです。

deno-postgres v0.19.4

deno-postgres v0.19.4がリリースされています。

このリリースに合わせて、deno-postgresjsr:@db/postgresにて公開されています。

また、Deno v2向けのサポートの改善も実施されています (#492)