Features and Improvements in WoltLab Suite 5.2

WoltLab Suite 5.2 has just been released. Some of the major features have already been presented and explained in-depth previously:

The remaining changes will be listed in this thread.

List of Changes

This list includes changes made across all apps and the Core itself, especially improvements made to the Core have a great impact on all apps and are therefore listed more prominently.

Notifications for new registrations

Administrators can opt-in to be notified of all new registrations on their site via the built-in notification system.

Owner user group

The “Owner” user group has a special status as its members can never be banned and they can edit all users and user groups. Additionally, it is impossible to remove oneself from the owner user group to avoid accidentally dropping administrative permissions.

System check page

In the admin panel, there is a new system check page which lets administrators check if the current webserver configuration still meets the requirements of WoltLab Suite (useful after server updates or migration, for example) and provides some other useful checks like filesystem writability.

Searching for users by ID

The user search function in the admin control panel now supports searching for users by their ID.

BBCodes button icon selection

The BBCode icon shown in the editor toolbar can now be selected from a rendered list of FontAwesome icons.

Permission to change notification presets

A new permission has been added to restrict access to the form to change notification presents in the admin panel.

User cover photo upload in admin panel

Administrators can now upload user cover photos for other users by editing the relevant users in the admin panel.

Improved admin panel on mobile devices

The search function for the admin panel is now also available on mobile devices.

Search for users’ IP addresses

User IP addresses shown in user online list are linked to a search engine of your choice.

Apache rewrite rule generator

If url rewriting is activated in the admin panel, the rewrite rules for Apache webservers can be auto-generated with one click.

More system information in admin panel

The “system” tab on the admin panel index page now shows the core version, the database number, the MySQL version, the server load and PHP’s memory limit, max post size and SSL support.

Redesign of “Install Package” page

The layout of the page has been improved and there is only one search field that searches all of the relevant package data.

Rebuilding activity points per activity event

The action to update the activity points per activity events is now also available on the rebuild data page.

Rebuilding number of activity point event occurrences

The number of event occurrences for which users get activity points, like the number of posts or images, can now be recalculated on the rebuild data page.

Remove 3rd party login

When editing users in the admin panel, administrators can remove the 3rd party login from user accounts.

Bulk processing of Gallery images and videos

Gallery images and videos can be processed in bulk in the admin panel with the following actions being supported: setting categories, trashing, deleting, restoring, disabling, enabling, disabling comments, and enabling comments.

Custom file license management

New file licenses in Filebase can be added and edited directly in the admin panel.

Number of articles written by each user

The number of articles written by each user is tracked now and it can also be shown in message sidebars.

Default article sort field and sort order

The default order in which articles are shown and which field is used for sorting by default can now be set per article category.

Sortable articles

Users can sort lists of articles themselves.

Nesting in category boxes

The second level of article categories is always visible in article category boxes.

Exclusion from search results

CMS pages and articles can be excluded from search results.

Smiley selection

When adding or editing an article, a box, or a page, the smiley selection is now available below the editor.

Article category subscription

Article categories can be subscribed to to get notifications for new articles in the category.

Filtering article list

The article list in the admin panel can be filtered for deleted articles.

Number of unread articles per category

Menu items linking to specific article categories show the number of unread articles in the linked category.

Notifications for article comment
Users can be notified about new comments and responses on their articles and about responses to their own comments on any article.

Article category description

Article categories support an optional description shown on the category page.

Unsetting selected category

The category sidebar boxes include an additional link to unset the currently selected category.

Restricted article editing permission

Users can be restricted to only be able to edit their own articles.

Writing and editing articles in frontend

In addition to writing and editing articles in the admin panel, they can now also be written and edited in the frontend.

Article ads

New ad locations have been added to the article list and articles themselves.

Articles in recent activity

When a new article is published, it appears in the recent activity feed.

Reporting articles

Articles can be reported now.

Better article discussion thread integration

The article page shows the number of replies to the discussion thread and a condensed list of replies below the article.

New BBCodes

New BBCodes for blog articles, threads, posts, and Core articles have been added.

Box edit link in frontend

For administrators, there is a new edit icon for boxes in the frontend to make it easier to edit specific boxes.

User profile comments box controller

A box controller to show comments posted on user profile walls has been added.

Disabling boxes

To only temporarily hide boxes instead of deleting them permanently, they can now be disabled in the admin panel.

Copying boxes and pages

To make it easier to create similar boxes and pages, they can be copied which open the form to add a new box/page prefilled with the copied box’s/page’s data.

Sorting today’s birthday box

The users listed in boxes contain the users whose birthday is today can be sorted.

File purchase condition

For automatic user group assignments, a condition to check if the user has bought a specific file has been added.

New thread conditions

For notices and thread list boxes, a new condition for the subscription status of the threads has been added and for notices, thread list boxes, and thread bulk processing, a condition for the age of the threads has been added.

Forum selection for conditions

Instead of only being able to select the forums for which a certain condition must me met, it is now also possible to select the forums for which the condition must not be met.

Disabling contact form fields

To make certain contact form fields temporarily unavailable, they can be disabled in the admin panel individually.

Sorting contact form fields

The list of contact form field in the admin panel can be sorted by dragging and dropping the individual field.

Contact form attachments

The contact form optionally supports attaching files to the sent email.

Quote selection on mobile devices

Selecting part of a message for quoting is now also possible on mobile devices.

Improved YouTube integration

At the end of embedded YouTube videos, related videos are no longer shown and YouTube’s time_continue parameter in links is supported now.

Disabling media providers

In addition to permanently deleting media provider, media providers can now also be disabled (temporarily).

Embedded tweets

A new media provider for tweets has been added at shows the actual tweet when linking a tweet.

New syntax highlighter

The previous PHP-based syntax highlighter has been replaced with a better JavaScript-based highlighter.

Embedded video attachments

Video attachments that are embedded into messages are shown as a video player.

Fullscreen editor in source mode

The editor can also be put into fullscreen mode if it is in source mode.

Mentioning user groups

In addition to individual users, whole user groups can also be mentioned now. Administrators can restrict which user groups can be mentioned and users of which user groups are allowed to mention user groups.

Scaling of attachment images

Attachment images can optionally be already resized in the browser before upload.

Pasted Microsoft Word texts

Formatting of Microsoft Word text pasted into editor has been improved.

Download counter for media files

The number of times media files have been downloaded (or viewed in the case of images) is logged in addition to the last time each file was downloaded.

Setting category of multiple media files

A new clipboard action has been added to the category of multiple media files at once.

Restricted media file access

A new permission has been added to restrict access (i.e. editing and using) to own media files only.

Media file captions

HTML code can optionally be used in media file captions.

User events

There is a new dedicated page with all events created by a certain user, including past events.

Unread albums

A new page in Gallery lists all of the albums with unread images or videos.

Video list

A new dedicated page has been added that only shows the Gallery’s videos.

Users’ threads

A new page listing all threads created by certain users has been added.

Unread articles

To easily access all of the new articles, there is a new dedicated page listing all of the unread articles.

Page share buttons

CMS pages support to optionally show social media share buttons at the end of the page.

Notification for page comments

Users with the permission to manage CMS pages can receive notifications for new comments and responses on any page and all users can receive notifications for responses to their comments on pages.

Page comments in recent activity

The recent activity feed will now include comments and responses to pages.


Changing pages’ application path

System pages, in particular those belonging to the Core, can now be virtually assigned to an app. This changes the path visible in the address bar, for example, the dashboard can be moved to the forum app.

Trophy search

The search in the admin panel also searches the trophies’ title for the searched text.

HTML in trophy descriptions

Trophy descriptions can optionally contain HTML code.

Display order of trophies

The order in which trophies are shown can be explicitly set in the admin panel.

Auto-revoking of trophies
Trophies whose conditions are no longer met can automatically be revoked again.

Trophy performance improvements

The code to show special trophies in message sidebar has been improve for better performance.

Updated trophy page

The trophy list can now be filtered by trophy categories and a new trophy category box controller has been added.

Discussion threads for blog articles

A new optional package is available that supports creating discussion threads for blog articles.

Supported category box positions

Blog, Gallery, and Filebase category boxes can now also be shown at the “Before Content” and “After Content” positions.

HTML in category descriptions

Blog, Gallery, and Filebase categories optionally support HTML code in their description.

AMP support

AMP versions of the event page, the file page, and the thread page have been added.

Current month box

A new Calendar box controller has been added to show the current month in sidebars.

Earlier event dates

Past events can now start in 1902 instead of 1970.

Deeper category nesting

Calendar and article categories can now be nested up to 9 levels deep.

Members list sorting

The members list can be sorted by number of events the members have created and the number files they have uploaded.

Event cancelation information

The person who canceled an event is shown on the event page.

Label filter of upcoming events

The list of upcoming events can also be filtered by label.

Year view

In addition to the daily view, the weekly view, and the monthly view, Calendar also includes a yearly view showing the whole year on one page.

File price visibility

The prices of files are now also visible for guests.

Editing files’ additional authors

Moderators that are allowed to edit files are also able to edit the files’ additional authors.

File approval per category

The requirements of new files to be approved by moderators before they are published can also be set per category.

Improved marking file notifications as read

When visiting the file pages, all relevant notifications to the viewed file will be automatically marked as read.

Downloading files without accepting licenses

A new permission for moderators has been added that allows them to download files without having to accept the file’s license.

Notifications for file version reactions

File authors can get notifications if other people react to versions of their files.

Number of file purchases

Customers are able to see the number of times they purchased a specific file.

Improved “Recent Updates”

The “Recent Updates” list in Filebase now only lists updated files and not new files anymore.

Synchronization of files and support thread

If possible, the labels of files are synchronized with their support thread and file status of a file version (whether it is disabled or in the trash) is synchronized with the associated post in the support thread.

Default image and video list sorting

New options have been added to set the default sort field and default sort order of image and video lists.

“Images in Motion” speed

The speed of the “Images in Motion” sliders can be set via an option in the admin panel.

Image and video tag permission

A new permission for being allowed to assign tags to own images and videos has been added.

Album RSS feed

There is a new new RSS feed for all Gallery albums.

Editing video links

The link to an existing video link can be replaced with another link.

Permanent one-click image sorting

The default order of all images within an album can be set with one click by selecting the field and order used for sorting.

Previous and next image/video

When editing multiple images and videos, floating previous image/video and next image/video buttons have been added to make switching between images and videos easier.

Forum and thread title in ads

For ads in threads, the name of the thread and the name of the forum can be used in the ad code.

Auto-merging of consecutive posts

Consecutive posts by the same user in the same thread are automatically merged within a certain period of time.

Private thread access

The permission to access private threads can also be set for each forum separately.

Publication date update during approval

When manually approving threads and posts, the publication of the thread or post can optionally be updated to the approval time.

Sharing posts

The dialog that open when clicking on a post’s number also includes social media share buttons for the post.

Forum meta description

The forum page’s meta description can be set per forum.

Improved bulk processing

The performance of the thread and post bulk processing actions in the admin panel has been improved.

Improved Forum RSS feeds

The RSS feed reader supports YouTube feeds now and has improved logging of errors occurring during feed processing.

User groups as conversation participants

In addition to individual users, whole user groups can be specified as conversation participants which automatically adds all user group members to the conversation.

Improved notification emails subject

The subjects of some notification emails have been improved to contain more information.

Exporter improvements
The Wordpress importer imports pages as CMS pages and the WoltLab importer now supports Filebase (categories, files, attachments, versions, comments with responses, likes) and CMS contents (pages, articles, and media files).

Default warning reasons

Warnings can be assigned to a default reason in the admin panel that is used to pre-fill the reason field for new warnings.

Person responsible for content

The legal notice has a new input field for the person responsible for the content of the website (according to section 55 paragraph 2 RStV).

Improved user group applications

When writing an application for a moderated user group, user can use the editor now and leaders of the moderated group can also use the editor when writing their reply to the application.

Disabling user cover photos

User cover photos can now be disabled directly on the user profile page in the fronend by administrators.

Page selection for notices

Instead of only being able to select the pages on which a notice is shown, it is now also possible to select the pages on which the notice is not shown instead.

Maximum comment length

By increasing the maximum length of the comment and response text supported in the database tables, comments and responses can be significantly longer now.

Paid subscriptions box

The box listing paid subscriptions is now also visible for guests.

Search by tag

A new search form acccessible via the normal search form to search contents by (multiple) tags has been added.

Adding phrases

A new form has been added to the admin panel that lets administrators add new custom phrases.

Attachments in signatures

Signatures now also support attachments so that, for example, images do not have to be linked but can be embedded directly into the signature.

Required registration fields

Fields that have to be filled out during registration are explicitly marked as required fields.


Page filter for global ad location

If an ad is shown at a global location like the logo location, for example, the ad can now also be restricted to be only shown on specific pages at that position.

CSS classes for errors

To make customization of error pages easier, we have added new CSS classes based on the class name of the thrown exception.

Permanent image proxy cache

The auto-pruning of the image proxy cache can be disabled in the admin panel.

Auto-pruning of IP addresses

A new option has been added to set the number of days after which saved IP addresses are deleted from the database.

Login form for logged-in users

Instead of showing an error message, logged-in users are redirected to the start page when visiting the login form.


Whitelisting external image domains

Instead of blocking all external images, a new whitelist option allows administrators to only allow linking images from a specific set of domains.

Title of first breadcrumb

A new option determines if the title of the first breadcrumb contains the overall website title set in the admin panel options or the title of the linked page.

Edit own user profile

A new permission has been added to explicitly allow or disallow users from editing their own user profile.

Improved linking behavior of search results

As search results are assigned to a specific user, other users cannot access them when they are linked. If the highlight parameter is present in the search result link, however, clicking on this link will now start a new search for the highlighted term instead of showing an error message.

Quicker automatic user group assignments

By adding more explicit checks after new content is created whether users become members of new user groups due to automatic user group assignments, it will take less time until the users are actually added to the user group.

Marking comment notifications as read

If comments or responses are loaded by clicking on the “More Comments”, all notifications related to the loaded comments and responses are automatically marked as read.

Prevent attachment damage during FTP transfer

To prevent some FTP clients transferring attachments in ASCII mode, new attachments get a .bin file suffix to help these FTP clients correctly determining the transfer mode.

Performance optimizations

The generated template PHP code has been optimized for better performance.

Improve accessibility

Accessibility according to WCAG ARIA 2.0 and keyboard navigation has been improved.

Automatic database creation

If the entered database does not already exist, the setup process tries to automatically create the database.

Rotation of avatars and cover photos
Avatars and cover photos are automatically rotated during upload based on their EXIF data.

Sorting and filtering user interface

The new sorting and filtering user interface already used for threads, is also used on the member list page, the conversation list page, the image and video list page, and the album page.

Table of contents

Articles and blog articles support tables of contents based on the headings used in the text.

File-less files

In addition to files that can be downloaded and files with an external link, Filebase also supports file entries without an actual file where the actual content is in the description in form of text (and attachments).

Category-specific file options

File options which allow uploaders to enter addition information can be made available only in certain categories.

Category-specific notices

Notices for the Filebase category page and file page can be set up to be only shown for certain categories.

Marking files as read

Files in file lists can now be marked as read by double-clicking on the file icon.

Visit-tracking of events

It is tracked if users have already read certain events so that new events can be explicitly marked as new for them. Additionally, there is a new page to view all unread events.

Notifications for new events

Subscribers of Calendar categories will get notifications if a new event is created in a subscribed category.

Improved calendar visuals

Some details of the calendar visuals have been improved like making it visually clearer if events were canceled, improved category color usage, more information on the current participation status of events, and overhauled event popovers.

Declination message

If a user declines participation in an event, they can also write a message while declining.

Developer-Specific Changes

In this last section, we list changes are only relevant to developers either for their development process or for the code they write. Previously, we introduced some of the largest changes in a separate spotlight thread: For Developers: Form Builder and New Developer Tools.

Built-in evaluation notice for apps

By setting AbstractApplication::$evaluationEndDate to the timestamp when you want the evaluation period of the app to end, pages belong to the relevant app will not be accessible anymore after the specified time.

Automatic dereferrer in admin panel

Instead of using acp/dereferrer.php for externals links, direct links can now be used in the admin panel as they will automatically get a rel="noopener noreferrer" attribute via JavaScript if the link element has the externalURL CSS class.

Custom search result icons

By implementing the ICustomIconSearchResultObject interface, search results can show custom icons instead of the author’s avatar.

Dynamic box titles

IBoxController::getTitle() has been added to support dynamic box titles for system boxes.

Installing packages via developer tools

Packages added as a developer tools project that have not been installed yet, can now be installed via the developer tools directly from the source code without having to create an archive.

Option availability in SCSS code

The values of options of the types float, radioButton, and select are available in SCSS code.

New imports

Importer for static CMS pages, media, and articles have been added.

Improved upload error messages

If debug mode is enabled, the error messages for failed uploads are more detailed to debug issues.

New option type interfaces

The II18nOptionType interface has been added to mark option type that supports multilingual input and the ISelectOptionOptionType interface signals that option type supports select options. (The interfaces are used by the new graphical user interface to create package installation plugin entries.)

Request URI in database queries

If the production debug mode is enabled, REQUEST_URI is appended to database queries as a comment to ease debugging queries.

commentResponseOwner notifications for multiple recipients

If commentResponseOwner user notification object types implement the new IMultiRecipientCommentResponseOwnerUserNotificationObjectType interface (and if the IMultiRecipientCommentUserNotificationObjectType interface is also implemented), commentResponseOwner notifications can also be sent to multiple recipients at once.

Mail class uses new API

The methods of wcf\system\mail\Mail have internally been mapped to the newer wcf\system\email\* API. As a consequence, some methods are not available anymore.

New link generation method

LinkHandler::getControllerLink() has been added as a new method to generate internal links that takes a fully qualified controller class name instead of a unqualified controller class name without its suffix (Form or Page) reducing the risk of typos and easing refactoring.

Log missing phrases

In developer mode, missing phrases will be logged in the log/missingLanguageItems.txt file including a stacktrace to help identifying the place the missing phrase is used. A notice on the index page of the admin panel shows if any missing phrases have been logged.

Using wrong phrase getter

In developer mode, calling Language::get() with an array as the second parameter instead of calling the correct method Language::getDynamicVariable() will result in an exception.

WoltLab update server and XSD paths

Our update servers and the paths to the XSD now use the current API version instead of the codename of the Core package.

Development improvements

To make developing easier in developer mode, a language toggle has been added to the user menu in the frontend and admin panel, admin panel sessions do no longer expire and fetching data from a prepared statement that has not been executed causes an exception.

File upload API

To reduce duplicate code to upload files, a new file upload API located in the wcf\system\file\upload namespace has been added.

HTML in category descriptions

Category descriptions optionally support HTML code if ICategoryType::supportsHtmlDescription() returns true.

Variable support in ads

If the ad location object types provides an implementation of IAdLocation (by extending AbstractAdLocation), additional variables can be used in ads depending on their location (see forum title and thread title for Forum ads).

Improved AJAX exceptions

AJAX exceptions now also show the file and line in which original exception was thrown.

Improved exception log

The exception log in the admin panel, now also shows the extra information logged with the exceptions and the order of the exceptions has been reversed so that the latest exceptions are shown first.

Sandboxing foreach loop variables

If the item or key variable of a foreach loop in a template already exists, the outer value will be cached and its value will be restored after the foreach which prevents accidentally overriding the previous value.

Search options and permissions by their identifier

If the developer mode is enabled, options and permissions can now also be searched for by their identifier in the admin panel.

New mixin for larger desktop screen resolutions

A new SCSS mixin screen-xl for desktop screen resolutions with a minimum width of 1281px. Additionally, screen-lg-only and screen-lg-down have also been added.

Replace API compatibility system with semantic versioning

The API compatibility system has been deprecated in favor of semantic versioning. The relevant pull request on GitHub provides more information.