Deno v2のリリースプランについて

Deno v2のリリースプランが公開されました。

10/12にDeno v1.15, 11/22にDeno v2がリリース予定とのことです

また、GitHub Discussionsにて、v2で実施予定の追加の変更点やDenoのエコシステムの拡大に関する議論内容などについて公開されています。

追加の変更点(今後、内容が変わる可能性があります!):


Deno v1.14.0

Deno v1.14.0がリリースされました。

TypeScript v4.4への更新、deno fmtdeno 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 fmtdeno lintの挙動を設定ファイルやCLIオプションで変更できるようになりました
  • ネイティブHTTPサーバ
    • Deno.upgradeWebSocketが安定化されました
    • Deno.upgradeWebSocket でUpgradeヘッダの大文字・小文字の違いを区別しないように修正されました
    • ネイティブHTTPサーバでリクエストボディが消費されなかった場合に発生するリソースリークが修正されました
  • FFI
    • Deno.FFIPermissionDescriptorDeno.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による凍結が実施されなくなりました
    • postMessagetransfer引数で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 test
    • --ignoreオプションがサポートされました
    • 全テストケースの終了時に、未解決のPromiseやopが存在する場合でもプロセスが終了するように変更されました
  • 新規API
    • (unstable) URLPattern がサポートされました
    • (unstable) Deno.runuidgidの指定がサポートされました
    • (unstable) ファイルのロックAPIが実装されました (Deno.flock/flockSync/funlock/funlockSync)
  • その他
    • 内部のTypeScriptが4.4に更新されました
    • Deno.createHttpClient でクライアント証明書を指定できるようになりました
    • console.table で数値のみを含む列が右寄せで表示されるように修正されました
    • --watchオプション使用時に、再起動前にunloadイベントが発火しない問題が修正されました
    • DENO_AUTH_TOKENS環境変数でBASIC認証がサポートされました
    • DOMExceptionが出力される際のフォーマットが改善されました
    • DiagnosticMessageChainmessageプロパティが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にジェネレータを渡した場合、返却されたReadableStreamcancelメソッドが呼ばれた際に、ジェネレータの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上にドキュメントサイトを構築するためのモジュールです。


https://github.com/kawarimidoll/deno-diplodocus