Deno v1.36.4
Deno v1.36.4がリリースされました。
Deno KV
Deno KVでデータベースへのリモート接続がサポートされました。これにより、ローカルからDeno Deploy上のDeno KVデータベースへ接続ができるようになったようです。
Deno.openKvにhttp:/https:形式のURLを与えると、従来までのSQLiteベースのバックエンドは使用されず、代わりにHTTP経由でデータベースへリモート接続されます。
このリモート接続機能はDeno Deployに限らず、KV Connectというプロトコルさえ実装されていれば、任意のデータベースへ接続が可能なようです。
また、この機能を利用するには、以下の設定が必要なようです:
--allow-envとallow-netオプションDENO_KV_ACCESS_TOKEN環境変数 (Deno Deployで発行した認証用アクセストークン)
KV Connectプロトコルについて:
以下のページなどにドキュメントが存在します。
deno lsp
suggest.completeFunctionCallsオプションが実装:
このオプションにtrueを設定すると、関数の引数と括弧()が入力補完されます。
vscode-denoでは"deno.suggest.completeFunctionCalls": trueオプションで有効化できるようです。
{
  // ...
  "deno.suggest.completeFunctionCalls": true
}
テストエクスプローラーに関するバグ修正:
- TestContext.stepを使っていると、vscodeのテストエクスプローラー経由でテストを実行した際に、LSPがパニックしてしまう問題が修正されました。
 - テストエクスプローラーからテストを実行する際に、対象テストファイルからは
importしていないファイルも実行されてしまう問題が修正されました。 
deno_std v0.201.0
deno_std v0.201.0がリリースされました。
std/dotenv - パーミッションに関する改善
std/dotenvでパーミッションをより厳格に設定できるように実装が改善されました。
変数展開やexportオプションを使用しない場合、--allow-envオプションの指定が不要になります。
また、変数展開やexportオプションを使用する場合のパーミッションの取り扱いも改善されています。具体的には、以下のような.envファイルを読み込む場合、--allow-env=BAZの指定のみで動作します。(今までは--allow-envによって全ての環境変数の読み込みを許可する必要がありました。)
FOO=bar
HOGE=piyo${BAZ}
これらの変更に合わせて、restrictEnvAccessToオプションが非推奨化されています。
std/urlが追加
新規モジュールとしてstd/urlが追加されました。
URLに関する様々なユーティリティが提供されています。
import { dirname } from "https://deno.land/std@0.201.0/url/dirname.ts";
const url = dirname("https://example.com/foo/bar");
console.info(url.href); // => "https://example.com/foo"
std/semver - 非推奨APIの削除 (破壊的変更)
std/semverから非推奨化されていたAPIが削除されています。
具体的には、以下のAPIが削除されています:
valid/satisfies/minVersion/maxVersion/major/minor/patch/prerelease/toComparators/validRange/intersects
また、以下の各関数で文字列引数を受け取る形式とincludePrereleaseオプションが削除されています。(今後は文字列ではなくSemVerオブジェクトを渡す必要あるようです):
cmp/compare/compareBuild/difference/eq/gt/gte/gtr/increment/lt/lte/ltr/maxSatisfying/minSatisfying/neq/outside/rcompare/rsort/sort
それ以外には、parseのincludePrereleaseオプションが削除されています。
使用率の低いモジュール/APIの非推奨化 (破壊的変更)
以下のモジュールとAPIが非推奨化されました。
- std/crypto/crypto.tsの
crypto.subtle.timingSafeEqual - std/bytes/bytes_list.ts
 - std/encoding/binary.ts
 - std/permissions
 - std/signal
 
std/yaml - バイナリ型の取り扱いが変更 (破壊的変更)
バイナリ型(!!binary "..BASE64..")がBufferではなくUint8Arrayとしてパース/シリアライズされるように挙動が変更されています。
std/fmt/colors.ts - stripColorがstripAnsiCodeにリネーム (破壊的変更)
リネーム前のstripColorについては非推奨化されており、v1で削除される予定のようです。
std/streams/readable_stream_from_iterable.tsが削除 (破壊的変更)
今後はReadableStream.fromの使用が推奨されます。
std/log - RotatingFileHandler#setupが同期的に動作するように修正
RotatingFileHandlerのsetupメソッドの戻り値がPromiseからundefinedに変更されました。
背景としては、FileHandlerなどの他のハンドラーはsetupが同期的に動作するにも関わらず、RotatingFileHandlerのみそうではなかったため、一貫性の向上のため実施されたようです。
deno_kv_oauth v0.6.0
deno_kv_oauth v0.6.0がリリースされています。
freshプラグインが実装されているようです。