- Added support for encryption-only test key
- Added
clientoption - Dropped support for Rails < 7.2
- Dropped support for Ruby < 3.2 and Rails < 7.1
- Dropped support for Ruby < 3.1 and Rails < 6.1
- Fixed deprecation warning with Active Support 7.1
- Added support for attr_encrypted 4
- Dropped support for Ruby < 3 and Rails < 6
- Dropped support for Ruby < 2.6 and Rails < 5.2
- Added support for
google-cloud-kmsgem
- Fixed another argument error with Google Cloud KMS and Ruby 3
- Fixed argument error with Google Cloud KMS and Ruby 3
- Added
key_idmethod
- Fixed
Version not activeerror when switching keys
- Raise error when trying to rotate key used for encrypted files
- Fixed
SystemStackErrorwithreloadand CarrierWave
- Added support for Lockbox
- Dropped support for Rails 4.2
- Added support for encryption and decryption outside models
- Added support for dynamic keys
- Fixed issue with inheritance
- Added versioning
- Added
context_hashmethod
Breaking changes
- There’s now a default encryption context with the model name and id
- ActiveSupport notifications were changed from
generate_data_keyanddecrypt_data_keytoencryptanddecrypt - AWS KMS uses the
Encryptoperation instead ofGenerateDataKey
- Added support for Vault
- Removed
KmsEncrypted.kms_clientandKmsEncrypted.client_optionsin favor ofKmsEncrypted.aws_client - Removed
KmsEncrypted::Google.kms_clientin favor ofKmsEncrypted.google_client
- Added support for Google KMS
- Added
kms_keysmethod to models - Reset data keys when record is reloaded
- Added
kms_client - Added ActiveSupport notifications
- Added test key
- Added
client_options - Allow private or protected
kms_encryption_contextmethod
- Use
KMS_KEY_IDenv variable by default
- Added key rotation
- Added support for multiple keys per record
- First release