Deno v2のリリースプランについて
Deno v2のリリースプランが公開されました。
10/12にDeno v1.15, 11/22にDeno v2がリリース予定とのことです
また、GitHub Discussionsにて、v2で実施予定の追加の変更点やDenoのエコシステムの拡大に関する議論内容などについて公開されています。
追加の変更点(今後、内容が変わる可能性があります!):
- NotCapableエラーの導入
- DenoのパーミッションエラーとOSによって発生したパーミッションエラーを区別できるようにすることが目的のようです
- Deno.read()のDeno.write()などの削除
- Import AssertionsとJSON Modules
- opメトリクスのリファクタリング/整頓
Deno v1.14.0
Deno v1.14.0がリリースされました。
TypeScript v4.4への更新、deno fmt
やdeno lint
で設定ファイルがサポート、Web Crypto APIの強化、Deno.upgradeWebSocket
の安定化、URLPatternの実装、シグナルAPI(unstable)への破壊的変更などが実施されています。
また、magurotunaさんによる日本語の紹介記事が公開されています(https://zenn.dev/magurotuna/articles/deno-release-note-1-14-0)
変更点:
deno fmt
/deno lint
deno fmt
でJSDocコメントへの基本的なサポートが追加されましたdeno fmt
とdeno lint
の挙動を設定ファイルやCLIオプションで変更できるようになりました
- ネイティブHTTPサーバ
Deno.upgradeWebSocket
が安定化されましたDeno.upgradeWebSocket
でUpgradeヘッダの大文字・小文字の違いを区別しないように修正されました- ネイティブHTTPサーバでリクエストボディが消費されなかった場合に発生するリソースリークが修正されました
- FFI
Deno.FFIPermissionDescriptor
がDeno.FfiPermissionDescriptor
にリネームされました (破壊的変更)Deno.dlopen
の引数としてURL
オブジェクトがサポートされました
- Web Crypto API
SubtleCrypto#generateKey
でAESキーの生成がサポートされましたSubtleCrypto#exportKey
でRSAキーをPKCS #8形式でエクスポートできるようになりましたSubtleCrypto#generateKey
でECDHがサポートされましたSubtleCrypto#importKey/deriveBits
でHKDFとPBKDF2がサポートされましたSubtleCrypto#encrypt/decrypt/generateKey
でRSA-OAEPがサポートされましたSubtleCrypto#importKey
でRSAキーをPKCS #8フォーマットでインポートできるようになりましたSubtleCrypto#importKey
でJWK形式のHMACキーのインポートがサポートされましたSubtleCrypto#exportKey
でHMACキーをJWK形式でエクスポートできるようになりましたSubtleCrypto.verify
でECDSAがサポートされました
- Worker
- Worker内でDeno名前空間がconfigurableに変更されました
- Worker内でDeno名前空間の
Object.freeze
による凍結が実施されなくなりました postMessage
のtransfer
引数でArrayBuffer
を指定した場合、それがコピーされずにWorkerに転送されるようになりましたself.close
によってWorkerが閉じられると、それよりも前に送信されたメッセージが親のワーカーに送信されない問題が修正されました
- シグナルAPI
- Deno.SignalがenumからUnion型に変更されました (破壊的変更) それに合わせて、
Deno.Process#kill
の引数がnumber
型からstring
型へ変更されています Deno.signals
が削除されました (破壊的変更)Deno.kill
の第2引数(signal
パラメータ)がnumber
型からDeno.Signal
型へ変更されました (破壊的変更)- Windows上でシグナルAPIを使用した際に、プロセスをパニックさせずにエラーを返却するように修正されました
- Deno.SignalがenumからUnion型に変更されました (破壊的変更) それに合わせて、
deno test
--ignore
オプションがサポートされました- 全テストケースの終了時に、未解決の
Promise
やopが存在する場合でもプロセスが終了するように変更されました
- 新規API
- (unstable)
URLPattern
がサポートされました - (unstable)
Deno.run
でuid
やgid
の指定がサポートされました - (unstable) ファイルのロックAPIが実装されました (
Deno.flock/flockSync/funlock/funlockSync
)
- (unstable)
- その他
- 内部のTypeScriptが4.4に更新されました
Deno.createHttpClient
でクライアント証明書を指定できるようになりましたconsole.table
で数値のみを含む列が右寄せで表示されるように修正されました--watch
オプション使用時に、再起動前にunload
イベントが発火しない問題が修正されましたDENO_AUTH_TOKENS
環境変数でBASIC認証がサポートされましたDOMException
が出力される際のフォーマットが改善されましたDiagnosticMessageChain
のmessage
プロパティがmessageText
にリネームされましたFileReader
のWeb標準との互換性が向上しました- Import mapsを使用している際に、import節で指定されたURLにクエリ文字列などが含まれていると、それがパーセントエンコードされてしまう問題が修正されました
Deno.permissions.request
の使用時に、プロンプトを表示する前にstdinの内容がクリアされるように修正されました
deno_std v0.107.0
deno_std v0.107.0がリリースされました。
collectionsモジュールへの機能の追加やhttp/cookieモジュールへの破壊的変更などが実施されています。
変更点:
http/cookie
: 各関数が引数としてHeaders
オブジェクトを受け取るように変更されました (破壊的変更)collections
:findSingle
/runningReduce
/sample
/dropWhile
/maxWith
/minWith
/reduceGroups
/slidingWindows
が実装されましたcollections/includesValue
: prototypeに設定されたプロパティを対象外とするように修正されましたio/streams
:readableStreamFromIterable
にジェネレータを渡した場合、返却されたReadableStream
のcancel
メソッドが呼ばれた際に、ジェネレータのthrow
メソッドを呼ぶように修正されましたencoding/yaml
: セキュリティのため、!!js/function
による関数のパースが無効化されましたsignal
: Deno v1.14のシグナルAPIの変更に合わせた修正が実施されました
Aleph.js v0.3.0-beta.15
Aleph.js v0.3.0-beta.15がリリースされました。
json-loaderプラグインが追加されています (DenoでJSON Modulesがサポートされたら削除される予定のようです)
https://github.com/alephjs/aleph.js/releases/tag/v0.3.0-beta.15
packup v0.1.0
packup v0.1.0がリリースされました。
Sassの基本的なサポートが追加されています。
https://github.com/kt3k/packup/releases/tag/v0.1.0
deno-diplodocus
deno-diplodocusはDeno Deploy上にドキュメントサイトを構築するためのモジュールです。