Today we are excited to announce the release of Mautic 5.0 General Availability. Docker images will be available in the coming days. In addition we have formally released our new user documentation, and developer documentation which are capable of versioning and, in the future, multilingual translations.
We’ve also removed and updated a vast amount of old, legacy code which makes our core more streamlined and modern.
Since Mautic 3.0 we’ve been diligently working on increasing the amount of our codebase which is covered by automated tests - these tests pick up on bugs and problems with code quality for developers to address before they get to you, the user. We’re delighted to share that we’re now at 58.6% coverage, up from 30% with Mautic 3.0 and 50.28% with Mautic 4.4 - a further demonstration of our commitment to delivering a more robust, reliable open source marketing automation platform.
We have almost doubled the number of contributors to this major release compared to Mautic 4.0, which is testament to our growing, vibrant and welcoming community. Without you all, this would not have been possible - so a huge thank you to everybody who has contributed!
What has changed?
The main goal for Mautic 5 was to replace all End of Life dependencies with versions that are still receiving security updates. This goal was achieved. We recommend upgrading to Mautic 5 as soon as possible, and right after upgrading to PHP version 8.1.
- Token Support in the email & landing page builder: The ability to insert tokens via the GrapesJS email and landing page builder front end was introduced to make it easier for people to use and insert tokens for fields in Mautic. (https://github.com/mautic/mautic/pull/11525)
- New Feature: Point Groups: You can now have different types of points - known as Point Groups. Point groups give unlimited dimensions to your lead scoring. The new point groups structure not only helps you to learn more about your contacts, but also use this new info during the whole automation process. Point groups can be used in segments, campaigns as well! (https://github.com/mautic/mautic/pull/11891)
- Email click heat map: Now a new feature, the email click heat map will show you exactly how your contacts click on your emails. Email heatmaps help to optimize your email communication and reveal black spots in your email. (https://github.com/mautic/mautic/pull/12696)
Enhancements to existing features
- Transactional emails ignore DNC: Transactional emails now ignore the Do Not Contact (DNC) flag, allowing you to communicate important information to customers (e.g. password reset emails, checkout confirmations etc) when the customer has opted out of marketing emails, per industry standards. Read more in this blog post about the difference between marketing and transactional emails. (https://github.com/mautic/mautic/pull/11786)
- RFC 8058 compliant one-click unsubscribe: Required for the upcoming changes by Gmail and Yahoo, Mautic now supports a fully RFC 8058 compliant one-click unsubscribe feature, and it’s back-ported for the next release of Mautic 4, as well. (https://github.com/mautic/mautic/pull/13103) -
- Contact email engagement stats: Marketers will be able to see how each contact is engaging with the email marketing campaigns. An overview of the contact’s email engagement statistics will be shown on their profile. (https://github.com/mautic/mautic/pull/11406)
- More features for stages: Stages can now be used as a condition in a Campaign, and can be exported with contacts. (https://github.com/mautic/mautic/pull/11222)
- Enhancements to reports: You can now use tags as a filter in reports. The email statistics reports are also enhanced: Now you will see the right amount of emails delivered in Mautic directly from the email statistics. A new ‘delivered’ email count is added to the chart for better overview. (https://github.com/mautic/mautic/pull/11965)
- Focus item conversion rate statistics: Conversion rates are now displayed in focus groups. The chart will help you to understand how successful your focus items really are. (https://github.com/mautic/mautic/pull/11945)
- Enhancements to importing: Contacts can now be imported including tags. Wow, this is a game changer if you migrate from another system and a much-requested feature! (https://github.com/mautic/mautic/pull/12547)
- Form success message display location: You can now show the form success message either at the top or bottom of forms. (https://github.com/mautic/mautic/pull/10726)
- Removed email configuration via the installation interface: As Email setting can be set through the UI very easily, it is removed from the installer. This makes the installer just 2 steps instead of 3. (https://github.com/mautic/mautic/pull/12216)
- Queue settings in the user interface: If you use a queue for managing page or email hits, you can now set up a queue directly from the user interface, which gives you more control without needing to edit configuration files. (https://github.com/mautic/mautic/pull/12648)
- URL shortener configuration in the user interface: If you need to collect extra information on your traffic or need more control over redirects, you can now integrate URL shorteners really simple into Mautic 5. (https://github.com/mautic/mautic/pull/12128)
- Introducing more control over your email flows: Now you can set a custom reply address also when you send custom email to a contact. This allows you to use common mailboxes, CRM integrations, and automations, that are based on reply-to addresses. (https://github.com/mautic/mautic/pull/11662)
- Clearer indication of segment types: Some segments have filters, some don’t. The important difference is now visible thanks to a new icon next to the segment names. (https://github.com/mautic/mautic/pull/12533)
- Bulk import Custom Fields: Now you can bulk import custom fields with a command, not just one by one. (https://github.com/mautic/mautic/pull/12508)
- Google Analytics 4 support: From now on you'll be able to switch your GA3 tags to GA4 tags. Make sure you update the values if needed. (https://github.com/mautic/mautic/pull/12525)
Things to do after updating
- Check URL shorteners: The bit.ly shorting service has been removed from core, with extended support now available for developers to integrate shortening services. A third party alternative is available if you need to use bit.ly.
- Check your Email transports: Email transports need to be checked to verify they remain functional both for sending and processing bounces, unsubscribes etc. - there is a migration in place, but it’s recommended to do your own testing. If you use an email service provider via API, you probably need to install a plugin to continue using it. Please refer to the developer section below for more detail. Currently supported ESPs include Amazon SES, Sparkpost and Omnivery. Developers can submit new plugins via the Marketplace.
- Verify the local.php file is in the correct location: The local configuration file was moved from app/config/local.php to config/local.php. The reason is that all user-created files shouldn’t be inside the source code. There is a migration that will move the config file to the new location.
- Update your cron jobs: The command bin/console mautic:emails:send for sending emails via cron jobs was removed and now Symfony Messenger is used instead. Use this command to start a consumer: bin/console messenger:consume email. Check the cron jobs documentation for further details.
- Check plugins: If you used the built-in Citrix or Pipedrive plugins, you need to install the third-party plugins and configure appropriately.
- The calendar feature was removed and there is no replacement at this time.
- The Froala editor is turned off by default. Turn it on if you use the legacy email or page builder via global settings.
- Themes from Mautic 1.x (mauve, coffee and nature) have been removed.
Changes with Plugins
- The Pipedrive Plugin is removed from Mautic Core.You can usethe third party alternative instead.
- The Citrix Plugin has been removed from Mautic Core. You can usethe third party alternative instead.
- The LinkedIn plugin has been removed from Mautic Core as it did not work with the new LinkedIn API. There is no replacement at this time.
The main focus of all Mautic 5 refactoring was to get out of EOL (End of Life) libraries and PHP versions. With Mautic 5 we are getting closer to stock Symfony apps. It will help PHP developers to feel more comfortable with Mautic code and speed up development.
- Autowiring and autoconfiguration for PHP services: Developers finally don’t have to update config.php files when adding PHP services or changing dependencies of the existing services.
- More Rector: Rules were added so once you start updating your Mautic plugins to Mautic 5, it will do some of the refactoring for you.
- index_dev.php is dead: Long live the env.local file! The environment (dev, prod, test) and debug (on, off) options are now configurable in the env.local file rather than accessing via index_dev.php.
- Templating via Twig: All the PHP templates were converted into Twig as the PHP templating engine was removed in Symfony 5.
- Symfony Messenger: Emails as well as processing email opens and page hits can be done asynchronously with Symfony Messenger queueing system and worker. Everything works synchronously by default so no extra configuration is needed.
- Symfony Mailer: The Swiftmailer library used in previous Mautic versions is End Of Life. We had to switch to the new replacement. Not all of the email transports that worked in Mautic 4 will work in Mautic 5, some will need a plugin to be installed. Read more
- New email send/queue system: The way messages are sent and queued has fundamentally changed as Mautic moves from using Swiftmailer to Symfony Messenger and Symfony Mailer. This has tremendous gains in terms of speed and performance.
- Currently the following email service providers are supported:
- Other email service providers can use the basic Symfony plugins, but these don’t support callback loops (bounces, unsubscribes etc) so a specific plugin for Mautic is needed. Developers can learn more in the documentation and submit plugins to the Marketplace.
Mautic 5 makes 44% less requests for the first load, uses 21% less memory and loads 42% faster than Mautic 4.4 when loading the dashboard in a browser.
Static analysis tool PHPSTAN reported issues worth 4.3 MB for Mautic 4. In Mautic 5 the team reduced this to 2.2 MB. That means that almost a half of known technical debt was resolved.
Mautic 5 changes were made in 7,080 files. 187,363 lines were added and 587,501 lines were removed. That means that Mautic 5 is around 400,000 lines leaner compared to Mautic 4.