#Change Log
Resolve issue of child classes containing Encrypted values not persisting correctly.
Made Twig extension an opt-out in config.
Check for null encrypted values on insert.
Fix command for bulk update/changes to the database.
Restore backward compatibility for 5.4.
Add AES-GCM-256 Encryptor
Add attribute support for #[Encrypted] attributes instead of @Encrypted annotations.
Add option to catch doctrine events from multiple connections.
Add encrypt and decrypt CLI commands.
Refactor for symfony flex and Symfony 6 recommended third party bundle structure.
Major backward compatibility breaking change to Symfony 6 and PHP 8.
- Remove logging and event dispatcher constructors
- Change constructor to allow passing of an optional encryptor class name.
Service definition was:
# Factory to create the encryptor/decryptor
SpecShaper\EncryptBundle\Encryptors\EncryptorFactory:
arguments: ['@logger', '@event_dispatcher']
tags:
- { name: monolog.logger, channel: app }
SpecShaper\EncryptBundle\Encryptors\EncryptorInterface:
factory: ['@SpecShaper\EncryptBundle\Encryptors\EncryptorFactory','createService']
arguments:
- '%spec_shaper_encrypt.method%'
- '%spec_shaper_encrypt.encrypt_key%'
Service definition becomes:
# Factory to create the encryptor/decryptor
SpecShaper\EncryptBundle\Encryptors\EncryptorFactory:
arguments: ['@event_dispatcher']
tags:
- { name: monolog.logger, channel: app }
# The encryptor service created by the factory according to the passed method and using the encrypt_key
SpecShaper\EncryptBundle\Encryptors\EncryptorInterface:
factory: ['@SpecShaper\EncryptBundle\Encryptors\EncryptorFactory','createService']
arguments:
$encryptKey: '%spec_shaper_encrypt.encrypt_key%'
$encryptorClass: '%spec_shaper_encrypt.encryptor_class%' #optional