May 2026
SDK and Integration Updates for May 2026
Oracle KMS Python Storage v1.1.0
Breaking changes
Python minimum version: Raised from 3.6 to 3.9. Pin to
keeper-secrets-manager-storage-oracle-kms<1.1.0to stay on Python 3.6–3.8.Core SDK minimum version: Raised from 16.6.6 to 17.2.1.
KSM-955 — decrypt_config() autosave default: Changed from
TruetoFalse. Callingdecrypt_config()without arguments no longer writes plaintext credentials to disk. Passautosave=Trueexplicitly to preserve the previous behavior.
KSM-954: Fixed AES-GCM nonce from 128-bit to 96-bit per NIST SP 800-38D. Existing encrypted blobs remain readable.
KSM-954: Replaced MD5 with SHA-256 for config change detection.
KSM-950: Initialization with a service account missing required KMS permissions no longer silently proceeds with the config file left unencrypted on disk.
KSM-951: KMS errors no longer silently swallowed. Network failures and permission denials now propagate as exceptions.
KSM-952:
delete_all()no longer leaves the credential file on disk when KMS is unavailable.KSM-953:
set()no longer silently swallowsPermissionErroron read-only config files.KSM-955:
read_storage()now returns a copy of the config dict instead of a live reference.KSM-956:
OracleKeyValueStorageis now thread-safe for concurrent reads and writes.KSM-957:
load_config()no longer leavesself.config = Noneafter bootstrapping from an empty config. Subsequentget/set/deletecalls no longer crash withTypeError.
Security updates
KSM-834:
cryptographyupgraded to ≥46.0.5, fixing CVE-2026-26007 (ECDH subgroup attack on SECT curves, HIGH CVSS 8.2).urllib3upgraded to 2.6.3,requeststo 2.32.4.
Links:
GCP KMS Python Storage v1.1.0
Breaking changes
Python minimum version: Raised from 3.6 to 3.9. Pin to
keeper-secrets-manager-storage-gcp-kms<1.1.0to stay on Python 3.6–3.8.Core SDK minimum version: Raised from 16.6.6 to 17.2.1.
KSM-944 — decrypt_config() autosave default: Changed from
TruetoFalse. Callingdecrypt_config()without arguments no longer writes plaintext credentials to disk. Passautosave=Trueexplicitly to preserve the previous behavior.
KSM-943: Fixed AES-GCM nonce from 128-bit to 96-bit per NIST SP 800-38D; existing encrypted blobs remain readable.
KSM-943: Replaced MD5 with SHA-256 for config change detection.
KSM-938: Initialization with a service account missing
cloudkms.cryptoKeys.getno longer silently proceeds with the config file left unencrypted on disk.KSM-939: KMS errors no longer silently swallowed. Network failures and permission denials now propagate as exceptions.
KSM-940:
delete_all()no longer leaves the credential file on disk when KMS is unavailable.KSM-941:
set()no longer silently swallowsPermissionErroron read-only config files.KSM-942:
change_key()no longer returnsTruewhen re-encryption fails; state rolls back cleanly.KSM-944:
read_storage()now returns a copy of the config dict instead of a live reference.KSM-945: Symmetric decrypt no longer fails when called with a versioned key URI. The GCP API requires the unversioned key name for symmetric operations.
KSM-946:
GCPKeyValueStorageis now thread-safe for concurrent reads and writes.
Security updates
KSM-764:
protobufupgraded to ≥6.33.5, fixing CVE-2026-0994 (JSON recursion DoS, HIGH CVSS 8.2).google-cloud-kmsupgraded to 3.13.0 for protobuf 6 compatibility.KSM-833:
cryptographyupgraded to ≥46.0.5, fixing CVE-2026-26007 (ECDH subgroup attack on SECT curves, HIGH CVSS 8.2).urllib3upgraded to 2.6.3,requeststo 2.32.4,pyasn1to 0.6.2.
Links:
Rust SDK 17.2.0
Breaking changes
get_folders()no longer consumes theSecretsManagerinstance — the signature is now&mut self. If you added.clone()as a workaround, you can safely remove it.
CustomPostFunctionis now thread-safe — the type alias is nowArc<dyn Fn(...) + Send + Sync>. Most call sites will compile without changes; if you're storing the type alias directly, wrap your function withArc::new(...).
Bug Fixes
KSM-886: File and thumbnail downloads no longer fail inside async runtimes — resolved a "builder error" that occurred when downloads were called from within a tokio runtime.
Security updates
reqwest 0.12 → 0.13.3 (KSM-922): Resolves four
rustls-webpkiadvisories; TLS backend migrated toaws-lc-rs, the required foundation for FIPS 140-3 support.openssl 0.10.75 → 0.10.78: Resolves CVE-2026-41676, CVE-2026-41677, CVE-2026-41678, CVE-2026-41681 (CVSS 9.1–9.8, Critical).
Links:
Last updated

