Mautic Community introduces multiple major improvements

A year on from the acquisition of Mautic, Inc. by Acquia, it has been a year of significant change in the Mautic community.  We have seen the establishment of a governance structure, the first in-person and virtual sprints, and shortly will see the first major release in almost four years with the stable release of Mautic 3.

Throughout this time the Community Leadership Team has been working closely with Acquia on building the foundations from which we can grow as a project and a community.

We have some exciting updates to share with you today from across the project.

A full time Project Lead appointed

Key to the success of any Open Source project is a strong leadership team who are engaged and dedicated to the growth of the project with a shared common vision.

Today we are delighted to announce that - with the full support of the Community Leadership Team and DB Hurley - Acquia has appointed a new, full-time project lead. Community Manager Ruth Cheesley will be taking up the position of Project Lead.

After leaving Acquia, DB Hurley scaled back his participation in the Mautic community and felt it was in Mautic's best interest to have a full-time Project Lead.  He will continue to act as an ambassador for the Mautic project. We are grateful for DB's leadership and having guided us this far. 

Ruth has been involved with Mautic for a long time, and is excited about the opportunity to take up the baton from DB.

This will mean some changes to the governance structure which are outlined here

Setting the direction for Mautic

As a community, our underlying mission is to help people succeed with Mautic. Everything we do as a project aligns with this vision.

We have six areas we are currently focusing on - ways we are helping people to be more successful with Mautic.  

  1. Develop the features and functionality so that Mautic becomes the tool of choice for Marketing Automation, and the market leader in this space
  2. Improve the ease of use for marketers
  3. Improve the stability and reliability of Mautic
  4. Improve the way we support people to succeed with Mautic
  5. Enable organisations to scale Mautic as they achieve success
  6. Build a community that is self-reliant, welcoming, diverse and engaged

We have multiple initiatives and projects which we will be sharing - some today and some over the coming weeks - all of which contribute toward our mission.  The first of these initiatives from the Product Team follows below.

Updates from the Product Team

With the launch of Mautic 3, the Product Team will be making some changes to move us toward our vision of helping people succeed with Mautic.  

We hope that we explain them fully below, however if there are any unanswered questions we will be running a series of live discussions and Q&A sessions where you can ask questions.

Release strategy and cadence

Mautic 3 is the first major release in nearly four years. Between Mautic 2 and Mautic 3 there hasn't been a clear cadence to the releases. 

This creates challenges for everybody who relies on Mautic. 

Organizations who rely on Mautic don't know when to expect updates, which makes it very difficult for them to plan maintenance windows into their business cycles.

Community contributors who are submitting fixes and features don't know when pull requests are going to be merged, or which releases they should be aiming for when they are creating their contributions. 

Users of Mautic do not have forewarning of when to expect an update, or when features that they really need are likely to be delivered.

We appreciate that this not only causes confusion and frustration, but also makes it difficult for people to adopt Mautic when there is such uncertainty.

As a result the Product Team has decided to implement some changes to the way that we release updates for Mautic.  We follow semantic versioning in our releases, for more information please read semver.org.

Monthly patch releases

We will be making a patch release every month. Patch releases include bug fixes only. 

An example of a patch release would be 2.15.1, 2.16.2, 3.0.1.

Quarterly minor releases

Every three months we will issue a minor release. Minor releases can include features which do not break backwards compatibility, and bug fixes. 

An example of a minor release would be 2.15, 2.16, 3.1.

Yearly major releases

A new major release will be made any time there are backwards compatibility breaking changes ready for release.  We estimate a new major release every few years, but the exact frequency will depend on Mautic's dependencies (e.g. Symfony, jQuery, etc).  

As an example, we will need to upgrade from Symfony 3 to Symfony 4 or 5, well before Symfony 3 is end-of-life.  The upgrade from Symfony 3 to Symfony 4 or 5 will likely require us to release a new major version of Mautic.  

Major releases may include backwards compatibility breaking changes, features and bug fixes. An example of a major release would be Mautic 2, Mautic 3.

Anticipated release schedule

  • Mautic 3.0.0 - Symfony upgrade [Stable due May 2020]

    • Mautic 3.0.1 - June 2020 Bug fixes [monthly releases]

    • Mautic 3.0.2 - July 2020 Bug fixes [monthly releases]

  • Mautic 3.1.0 - 3.x improvements and new features [August 2020]

    • Mautic 3.1.1 - September 2020 Bug fixes [monthly releases]

    • Mautic 3.1.2 - October 2020 Bug fixes [monthly releases]

  • Mautic 3.2.0 - 3.x improvements and new features [November 2020]

    • Mautic 3.2.1 - December 2020 Bug fixes [monthly releases]

    • Mautic 3.2.2 - January 2021 Bug fixes [monthly releases]

  • Mautic 3.3.0 - 3.x improvements and new features [February 2021]

    • Mautic 3.3.1 - March 2021 Bug fixes [monthly releases]

    • Mautic 3.3.2 - April 2021 Bug fixes [monthly releases]

  • Mautic 4.0.0 - Backwards compatibility breaking changes [May 2021]

Requirements for merging pull requests

Automated Tests

From the release of Mautic 3, we will be requiring all pull requests to include automated tests before they are considered a candidate for being merged into a release.  This will help us improve the stability of Mautic and prevent regressions occurring.

We appreciate that this may be a challenge, and we are planning a sprint in the near future to improve our test coverage, up-skill developers in writing automated tests, and updating our documentation.  If you are experienced in writing automated tests and would like to help with this, please reach out to the Product Team.

Documentation

We already have a requirement for pull requests to include documentation, however this has not been strictly enforced.  This has led to outdated documentation and incorrect code examples. 

From the Mautic 3 release forward it will be mandatory to include an update for the End User Documentation and/or Developer Documentation before a pull request is considered a candidate for merging into a release.   The Education Team will be working closely with the Product Team in all releases to ensure that this requirement is met.

Google Season of Docs

We were also recently selected for the Google Season of Docs, so over the summer we will also have technical writers helping us further improve our documentation.

Sneak peek at upcoming changes

The Product Team are currently working on some updates to our code governance workflows which are being reviewed and finalized.  

The Community Team and Product Team are working together on a project which will enable contributors to take responsibility as a small team for specific areas of the Mautic project - for example specific bundles or features - becoming community experts in this area.  

This will allow contributors to specialize with a small team in a focused area, and support the rest of the project with updates, improvements and features. 

Interested to know more? Join the Product Team chat on Slack - get an invite at mautic.org/slack.

Questions? 

We appreciate that this is a lot of information to take in, and we expect that you may have some questions.

We will be holding several AMA-style sessions and webinars over the coming weeks with our communities around the world, giving you the opportunity to put any questions you may have directly to the Community Leadership Team.

We are excited to be moving into a new phase as a project, and look forward to a bright future.

Live discussions and Q&A:

Please note, we are in the process of setting up webinars and meetings with our international communities and we will update the list below as we confirm dates and times. Would you like to host a webinar, call, podcast or something else? If so please contact Ruth directly at ruth.cheesley@mautic.org.

Ruth and the entire Mautic Leadership team will be available in a livestream event, where they will talk about the changes and answer your questions - Friday, 22nd May at 1500hrs UK time

Join Webinar

Remote video URL

Les mises à jour de la communauté Mautic en Français avec Ruth Cheesley, nouvelle Project Leader - Wednesday, 27th May 2020 at 1000hrs UK time

Join Webinar

Remote video URL

Deutschsprachiges Mautic Community Update und Fragerunde mit Ruth Cheesley (neuer Project Lead) - Wednesday, 27th May 2020 at 1130hrs UK time

Am Webinar teilnehmen

Remote video URL

Últimas noticias, preguntas y respuestas sobre la Comunidad Mautic con Ruth Cheesley, la nueva leader del proyecto - Wednesday, 27th May 2020 at 1630hrs UK time

Únete al webinar

Remote video URL

Regular Office Hours

Join this open call with Ruth Cheesley, Mautic Project Lead, once a fortnight in each timezone.

Ask product questions, suggest feature requests, lodge complaints, offer praise, share ideas, discuss recent blog posts, or talk about good or bad experiences using Mautic.

Anything that’s on your mind is fair game. I’m here to listen, share, and be available to help in any way I can.

Office Hours with Ruth Cheesley EMEA/Americas - Fortnightly from 28th May at 1500hrs UK time Link to join: https://acquia.zoom.us/j/98583607751 (Password: 815478)

Office Hours with Ruth Cheesley APJ - Fortnightly from 3rd June at 0700hrs UK time Link to join: https://acquia.zoom.us/j/91119231380 (Password: 502111)