Deno v1.21.1
Deno v1.21.1がリリースされました。
ネイティブHTTPサーバ(Deno.serveHttp)の変更点
Deno v1.20でレスポンスボディの自動的な圧縮がサポートされました。
このリリースでは、レスポンスボディにReadableStreamが指定された際の圧縮がサポートされています。
その他にもいくつかのパフォーマンス改善が実施されています。
deno taskで引数に--を指定した際の挙動が変更
例えば、deno.jsonで次のようなタスクが定義されていたとします。
{
"tasks": {
"test": "deno test --allow-read"
}
}
例えば、下記のように--を指定してタスクを実行したとします。
$ deno task test -- some-test.js
この場合、v1.21.0時点では次のようにコマンドが実行されていました。
$ deno test --allow-read "some-test.js"
今回リリースされたv1.21.1では、次のように変更されています。
$ deno test --allow-read "--" "some-test.js"
Deno.inspectの変更点
strAbbreviateSizeオプションが追加されました。- 文字列がこのオプションで指定された長さを超えると省略して表示されます。
- デフォルト値は
100です。
compact: falseが指定された際であっても、空のIterableオブジェクトはコンパクト化して表示するように修正されています。
deno benchの変更点
deno benchで2つ以上のファイルを実行した際に、前のファイルのベンチマーク結果が次のファイルに影響を与えてしまう問題が修正されました。
この問題は、例えば、1つ目のベンチマークファイルでグルーピング(groupオプション)を利用しているが、2つ目のベンチマークファイルではグルーピングを利用していないようなケースで発生していたようです。
その他にも、Exit sanitizerによるオーバーヘッドの削減が実施されています。
deno testの変更点
Deno v1.21でテストケースの実行時にログに出力された内容がキャプチャされるように改善されました。
このリリースでは、Deno.spawn()などでstdoutやstderrオプションに"inherit"を指定した際に、サブプロセスの出力内容もキャプチャされるように改善されています。
他にも、Workerの出力内容もキャプチャするように改善されています。
その他の変更点
Deno.spawn(Sync)でstdinなどのオプションに"piped"を指定した際にエラーを発生させるよう修正されました。Worker.terminateが呼び出し元のスレッドをブロックしないように修正されました (https://github.com/denoland/deno/issues/13705)
https://github.com/denoland/deno/releases/tag/v1.21.1
deno_std v0.137.0
deno_std v0.137.0がリリースされました。
testing/mock
stub()やspy()の使用時に、対象オブジェクトのメソッドの型が自動で推論されるように修正されました。(型定義の修正のみで挙動には影響はありません)
http/server
serve()やserveTls()によるサーバの起動時に、Listen中のアドレスがログに出力されるように変更されました。 (ログを無効化したいときはserveListenerなどのAPIを使う必要があります)
wasi
Contextのコンストラクタ引数がオプショナルに変更されました。
node
deno repl --compatを指定してREPLを起動した際に、crypto.randomBytesなどを実行するとエラーが発生する問題が修正されました。 (--compatを指定すると、cryptoがWeb Crypto APIのCryptoオブジェクトではなく、deno_std/node/cryptoパッケージを参照してしまうのが原因のようです)
https://github.com/denoland/deno_std/pull/2165
Aleph.js v1.0.0-alpha.28
Aleph.js v1.0.0-alpha.28がリリースされました。
buildコマンドを実行した際に、esbuildを使用してモジュールがバンドルされるようになりました。
これによりAleph.jsのデモサイトでLighthouseの全スコアが100点になったようです。
https://github.com/alephjs/aleph.js/releases/tag/1.0.0-alpha.28
deno.landにShowcaseページが追加
DenoのホームページにShowcaseページが追加されています。
このページにはDeno製のプロダクトなどが掲載されています。
deno-opn v2
deno-opn v2.0.0がリリースされています。
opn()がopen()、appオプションがwithにそれぞれリネームされています。
https://github.com/hashrock/deno-opn/releases/tag/v2.0.0
Ruck
RuckというReactベースのフレームワークが公開されています。
コンポーネントレベルでのデータ読み込みやカスタムのルーティングロジックのサポートなど、既存のフレームワークでは解決が難しい問題の解消などを目指しているようです。