Ruby SDK 17.2.0
2026年7月21日リリース
更新内容
KSM-883: 指数バックオフによるスロットリング時の自動リトライ機能を追加。HTTP 403
{"error":"throttled"}応答を最大5回まで再試行します (11秒、22秒、44秒、88秒、176秒 ±25%のジッター付き)。応答にretry_afterが含まれる場合はその値を優先します。再試行回数を超えた場合はThrottledErrorを送出します。呼び出し側でのコード変更は不要です。KSM-906: IL5環境向けのカスタムサーバー公開鍵対応を追加。
SecretsManagerは4要素形式のIL5:clientKey:serverPublicKeyId:serverPublicKeyワンタイムトークンを受け付け、指定されたEC P-256鍵を伝送鍵のラッピング用に登録し、再起動後も保持します。IL5:プレフィックス付きトークンはil5.keepersecurity.usに接続します。コンストラクターオプションserver_public_key/server_public_key_idを追加 (優先順位はから指定した値、トークン、設定ファイルの順)。KSM-1013: 型付きアクセサクラス
KeeperRecordLinkとKeeperRecord#get_linksを追加。各リンクは、allowedSettingsをフォールバックとする権限のブール値 (トップレベルを優先)、get_decrypted_data/get_link_dataによるAES-256-GCM復号、およびmeta/ai_settings/jit_settings設定アクセサを公開します。いずれのアクセサも例外を送出しません。get_secretsにrequest_links:キーワード引数を追加。既存機能への追加のみで、生のrecord.linksリストは変更されません。KSM-687: DTOフィールドおよびPAMトランザクション対応を追加。
complete_transaction(record_uid, rollback: false)、UpdateOptions、update_secret_with_options、download_thumbnail、KeeperRecord上のis_editable/inner_folder_uid/links、KeeperFile上のthumbnail_url/last_modified、SecretsManagerResponse上のexpires_onを追加。他のSDKと同等の機能構成になりました。KSM-692: HTTPプロキシ対応を追加。初期化時に
proxy_url:を指定するか、環境変数HTTPS_PROXY/https_proxyを設定できます。認証付きプロキシにも対応。すべてのHTTP通信に適用されます。KSM-686: 暗号化されたファイルベースのAPI応答キャッシュ (災害復旧用途) 向けに
CachingPostFunctionおよびCacheを追加。キャッシュの保存場所はKSM_CACHE_DIRで設定可能です。KSM-694: ディスクからレコードへの直接ファイルアップロード用に
upload_file_from_path(owner_record_uid, file_path, file_title: nil)を追加。また、エラー時に例外を送出せず空の配列を返す、安全なノーテーションアクセス用にtry_get_notation(notation_uri)を追加。KSM-743: Gov Cloud Dev環境向けに伝送鍵#18を追加。
KSM-1099: 事前取得済みのフォルダ情報を渡すことで、追加の
get_foldersネットワーク呼び出しを省略できるcreate_secret_with_options(create_options, record_data, folders: nil)を追加。create_secretは後方互換性を維持したラッパーとして引き続き利用できます。KSM-1100: 常にすべてのフィールド値を含む
Array[String]を返す (先頭要素のみを返す仕様ではありません)、リスト返却型のノーテーション検索get_notation_results/try_get_notation_resultsを追加。複合型はJSON形式へシリアライズします。try_get_notation_resultsは例外を送出せず、エラー時は[]を返します。KSM-1101: フィールド参照の解決用に
inflate_field_value(uids, replace_fields)/get_inflate_ref_types(field_type)を追加。addressRefは住所フィールド、cardRefは支払いカード・テキスト・PINコード・住所フィールドを再帰的に展開します。KSM-1102:
save(record, transaction_type: nil, links_to_remove: nil)/save_with_options(record, update_options)を追加。保存済みのレコードキーを使用して再取得せずに更新を行い、complete_transactionは呼び出しません。save(record, transaction_type: 'rotation')を使用すると、PAMローテーションを保留状態で保存し、後からトランザクションを完了できます。KSM-1070:
decrypt_aes_gcmにおける暗黙のAES-CBCフォールバックを削除。認証タグの検証失敗時は直ちにDecryptionErrorを送出します。これまで不正な暗号文や誤った鍵でもエラーなく復号結果が返る場合がありましたが、その動作を改善しました。KSM-1088:
delete_secretおよびdelete_folderで、responseCodeが"ok"でない各項目についてエラーをログ出力するよう改善。これまで表示されなかった部分的な失敗を確認できます。KSM-987:
url_safe_str_to_bytesおよびbase64_to_bytesにnilが渡された場合、不可解な標準ライブラリのエラーではなく、対象フィールド名を示すErrorを送出するよう改善。core.rb内のすべてのBase64デコードはUtils経由で行われます。KSM-824:
KeeperRecord#to_hは、カスタムフィールド未設定時でもV3 APIペイロードに"custom": []を常に含めるようになり、コマンダーおよびボルトと同様の動作になりました。KSM-685: 作成ペイロードに
CreateOptions.subfolder_uidが送信されない不具合を修正。KSM-734: 同一のレコードUIDがオリジナルレコードとショートカットの両方として存在する場合に、Notationの参照で曖昧性エラーが発生する不具合を修正。
KSM-696: SDKが作成する設定ファイルのUnix環境で
0600パーミッション (所有者のみ読み取り・書き込み可能) を変更しました。KSM-1090:
base64およびloggerを実行時のgemspec依存関係として明示的に宣言。いずれもRuby 4.0でデフォルト標準ライブラリから削除されました。
リソース
最終更新

