Deno v2.1.8/v2.1.9
Deno v2.1.8とv2.1.9がリリースされています。
OpenTelemetry
HTTPSエンドポイントのサポート
HTTPSエンドポイントへのSignalsの送信がサポートされています (#27743)
以下の環境変数によって設定が可能です:
OTEL_EXPORTER_OTLP_CERTIFICATEOTEL_EXPORTER_OTLP_CLIENT_KEYOTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE
deno check
ワークスペースの各メンバーでのcompilerOptionsのサポート
ワークスペースの各メンバーのdeno.jsonにおけるcompilerOptionsの定義がサポートされています (#27785)
今まではワークスペースのルートでしかcompilerOptionsを定義できませんでしたが、今後は各メンバーごとに柔軟に型チェックなどに関する振る舞いを設定できそうです。
npmパッケージに含まれる.tsファイルの取り扱いの改善
型チェックにおけるnpmパッケージ中の.tsファイルの取り扱いが改善されています (#27853)
deno checkの実行時に限定して、型チェック時に.d.tsが見つからない際は追加で.tsファイルも探索してくれるようです。
deno install
-gが指定され かつ deno.jsonが検出された際の警告について
deno install -gの実行時にdeno.jsonが検出され かつ--configオプションが指定されていない場合に以下の警告が表示されるよう改善されています (#27745)
Warning discovered config file will be ignored in the installed command. Use the --config flag if you wish to include it.
deno lsp
Ambient modulesに関する修正
Ambient modulesに対するimportでエラーが発生しないように修正されています (#27855)
SvelteKitなどを使用したプロジェクトを想定した修正のようです。
deno publish
.d.tsに関する改善
jsrパッケージのモジュール内でsloppy importsが使用されており かつ 対応する.d.tsファイルが存在する場合に、unfurling (specifierの正規化)が行われるよう改善されています (#27793)
例えば、export type { foo } from './foo' かつ ./foo.d.tsが存在されば、パッケージ公開時にexport type { foo } from './foo.d.ts'へ変換されます。
Deno API
Deno.readDirSync()の型定義の改善
Deno.readDirSync()の戻り値の型がIterable<Deno.DirEntry>からIteratorObject<Deno.DirEntry>へ変更されています (#27805)
Web Crypto API
SubtleCrypto#exportKeyの改善
SubtleCrypto#exportKeyでX25519形式の秘密鍵をJWK形式でエクスポート出来るように改善されています (#27828)
Node.js互換性の改善
ホームディレクトリの.npmrcに関するサポート
ホームディレクトリに.npmrcが存在する場合、プロジェクトの.npmrcと設定内容がマージされるよう改善されています (#27119)
Playwrightサポートの改善
BrowserType#launch (chromium.launch()など)が動作しない問題が修正されています (#27779)
playwright installコマンドやchromium.launch()のテストも追加されており、Playwrightの動作に関する安定性が改善されています。
node:process
process.env.TZの取り扱いの改善
process.env.TZの設定時に時刻の変換情報が初期化(tzset()が呼ばれます)されるよう修正されています (#27826)
node:http
ClientRequestの改善
ClientRequestでinformationイベントがサポートされています (#27381)
Serverの改善
ServerでcheckContinue/checkExpectationイベントがサポートされています (#27381)
node:zlib
brotliDecompress()の改善
brotliDecompress()でcallback引数がサポートされています (#27815)
crc32()のバグ修正
crc32()の実行時にReferenceErrorが発生する問題が修正されています (#27777)
node:util
debuglog()の改善
debuglog()でメッセージが'...'で囲まれて表示されないよう修正されています (#27772)
node:crypto
新規API
以下のAPIやアルゴリズムが実装されています:
aes-128-gcm/aes-256-gcmに関するバグ修正
aes-128-gcm/aes-256-gcmの使用時に不正なサイズのキーが指定されたら、プロセスがパニックする問題が修正されています (#27818)
wsパッケージに関する修正
Deno v2.1.5からwsパッケージのWebSocketクライアントが動作しなくなっていた問題が修正されています (#27792)
node_modules中のTypeScriptファイルを含むnpmパッケージに関する修正
node_modules中のnpmパッケージにTypeScriptモジュールが含まれていた際に、Node.jsと同様のERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPINGエラーが発生するよう改善されています (#27809)
DenoにおけるTypeScript v5.7のサポートについて
まだリリースはされていないものの、Deno本体のTypeScriptをv5.7にアップデートするPRがmainブランチへマージされています:
おそらく、Deno v2.2でリリースされるのではないかと思います。
このPRでは、新しくサポートされたes2024ターゲット向けにTypedArrayに関連する型定義の修正が実施されています。後述するdeno_stdにおいてもTypeScript v5.7に向けた対応が進められています。
deno_stdのリリース
deno_stdのリリースが実施されています (release-2025.01.31)
TypeScript 5.7に向けた対応
Deno本体におけるTypeScript 5.7サポートに合わせて、以下のパッケージがリリースされています:
@std/bytes@1.0.5@std/crypto@1.0.4@std/encoding@1.0.7@std/http@1.0.13@std/io@0.225.2@std/msgpack@1.0.3@std/streams@1.0.9@std/tar@0.1.5
TypeScript v5.7におけるTypedArrayの型定義の変更に合わせ、各APIの型定義が調整されています (#6372)
@std/log@0.224.14
@std/log@0.224.14がリリースされています。
@std/logの非推奨化について
このリリースでは実装などの変更は行われていませんが、ドキュメントの修正が行われています:
Deno本体でのOpenTelemetryサポートに合わせて、今後、@std/logは削除されることが検討されているようです。以下のissueで議論などが行われいます:
@std/cli@1.0.12
@std/cli@1.0.12がリリースされています。
@std/cli/unstable-spinner - 標準エラー出力のサポート
Spinnerにoutputオプションが追加されています。
このオプションにはデフォルト値としてDeno.stdoutが設定されており、任意でDeno.stderrを指定することによりスピナーを標準エラー出力へ表示できます。
@std/fmt@1.0.5
@std/fmt@1.0.5がリリースされています。
@std/fmt/printfと@std/fmt/colorsの併用
@std/fmt/printfを@std/fmt/colorsと併用すると、意図せぬ内容が出力される問題が修正されています (#6360)
@std/fs@1.0.11
@std/fs@1.0.11がリリースされています。
Node.js向けサポートの改善
@std/fsのNode.jsサポートの改善に向けて、以下のモジュールが追加されています:
@std/fs/unstable-read-link(readLink()/readLinkSync()が提供されます)@std/fs/unstable-link(link()/linkSync()が提供されます)@std/fs/unstable-real-path(realPath()/realPathSync()が提供されます)