-
[Data Loader] The
FileSystemLoader
data loader performs a more robust security check against image resource paths to ensure they reside within the defined data root path(s). If utilizing symbolic links, you should reference the troubleshooting guide at the end of this upgrade notice. -
[Data Loader] The
FileSystemLoader
data loader now accepts an array of paths (as strings) for its third constructor argument, enabling the loader to check multiple paths for the requested image resource. Note: this change breaks those extending this class and relying on the protected property$dataRoot
, which has been renamed to$dataRoots
and is now of the typestring[]
instead of the prior type ofstring
. -
[Configuration] The
liip_imagine.loaders.default.filesystem.data_root
bundle configuration option now accepts an array of paths (as strings) or a single scalar path ()if only one is required for your configuration), allowing thefilesystem
data loader to check multiple data root paths for the requested image resource. The following YML configuration shows examples for all allowed value types.# provide an array of scalar paths liip_imagine: loaders: default: filesystem: data_root: - /multiple/root/paths/foo - /multiple/root/paths/bar # provide an single scalar path liip_imagine: loaders: default: filesystem: data_root: /single/root/path
-
[Troubleshooting] If you are using the
filesystem
data loader and have symbolic links within thedata_root
that point outside this path (thedata_root
option defaults to%kernel.root_dir%/../web
) then you are required to configure all outside resource paths as additionaldata_root
paths using the following option key in your application's configuration:liip_imagine.loaders.default.filesystem.data_root
.The following is a list of the most common exception error messages encountered when the
data_root
option is not correctly configured:-
Source image not resolvable "%s" in root path(s) "%s"
-
Source image invalid "%s" as it is outside of the defined root path(s) "%s"
-
-
[Configuration]
liip_imagine.controller_action
option was removed in favour of an array of actions. Seeliip_imagine.controller
config-liip_imagine: - controller_action: AcmeDemoBundle:Default:filterAction +liip_imagine: + controller: + filter_action: AcmeDemoBundle:Default:filterAction
-
[Route]
ImagineLoader
was removed. Please adjust yourapp/config/routing.yml
file.-_imagine: - resource: . - type: imagine +_liip_imagine: + resource: "@LiipImagineBundle/Resources/config/routing.xml"
-
[Configuration]
liip_imagine.filter_sets.route
option and sub options were removed. -
[Configuration]
liip_imagine.cache_prefix
option was removed.
-
[Symfony] Required minimum symfony version was updated to 2.3.
-
[Logger] Symfony
LoggerInterface
was replaced with PSR-3 one. -
[Cache] New
isStored
method was added. -
[Cache] The method
ResolverInterface::getBrowserPath
was removed. -
[Cache] The method
ResolverInterface::store
acceptBinaryInterface
as first argument. -
[Cache] The method
ResolverInterface::store
return nothing. -
[Cache] The method
ResolverInterface::remove
return nothing. -
[Cache] The method
ResolverInterface::remove
takes required array of filter as first argument. -
[Cache] The method
ResolverInterface::remove
takes optional path as second argument. -
[Cache] The method
ResolverInterface::clean
was removed. -
[Cache] The method
ResolverInterface::resolve
takes path and filter as arguments. -
[Cache] The method
ResolverInterface::resolve
return absolute url of the cached image. -
[Cache] The method
CacheManager::resolve
may throw OutOfBoundsException if required resolver does not exist. -
[Cache] The method
CacheManager::resolve
return absolute url of the cached image. -
[Cache] The method
CacheManager::store
acceptBinaryInterface
as first argument. -
[Cache] The method
CacheManager::store
return nothing. -
[Cache] The method
CacheManager::clearResolversCache
was removed. -
[Cache] The method
CacheManager::getWebRoot
was removed. -
[Cache] The method
CacheManager::getBrowserPath
third argument was changed, now it isruntimeConfig
. -
[Cache] The method
CacheManager::generateUrl
third argument was changed, now it isruntimeConfig
. -
[Cache]
NoCacheResolver
renamed toNoCacheWebPathResolver
. -
[Cache]
AbstractFilesystemResolver
was removed. -
[Data Loader]
LoaderInterface::find
now can return string orBinaryInterface
instance. -
[Data Loader]
DataManager::find
now can returnBinaryInterface
instance only. -
[Data Loader] All data loaders moved to
Binary/Loader
folder. -
[Data Loader] Tag name
liip_imagine.data.loader
changed toliip_imagine.binary.loader
-
[Data Loader] Parameter key
liip_imagine.data.loader.filesystem.class
changed toliip_imagine.binary.loader.filesystem.class
-
[Data Loader] Parameter key
liip_imagine.data.loader.stream.class
changed toliip_imagine.binary.loader.stream.class
-
[Data Loader] Service id
liip_imagine.data.loader.prototype.filesystem
changed toliip_imagine.binary.loader.prototype.filesystem
-
[Data Loader] Service id
liip_imagine.data.loader.prototype.stream
changed toliip_imagine.binary.loader.prototype.stream
-
[Filter]
FilterManager::applyFilter
now return instance ofBinaryInterface
. -
[Filter]
FilterManager::applyFilter
first argument was changed from Image instance to BinaryInterface one. -
[Filter]
FilterManager::get
was removed. -
[Configuration]
liip_imagine.filter_sets.path
option was removed. -
[Configuration]
liip_imagine.filter_sets.format
option was removed. -
[Configuration]
liip_imagine.cache_mkdir_mode
option was removed. -
[Configuration]
liip_imagine.web_root
option was removed. -
[Configuration]
liip_imagine.cache
default value was changed fromweb_path
todefault
. -
[Configuration]
liip_imagine.formats
option was removed. -
[Configuration]
liip_imagine.data_root
option was removed.