Alexander-Schranz
Alexander Schranz
Core Developer – Sulu GmbH
Core developer and support king. So dedicated to his work that we couldn't find a hobby to mention.
@alex_s_
2021-12-16

Sulu Release 2.4.0

After many months of work incorporating our users’ requests and creating more user-friendly and flexible tools, we’re thrilled to announce that the newly released Sulu 2.4.0 is now available! The release includes a brand new Trash feature, which builds on 2.3.0’s Activity Log and allows users to retrieve previously deleted pieces of content. This release also includes Preview Link sharing, a new content type for internal links, an improved back-end UI, and PHP 8.1 support.

Introducing the new Trash feature

Over the past year, one of our most requested functionalities was the ability to retrieve content or media that had been deleted. We heard you: Trash is now a feature in Sulu 2.4.0, and you can find it under Settings in the navigation bar. The Trash functions similarly to the rubbish bin or trashcan that you’re probably familiar with from your computer’s operating system. Any kind of core entity — content, media, pages, collection, etc. — that you delete will now be moved into Trash. When you navigate to Trash, you can see which pieces of content you’ve deleted and the timestamp of their deletion.

To implement the Trash feature, we adjusted the deletion functionality to account for inheritance within the page tree. When you delete a parent entity in Sulu 2.4.0, you also see which sub entities you’re deleting. When you request to delete a page, the system will retrieve the number of sub pages and confirm that you’d like to delete everything under the parent page.

The trash is built on top of the Activity Log (released in 2.3.0). When you delete parent and child entities, you will see records of the deleted entities in the Activity Log.

Recovering your deleted items

Retrieve and restore items from your Trash by selecting each list item for recovery. If you’re restoring an entity that was previously part of a tree structure (like a Page or Media), the system will try to restore it to its original location. If its original location is not available, you’ll be given the option to choose where to restore it.

Also new in Sulu 2.4.0 are preview links. Your clients, external partners, and colleagues no longer need access to your Sulu account to preview new drafts of pages! The toolbar at the bottom of your preview page now includes an icon that lets you generate a shareable link. Press copy and share the link with those who need to review a piece of content ahead of publishing—they will see the page as it will appear live. You can also revoke the link once you no longer want the content to be available. Simply select “Revoke share link,” and the page will not be accessible.

Other Improvements and Changes


Improved UI for Navigation Menu

We’ve rearranged Sulu’s backend navigation so the most important items are at the top. You can now find your profile and sign out from the bottom of the navigation menu. We’ve also adjusted the colors of the menu items. This redesign should improve the user experience in the admin UI. 

Improved Link Content Type

With the new “Link” Content Type, you can now target specific kinds of entities, including Articles, Media, external URLs, or custom entities—not just Pages. In the old version of Sulu, it was not possible to add a “Call to Action” button that linked directly to an article or page without adding custom logic. Now it’s simply a matter of selecting your target from a drop-down menu. Under the hood, the Link Content TYPE uses the existing functionality of the Text Editor’s LinkProviders.

Hard Requirement for Composer 2

Sulu 2.4 must be installed with Composer 2, which has been available since October 2020. Composer 2 is now a hard requirement, in preparation for PHP 8.1. This is because Packagist (the Composer registry of dependencies) will no longer support Composer 1 for newly registered packages. If you have questions, please get in touch with us.

PHP 8.1 support

Sulu 2.4 supports PHP 8.1 and our own website is already running on PHP 8.1. Sulu will not throw any deprecation notices, although some dependencies used in your projects may do so.

Stats worth celebrating

Thanks to our great community—and especially our most frequent External Contributors to Sulu core over the last half year:  alengodev, alexandersch, ampaze, AndreasA, bopoda, C-burr, cdesign, danakil, loic-cariou, mamazu, mgwestwerk, picturestone, Quehnie, QuentinHAETTEL, RealAestan, RobbinSnippe, scarcloud, ymc-sise, ymc-thzi. With your help, we’ve accomplished the following between versions 2.3.0 and 2.4.0: 

  • 258 Merged Pull Request with Features and Improvements
  • 384 Commits
  • 1156 changed files with 63,336 additions and 21,622 deletions.

Upgrade instructions

Download and upgrade to the latest version of Sulu 2.4.0 today! Here’s how to upgrade. 

  1. Add the TrashBundle to your Sulu Project.
  2. Update routes and configuration for the new Preview Link and Trash features.
  3. Upgrade the Database to create the new Schema for Trash and Preview Links feature.
  4. Upgrade to Composer 2, if you haven’t already. 

Follow our Upgrading Sulu 2.x documentation to update your project  and do not hesitate to reach out via GitHub, Slack, or the contact form on our website should you need any help!

Let us know what you think

We hope you’ll take advantage of the features created in response to your valuable feedback over the past six months. We’re looking forward to hearing what you think!