Deno v2.4.1
Deno v2.4.1がリリースされています。
Tunnelling
deno run
に--connected
オプションが追加されています (#30022)。 おそらくDeno Deploy Early Accessに関連した機能であると思われます。
deno run
に--connected
オプションもしくはDENO_CONNECTED
環境変数が指定されると、まずDenoは指定されたQUICのエンドポイントへ自動的に接続を開始します。デフォルトではtunnel.global.prod.deno-cluster.net:443
へ接続されるようです (deno_tunnelというリポジトリが公開されており、おそらくこれが利用されていると思われます)
その後、このDenoプロセス内でDeno.serve()
が呼ばれると、Denoは起動時に接続されたQUICコネクションからリクエストを待ち受けるよう挙動が変更されるようです。
QUICエンドポイントへの認証については、deno deploy tunnel-login
コマンドによって取得したトークンを使用して認証が行われるようです (トークンはkeyring-rsを使用して保存されるようです)。また、この際にdeno.json
のdeploy
フィールドに設定情報が保存されるようです (org
, app
)
OpenTelemetry
vsockトランスポート
OTEL_DENO_VSOCK
環境変数がサポートされています (#30001)
この環境変数にカンマ区切りでCIDとポートを設定しておくと、指定されたvsock向けに Signals が送信されるようです。
Deno v2.3.5での対応のロールバック
Deno v2.3.5で実施された、シグナル受信時にバッファリングされていた Signals をフラッシュする対応が Revert されています (#30019)
プロセスが意図せず終了しなくなってしまう問題が発生することがあるようで、それを回避することが目的のようです (#29590)
deno bundle
のバグ修正
deno bundle
に関するバグ修正が実施されています:
- ブラウザー向けのバンドル (
--platform browser
) がブラウザーでうまく動作しない問題が修正されています (#30023) --minify
が適用された場合にrequire()
が適切に動作するよう修正されています (#29997)- npmパッケージ中のsloppy importsが適切に解決されるよう改善されています (#29989)
deno serve
- Import mapsによるエントリーポイントの解決がサポート
Deno v2.4でdeno run
コマンドに導入されたImport mapsによるエントリーポイントの解決がdeno serve
コマンドでも動作するよう改善されています (#29974)
--unstable-raw-imports
- npmパッケージに関する挙動の変更
npmパッケージ中にtype: "text"
もしくはtype: "bytes"
形式のimport
が検出された場合、--allow-read
を要求するように挙動が変更されています (#29990)
Node-API
Deno v2.3.7で実施されたnapi_add_finalizer()
への改善が Revert されています (#30018)
drizzle-kit
などの一部パッケージでプロセスがパニックしてしまう問題があったようで、一時的に変更を取りやめることが決定されたようです。
deployd
: Self-Hosted Deno Deploy
Denoの公式からdeployd
というリポジトリが公開されています:
現時点ではリポジトリにはREADME.md
のみが存在する状態ですが、これはDeno Deployをセルフホストすることを目的としたもののようで、Dockerコンテナーの起動方法などが記載されています。
以前に公開されていたDeno Deploy NextGenについては、現在ではリポジトリが削除されており、今後はdeployd
のリポジトリなどを参照すると良さそうです。
Deno Deploy Cloud Connections
Deno Deploy Early Accessに関するChangelogが更新されています。
Cloud Connections という機能が追加されているようで、Deno DeployからAWSやGCPのリソースへのアクセスを安全かつ容易に行えるようにすることを目的とした機能のようです。以下のページで公式ドキュメントが公開されています: