by Marcus Lelle

Contao 5.7 LTS - unlimited possibilities with limited width

An LTS to fall in love with

Today is the day: Contao 5.7 LTS has been released.

With 5.7, the Contao 5 series gets its next long-term support release—with many visible improvements in the backend, structural changes paving the way for Contao 6, and lots of detailed work under the hood.

As always, this release is the result of countless pull requests, discussions, reviews, and tests. Thank you to our fantastic core team and everyone else who contributed code, maintained tickets, tested, or provided feedback.

Contao 5.7 will receive updates until February 2030(!). Version 5.3 will also continue to receive updates as an LTS version. As of today, there will be no more updates for Contao 5.6 or Contao 4.13. It's time for Contao 5!

You can find out which Contao versions are currently supported in the Contao release plan.

If you are reinstalling Contao or upgrading from an older version, now is the right time.

Big beautiful backend

The dark sidebar has been removed from the design. Those who prefer a dark theme can now find the switch for the dark design in the user menu.

Pull request: #8832

Another icon has changed places: you can now create favorites directly in the breadcrumb trail. With another click, you can remove it from the favorites list again.

Pull request: #8834

The filter menu has now been moved to the right-hand side. Contao is thus taking advantage of the possibilities offered by wider screens. We are excited to see what functions the core and extensions will accommodate here in the future.

Those who like to expand the filters will now benefit from greater clarity, and the filter buttons are easier to hit and much more self-explanatory. If space is tight, the filter menu folds out from the right.

There is also an auto-submit feature for the filters. This means you don't have to click “submit”; the list is updated immediately. The labels that have now been added to the filters improve accessibility. This allows you to see immediately what the active filters are filtering for.

Pull request: #8850

Speaking of narrower. Back by popular demand: The backend width limit is back, giving you three different limits to choose from. You can find them in the user's profile.

Pull request: #8967

Jump-to links

The jump-to links that allow you to jump to the individual palettes now have visible scroll arrows.

Pull request: #9186

Breadcrumbs, your friend and helper

Breadcrumbs are now a navigation super tool.

First of all, they show you where you are. Clicking on the first entry takes you back to the beginning of the path. So far, so normal.

The three dots between the first and last entries are quite something.
If you hover over them with the mouse, they show you all the levels in between, and all of them are clickable!

Pull request: #9065

One more thing? Yes!

The inconspicuous arrows in between also have functions. When you hover over them with your mouse, they show you the elements that are on the same level as your current one, e.g., all articles on this page, all content elements in this article, etc. Now you can always get where you want to go!

Pull request: #9147

The backend search

The backend search introduced in Contao 5.5 has been further enhanced and now reflects all aspects of your Contao installation.

When you search for a term, the search not only shows you all the places where it occurs, it also divides the locations into many areas. In file management, you can even filter which file extensions you want to see.

This is a feature that will significantly simplify our work and that of editorial teams. Wow!

By the way, you can now also access it via Ctrl+K or ⌘+K.

Pull requests: #8804, #9192

The Jobs Framework

Last year, the fantastic Job Framework was implemented, which enables long or tedious tasks to be performed in the background.

Now it also has a status bar and can output file attachments.

The next time you update the search index, you can see the new features for yourself.

Do you also use the job framework in your extensions or projects? Let us know in the comments.

Pull requests: #8830, #8818, #8849, #9016, #9083, #9095, #9150, #9013, #8826

Twig everywhere

A key milestone in Contao 5.7:
Every .html5 template now has a Twig counterpart.

Twig is now the new standard for templates and replaces HTML5 templates. HTML5 templates will no longer be supported in Contao 6. However, this does not mean that the old layout for the frontend no longer exists. It is available in Twig and can still be used.

In new projects, you should consistently use Twig to be optimally prepared for Contao 6. Existing HTML5 templates should no longer be overwritten with .html5. However, when updating from Contao 5.x to Contao 5.7, your existing templates will be used so that nothing breaks.

Work has also begun on converting the HTML code from the old DC_Table to Twig.

Pull requests: #9046, #8981, #8975, #9005, #9026, #9130, #9086, #9171, #9170

Template Studio now even more powerful

Template Studio has been helping you work with Twig templates since Contao 5.5. Now it has received several improvements that make your work even easier.

You can switch Template Studio to full-screen mode so that nothing distracts you from your work on the templates and you can use the full backend width.

Individual tabs can now be closed with a middle click.

The Studio now also displays .html5 templates so that they can be better extended with .html.twig.

Syntax highlighting has been significantly improved and autocomplete now also works for Twig filters and functions from Contao and even from installed extensions.

Pull requests: #8802, #9135, #9148

Improvements in everyday editorial work

ALTCHA widget in floating mode

The anti-spam tool in the form generator can now also be set to floating mode. It is then initially hidden in the form and only appears when you click on Submit.

Pull request: #8865

Upload field can now handle multiple files

You can now allow multiple files in the upload field in forms. This will make many projects easier.

Pull request: #8890

YouTube mute parameter

In the YouTube element, you can now mute videos with a single click. Among other things, this is a basic requirement for autoplay in many browsers.

Pull request: #8608

Block newsletter recipients

Newsletter recipients can now be permanently blocked. This prevents them from being added again via a form or import.

Pull request: #9134

Row Wizard

Have you always wanted to build more complex fields with the Contao core features? Welcome to the Row Wizard.

It allows you to use DCA to build fields as extensive as the ones shown in the screenshots.

Pull request: #8781

DCA permissions per table

With the new DCA permissions, you can specify exactly which rights (create, update, delete) apply to each table.

In addition, access rights can now be assigned directly to the element. For example, when you create a new news archive, you now have the option of selecting the user groups that should have access to it. This is a real highlight for complex editorial structures.

Pull request: #9012

JSON storage for flexible DCA fields

DCA fields without SQL definitions will now be stored as JSON in a separate database field.

This solves several known issues:

  • Column count limit
  • Row size limit
  • Unnecessary database migrations

This is a major technical step forward, even if it is hardly noticeable in everyday use.

Pull request: #8838

Symfony Form Type

For the integration of Symfony Forms into Contao, a class AbstractContaoType and a matching contao_layout.html.twig template have been added. This makes it easier for developers to integrate Symfony Forms into Contao.

Pull request: #8840

Hard work that often goes unnoticed

In addition to the visible features, a lot has been modernized:

  • Performance optimizations (caching of root parent calls, etc.)
  • More modern pagination
  • New controllers as content elements
  • Stimulus components (password visibility, autogrow, toggle state)
  • Extensions in the data collector
  • ForeignKeyParser service

This type of work is not immediately visible—but it is crucial for stability and future viability.

  • #9271 Cache the root parent calls for trail calculation
  • #9218 Cache the module access in the TableAccessVoter
  • #8020 Add the TwoFactorController as content element
  • #8816 Add the ChangePasswordController as content element
  • #8801 Add the CloseAccountController as content element
  • #9212 Add icons to the table picker
  • #9187 Show a warning in the SERP widget when using noindex
  • #9208 Introduce the ForeignKeyParser service
  • #9195 Use a datalist for the crawl member
  • #9030 Add a formater for DCA values
  • #8844 Add a diff button to the operations menu
  • #8821 Introduce a simple, more modern pagination
  • #8922 Add back end search data to the Contao data collector
  • #8955 Use a listener to filter member groups
  • #8606 Use private elements in Javascript
  • #8658 Use the password-visibility Stimulus component in the password widgets
  • #8646 Use the textarea-autogrow Stimulus component
  • #8584 Add file icons to the back end preview of the download elements
  • #8618 Introduce the Stimulus toggle-state-controller
  • #8548 Move the drag handle in the file manager to the left side
  • #8785 Use the Imagine info provider for format detection

Changelog and video

You can read about all the changes in detail in the changelog. Christian Feneberg has also created another fantastic video about Contao 5.7. The video is only available in German.

Compatibility

Contao 5.7 is compatible with

  • PHP 8.3+
  • Symfony 7.4
  • Monolog 3
  • Doctrine DBAL 3 and 4
  • Doctrine ORM 2 and 3

See also: Tickets | Compare changes to 5.6 | Compare changes to 5.3 | Changelog

Marcus Lelle

About Marcus Lelle

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

What is the sum of 3 and 6?