update – Mautic https://mautic.org World's Largest Open Source Marketing Automation Project Wed, 18 Dec 2024 11:57:03 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.1 https://mautic.org/wp-content/uploads/2024/10/iTunesArtwork2x-150x150.png update – Mautic https://mautic.org 32 32 An update on the Mautic 5 release schedule https://mautic.org/blog/update-mautic-5-release-schedule Tue, 25 Oct 2022 15:46:18 +0000 https://www.mautic.org/update-mautic-5-release-schedule/ Much work has been happening since we released Mautic 4 just over a year ago, to prepare for our next major update.

What follows is an update on how we’re getting on with that process, and what you can expect as a Mautic user as regards timelines and new features.

tl;dr

  1. There will be no more feature releases for Mautic 4
  2. Monthly bug fix releases for Mautic 4 will continue
  3. Mautic 5 alpha is expected to be released by the end of November, with the aim of a General Availability release in early January 2023
  4. Developers need to take note of our new workflows when contributing bug fixes and features

Mandatory upgrades

Symfony 5 support

Mautic uses several different tools ‘under the hood’ which we have to keep up to date, and the biggest of these is Symfony, the framework that underpins Mautic. Symfony has a regular release schedule just like Mautic, and as a result we have to keep up with that and implement support for new releases in Mautic.

Screenshot showing the Symfony release schedule - key points being end of active support for Symfony 4 in Nov 2022 and Security Support in Nov 2023, end of active support for Symfony 5 in Nov 2023 and end of security support in Nov 2024

Mautic 5 will ship with Symfony 5 support, and we are very nearly complete with the work that needs to be done in this area, which we are tracking under https://mautic.atlassian.net/browse/TPROD-248

We recently crowdfunded $4,000 to support a contractor working through a large part of the outstanding tasks where we could not find community contributors to work on. This work has just been started and is expected to be concluded by the end of October.

As soon as this work is completed we will be able to test Mautic with Symfony 5, and fix any outstanding issues.

We aim to have this completed by the end of November, with a view to making a testable alpha release at that point. We are aiming for a Release Candidate in December, with General Availability in January 2023 assuming the support from the community with testing and reviewing.

If the work proceeds faster than expected (which you can help with, by joining us on Fridays to help with testing!) we may also consider whether we can jump two versions, and include support for Symfony 6 with Mautic 5.

The revised release schedule can be found below, and is always available on the Releases page.

PHP 8.1 support

We were not able to implement support for version 8.1 until Mautic 5, because it requires some changes which break backwards compatibility. The work to introduce support for 8.1 will necessarily mean that we no longer support the outdated version, 7.4, as we only support the latest two minor versions of PHP. 

This work will commence as soon as we have completed the work for Symfony 5 support, because it is dependent on several aspects of that work.

We aim to have PHP 8.1 support included in the alpha release at the end of November.

New features

Mautic 5 will ship with some new features:

Contacts

  • Allow exporting of stage with contact exports
  • Show contact’s engagement statistics on their profile (Total sent, Open rate (OR), Click-through rate (CTR), Click-to-open rate (CTOR))
  • Show contact created and modified date on profile

Campaigns

  • Use stages as a condition in Campaign Builder

Segments

  • Showing a segment dependency tree to identify optimization opportunities in your segmentation
  • Several substantial performance optimizations for building segments

Emails

  • Replace Swiftmailer with Symfony Mailer (3x faster message sending, and no more cron jobs for sending messages!)
  • Prevent duplicate sending of segment emails when a send is already in action
  • Addition of dropdown in editor for inserting Mautic tokens into the GrapesJS builder

Forms

  • Allow formatting of help messages on Forms with HTML

Landing pages

  • Configure a success message when preference center options are updated

Reports

  • Filtering reports by tags
  • Reports based on devices used

Webhooks

  • Several substantial performance optimisations relating to the processing of the Webhooks queue

Potential features

More features may be added over the coming months, if we have help to test them. Some examples of features waiting for review include:

Anybody who uses Mautic can help with testing these features, and developers can help with doing code review. Read more in our Community Handbook, and if you can join us on Fridays that is the best time, as we have a community contribution event every week – just head to Slack (get an invite at https://mautic.org/slack) and join #t-product.

A note for developers

As we have been working with the release process since Mautic 3, we have been refining our workflows. We have made a change to help with improving the stability of releases and prevent bugs slipping in as a result of merging changes from one branch to another.

The basic principles:

Assuming a = current major release, b = current minor release, c = upcoming major release

At the present time, a.b = 4.4, c.x = 5.x

  • Features and bug fixes should always made against the c.x branch in the first instance – for example 5.x
     
  • Bug fixes that need to be released into a minor or patch release should ALSO be made against the current minor release branch a.b – for example 4.4, in addition to being made on the c.x branch
    • This means creating a duplicate PR – we know it is an extra step, but:
       

      • This helps to prevent bugs with complex merges of minor to feature branch (often having over 100 conflicts to be resolved)
         
      • This means that the correct environments for the unit tests with the appropriate PHP and MySQL versions can be run at the point where you create the PR, and you can address any issues right away
         
      • This means that your bug fix will be tested in both versions, not just one and hoping it works in the other (which has led to several bugs recently).
         
      • This means we should be able to merge your PRs much faster and with greater confidence.

We know that this is an extra step, however doing this when you create the PR significantly reduces the possibility of bugs and helps us to move faster with making releases.

]]>
Important changes to the Mautic install and upgrade process https://mautic.org/blog/important-changes-mautic-install-and-upgrade-process https://mautic.org/blog/important-changes-mautic-install-and-upgrade-process#comments Fri, 25 Feb 2022 10:38:18 +0000 https://www.mautic.org/important-changes-mautic-install-and-upgrade-process/ The biggest problems we see in the Mautic Community forums tend to be around installing and updating Mautic. Difficulties with permissions, incomplete updates, and all the associated problems that this causes. This can be further compounded by plugins which may be incompatible with newer versions of Mautic, causing it to crash on update.

Over the last year the Install and Upgrade Initiative team have been working closely with the Product Team on investigating how to bring more stability to the installation and upgrade process of Mautic. We are now beginning to introduce some changes with the ultimate goal of having a rock-solid, stable install and upgrade workflow for Mautic which works as well for single Mautic instances as for managing Mautic at scale.

Coming soon

Deprecating current installation and upgrade methods

Since Mautic 2.0 we have been advising Mautic users to update at the command line, now we are going to make it a requirement.

With the 4.2.0 release of Mautic, you will start to see warnings if you are using the update feature within Mautic itself (often referred to as ‘in the user interface’ [UI]), telling you that this has been deprecated and will be completely removed in Mautic 5. 

A screenshot of the update screen with a warning that UI-based updates are going to be deprecated in Mautic 5

The reason for this will be evident to anybody who has tried to use the update feature within Mautic with anything other than a test installation – during the update process, a lot of intensive tasks have to be executed which can take quite some time with a large number of contacts. This will often cause the process running on the server to be terminated due to the hosting environment being incapable of completing the tasks with the available resources. This is the number one issue where updates fail and cause Mautic to crash, leaving users extremely frustrated.

From Mautic 5, you will no longer be able to update Mautic from within the user interface, and will have to update following specific commands at the command line.

We do appreciate that for some users of Mautic, this adds an extra layer of complexity, however we believe that the benefits outweigh the many difficulties that users of Mautic experience when attempting updating within the user interface.

Improving in-app guidance to users on how to update

While we will be removing the ability to update in the user interface, we will still be alerting users when a new version of Mautic is available. There will be detailed information provided if their environment doesn’t support updating (for example if a higher version of PHP is required or plugins need to be updated), and a clear overview of what is included in the new version of Mautic.

We will be providing easy to follow, step-by-step instructions for users to follow at the command line in order to update their Mautic instance.

Composer as the supported method for installing and updating Mautic and third party plugins

Since Mautic 4.0 it has been possible to fully manage Mautic with Composer thanks to the work of the Composer Initiative, which brings Mautic in line with many other PHP applications who already use this technology for installing and updating software.

With the introduction of Composer 2, the process is even more efficient and robust, and many Mautic users have reported great success in using Composer to manage their Mautic installations.

With the removal of the UI-based upgrade in Mautic 5, we will also be switching to using Composer as the official way to install and update Mautic. This also has the added benefit of unlocking the ability to manage plugins within the Mautic Marketplace, which is dependent on Composer.

From Mautic 4.2 there is a new setting which you can enable to tell Mautic that you are managing it through Composer, which will disable the built-in updating system, and enable you to manage plugins within the Marketplace.  With this setting enabled, users will see a message warning them that they are not able to update in the user interface.

Screenshot of the update screen showing a warning that the instance is managed by Composer and can't be updated in the user interface.

Improving documentation

With the changes above we recognize the need to improve the documentation we have available, both within the application (as mentioned above) but also in the end-user and developer documentation.

The end-user and developer documentation are currently undergoing a review, update and re-platform to Read the Docs which will enable us to maintain versioned documentation related to different Mautic versions, and to translate the documentation into other languages using Transifex. We would welcome contributors who would like to help with this task, even if you only have a small amount of time – we have lots of small tasks that need to be done. Please join us in #t-education on Slack if you would like to get involved!

We will also be greatly extending the articles we have in our Knowledgebase and moving to a more effective platform, which will enable community members to submit new articles for review, and also provide a much more intuitive experience. We hope that this will include regularly updated tutorials on how to install Mautic on all the popular hosting platforms, and the development of one-click installers.

Future plans

Automatic updates

With the changes above, we are planning in the future to enable automatic updates as a feature which can be enabled by an administrator. Bug fix releases are generally safe to update automatically as they do not include any major changes, new features or significant variations of existing features.

This will not be an option until at least Mautic 5.0, and even then, will require a Composer-managed installation due to the underlying functionality required.

Decoupling plugins and enabling selection during installation

With the changes we are making and the introduction of the Mautic Marketplace, we are planning to fully decouple plugins and integrations from the core of Mautic.

This means that when you install Mautic, you will start with the absolute basics which are required for Mautic to operate – making Mautic installations very streamlined by only including the features that you specifically need for your instance.

During the installation process, the user will be given the opportunity to select other features, functionality or integrations that might be helpful, and to install them. For example, you might want to install the plugin to integrate with your CRM system, or to use a specific third party email provider.

We have started the work on this already by separating the individual plugins out into their own repositories as part of the Composer Initiative, which are currently acting as read-only ‘mirror’ repositories.

The next steps will be to fully isolate each plugin by removing any inter-dependencies, and then to develop the experience within the installation process to include core plugins which are required, and enable the user to select from the marketplace any third party plugins they might need.

Conclusion

I’m pleased to see that we’re starting to make some headway in addressing some of the fundamental problems that people experience when they are installing and updating Mautic, and am looking forward to hearing your thoughts on our future plans for Mautic. Please do reply in the companion forum thread if you have any comments!

]]>
https://mautic.org/blog/important-changes-mautic-install-and-upgrade-process/feed/ 4
Updates to the Mautic Community Release Process https://mautic.org/blog/updates-mautic-community-release-process Wed, 16 Jun 2021 21:25:53 +0000 https://www.mautic.org/updates-mautic-community-release-process/ Over the last year we have made huge strides in the consistency of our release process thanks to the regular cadence of releases and the hard work of a very small number of people to test and review pull requests and features.

While we are really proud of the progress we have made, there are some areas that are not working so well, which we are going to address going forward.

Release planning

At the present time of writing, we have 209 open pull requests waiting to be tested and reviewed, however only 67 of these are in a condition that would allow them to be merged. There are various reasons why a pull request would not be mergeable, but the most common reasons that we see are:

  • Inadequate automated test coverage
  • Automated tests failing
  • Conflicts with files that have changed since the pull request was created which have not been resolved
  • Lack of documentation to support a new feature or significant change

In the past, we have been assigning a pull request to a milestone (which tells the developer when we are planning to release their change) regardless of whether the pull request was mergeable. If the pull request is not ready to be merged, it just gets bumped back to a later release. In some cases this has been happening for over a year!

Going forward, we will be changing this.

Quarterly release planning

Once a quarter, the Product Team will hold a release planning meeting (open to all) where they will decide what pull requests will be included in the next three releases. These will include two bug fix releases and one minor release (except for the last quarter, which may include a major release):

  • Month 1 Patch release (eg 4.0.1)
  • Month 2 Patch release (eg 4.0.2)
  • Month 3 Minor release (eg 4.1)

The meetings this year will be held on:

  • 6th July 2021
  • 5th October 2021
  • 4th January 2022
  • 5th April 2022

All @ 1400 UTC, on Zoom – see the Community Calendar / Product Team Slack for information.

Having reviewed all the previous releases in the history of Mautic, we know that our average over the past two years has been around 20-30 pull requests per release. 

Average number of PRs merged by year

We will therefore only be accepting a maximum of 20 pull requests targeted for each release.

To be considered for inclusion, the pull request must:

  1. Have all automated tests passing
  2. Maintain, or ideally improve, automated test coverage (as measured by Codecov)
  3. Have documentation updates already created and reviewed by the Education Team
  4. Be in a mergeable state (have no file conflicts)
  5. Have clear instructions in the pull request description for testers to follow which will allow them to:
    1. Reproduce the bug (if the pull request is a bug fix)
    2. Test the fix / test the feature
    3. Understand the areas that the pull request may impact to facilitate full and proper testing

The team will then update the milestone on the pull request accordingly once they have agreed on which are to be included.

Reviewing issues

Of course, pull requests are only one part of the story – we also have to think about the issues that users of Mautic are reporting.

During the release planning meeting, the Product Team will also review the open issues. If there are issues which they feel need to be addressed in future milestones but where there are no pull requests to fix them, they will be able to allocate funds from their bounty budget to those issues and will add them to the appropriate milestones.

The team will at this point accept five new issues per release, taking us up to a hard ceiling of 25 potential pull requests that will be considered for each release.

What about urgent fixes?

We fully appreciate that sometimes there are nasty bugs that are spotted or security issues that need to be addressed. 

The same rules will apply for such fixes to be considered for inclusion in a release as mentioned above. 

The team will do their best to include extra pull requests outside of the agreed scope for the release, however priority will be given to those pull requests that have been planned for inclusion in the milestone.

Areas of focus

The Product Team will also be introducing areas of focus for the quarterly release cycle, where they will be specifically targeting certain features or aspects of the product for improvement.

This will involve there being a bug fix release for two themes, and then a feature release which will focus on both themes.

As an example, the themes for the upcoming release after Mautic 4 are:

  • July 2021 Bug fix release (4.0.1) – Forms
  • August 2021 Bug fix release (4.0.2) – Campaigns
  • September Features release (4.1) – Forms and Campaigns

Named release leads

Taking the role of a release lead is no easy job.  This has fallen to a very small number of people this year, and we want to involve more people in this process.

For this reason we will be having a named release lead for each release, and at least one assistant.  Newcomers to the role will serve as an assistant until they feel confident in leading a release themselves, giving the opportunity to pass on knowledge and involve more contributors in this process.

If you would like to be involved, please join the Product Team on Slack and get involved with reviewing pull requests and testing!

We hope that these changes will serve to focus our efforts on certain areas of Mautic and also give developers and users of Mautic a clearer understanding of what they can expect from upcoming releases.

While we would not exclude pull requests from a release if they are fully ready to be included, we will give first priority to those which are in the milestone, then those that relate to the area of focus. Other pull requests will be considered only if there are not enough to fill the quota for that release.

]]>
An update on Mautic 3 https://mautic.org/blog/update-mautic-3 Wed, 27 May 2020 20:23:48 +0000 https://www.mautic.org/update-mautic-3/ Work on Mautic 3 commenced in November 2019 and we are very nearly ready to make it available for you to use in new installations and as an update for existing Mautic instances. With almost 4,000 files changed it is by far the most significant update since the initial release of Mautic.

What is the status?

Just under two weeks ago we released a second beta for community testing. There had been significant changes as a result of fixed bugs identified from the earlier beta, as well as bringing in the bug fixes from 2.16.1 and 2.16.2, and we felt it was important that it be fully tested before distributing the release.

We have also been working hard on a robust migration script which will allow you to update Mautic via a web-based interface or at the command line, with built-in safety checks and backups.

Where is the release?

The short answer is that we are not ready to make a release today, for the reasons outlined below.

We know that you are all excited to start using Mautic 3, and fully appreciate that delays are frustrating.

We have also had first hand, personal experience of encountering bugs and problems after updating Mautic in the past, which caused major problems.

We are committed to improving the stability of Mautic and ensuring that the process of installing or updating to Mautic 3 is smooth. We do not want to rush out the release when we know that there are outstanding problems that need to be addressed.

You can help us to get the release finalised in several ways, outlined below.

Our revised plan for release is as follows:

Monday June 15th 2020: 3.0.0 release (new installations) + 2.16.3-beta release (adds the upgrade script)

Monday June 29th 2020: 3.0.1 release + 2.16.3 stable release (adds the upgrade script)

Why the delay?

Incomplete user acceptance testing on beta 2 release

Currently the testing process is still ongoing. We have only had two community members working on this, so we still have some way to go until we are confident that we have rigorously tested all areas.

We are in the process of writing automated acceptance tests which will significantly reduce this testing effort in the future.

How can you make a difference?

Can you spare some time to help us test the features and functionality of Mautic?

We have a test environment up at m3.mautibox.com so you only need to know how to use Mautic and follow instructions.

Get started on our UAT Trello board and join #mautic-3 on Slack (get an invite at mautic.org/slack)

Bugs identified in testing the beta 2 release

During the testing of the beta 2 release, we have identified some bugs which we know will impact a large percentage of Mautic users.

These are fixed or are in the process of being fixed, but have not yet been tested.

How can you make a difference?

If you are a developer, take a look at any of the bugs in the ‘to do’ column and if you can fix them, please submit and link a PR.

If you are familiar with Mautic, take a look at the items in the ‘needs testing’ column on the Mautic 3 board – test the bug on the base branch at m3.mautibox.com and the test the fix by selecting the appropriate pull request at m3.mautibox.com. Make sure that you report your findings by clicking on the card, going to ‘files changed’ and leaving a review.

 

We really appreciate that this is not the best news to be sharing, but we believe that this is the right thing to do for Mautic. We hope that you will consider helping us over the next two weeks, however you are able to do so.

]]>
Mautic 2.7: Improving Usability is a Continuous Process https://mautic.org/blog/mautic-2-7-improving-usability-is-a-continuous-process Mon, 06 Mar 2017 13:26:02 +0000 https://www.mautic.org/mautic-2-7-improving-usability-is-a-continuous-process/ As marketers strive for creativity in the way they engage and connect with their audience, they are continuously looking for opportunities to save time and be more efficient. Who isn’t? We all add resources, tools and processes in an effort to accomplish more. That includes marketing automation.

Since Mautic was first conceived, usability has been a strategic imperative. Each feature and bug fix is designed and implemented in a way that re-enforces our goal of saving time and improving the user experience. Our latest release is no different. It not only checks bugs off the list, the process of automating multi-channel communications keeps getting easier and easier.

Better Salesforce Mapping:

  • Integrations should make sharing information easy. We’ve created a new interface for mapping fields between Mautic and Salesforce that makes the process a snap. Not only that, but you can now specify which system is the master for each mapped field. So if you determine that a contact phone number can only be updated in Salesforce, this data will flow from Salesforce to Mautic and not the other way around.

Improving the Editor Experience:

  • The email and landing page editors have gotten a usability facelift. New types of content slots are available to help create and design the most engaging assets possible. Easily create and add different types of content such as images, text, social follows and gated video. We’ve also included the ability to add multi-column sections giving you more flexibility in designing your page or email.

Release 2.7 saves time and streamlines workflow, making incredible strides in improving usability for marketers. This release is now available for download to our open source community, and is now live for our Mautic Cloud users. For more detailed information on this release, you can find the release notes here. If you have any questions or find new challenges that arise, join our feedback team and reach out to us on the Community Forums, Slack, or social channels (Facebook & Twitter) and we will respond as soon as we are able.

]]>
Mautic 2.5: Open Sesame https://mautic.org/blog/mautic-2-5-open-sesame Tue, 03 Jan 2017 13:37:12 +0000 https://www.mautic.org/mautic-2-5-open-sesame/ Since the beginning, we built Mautic to be open and accessible. Other marketing automation systems limit what access and control users have over the data they gather. We make it a priority to provide you with as much access as possible to your information. All while providing you with industry leading features that make more meaningful connections with your audience.

This release is no different. With Mautic 2.5 we’ve added additional data and reporting functionality while continuing to add features that will improve your best practices.

Data and Reporting

  • Automatically send company details from Mautic to your connected CRM system.
  • Export your contacts directly from the list view, or activity data from the contact detail page.
  • Measure and report on even more email metrics, like link clicks.

Features and Functionality

  • Send email tests to multiple recipients, not just to the user creating the test.
  • For those who use Mailjet, you can now test your Mautic campaigns using Sandbox mode.
  • Turn on single sign-on (SSO) using SAML. (Feature not available on Mautic Cloud Free accounts)
  • Place forms and focus items into dynamic content.
  • Trigger activities using custom date fields and automatically send birthday or anniversary emails through a campaign.

Marketers must be better equipped to meet the needs of their audience online. Each connection you make with your customer requires even more relevance and personalization. With a more agile approach to development, you’ll begin to see more frequent updates giving you an even more open, integrated solution that drives audience engagement.

The Mautic 2.5 update has been released to Mautic Cloud and self-hosted users. For more information about this update, please check the release notes here. If you have any questions, please be sure to reach out to us via the Community Forums, Slack or our social channels (Facebook & Twitter) and we will do our best to answer them.

Video

]]>