- 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-kms
gem
- Fixed another argument error with Google Cloud KMS and Ruby 3
- Fixed argument error with Google Cloud KMS and Ruby 3
- Added
key_id
method
- Fixed
Version not active
error when switching keys
- Raise error when trying to rotate key used for encrypted files
- Fixed
SystemStackError
withreload
and 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_hash
method
Breaking changes
- There’s now a default encryption context with the model name and id
- ActiveSupport notifications were changed from
generate_data_key
anddecrypt_data_key
toencrypt
anddecrypt
- AWS KMS uses the
Encrypt
operation instead ofGenerateDataKey
- Added support for Vault
- Removed
KmsEncrypted.kms_client
andKmsEncrypted.client_options
in favor ofKmsEncrypted.aws_client
- Removed
KmsEncrypted::Google.kms_client
in favor ofKmsEncrypted.google_client
- Added support for Google KMS
- Added
kms_keys
method 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_context
method
- Use
KMS_KEY_ID
env variable by default
- Added key rotation
- Added support for multiple keys per record
- First release