Skip to content

Use defuse/php-encryption as the default encryption provider | Deprecate Mcrypt | Other improvements

Compare
Choose a tag to compare
@psrpinto psrpinto released this 22 Jan 17:57
· 29 commits to master since this release

Changed

  • JMS\Payment\CoreBundle\Model\ExtendedDataInterface has changed. If any of your classes implement this interface, you need to update them accordingly:
    • Added missing mayBePersisted method
    • Added missing $persist parameter to set method
  • JMS\Payment\CoreBundle\EntityExtendedDataType::convertToDatabaseValue now throws an exception when attempting to convert an object which does not implement JMS\Payment\CoreBundle\Model\ExtendedDataInterface.
  • Encryption is now optional and disabled by default, unless the secret or encryption.secret configuration options are set.
  • defuse_php_encryption is now the default encryption provider, unless when using the secret configuration option, in which case the default is set to mcrypt.
  • The EntityManager is no longer closed when an Exception is thrown (#145)

Deprecated

  • The service payment.encryption_service has been deprecated and is now an alias to payment.encryption.mcrypt. Parameters specified for payment.encryption_service are automatically set for payment.encryption.mcrypt so no changes are required in service configuration until payment.encryption_service is removed in 2.0.
  • The secret configuration option has been deprecated in favor of encryption.secret and will be removed in 2.0. Please note that if you start using encryption.secret you also need to set encryption.provider to mcrypt since mcrypt is not the default when using the encryption.* options.
  • JMS\Payment\CoreBundle\Cryptography\MCryptEncryptionService has been deprecated and will be removed in 2.0 (mcrypt has been deprecated in PHP 7.1 and is removed in PHP 7.2). Refer to http://jmspaymentcorebundle.readthedocs.io/en/stable/guides/mcrypt.html for instructions on how to migrate away from mcrypt.

Added

  • Added method_options and choice_options to form. See the documentation for more information.
  • Added a guides section to the documentation
  • Added support for custom encryption providers.
  • Added support for data encryption with defuse/php-encryption.
  • Added console command to generate an encryption key for use with defuse_php_encryption.
  • Added ability to configure which encryption provider should be used. Current available options are mcrypt (not recommended since it will be removed in PHP 7.2) and defuse_php_encryption.

Removed

  • Removed support for PHP 5.3. If you're still using PHP 5.3, please consider upgrading since it reached End Of Life in August 2014. Otherwise, use 1.2.*.