Global navigation

   Documentation Center
   eZ Studio & eZ Platform
     User Manual
     Technical Manual
   eZ Publish 4.x / legacy

eZ Publish (5.x)

eZ Publish 5.x | For eZ Platform & eZ Studio topics see Technical manual and User manual, for eZ Publish 4.x and Legacy topics see eZ Publish legacy

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

5.2 Release Notes

eZ Publish 5.2 is a point release towards 5.3 LTS which enhances several aspects of the 5.x kernel for usability and extensibility, it serves as the foundation for 5.3.

Meet the updated eZ Publish 5.2

Context-aware HTTP cache with UserHash

With eZ Publish 5.2, new stack's HTTP cache is finally on par and beyond what was possible in eZ Publish legacy. With UserHash, by default all internal controllers, including the ViewController, will return cacheable responses, based on user access rules. This behavior is also applicable to custom controllers by making their response vary on X-User-Hash header. Moreover, UserHash generation, initially based on current user's assigned roles and policies, is extensible.

Purging is furthermore done in a stale cache like way, making sure stale cache gets served while the new one is being generated. Stress tests on 5.2 have shown noticeable performance improvements thanks to the introduction of UserHash.

Symfony 2.3

Updated our web framework foundation to Symfony 2.3 LTS, more info on this release can be found here.

Custom controllers for content view

Have you ever been missing a way to extend the provided content controller? Had needs to do custom cache logic and been missing the good old cache_ttl = 0 hack?
5.2 brings with it a powerful way to use the existing override system to, instead of overriding just a template, override the whole controller. This allows you to extend the built-in controller and for instance get full access to tune the cache headers for a specific content type that has different use than normal content, or just enrich the final template.

Signal slot events

Signal slot events are now fully listenable, which makes it possible to react on core API signals. These events are now also dispatched over Symfony's event system so you can listen to them there synchronously, while custom slots (listeners for signals) can in the future be dispatched asynchronously. 

This enhancement makes it possible to define micro-workflows.

Multi repository cache support

This release resolves a limitation with persistence caching introduced in 5.1, a new caching service "ezpublish.cache_pool" takes a siteaccess group setting "cache_pool" into consideration for selecting cache service, and hence can be configured with multi repository setups in mind. In addition you can now safely reuse this cache pool as the persistence cache is prefixed within "spi" cache key and will not clear your data if you reuse it.


Support for more than 30 languages

With 64-bits servers now being common, this release takes advantage of that if present and provides support for up to 62 languages on 64-bits environments and 30 languages on 32-bits platforms. This feature is supported across both Symfony stack and legacy stack, and is accomplished by increasing the size of the integer field used for language bit masks. Improved storage engines still has the possibility to provide even more languages on pure Symfony stack in the future.

Extended support for comments with CommentsBundle

Brand new CommendsBundle provides an abstracted way to display comments. It is provider based, which means that it is open to any kind of commenting system.

It has native support for Disqus and Facebook comments.

Pagerfanta support for pagination

Pagination can easily become cumbersome when done by hand. Pagerfanta is a powerful library for object oriented pagination, standard in the Symfony world. eZ Publish 5.2 comes with native support of PagerFanta, with dedicated adapters.

Custom tags for XMLText field type

3rd party custom tags support have been greatly improved and implementation is now much easier. It is now possible add a custom XSL stylesheet to the main one and to assign a priority. This also makes it possible to easily override existing eZXML tags rendering.

Miscellaneous helpers

Various Twig helpers were added to ease daily tasks, such as:


These helpers are also available in PHP code through FieldHelper (service ID: ezpublish.field_helper) and TranslationHelper (service ID: ezpublish.translation_helper) services.

Extensible REST API

The eZ Publish REST API can now easily be extended: custom routes, media-types...
Our framework will easily handle input parsing, error handling and output generation (to XML or JSON) for you.

See Extending the REST API.

DFS table split

The DFS MySQLi implementation now uses two distinct tables for storage and cache. The main benefit is that clearing cache is as simple as truncating the cache table without affecting storage in any way. This feature is enabled by default, and can easily be disabled.

5.2 Contributors

For 5.2 we want to reach out a special thank you to those that have contributed to this release, especially the brave few who have helped out on the "new stack":

In addition ezpublish-legacy is still receiving a lot of pull requests, contributions to this part of the release can be found here.

5.2 Full Changelog

For the full 5.2 changelog please refer to the 5.2-alpha1 Changelog dedicated page.

5.2 Known issues

The complete list of know issues is available in the 5.2-alpha1 Known issues page.

  • No labels