Deno v1.13.0

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

大きな変更点として、ネイティブHTTPサーバ(Deno.serveHttp)の安定化やTLS関連の機能の強化、プラグインシステムの廃止やFFIの導入などが行われています。

また、このリリースに合わせて、magurotunaさんによる日本語の紹介記事も公開されています:

変更点:

  • Deno.serveHttpが安定化されました
  • Deno.upgradeWebSocketで返却されるオブジェクトのwebsocketプロパティがsocketにリネームされました
  • Deno.upgradeWebSocketで返却されたWebSocketオブジェクトのcloseメソッドを呼ぶ際に、任意のコードを指定できるようになりました
  • WebSocketStreamが実装されました (unstable)
  • プラグインシステムが削除され、代わりにFFIが導入されました (unstable)
  • --unsafely-treat-insecure-origin-as-secureオプションがサポートされ、TLS証明書の検証を無効化できるようになりました
  • Deno.connectTlsでクライアント認証用の証明書と秘密鍵を渡せるようになりました
  • DENO_TLS_CA_STORE環境変数が導入され、TLS接続時にシステムの証明書ストアを使用できるようになりました
  • Deno.runclearEnvオプションがサポートされ、子プロセスの環境変数をクリアできるようになりました (unstable)
  • Deno.writeFileAbortSignalがサポートされ、書き込みを中断できるようになりました
  • Deno.permissions配下のAPIが引数としてURLオブジェクトをサポートしました
  • Deno.systemCpuInfoが削除され、代わりにnavigator.hardwareConcurrencyがサポートされました
  • Deno.errors配下の各エラーがErrorクラスを継承するように修正されました
  • SubtleCrypto#importKey/exportKeyが実装されました(HMACキーのみサポート)
  • SubtleCrypto#verifyでHMACキーがサポートされました
  • --locationが指定された場合は、fetchでHTTPリクエストを送信する際にOriginヘッダが設定されるようになりました
  • deno test --docでMarkdownファイル内のtsコードブロックの型チェックがサポートされました
  • structuredCloneが実装されました
  • initializeリクエスト発生時にinitializationOptions.cacheを指定することで、deno lspがDENO_DIRとして認識するディレクトリを指定できるようになりました
  • deno lspでリファクタリングコードアクションがサポートされました
  • —evalオプションがサポートされ、REPL起動時に指定したコードを実行できるようになりました
  • REPLがコードに含まれるexport宣言を無視されるようになりました
  • Import mapsでWindows形式のファイルパスがサポートされました
  • deno docコマンドで不正なURLを指定するとプロセスがパニックする問題が修正されました

deno_std v0.104.0

deno_stdのv0.104.0がリリースされました。

新機能としてcryptoモジュールの追加やcollectionsモジュールのさらなる拡張などが行われています。

また、assertThrows/assertThrowsAsyncのシグネチャの変更やassertThrowsAsyncの非推奨化も実施されています。

変更点:

  • 標準のCrypto/SubtleCryptoを拡張することを目的としてcryptoモジュールが追加されました
  • collections: deepMerge, mapNotNullish, findLastIndex, sumOf, associateBy, 及びsortBy関数が実装されました
  • testing: assertThrowsの戻り値がErrorからvoidに変更されました
  • testing: assertThrowsAsyncの戻り値がPromise<Error>からPromise<void>に変更されました
  • testing: assertRejectsが追加され、代わりにassertThrowsAsyncが非推奨化されました
  • http/file_server: If-Modified-Sinceヘッダに応じて304を返却するようになりました
  • node: assert/strict, path/posix, path/win32, fs/promises, stream/promises, timers/promises, util/types, 及びperf_hooksモジュールが追加されました
  • async: deadlineに渡したPromiseがすでにrejectされていた場合、プロセスがクラッシュする問題が修正されました

esm.sh v44

esm.shのv44がリリースされました。

変更点:


https://github.com/postui/esm.sh/releases/tag/v44