release – Mautic https://mautic.org World's Largest Open Source Marketing Automation Project Wed, 26 Mar 2025 11:54:15 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.1 https://mautic.org/wp-content/uploads/2024/10/iTunesArtwork2x-150x150.png release – Mautic https://mautic.org 32 32 Mautic 6.0: Orion Edition is released https://mautic.org/blog/mautic-6-0-orion-edition-is-released https://mautic.org/blog/mautic-6-0-orion-edition-is-released#comments Wed, 26 Mar 2025 11:14:21 +0000 https://mautic.org/blog/ Today we’ve released Mautic 6.0: Orion Edition. This is a bridging release which will have a shorter cycle so that we can catch up with Symfony’s release schedule and, in the long term, provide up to five years of support for each new major version of Mautic. You can read more about that in our blog post.

Check out the release notes for 6.0 General Availability here.

What follows includes some of the important information about this release.

Dark blue background with Mautic's logo and an illustrated rocket with Mautic 6 launch below with the 6 in yellow and the rest of the text in white. 2615 files changed, 1035 commits, 50+ contributors, project started 5 Nov 2024, Alpha release 27 Jan 2025, Beta release 6 Mar 2025, Release Candidate 17 Mar 2025, General Availability 26 March 2025 on a timeline with launch Timeline in text above.

Firstly a big thank you to everybody who has helped by contributing code, testing and reviewing contributions, creating imagery, writing content, managing social media, writing documentation – it takes a village to manage a release and there are many ways that people have helped get this release over the line.

Note about Docker 

We are currently unable to release the Mautic 6 images for Docker due to a lack of active maintainers. We have an open call for maintainers open on the GitHub repository where you can read more about getting involved as a Docker Maintainer for Mautic.

Marketer-facing changes

Improving tooltip help and guidance

More improvements coming from the UX/UI Tiger Team in this release include improving the tooltips and contextual help for the settings page, explaining to users what each field does and what formats are expected. Here’s a before and after:

BeforeAfter
before settingsafter settings

Improving user experience with Dynamic Web Content

One of my personal favourites, this release features a vastly improved user experience for Dynamic Web Content slot generation, allowing you to generate the precise code required for embedding it within your website, including adding default content. You can grab the syntax commonly used for plugins (including being able to switch between square and curly braces) and for the plain HTML code.

dwc slot generator

Improving layout of tables and batch action features

If you’ve updated to 5.2 you’ll have noticed we’ve dramatically improved the layouts of tables, and with 6.0 we’ve got some more enhancements coming for you, this time focused on improving the batch functions. They’re now moved to the toolbar instead of being hidden under the ‘three dot menu’ in a much more intuitive layout.

Report on your focus items

We now have a new report source, called Focus stats. This allows you to create a report which includes the following data from focus items: name, url, interaction, page hits, unique hits, description, focus type, style. This is super useful to keep track of how your focus items are performing.

focus item stats

New campaign email charts: weekday and hour based metrics

Have you ever wanted to see a chart which showed you how your emails within a campaign were performing by day or by hour? Thanks to this new PR we’ve now got an extra tab on the campaign which shows your email statistics.

email statistics

Mark fields as read-only on forms

When showing a Mautic form, sometimes you might want to have certain fields ‘read-only’ – such as the user’s email address – so that they can only fill out the fields you require. Thanks to this new feature, you can now set a field to be read only.

New themes

We now have five new landing page themes and two new form themes to help you building beautiful experiences for your users – check them out and let us know what you think!

Set global company name and brand highlight color

Thanks to this PR you can now set your company name and brand highlight colour globally, which will be used by the themes added since Mautic 5 automatically. A small but convenient change for marketers!

accent colour company name
email theme colour company

Developer-facing changes

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 64.75% coverage, up from from 30% with Mautic 3.0, 50.28% with Mautic 4.4 and 58.6% with Mautic 5.0 – a further demonstration of our commitment to delivering a more robust, reliable open source marketing automation platform.

Backward compatibility breaking changes

JavaScript

As the legacy builder was removed these JavaScript libraries were removed as well:

  • Froala has been removed as it was outdated with security vulnerabilities
  • CodeMirror JS has been removed from Core, but is still installed in the GrapesJS plugin
  • jQuery UI’s plugin Safe Blur has been removed as it was no longer used.
  • Modernizr has been removed as it’s not necessary anymore as modern browsers support open standards

PHP

Mautic 6 removes a large volume of legacy, deprecated code. Please refer to the UPGRADE-6.0 file for the full list.

Symfony notable changes

Getting a value from request must now be scalar

Meaning arrays cannot be returned with the get() method. Example of how to resolve it:

- $asset = $request->request->get('asset') ?? [];
+ $asset = $request->request->all()['asset'] ?? [];

ASC constants are replaced with enums in Doctrine
- $q->orderBy($this->getTableAlias().'.dateAdded', \Doctrine\Common\Collections\Criteria::DESC);
+ $q->orderBy($this->getTableAlias().'.dateAdded', \Doctrine\Common\Collections\Order::Descending->value);

Creating AJAX requests in functional tests
- $this->client->request(Request::METHOD_POST, '/s/ajax', $payload, [], $this->createAjaxHeaders());
+ $this->setCsrfHeader(); // this is necessary only for the /s/ajax endpoints. Other ajax requests do not need it.
+ $this->client->xmlHttpRequest(Request::METHOD_POST, '/s/ajax', $payload);

Logging in different user in functional tests
- $user = $this->loginUser('admin');
+ $user = $this->em->getRepository(User::class)->findOneBy(['username' => 'admin']);
+ $this->loginUser($user);

Asserting successful response in functional tests
$this->client->request('GET', '/s/campaigns/new/');
- $response = $this->client->getResponse();
- Assert::assertTrue($response->isOk(), $response->getContent());
+ $this->assertResponseIsSuccessful();

Session service doesn’t exist anymore

Use Request to get the session instead.

- use Symfony\Component\HttpFoundation\Session\SessionInterface;
+ use Symfony\Component\HttpFoundation\RequestStack;
class NeedsSession
{
-   public function __construct(private SessionInterface $session) {}
+   public function __construct(private RequestStack $requestStack) {}

    public function doStuff()
    {
-       $selected = $this->session->get('mautic.category.type', 'category');
+       $selected = $this->requestStack->getSession()->get('mautic.category.type', 'category');
        // ...
    }
}

Mautic features

Removal of gated video

Gated video used a very outdated, unsupported library and only worked with the legacy builder which is now removed. Therefore, the gated video feature has been removed from Mautic. If developers would like to build this for GrapesJS, please make a PR for the core team to review!

Removal of the legacy builder

It’s finally time to say goodbye to the legacy builder which has served Mautic since the early days of Mautic 2. 

We hope that you enjoy using Mautic 6 – please let us know of any problems you encounter on this forum category or by posting in #mautic-6 on Slack.

]]>
https://mautic.org/blog/mautic-6-0-orion-edition-is-released/feed/ 9
Announcing Mautic 6 Beta – Now Available for Testing https://mautic.org/blog/announcing-mautic-6-beta-now-available-for-testing https://mautic.org/blog/announcing-mautic-6-beta-now-available-for-testing#comments Thu, 06 Mar 2025 17:05:07 +0000 https://mautic.org/blog/ Hello community!

We are excited to announce that Mautic 6 beta is now available for public testing!

With Mautic 6, which is a shortened release to help us catch up with Symfony releases, we are focused on removing outdated code and functionality to ensure Mautic remains secure and performant aligned with modern coding standards, while also delivering more improvements and features to Mautic.

We’ve worked really hard to get to this point – a huge thanks to all the community members who have contributed to the release!

⚠IMPORTANT NOTE:

This is a pre-release, which means it should never be used in a production environment. It would be helpful that people could test upgrading your development instances from Mautic 5 – there will be an upgrade path to the Release Candidate when it is released. 

Please only use it in testing environments, and report back your findings.

The major release focuses mainly on a major update to Symfony 6, but it also brings several user-facing changes and some changes that are relevant for developers. Read on for more information.

What’s New in Mautic 6 Beta?

In addition to the updates that were released in the alpha and 21 new bugs being squashed, we have the following notable features and enhancements with the Beta release:

  • You can now search for contacts and companies with custom field values, without using a search prefix (see #14393)
  • You can now set the language for a preference centre page using the configured page language if a contact doesn’t have a locale set in Mautic (see #14370)
  • There’s now a command to get the stats for your segments, allowing you to save resources by unpublishing those not in use (see #14575)
  • You can now see if a segment is in the process of being rebuilt, thanks to #14431
  • There are now five shiny new landing page themes for the GrapesJS builder, and two new form-only themes. Check the PRs here.
  • You can now set your brand’s primary colour and company name, which is used by default with the new themes (see #14649)
  • The marketplace details page for plugins has had a glow up – check out #14199.
  • There’s now some useful visual indicators when you create form fields, explaining what that field does (for example whether it’s always required, what fields are mapped, whether it’s hidden if it already exists) – see #14513
  • There’s also some useful visual information for form actions, telling you specifically what each step does (for example, reduce points by 5) thanks to #14514.
  • The text editor modal popup on the GrapesJS builder has been improved so that accidentally clicking outside the modal no longer closes it (hopefully no more 😱 where did my content changes go moments!) and the Close button has been renamed to Cancel thanks to #14533.
  • Some performance improvements have been made to integration synchronizations, so that they don’t overwhelm database servers while jobs are running (see #14556).
  • Users can no longer delete categories if they are associated with existing resources, instead they are presented with a warning. (see #14567)

Developer Notes

If you’re a developer, please note that Mautic 6.0-beta2 includes several changes that may affect your custom code.

Please review the UPGRADE-6.0.md file for more information on all changes in Mautic 6 that you will need to consider.

We hope you enjoy using Mautic 6.0-beta2 and look forward to your feedback! Please use #mautic-6 on Slack if you wish to discuss the release. Please raise any bugs or issues that you find as GitHub issues and share in Slack so we can make sure they’re addressed in subsequent releases.

How Can You Help?

By testing the Mautic 6 beta, you have a chance to contribute to its success. Here’s how you can help:
 

  1. Test the Beta: Download the beta, test it diligently, and let us know if you encounter any bugs or issues. Your feedback can help us improve the final product. Please search first on github.com/mautic/mautic/issues before reporting any bugs there.
     
  2. Provide Feedback: Share your thoughts about the features and functionality. We want to know what works for you and what doesn’t.
     
  3. Spread the Word: Tell your communities, colleagues, and friends about the new Mautic 6 beta. The more people that test the beta version, the more feedback we’ll receive, leading to a stronger final product,


All being well, the Release Candidate will be published on 10th March – but we have a lot to do between now and then, so please consider volunteering to help with testing, especially on Fridays in #t-product and #mautic-6 on Slack in our Open Source Friday sprints!

Please remember that this is a beta version and should not be used in a production environment. We recommend testing it in a safe staging or development environment. Thank You!

We are excited to see Mautic evolve with the needs of its community and are grateful for your continued support and feedback in this process. You make Mautic what it is, and for that, we thank you. Download the Mautic 6 Beta now, dive in, and let us know what you think.

Happy testing!

]]>
https://mautic.org/blog/announcing-mautic-6-beta-now-available-for-testing/feed/ 1
Mautic 5.2 ‘Pleiades’: A New Star in Marketing Automation https://mautic.org/blog/mautic-5-2-pleiades-a-new-star-in-marketing-automation Mon, 02 Dec 2024 13:46:00 +0000 https://www.mautic.org/blog/ Starting with the 5.1 release, each version will carry a thematic name based on star constellations, marking a new tradition for Mautic versioning – hence the ‘Pleiades’ edition. This version incorporates 75 bug fixes, 12 new features, and 97 enhancements, totalling 226 pull requests that significantly improve Mautic’s stability and functionality.

A Complete UI Transformation

This release focused on eradicating all the little shortcomings that made Mautic inconsistent and not intuitive. A significant part of this update centers on user experience, with 50 user experience updates and 62 improvements made to the user interface based on community feedback. These updates were developed in part by the UX/UI Tiger Team, whose first initiative has been addressing user-reported issues within Mautic’s interface.

When you use this version of Mautic for the first time, you will feel that the hundred-plus UI improvements have created a brand new, easier to use and fun Mautic that is delightful to look at.

Notable UI Changes

  • Enhanced Email Scheduling: Clearer status indicators for future sends with more descriptive status displays
  • New Administrator Themes: A new set of admin themes for a more vision-friendly experience
  • Terminology Updates: “Template email” replaced by “triggered email” for better clarity
  • Modernized Interface: Updated date picker and refreshed button designs across the platform
  • Dashboard Improvements: All widgets received better descriptions, with two new additions for Forms/Assets and Landing pages
  • Enhanced Notifications: New design with humanized timestamps for better readability

Campaign Builder Evolution

The campaign builder received a comprehensive redesign with functional improvements:

  • Better visual differentiation between decisions, actions, and conditions
  • New icons for each type of decision, action, and condition
  • Dark mode support
  • Direct display of decision and condition percentage results in the campaign preview

Email Marketing Enhancements

Email capabilities have seen significant improvements:

  • 13 new core email themes, carefully tested and ready for your campaigns
  • New Creative and Attract themed templates
  • Email preheader field for improved inbox presentation
  • Ability to test emails with actual contact data for accurate token population
  • Smarter “send email” button that automatically hides for contacts without email addresses

Enhanced User Management & Preference Center

The release brings several improvements to user management:

  • New filtering system for better user overview
  • Streamlined colleague invitation process
  • Password management controls from the admin interface
  • Completely revamped notes system

The Preference Center received multiple upgrades:

  • New resubscribe token for custom unsubscribe pages
  • Global unsubscribe option for segment-based newsletters
  • Modern toggles replacing radio buttons
  • Enhanced tooltips for better user guidance

New Features and Tools

  • Company lookup form field for accurate company name entry
  • Landing page ID support in form redirect URLs
  • Comprehensive in-app help with ProTips and guides
  • New help page for search filters and tokens with an accordion system
  • Data anonymization features for enhanced privacy compliance

Looking Forward

These improvements make Mautic not just modern and a true competitor to commercial systems, but deliver a serious usability advantage compared to previous versions. The UI changes have transformed Mautic into a more polished, professional, and user-friendly marketing automation platform that rivals commercial alternatives.

For a detailed overview of all changes and improvements, please refer to our release notes.

Join our community channels to share your experience with the new release and connect with other Mautic users and contributors. Together, we’re building the future of open source marketing automation.

Credits

Thank you to Eddie Christian Aguilar Kleimann and Sven Döring for working on the content for this blog post, and to Efe Akhigbe for the visual imagery on the blog post and social media posts.

]]>
Release Announcement Mautic 5.1: Andromeda Edition https://mautic.org/blog/release-announcement-mautic-5-1-andromeda-edition Wed, 12 Jun 2024 13:15:19 +0000 https://www.mautic.org/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.

Enhancements

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 domain.com//s/login as login page. Now this is fixed.

]]>
Mautic 5: Beyond Expectations, Beyond Limits https://mautic.org/blog/mautic-5-beyond-expectations-beyond-limits Tue, 09 Jan 2024 16:22:24 +0000 https://www.mautic.org/mautic-5-beyond-expectations-beyond-limits/ Note: After release we found a bug with two missing migrations which was fixed with 5.0.1, released on 10th January. Please report any issues you find in this forum category.

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.

This release includes support for Symfony 5, PHP 8.1 and updates many of our very outdated dependencies ‘under the hood’ to ensure Mautic remains secure and fit for the future.

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.

Mautic 5 Infographic showing the logo and an illustrated rocket with Mautic 5 Launch beneath, and text saying '7080 files changed, 4787 commits, 70+ contributors, Project started 8 April 2022, Alpha release June 30 2023, Beta release Oct 18 2023, Release Candidate 1 Nov 15 2023, Release Candidate 2 Dec 19 2023, Stable release Jan 8 2024

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?

For Users

Security

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.

New features

  • 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

  • Remove cookies no longer used: We won’t use some of the old cookies anymore, which are not needed and are deprecated. This makes your GDPR Privacy Policy a lot shorter! (https://github.com/mautic/mautic/pull/12440)
     
  • 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)

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.

Removed Features

  • 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.

For Developers

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.
     
  • JavaScript libraries are being installed and versioned via NPM: instead of using hard-coded JS files, using NPM is making it easier to update in the future.
     
  • 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:
      • SMTP (out of the box)
      • Amazon SES (plugin – coming soon)
      • Sparkpost (plugin)
      • Omnivery (plugin)
         
    • 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.

]]>
Announcing the Mautic 5 Release Candidate https://mautic.org/blog/announcing-mautic-5-release-candidate Thu, 16 Nov 2023 11:49:25 +0000 https://www.mautic.org/announcing-mautic-5-release-candidate/ We are excited to announce the Release Candidate of Mautic 5! This release sees numerous enhancements and bug fixes, maintaining our commitment to deliver a stable and improved platform to our community. 

⚠ This is a pre-release and should only be used in a test or development environment for the purposes of testing new features and bug fixes.

Here’s a rundown of all the fantastic work the contributors have done:

Refactoring

  • The deprecated cache helper is now replaced. This is important because it allows you to use Redis instead of MySQL to cache requests, which is much faster and helps reduce the load on MySQL. Kudos to John Linhart for the improvement (#12699).

Features and Enhancements

  • A new feature, the Email Click Heatmap, has been implemented by Patryk Gruszka to provide users with more in-depth insights (#12696). NB. This was available in the Beta release, but it was missed in the release notes due to a technical oversight.

Bug Fixes

Several bugs have been addressed in this release:

  • When cloning an email, the publish up and down dates are copied over. This can cause issues when clients do not notice, and publish the email but have no intention of automatically sending it (yet) using broadcast:send. This has been fixed by Nick Vanpraet (#12784).
     
  • When you clone emails with plaintext you see URLs in the tracking data from the original email, which is confusing for the user. This is now reset when cloning an email. This has been solved by Zdeno Kuzmany (#12748).
     
  • A user with “View Others” access to contacts is unable to see any other contacts but their own on the dashboard widget for contacts created in time. This issue has been tackled by Jason Woods in their first contribution to Mautic! (#12819).
     
  • Several places in Mautic resulted in a 500 error when cloning the entities, including reports and SMS message. This was due to a missing request object on clone operations which has been fixed by Mattias Michaux (#12811).
     
  • When a user tries to perform an “override lock” action while another user is in the process of editing a form, it triggers an Error 500. This error disrupts the expected workflow and prevents the intended action from being completed. Nick Vanpraet resolved this bug. (#12837).
     
  • When creating a new email, the options for selecting the preference centre were missing. This has been fixed by Anna Munk (#12829).
     
  • And many more.

A big thank you to everybody who has helped with testing and reviewing over the last month:

  • John Linhart (20)
  • Zdeno Kuzmany (11)
  • Patrick Jenkner (10)
  • Ruth Cheesley (9)
  • Patryk Gruszka (2)
  • Volha Pivavrchyk (1)
  • Jan Kozak (1)
  • Mattias Michaux (1)
  • Anna Munk (1)

If you’d like to help with this essential task – which can all be done in the browser without even needing to install Mautic – please check our onboarding guide at https://mau.tc/tester.

New Contributors

We’d like to give a shout-out to Jason Woods for their first contribution (#12819). Welcome to the Mautic community!

This release is the result of the outstanding work, skills, and dedication of the Mautic community. Mautic grows thanks to these collective efforts!

Please join us in testing this release candidate to ensure a smooth final release. Download the Mautic 5 Release Candidate here.

Please report any issues in #mautic-5 on Slack (get an invitation at https://mau.tc/slack-invite) so that the team can review them with you.

And as always, happy marketing automation!

]]>
Announcing Mautic 5 Beta – Now Available for Testing https://mautic.org/blog/announcing-mautic-5-beta-now-available-testing Wed, 25 Oct 2023 09:58:19 +0000 https://www.mautic.org/announcing-mautic-5-beta-now-available-testing/ Hello community!

We are excited to announce that Mautic 5 beta-2, the newest version of our open source marketing automation platform, is available for public testing!

With Mautic 5, we aim to bring you a more intuitive, powerful, and seamless marketing automation experience. We’ve worked really hard to get to this point – huge thanks to all the community members who have contributed to the release!

⚠IMPORTANT NOTE:

This is a pre-release, which means it should never be used in a production environment. It would be helpful that people could test upgrading your development instances from Mautic 4 – there will be an upgrade path to the Release Candidate when it is released. 

Please only use it in testing environments, and report back your findings.

The major release focuses mainly on a major update to Symfony 5 and supports PHP 8.1, but it also brings several user-facing changes and exciting news for developers. Read on for more information.

What’s New in Mautic 5 Beta?

In addition to the updates that were released in the alpha and 86 new bugs being squashed, we have the following notable features and enhancements with the Beta release:

  • CKEditor has been updated from v4 to v5 (#12641)
  • Custom emails can now set a reply-to address (#11662)
  • More detailed information on email engagement stats available in reports (#12713)
  • Engagement with focus items is now displayed on the contact timeline (#11999)
  • Focus items now display click conversion rates (#11945)
  • Segments with filters now display an icon in list view (#12533)
  • Update to URL shortener system – if you use bit.ly you now need to use the third party plugin (#12299)
  • The Marketplace now shows you the command to install a plugin at the command line (#12529)
  • Improvements to the new queueing system including UI-based configuration (#12648)
  • Google Analytics now supports GA4 (#12421)
  • The application and local configuration has been separated, to better support composer-based installations (#11561)
  • More autowiring (#12493)
  • Speed improvements with automated tests (#12531)

How Can You Help?

By testing the Mautic 5 beta, you have a chance to contribute to its success. Here’s how you can help:
 

  1. Test the Beta: Download the beta, test it diligently, and let us know if you encounter any bugs or issues. Your feedback can help us improve the final product. Please search first on github.com/mautic/mautic/issues before reporting any bugs there.
     
  2. Provide Feedback: Share your thoughts about the features and functionality. We want to know what works for you and what doesn’t.
     
  3. Spread the Word: Tell your communities, colleagues, and friends about the new Mautic 5 beta. The more people that test the beta version, the more feedback we’ll receive, leading to a stronger final product,

All being well, the Release Candidate will be published on 30th October – but we have a lot to do between now and then, so please consider volunteering to help with testing, especially on Fridays in #t-product and #mautic-5 on Slack in our Open Source Friday sprints!

Please remember that this is a beta version and should not be used in a production environment. We recommend testing it in a safe staging or development environment. Thank You!

We are excited to see Mautic evolve with the needs of its community and are grateful for your continued support and feedback in this process. You make Mautic what it is, and for that, we thank you.

Download the Mautic 5 Beta now, dive in, and let us know what you think. We believe that with your help, we can make Mautic 5 the best version yet!

Until then, happy testing!

]]>
Mautic 4.4.0: support for PHP 8.0 https://mautic.org/blog/mautic-4-4-0-support-php-8-0 Mon, 27 Jun 2022 13:22:49 +0000 https://www.mautic.org/mautic-4-4-0-support-php-8-0/ Today we have made an out-of-cycle minor release. Now we can provide Mautic users with support for PHP 8.0 in the 4.x series.

This should allow Mautic users to update their PHP versions before PHP 7 reaches end of life in November. Also, they can update their PHP versions before updating to Mautic 5 in September.

We have also included several bug fixes, including some regressions which arose in the previous release. The detailed release notes for Mautic 4.4.0 are available.

User-facing changes

Tag import

One of the bug fixed in the 4.4.0 release relates to the import of tags, which were not being assigned to contacts in the import workflow. This bug was fixed and import is now tagging contacts as expected.

Marketplace made easier

Some updates to the Marketplace have made it more user friendly in the 4.x series. For example, there is now the option for a human readable nome, instead of just vendor/repository name.

The Issue Tracker button has been fixed, and an additional button was added to allow for quick access to the documentation.

Users are also given a “clear cache” option if they wait for new version a package, for instance.

Developer-facing changes

Plugin installation

Another fix we want to highlight is on reported errors when installing plugins that have some schema to install. With the fix, Mautic now catches the exception if the table is not present and skips the additional logic.

Unit tests

PHPUnit tests are now executed with a random database prefix as default, if none is defined. This ensures that both tests and functionality are compatible. It is still possible to set a specific prefix by setting the environment variable in the app/phpunit.xml.dist file.  This has been added as recently there were some bugs which came about as our automated tests were not running to check Mautic instances which might have a database prefix.

Help take Mautic to next level

We invite you to help with testing the release and report any issues on Slack in #mautic-4 and/or GitHub. You can also join us each Friday to help with testing new bug fixes, features and enhancements – we can’t get things released in a timely manner without your help!

Want to help in other areas? Join the Mautic community! Check out our Community and Get Involved sections.

 

]]>
Mautic 4.3: Beyond Contacts and Companies https://mautic.org/blog/mautic-4-3-beyond-contacts-and-companies Mon, 23 May 2022 17:18:54 +0000 https://www.mautic.org/mautic-4-3-beyond-contacts-and-companies/ The third feature-based release in the Mautic 4.x series brings about major changes in how you can manage your contacts and their many-to-many relations, beyond companies. Dynamic content filters are now available for plugins, such as the now open source plugin Custom Objects.

If you would like to check the release note, it is available here. This release of Mautic 4.3.0 includes 34 new features/enhancements, plus 29 bug fixes and two security fixes. 

We will highlight below some of these updates and features, read on to find out what are the new functionalities you can benefit from.

New features

User-facing changes

Slicker contact view

The contact view has been updated and now only shows the fields that have any data. Up to now, the view showed all available fields, even if they were not filled out. Now, if a field is empty, it will not be displayed.

A screenshot of contact page

Progressive forms and two more locations

Progressive forms are once again progressive. A new feature introduced in Mautic 4.1 introduced a regression, but now the maximum number of fields is working again.

Speaking of enhancements to forms, they now allow users to choose Curaçao and Isle of Man as their location. That means another 240,000 people can now choose the right location when they fill out Mautic forms.

Search company by ID

This search enhancement now allows users to filter by company ID, instead of just company name. All that is needed is to use

company_id:

as the search parameter.

 

A screenshot of the company list in Mautic with a red box around the search box and an arrow pointing to the company ID.

Dynamic content events

The dynamic content filters that we know and love are now available as an event. This way, plugins can also benefit from them. 

Custom Objects Support

Coming as a third-party plugin, Custom Objects allows Mautic users to create new logic for their segments and campaigns. Besides contacts and companies, with Custom Objects you now create new entities, that is, information groups, such as “Invoices” or “Subscriptions”. Those data can have their own keys and values, which relate to one another. For example an invoice or purchased product with product name, date and total. You can learn more about the plugin here.

Fallback email theme

Ever deleted an email theme only to find out that emails based on that template broke afterwards? Now, instead of breaking, the Blank theme will step up as the fallback theme.

Developer-facing changes

Segment filters optimization

On the scalability front, segment filters just got a lot faster: from 8s to ~300ms, for databases with over 100 thousand contacts. The use of EXISTS, instead of NOT IN has made this possible.

Segment decorator event

Delegated segment filters now have a new event available to be used as a decorator. This will allow plugins to filter based on objects, not just contact or company.

Import validation for required fields

Imports will now only go through if all required fields are matched. The validation will warn users that the import will fail if those fields are not informed.

Security fixes

Two security fixes have been released with 4.3.0:

XSS vulnerability in installer – note that a hotfix was released in 4.3.1 to fix a bug which was identified immediately after release.

XSS vulnerability in tracking pixel functionality

]]>