2.0.0 Release: Major Release
Changelog
- [Post Processors] [Filters] [BC BREAK] Remove configurable post processor interface for one interface and cleanup filter manager #1075 (robfrawley)
- [Meta] Add code of conduct and update contributor instructions #1071 (robfrawley)
- [Dependencies] Update imagine/imagine to ^0.7.1,<0.8 #1067 (robfrawley)
- [Documentation] Correct indentation in AWS-S3 cache resolver documentation #1063 (robfrawley)
- [CS] Globally update code style using new php-cs-fixer rules #1058 (robfrawley)
- [CI] [CS] Add a required php-cs-fixer build run to Travis matrix #1057 (robfrawley)
- [Tests] Add missing PHPUnit @Covers annotations #1054 (robfrawley)
- [CI] Move the "simple-phpunit install" command to Travis install section to collapse the output #1048 (dbu)
- [CS] [Dependencies] [Dependency Injection] [Form] [General] Update compiler log format, remove legacy code, remove deprecated, fix docblocks/style, general Travis config, upgrade coveralls, and general fixes #1047 (robfrawley)
- [CS] Changes to support new php-cs-fixer rule set #1046 (robfrawley)
- [Dependencies] Revert php-cs-fixer development dependency removal #1045 (dbu)
- [Dependency Injection] Detect proper web root path based on Symfony kernel version #1044 (robfrawley)
- [Async] [DI] Make resolve_cache_processor a public service #1043 (silverbackdan)
- [CS] Implement new php-cs-fixer rules and related code cleanup #1040 (sebastianblum)
- [Dependency Injection] Change cache manager from private service to public to fix deprecation #1038 (fabianoroberto)
- [CI] Extend and enhance Travis build matrix #1035 (sebastianblum)
- [Dependencies] Remove unused php-cs-fixer from require-dev #1031 (dbu)
- [Tests] [CI] [Dependencies] Refactored Travis config to use simple-phpunit and remove phpunit Composer dependency #1029 (sebastianblum)
- [Documentation] Fix binary name in png-quant.rst #1026 (bruno-ds)
- [Post-Processors] Replaced ProcessBuilder with Process and add additional tests #1025 (fabianbloching)
- [Tests] Fix tests on Symfony 3.4 and 4.0 #1023 (lsmith77)
- [Dependency Injection] Add alias for cache manager #1022 (garak)
- [Documentation] Align example and description quality values in png-quant.rst #1020 (qkdreyer)
- [Dependency Injection] Change imagine controller from private service to public service #1019 (michaelperrin)
- [Dependencies] Enable Symfony 4.0 support #1013 (lsmith77)
- [Dependencies] Enable Symfony 4.0 support #1010 (llaakkkk)
- [Tests] [CI] Add PHP 7.2 to Travis test matrix #1009 (dbu)
- [Documentation] Fix bucket parameter nesting level in aws_s3.rst YAML example #996 (bocharsky-bw)
- [Data Loader] [Data Locator] [Dependency Injection] Pass root paths to FileSystemLocator during construction #930 (rpkamp)
- [Dependency Injection] [Filter] Implement filter service abstraction for creating images #922 (rpkamp)
Upgrade
-
[Post Processor] [BC BREAK] The
PostProcessorConfigurablePostProcessorInterface
interface has been completely removed and thePostProcessorInterface
interface has been updated to allow passing the configuration array to itsprocess
method as the second parameter. ThePostProcessorInterface::process()
now implements the following signature:process(BinaryInterface $binary, array $options = []): BinaryInterface
. All custom post processors in your project must be updated to match this new signature. -
[Dependencies] The
imagine/Imagine
dependency has been updated from the0.6.x
series to require0.7.1
or greater. If you project has a hard dependency on any prior version, you will need to update your dependencies. -
[Form] The legacy
setDefaultOptions()
andgetName()
methods onForm/Type/ImageType
have been removed, as these methods are no longer required for Symfony. If using them, you will need to update your implementation. -
[Dependency Injection] The
DependencyInjection/Factory/ChildDefinitionTrait
trait has been removed, as it handled logic to support legacy Symfony versions no longer targeted. -
[Dependency Injection] The compiler pass
log
method signature has changed tolog(ContainerBuilder $container, string $message, ...$replacements): void
. If you are extendingAbstractCompilerPass
and using this protected method, you must update your usage. -
[Dependency Injection] The default values for the
liip_imagine.loaders.<name>.filesystem.data_root
andliip_imagine.resolvers.<name>.web_path.web_root
configuration options are now variable based on the Symfony version. For Symfony4.0.0
and later, the value is%kernel.project_dir%/public
, and for prior releases (such as the Symfony3.x
), the value is%kernel.project_dir%/web
. This should automatically provide a suitable default for the different directory structures of the4.x
and3.x
Symfony releases. -
[Dependency Injection] [Filter] A new filter service abstraction is available as
liip_imagine.service.filter
with acreateFilteredBinary($path, $filter, array $runtimeFilters = [])
method to quickly get the filtered binary image and agetUrlOfFilteredImage($path, $filter, $resolver = null)
method to quickly resolve and get the filtered image URL. -
[Data Loader] The
FileSystemLoader::__construct()
method signature has changed in accordance with the prior deprecation notice; the third parameter must be of signature\Liip\ImagineBundle\Binary\Locator\LocatorInterface $locator
and the fourth parameter must be of signaturearray $dataRoots
. -
[Data Loader] The
GridFSLoader
data loader has been removed as the required mongo extension has been deprecated and will not be ported to PHP7.x
. -
[Dependency Injection] A new interface
\Liip\ImagineBundle\DependencyInjection/Factory/FactoryInterface
has been introduced and is shared between the loaders (LoaderFactoryInterface
) and resolvers (ResolverFactoryInterface
). -
[Dependency Injection] All class name parameters have been removed from the service definitions. Instead of overwriting the class name parameters to provide your own implementation, use service decoration.
-
[Data Transformer] The data transformer interface (
\Liip\ImagineBundle\Imagine\Data\Transforme\TransformerInterface
) was deprecated in version1.x
and has been removed. -
[Templating] The imagine extension
\Liip\ImagineBundle\Templating\ImagineExtension
has been renamed toFilterExtension
. Similarly, the template helper\Liip\ImagineBundle\Templating\Helper\ImagineHelper
has been renamed toFilterHelper
. -
[Utility] The
\Liip\ImagineBundle\Utility/Framework/SymfonyFramework::hasDefinitionSharing()
method has been removed due to our higher Symfony requirements rending it unnecessary. -
[General] The use of fully-qualified class name strings is no longer supported and the
::class
compile-time class constant is now used. -
[Enqueue] Enqueue's producer send() method has been deprecated and will be removed, use sendCommand() instead. When interacting with the producer to resolve images in the background you must make the following changes to your code:
<?php // 1.0 $producer->send(\Liip\ImagineBundle\Async\Topics::RESOLVE_CACHE /* ... */); // 2.0 $producer->sendCommand(\Liip\ImagineBundle\Async\Commands::RESOLVE_CACHE /* ... */);