- EOL Ruby and Rails no longer supported #29
- Requires Ruby 3.0.0 or newer.
- Requires Rails 6.1.0 or newer.
- Support rails 7.0.0 #25
- Support rails 7.1.0 #31
- Migrate CI from travis.ci to GitHub Action. #27
- In Rails 7.0,
ActiveRecordEncryption
do not change encoding for backward compatibility.
- In Rails 7.0,
- Support rails 6.1.0 #22
- Ensure casting only when Rails less than 6.0 #21
- Fix Ruby 2.7 keyword arguments warnings #20
- Fixes #13 Add
:cipher
option toactive_support
encryptor to change cipher.
- Find custom encryptor by
:encryption
optionsencrypted_attribute(:field, :type, encryption: { encryptor: :active_support })
- Register your encryption
ActiveRecordEncryption::Type.register
- Lookup your encryption
ActiveRecordEncryption::Type.lookup
- Add
ActiveRecordEncryption.default_encryptor
- Buildin some encryption
- ActiveSupport
encrypted_attribute(:field, :type, encryption: { encryptor: :active_support, key: ENV['KEY'], salt: ENV['SALT'] })
- AES-256-CBC
encrypted_attribute(:field, :type, encryption: { encryptor: :aes_256_cbc, key: ENV['KEY'] })
- ActiveSupport
ActiveRecordEncryption::Type#change_in_place?
Compare old value with new value.ActiveRecordEncryption::Type#cast
supports TimeWithZone
- Remove
ActiveRecordEncryption.with_cipher
- Remove
ActiveRecordEncryption.cipher
- Now, base class of Encryption is
ActiveRecordEncryption::Encryptor::Base
- #1 Support only binary column
- First release