> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/release-notes/jp/enterprise/keeper-secrets-manager/2026/ruby-sdk-17.2.0.md).

# Ruby SDK 17.2.0

### 更新内容 <a href="#updates" id="updates"></a>

* **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でデフォルト標準ライブラリから削除されました。

### リソース <a href="#resources" id="resources"></a>

* [RubyGemsパッケージ](https://rubygems.org/gems/keeper_secrets_manager/versions/17.2.0)
* [Ruby SDKに関するドキュメント](/keeperpam/jp/secrets-manager/developer-sdk-library/ruby-sdk.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/release-notes/jp/enterprise/keeper-secrets-manager/2026/ruby-sdk-17.2.0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
