Deno v2.1.8/v2.1.9
Deno v2.1.8とv2.1.9がリリースされています。
OpenTelemetry
HTTPSエンドポイントのサポート
HTTPSエンドポイントへのSignalsの送信がサポートされています (#27743)
以下の環境変数によって設定が可能です:
OTEL_EXPORTER_OTLP_CERTIFICATE
OTEL_EXPORTER_OTLP_CLIENT_KEY
OTEL_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()
が提供されます)