Deno v1.29.0
Deno v1.29がリリースされました。
以下に変更内容をまとめたため、よろしければ参照ください。
deno_std v0.168.0
deno_std v0.168.0がリリースされました。
https://github.com/denoland/deno_std/releases/tag/0.168.0
std/archive
のファイル構成の変更
新しいファイルとしてstd/archive/untar.tsが追加されています。
これに伴い、std/archive/tar.tsからの下記の読み込みが非推奨化されています。
TarHeader
Untar
TarEntry
今後、これらのAPIを利用する際は、std/archive/untar.tsから読み込むことが推奨されます。
std/io
のファイル構成の変更
std/io
パッケージの下記ファイルが細分化されています。
具体的にはstd/fsなどのように、各APIがそれぞれ単独のファイルで提供されるように構造が変わっています。
例えば、std/io/readers.tsに配置されていたStringReader
は、今後はstd/io/string_reader.tsから読み込むことが推奨されます。
より詳しくは公式のブログ記事を参照いただければと思います。
std/dotenv
- config()
がload()
へリネーム
std/dotenv
で提供されているAPIがリネームされています。
リネーム前 | リネーム後 |
---|---|
config | load |
configSync | loadSync |
ConfigOptions | LoadOptions |
古い名前のAPIも削除されずに残されてはいますが、現在は非推奨化されているため、もし使用されている場合は新しい名前への移行が推奨されます。
std/node
の改善
std/node/http
のServerResponse
クラスでTransfer-Encoding: chunked
が意図通りに動作しない問題が修正されています。
また、Buffer.toString
によるUTF-8のデコードが大幅に高速化されています。
Elsaの開発について
Denoに影響を受けたJavaScript/TypeScriptランタイムであるElsaで、内部実装の書き換えが検討されているようです。
元々、ElsaはGoとQuickJSで実装されていました。
(まだ未確定ではありますが) 現在は下記のような変更が検討されているようです。
- 内部実装のRustへの置き換え
- V8/JavaScriptCore/QuickJSなどの様々なエンジンのサポート
- stcの採用
詳細については以下のTweetを参照ください。