Release Announcement Mautic 5.1: Andromeda Edition

The first feature release in the Mautic 5.x series, we have a whopping 130 bugs fixed, 10 new features, and 168 enhancements. Notably, there are 68 improvements to the user experience, many of which have been submitted by the newly formed UX/UI Tiger Team as part of their first project to fix bugs users have reported with Mautic’s interface.

There were a total of 316 pull requests included in this release.

If you would like to review the Release Notes in detail, you’ll find those here.

Below we will highlight some of the key updates and features that you should be aware of in this release.

Also to note, from this release going forward, all releases will have a theme name selected which relates to a stellar constellation.

New features

User-facing features

Edit contact group points from contact profile

An addition to the new feature introduced in Mautic 5.0, you can now make edits to the Contact’s accumulated points in different groups, directly from their profile. When clicking the option, a modal window shows which allows you to directly alter each type of points.

New custom field type: HTML

There is a new custom field type which allows you to store HTML data and use it for emails, dynamic content and to view/edit it in Mautic just like any other custom field. The existing switch which used to allow you to add Custom HTML into a text area field will be deprecated in favour of the new field, and removed with a migration provided in a future release.

New report data source: Audit log

There is now a new report source (accessible to administrators only) which you can use to create reports which pulls data from the Audit Log. This can be extremely useful when debugging problems. To make these logs more useful now you can see the results of your maintenance commands as well.

Audit logs are displayed in a prettified JSON format, with 0 representing old values, and 1 representing new values. In the summary table reports now show when they were created. Some issues with company audit logs were also fixed. 

New Campaign feature: Clone event

There is a new option other than editing and deleting campaign events, which allows you to clone a specific event - even between campaigns.

This means that if you’ve got an event you’re using in one place on your campaign, you can quickly and conveniently reproduce this elsewhere - whether that’s at a later point in the campaign, or in another campaign entirely!

Currently this is limited to one event at a time (saved in the session and cleared after each use) however there are suggestions to improve this by allowing you to clone an entire branch in the future.

Exclude specific segments when sending a Segment email

You can now exclude particular segments while sending a segment email. This reduces the need to manage many segments with diverse criteria. Just exclude the respective segments during the email creation.

Preview email and landing page variants

It’s now possible to preview emails and landing pages including their A/B test variants and translated variations. Before you could only preview the base version.

While previewing, you can still use tokens and select a user to preview with, allowing a full experience for these important variations of your base emails or landing pages.

Previews are only accessible to logged in users of Mautic.

Developer-facing changes

PHP 8.2 support

PHP 8.2 support is now fully implemented. PHP 7.4 and 8.1 support remain at this point to enable users to update from Mautic 4 to Mautic 5.

New API endpoints

We now have standard endpoints for reports which allows you to create, update and delete reports via the API. Check the documentation here.

There’s also now support for working with points groups via the API. Check that documentation here.

New command to assist with optimizing tables

There is a new command which allows you to analyze the actual usage of columns in the custom fields table, such that you can set the appropriate VARCHAR size. Read more in the docs.


User-facing changes

Overall, Mautic got a lot prettier and easier to use

The first batch of enhancements to the user experience and interface to make Mautic more marketer-friendly have been delivered in 5.1, with many more in the pipeline. 

There are many, many enhancements in this release which are changing the way you interact with Mautic, making it more of a pleasure to use. 

Check out the little animation when hovering over buttons which will make your day more delightful. The panel containing the Form embed code is way more user friendly, giving you two simple options based on the way you'd like to use it.

The user profile page also had an overhaul making it much more user friendly.

Forms can now have a help element, which means more contextual help text, or even with links to the documentation. Remember how the form success message was displayed always at the top of the forms? For better user experience, now they can be shown at the bottom, directly under your Submit button.

It’s now easier to understand the difference between form and email types, with clear explanations helping the marketer to choose the correct type for their needs.

New terminology has replaced the product-wide ‘published/unpublished’ to make it more relevant to the thing it’s referring to - for example, campaigns are now ‘Active/Inactive’ and Custom Fields are ‘Available/Unavailable’

Some of the menus have different icons, better describing what those functions actually do. Other icons throughout the user interface were also changed to fit the new icon kit. Moreover, now Mautic uses a self-hosted font, no longer breaking any GDPR rules by fetching it from a third party provider.

A few labels were updated to be more descriptive. These small changes make Mautic user friendly, and easier to understand for first time visitors. One of the biggest changes is that ‘Published’ is in the process of being changed to something specific to the item - for example using the term ‘Active’ or ‘Available’.

New tooltips were added in the import, font styling, landing pages and settings sections. If you ever wondered what attribution in Mautic means, now you’ll get an answer and also a better explanation of what it does. The fields got new tooltips that give you a clear explanation. Modals now have not only nicer tooltips, but they can be resized or can be made scrollable.

The groundwork has also been laid for a dark mode theme, allowing Mautic users to configure the interface to suit their preferences.

Minimum password complexity increased

Mautic previously had very low requirements when it came to password complexity. This potentially leaves your Mautic instance vulnerable to attack.

From Mautic 5.1, users are forced to reset weak passwords and going forward, a stronger minimum requirement is enforced no matter how a user is created (e.g. at installation, in the user interface or via the API).

Use a custom field as the ‘from’ address in emails

It’s now possible to use a value from a custom field as an override to the ‘from’ address in an email.

Mautic will first check for a custom field token and use it, if not found it’ll check for whether the option to send from the contact owner is turned on, and if so it uses that. Next, Mautic will check if there’s any email address associated with the ‘from’ field in the advanced tab (rather than a custom field being used), and if so, use that, otherwise it falls back to the system default.

Mautic also warns you if your Owner as Mailer setting is different from the default global setting.

Also now you can tokenize reply to address adding them to the email headers, creating a valid reply format. This was not possible until now.

Language support added for forms

You can now select the language for your forms, allowing you to use translated strings for help text and localize the content accordingly.

Use a custom-defined list of Countries and Regions

You can now define a list of countries and regions by creating a custom JSON file in the location defined as upload_dir in your Mautic instance.

See at a glance where an Email is used across Mautic

Sometimes it’s helpful to know where an email is being used in Mautic - for example which Campaigns, Segments, Forms, Point Actions and Reports are associated with the Email. Now you can see at a glance from within the Email overview with a set of handy buttons.

Identify scheduled reports with ease

You can now see if a report is scheduled to be sent at regular intervals by the paper airplane icon which displays in the list overview.

Allow users to unsubscribe from an old email

Sometimes if you have cleaned up your email stats table, users with an older email in their inbox could not unsubscribe, because Mautic did not have a reference any more to know the contact/email. Now, the unsubscribe URL uses a hash from the stat table and also one from the Contact email address, which means the correct contact can be located in the absence of the entry in the email stats table. Older URLs you’ve already sent out will also still continue to work.

One click unsubscribe as a default

If you use email monitoring via email then your email headers contained two unsubscribe methods. Now One click unsubscribe is the default, not the email monitoring method. It should be like this as it is more reliable.

Use tokens when sending SMS messages

It’s now possible to use tokens in the same way you would when building an email, within the SMS message body. Just type the opening curly bracket and the available tokens display in a list. Make sure you consider the possible character limitations.

Also, you can now use the ‘=’ symbol in token names - in the past this used to cause a problem but now it works.

Remove tags from a Contact with one click

It’s now possible to remove the tags from a contact directly from their profile, rather than having to edit the Contact - a small change but a big time saver!

New relative dates for Segments

You can now use two new relative dates in Segment filters - ‘first day of’ and ‘last day of’.

Stop engaging when focus item is closed

There is now an option in the Focus Item builder, allowing you to stop engaging if the Contact clicks to close the Focus Item on your website.

Alert the User if resources in use are unpublished

Ever started a Campaign running only to realize some of the Emails are unpublished or expired? 🤦🏻 Now, Mautic alerts the User when they save the Campaign and provides a link in the alert message so that this can be addressed.

Mautic also now alerts the User if they try to unpublish a Segment when it is the starting point for a Campaign - which would lead to the Campaign failing to function. The user is prevented from unpublishing the segment until the dependency is addressed. This check also works with the API.

Single company for contact option

Sometimes you work in a setup, where it is crucial to have just one company associated with a contact. Until now you were just hoping, that not more companies will be added to a contact, but now you can enforce this. 

Exclude campaigns and segments when processing cron jobs

It is now possible to declare an argument of --exclude which allows you to explicitly exclude from processing specific segments or campaigns when using the mautic:campaigns:trigger, mautic:campaigns:rebuild, or mautic:segments:update commands. This is a huge step towards better background process optimization possibilities.

New Export permission for Reports

Users roles can now allow or deny users to be able to export Reports. It will be enabled to all existing users with a migration so users won’t be blocked by their normal workflows. Please, adjust this permission if necessary after upgrade.

Developer-facing changes

Improvements to the Audit Log

When running the maintenance cron jobs, it’s important to retain a summary so that you can verify contacts were deleted as a result of the command. This is now logged to the Audit Log. Also, when a record is manipulated by the system we now give more helpful information in the Audit Log.

Support for Symfony form_help function

Sometimes it’s necessary to provide contextual help information associated with form fields - we now support the Symfony form_help function paving the way for much improved and translatable form help content.

Custom tokens sent via the API can now include HTML

Sometimes there is a need to send tokens to Mautic - for example in the case of abandoned cart content - but previously if those tokens contained HTML, they were not processed correctly. You can now include HTML in tokens that are sent via the API and they will be correctly rendered.

The Redis UNLINK command is now supported for Redis Cluster setups.

The Redis UNLINK command is similar to DEL but it’s much more performant as it performs the memory reclaiming in a separate thread as it unlinks the keys from the keyspace and then removes them later asynchronously, hence avoiding blocking. This is now supported.

New EmailStatModel

Previously if you needed to make an action on email Stat entity save it was quite difficult to do as the Stat entity was saved in many different places. Now there is a new EmailStatModel which dispatches new events onBefore and onAfter the save.

Imports can now be interrupted and resumed

Command line imports using the mautic:import command can now be interrupted by the signals SIGTERM and SIGINT, and when resumed, will continue where it left off. Note that this requires the PCNTL PHP extensions to be installed.

Webhooks can now be processed in range mode

A new enhancement allows you to process webhooks in ‘range mode’ which means you can set the minimum and maximum ID range to be processed. This is paving the way for parallel processing of webhook queues when moving from cron jobs to workers.

Trailing slash problem in site URL

A really annoying issue will be going away. If in the site url you entered your domain with a slash / at the end, your Mautic would have as login page. Now this is fixed.

This is a companion discussion topic for the original entry at