For the complete documentation index, see llms.txt. This page is also available as Markdown.

Java SDK 17.3.0

Breaking changes

KeeperFile.url: Changed from String to String?. Callers treating url as non-null must now handle the nullable case; the server can omit this field and the previous behavior was an NPE crash.

KeeperRecordData.custom: Changed from MutableList<KeeperRecordField>? to non-null MutableList<KeeperRecordField>. Assigning null to this field no longer compiles. Use an empty list instead.

KEY_SERVER_PUBIC_KEY_ID deprecated: The misspelling published in 17.2.0 is replaced by KEY_SERVER_PUBLIC_KEY_ID. The old name is retained as a @Deprecated alias for source and bytecode compatibility; the stored config key ("serverPublicKeyId") is unchanged.

  • KSM-878 / KSM-1032: Added automatic throttle retry with exponential backoff. HTTP 403 throttle responses are retried up to 5 times (11s–176s, ±25% jitter); retry_after is honored. Raises KeeperThrottleException once retries are exhausted.

  • KSM-1008: Added typed KeeperRecordLink accessors (Python parity): permission booleans (allowsRotation, allowsConnections, etc. with allowedSettings fallback), credential flags, and accessors for AI/JIT settings and metadata.

  • KSM-902: Added custom server public key support via the serverPublicKey config field, a 4-segment one-time token, or SecretsManagerOptions. While a custom key is active, server rotation hints raise a clear error instead of silently overwriting it.

  • KSM-1026: SecretsManagerException is now a public open class; callers can catch SDK errors by type instead of catching bare Exception. KeeperThrottleException extends it and is also public.

  • KSM-1072: Added dbConnectionMethod field to PamSettingsConnection, matching the field available in other SDKs.

  • KSM-823: Fixed KeeperRecordData.custom being omitted from record create payloads when no custom fields were set; the field now defaults to an empty list.

  • KSM-854: Fixed a crash when downloading file metadata from records created by iOS, Android, or Web Vault clients; these clients omit lastModified, which was previously required by the deserializer.

  • KSM-753: Fixed shared folder records returning null fields; records encrypted with a folder key (created via Commander or PowerShell) were previously decrypted with the app key.

  • KSM-765: Fixed an NPE crash when a file's url field is absent; downloadFile() now throws a typed exception instead.

  • KSM-855: Fixed file descriptor leaks in LocalConfigStorage and connection leaks in downloadFile, uploadFile, and postFunction.

  • KSM-985: Fixed base64ToBytes("") and webSafe64ToBytes("") throwing an opaque NPE on empty input; both now raise SecretsManagerException naming the affected field.

  • KSM-1066 / KSM-1067: Fixed IL5 serverPublicKey not being persisted to LocalConfigStorage after initialization. Also fixed rotation hints from the server silently overwriting a configured custom key.

Links:

Last updated