- Fixed issue with serialized attributes
- Fixed error with
array
andhash
types and no default column serializer with Rails 7.1 - Fixed Action Text deserialization with Rails 7.1
- Added support for CarrierWave 3
- Made it easier to rotate master key
- Added
associated_data
option for database fields and files - Added
decimal
type - Added
encode_attributes
option - Fixed deprecation warnings with Rails 7.1
- Fixed error when migrating to
array
,hash
, andjson
types
- Fixed error when
StringIO
not loaded
- Added support for
insert
,insert_all
,insert_all!
,upsert
, andupsert_all
- Deprecated
encrypts
in favor ofhas_encrypted
to avoid conflicting with Active Record encryption - Deprecated
lockbox_encrypts
in favor ofhas_encrypted
- Fixed error with
pluck
- Restored warning for attributes with
default
option - Dropped support for Active Record < 5.2 and Ruby < 2.6
- Fixed issue with
encrypts
loading model schema early - Removed warning for attributes with
default
option
- Added warning for attributes with
default
option - Removed warning for Active Record 5.0 (still supported)
- Fixed
attribute?
method forboolean
andinteger
types
- Fixed issue with
pluck
extension not loading in some cases
- Fixed in place changes in callbacks
- Fixed
[]
method for encrypted attributes
- Fixed empty arrays and hashes
- Fixed content type for CarrierWave 2.2.1
- Added
inet
type - Fixed error when
lockbox
key in Rails credentials has a string value - Fixed deprecation warning with Active Record 6.1
- Added integration with Rails credentials
- Added warning for unsupported versions of Active Record
- Fixed in place changes for Active Record 6.1
- Fixed error with
content_type
method for CarrierWave < 2
- Added
encrypted
flag to Active Storage metadata - Added encrypted columns to
filter_attributes
- Improved
inspect
method
- Improved error messages for hybrid cryptography
- Changed warning to error when no attributes specified
- Fixed issue with
pluck
when migrating - Fixed error with
key_table
andkey_attribute
options withprevious_versions
- Added
key_table
andkey_attribute
options toprevious_versions
- Added
encrypted_attribute
option - Added support for encrypting empty string
- Improved
inspect
for models with encrypted attributes
- Added
key_table
andkey_attribute
options - Added warning when no attributes specified
- Fixed error when Active Support partially loaded
- Added
lockbox_options
method to encrypted CarrierWave uploaders - Improved attribute loading when no decryption key specified
- Added support for
update_column
andupdate_columns
- Improved error message for non-string values
- Fixed error with migrating Action Text
- Fixed error with migrating serialized attributes
- Added support for
pluck
- Improved error message for bad key length
- Fixed missing attribute error
- Added experimental support for migrating Active Storage files
- Fixed
metadata
support for Active Storage
- Added support for Action Text
- Added warning if unencrypted column exists and not migrating
- Load encrypted attributes when
attributes
called - Added support for migrating and rotating relations
- Removed deprecated
attached_encrypted
method - Removed legacy
attr_encrypted
encryptor
- Added Active Support notifications for Active Storage and Carrierwave
- Fixed content type detection for Active Storage and CarrierWave
- Fixed decryption with Active Storage 6 and
attachment.open
- Added
array
type - Fixed serialize error with
json
type - Fixed empty hash with
hash
type
- Fixed
migrating: true
withvalidate: false
- Fixed serialization when migrating certain column types
- Improved performance of
rotate
for attributes with blind indexes - Added warning when decrypting previous value fails
- Added
encode
option toLockbox::Encryptor
- Added support for
master_key
inprevious_versions
- Added
Lockbox.rotate
method - Improved performance of
migrate
method - Added generator for audits
- Fixed encoding for
encrypt_io
anddecrypt_io
in Ruby 2.7 - Fixed deprecation warnings in Ruby 2.7
- Added support for custom types
- Added support for virtual attributes
- Made many Mongoid methods consistent with unencrypted columns
- Made
was
andin_database
methods consistent with unencrypted columns before an update - Made
restore
methods restore ciphertext - Fixed virtual attribute being saved with
nil
for Mongoid - Changed
Lockbox
to module
- Made
model.attribute?
consistent with unencrypted columns - Added
decrypt_str
method - Improved fixtures for attributes with
type
option
- Added support for Mongoid
- Added
encrypt_io
anddecrypt_io
methods - Made it easier to rotate algorithms with master key
- Fixed error with migrate and default scope
- Fixed encryption with Active Storage 6 and
record.create!
- Added time type
- Added support for rotating padding with same key
- Fixed
OpenSSL::KDF
error on some platforms - Fixed UTF-8 error
- Fixed error with models that have attachments but no encrypted attachments
- Added support for types
- Added support for serialized attributes
- Added support for padding
- Added
encode
option for binary columns
- Added
encrypts
method for database fields - Added
encrypts_attached
method - Added
generate_key
method - Added support for XSalsa20
- Added support for hybrid cryptography
- Added support for database fields
- First release