As with the preceding 5.0 version, 5.1 is also based on the dual kernel approach. In this approach the legacy kernel, shipped with 5.1, is used for the editorial and administrator user interfaces (covered by the "Administration Interface" and the "eZ Toolbar" also known as eZ Website Interface), the content repository and all the power of the full featured CMS (content management system); while the new kernel adds on top a complete set of APIs (REST and PHP) as well as a brand new web framework based on Symfony2 (full stack).
User Interfaces and full-CMS features are still relying on the legacy kernel. These will be redeveloped based on the new kernel in further releases, still maintaining the legacy kernel as long as we can for the current user base.
Highlights of the release
This release brings not less than 15 new features, 18 improvements and more than 193 bug fixes. The most important changes are summarized below:
Clustering support in 5.x for use with legacy DFS
This release brings the missing DFS clustering support in 5.x kernel allowing REST/Public API to be used in combination with clustered installation.
Persistence DB cache in 5.x API using Stash
This feature enhances performance and clustering scalability by sitting between the API and the database storage engine and, in default setup, caches everything but search queries lowering load of backend considerably.
One of the steps done in this release that makes it possible to use 5.x stack fully for content rendering with standard fieldtypes without having to use legacy fallback as was the case in 5.0.
and also some other “small but important” improvements in the 5.x stack:
- Multisite with single content repository [PR]
- REST support for session authentication with CSRF token support [Doc]
- Varnish support in the 5.x HTTP Cache Purge system [Doc]
- Twig Helper (ezpublish & ezpublish.legacy global variable) [Doc]
- eZDate & eZTime FieldType support [PR]
- Symfony Locale integration [Doc]
- Integrate Symfony2 CSRF protection with ezformtoken [PR, Doc]
- Legacy cronjobs & scripts launchable from Symfony CLI [PR1, PR2, Doc]
- GraphicsMagick support [PR]
- Content type identifier criterion [PR, Doc]
- Siteaccess compound matcher to be able to do host & url matching [PR1, PR2, Doc]
- Update to Symfony 2.2 [PR, Doc, Blog Post]
- Default layout for legacy content fallback configurable by SiteAccess [PR, Doc]
- Add option to allow Twig template to override rendering of legacy requests [PR1]
- Completed support for permissions in 5.x stack [PR1, PR2]
Beyond the code base, it is also important to note a few change in our software lifecycle and support policy.
To provide a always more sustainable solution, eZ also changed the way releases are supported. While continuing to bring 2 releases per year (one in May and one in November), eZ decided to have a long term support (LTS) release once a year, on the spring release. These are "Tick" releases. 5.1 is such a release and come then with 3 year vendor support guarantee. The pace on long term service release has been introduced based on customer feedback and in order to better serve them.
With 5.1, we introduced a couple of changes of importance:
- eZ DFS has become the main cluster handler for the platform. As a result, eZ DB and eZ FS2 have been removed from the stack.
- The underlying Symfony framework has been upgraded to Symfony 2.2
- Oracle database is not anymore a supported option for both new and old kernel.
- MySQL 5.5 is now a supported database
Our next summit will be Aconcagua, and will be the release 5.2. We are looking to it and are already at work on it. In the meantime we welcome any comment and feedback on this new version 5.1. Please feel free to join the discussion on share.ez.no or to report issues or request on our bug tracking system (use your share.ez.no account to sign-in).