Pro-Tip: The menu can also be openend and closed with the m key.
by Marcus Lelle
Contao 5.3 LTS is available
2024 is already off to a good start: The new version Contao 5.3 LTS is here!
The core team and many other developers have been working hard over the last six months to take our favorite CMS to the next level. We are looking forward to the new big and small features for users and developers.
Contao 5.3 replaces Contao 5.2, whose support ends with it. The new version will be supported with bug fixes until February 2027. As with all Contao LTS versions, 5.3 will be provided with security updates for another year until February 2028.
Support for version 4.9 LTS also ends today. There will be no more updates for Contao 4.9!
You can find out which Contao versions are currently supported in the Contao release plan.
For users
Nested content elements
This feature provides more clarity in the article and is the basis for further display options in the back end, e.g. grid views. I'm excited to see what else will be possible through extensions and further versions.
At the moment, this has been implemented for the content slider and the accordion.
The new content slider is based on the modern swiper.js. For backwards compatibility, the legacy elements slider wrapper start and slider wrapper stop still exist.
Each child element of the content slider represents a slide.
If a slide is to consist of several content elements, these can be combined using the new element group.
The new accordion element also works with nested content elements. Here too, elements can be combined into a group if required, which are then treated like an accordion area. If the child elements belong to an accordion, you will automatically receive a field for the area heading when editing.
The accordion single element, the accordion wrapper start and the accordion wrapper stop are still available for downward compatibility.
In future, you will find a menu in each content element when editing, which you can use to jump directly to a specific area/legend of the input mask. The menu remains sticky at the top when scrolling.
There is another new content element, the description list. It creates a <dl> markup. This is a good alternative for lists such as glossaries or similar.
Newsletter now with inline styles and new responsive template
CSS that is written in the newsletter template is now automatically converted into inline styles before sending. This makes it easier to use templates from third-party providers. A new mail_responsive.html5 template shows the possibilities.
In the crawler settings in the back end, it is now possible to change the depth of the crawl. The higher the number, the more links are found and the longer the process takes.
Your own content security policies per website root
Extensive settings can now be made for the CSP header for each website root. Scripts, styles and inline styles are automatically provided with a nonce and the corresponding entries are added to the CSP header.
Contao automatically sends a Strict-Transport-Security header for all HTTPS requests. This tells the browser that access should only take place via HTTPS.
The preview now also works across domains in a multi-domain installation. A call on domain-a.com works, even if the back end was called under domain-b.com.
The DNS mapping migration automatically changes the domain of the starting points when the database is imported from the live system into a local system.
You can now store different configurations for local, staging and live installations.
# .env.local in your local environmentDNS_MAPPING='{"www.example.com":"example.local","www.foobar.org":"foobar.local","www.lorem.at":"http://lorem.local"# Deactivate https in your local environment}'# .env.local in your staging environmentDNS_MAPPING='{"www.example.com":"staging.example.com","www.foobar.org":"staging.foobar.org","www.lorem.at":"staging.lorem.at"}'
For developers
Automatic controller detection
In future, it will no longer be necessary to create routes.yaml for your own controllers with routes. Detection will be automatic.
The onpalette_callback is executed when a palette is created. Fields that are inserted via the callback are also available correctly in "edit multiple" mode.
You can read about all the changes in detail in the Changelog. Christian Feneberg has also summarized the most important innovations in a video (in German only).
Compatibility
Contao 5.3 is compatible with Symfony 6.4, PHP 8.1+ and Doctrine 3.
Marcus has taken on the project coordination of Contao, trying to untie the Gordian knot. Since 2003 he is self-employed as BIADES and since 2005 he is project manager and numbers person at ANTWORT:INTERNET in Berlin. Through his spare time he is accompanied by Jupe, Pete and Bob as well as his family.
Add a comment