eZ Publish Platform 5.4 LTS is our last 5.x enterprise release before we launched eZ Platform and eZ Studio end of 2015, based on the Platform parts that have been introduced and matured during the 5.x releases starting with 5.0 two years ago.
5.4 being the last 5.x release is the recommended release to use for migrating to eZ Platform and eZ Studio. To make it the best release to use for this migration it is supported all the way until 2021 (see service life page for details).
5.4 introduces several new features which makes it easier to use, faster to develop on and also continues to improve performance.
Like earlier 5.x releases for this release we have heavily contributed to existing projects in the Symfony ecosystem to bundle powerful components under the hood which together takes extensibility in eZ Publish Platform to a new level. These thrid-party libraries and Bundles are fully supported as part of your Enterprise subscription, whiting the subsets of our supported platform requirements.
Given the theme of this release compared to 5.3 is to provider access to all the latests features and be as close to what you would expect from eZ Platform next year, we have during 2015 updated Symfony until reaching the 2.7 LTS that will serve as the Symfoy version for eZ Publish Platform 5.4.
New features since Symfony 2.3 LTS (the version bundled with eZ Publish 5.3):
5.4 completes the effort to migrate the Clustering system to be native Symfony based implementation, while 5.1 took care about caching, both persistence and view (HttpCache), 5.4 takes care about binary file storage.
Note: Both content/download and the script to "clusterize" a installation is currently powered by legacy (4.x) stack.
Handling of binary files input/output is now native. The default configuration uses thephpleague/flysystem, an abstract Flysystem library. This will allow eZ Platform to support all kind of solutions for binary storage in the future.
Building on top of the Native IO system, a legacy metadata handler has been added, compatible with the legacy database, the official solution for multi-server eZ Publish 4.x and 5.x. This avoids the overhead of legacy fallbacks for binary file lookups in 5.4.
The revamp of the IO architecture brings much flexibility in how URL of images and binary files are handled. It is now very easy to serve images from a static server by means of semantic configuration.
Image alias system can be considered as one of the oldest features in eZ Publish. It is a very flexible mechanism for managing content images and has long proven its efficiency. For 5.4 we have migrated the feature to nbeing Symfony based using LiipImagineBundle and Imagine library. This allows for new functionality in terms of extensibility for develipng your own filters and built in support for image handling via GD (default), ImageMagick (through Imagick PHP extension) and GraphicsMagick (through Gmagick PHP extension).
Being built on top of Symfony, a HTTP framework, Varnish support in eZ Publish is implicit. In 5.2 we introduced context-aware Http cache, allowing cache to be shared even for authenticated users. Version 5.4 goes one step further, adding native support for Varnish 4, and more.
For those that have already started to create services in Symfony with eZ Publish Platform and encountered having to read SiteAccess settings, you have up until this point had to depend on a service called ConfigResolver which would allow you to lookup settings depending on the currently SiteAccess. However as of 5.4 this is no longer necessary, with a new syntax your able to specify the settings you want in normal service configuration and get the resulting scalar value directly in your service.
eZ Publish Platform 5.4 and 5.3.3 included noticeable (significant when using several languages) performance improvements when using the Platform Search API.
5.4 will as mentioned in intro receive additional feature, and soft API deprecation backports from eZ Platform development during 2015, the main once are mentioned here:
Search in "Platform Stack"'s Public Search API is powering any kind of query against the eZ content repository, user search as well as queries to generate menus and list of content. It has from the start been designed to allow transparently being able to be powered by other search backends then the database with no affect on your code.
With the introduction of eZ Publish Platform 5.4.5 we added a new Solr powered Solr Search Engine, Solr itself has built in query cache, support for scaling out load and will give you both better search performance for advance queries, and allow you to offload your database to deal with what it should mainly care about: Allowing you to create and publish content.
As of 5.4.5 issues with the new image alias system regarding image alias purging has been resolved, and new way of purging aliases have been documented here: Image alias handling
For 5.4 we want to reach out a special thank you to those that have contributed to this release, especially the brave who have helped out on the "eZ Platform stack".
In addition, ezpublish-legacy is still receiving a lot of pull requests. The equally brave contributors to this part of the release can be found here.
For the full 5.4 changelog please refer to the 5.4.0 Changelog dedicated page.
The complete list of know issues is available in the 5.4 Known issues page.