Skip to content

Release Notes

DO NOT DOWNLOAD DIRECTLY FROM GITHUB Download via the extensions directory as there are additional packaging requirements not handled by github.

Release 3.5 (2024-03-01)

  • #638 Fix issues with labels on template selection.
  • #633 Add A/B testing for email design

Release 3.4 (2024-02-26)

  • Support guzzle 7.0
  • Update mosaico library
  • #632, #631, #630 Css, html fixes for selecting a template.
  • Replace gulpfile with node sass
  • Fix fixed width on chosen tpl display on mailing design screen

  • #627 Move navigation menu items declarations to managed entities.

  • #620 Update info.xml to link to correct page to download from and whereto report issues.

Release 3.3 (2023-10-15)

  • #617 Angular - Switch to settingsFactory.
  • #612 Fix notice error about no buffer to flush.
  • #609 Add pseudoconstant for base template and regenerate DAOs.

Release 3.2 (2023-08-03)

  • Update to Mosaico library v0.18.10 (was v0.18.9).
  • #510 Add support for TinyMCE translations.
  • #572 Resolve #572 by ensuring that the value of the base template option is the name of the base template not the title.
  • #597 Specify 'match' in mgd.php files.

Release 3.1 (2023-06-21)

  • Fix #596 Fix image placeholders and translation.

Release 3.0 (2023-06-08)

Major change: Mosaico library and versafix template updated to latest versions (0.18.9, 1.3.4)

  • Update mosaico library to latest version (0.18).
  • #593 Enhance api call replaceurls.

Release 2.12 (2023-04-22)

  • #577 5.60 compatibility.

Release 2.11 (2023-02-14)

  • #569 Use more standard param for pragma header.
  • #568 On WordPress mosaico/img may have a / after - teach the regex to replace this with static images. Fixes performance issues with bulk mailings on WordPress sites.
  • Test fixes / PHP8.2 compatibility fixes.
  • #549 Improve performance (response time) of image processing backend.
  • #554 Template path fixes.
  • Library updates.
  • #541 Fix 2.10 upgrade from command line.

Release 2.10

  • Fix #539 Fix issue with urls that are double url encoded.
  • Fix issue where by some large placeholders aren't rendering behind application load balancers.
  • Fix broken images when not logged in - accidently changed with multisite patches.
  • #489 Add validation rule to Mosaico uploader.
  • #536 Pass in String null so that db field is set to NULL.
  • #533 Add type hint to return value.
  • #530 Multisite support for search kit templates display.
  • #532 Fix tests following #529.
  • #410 Multisite support for mosaico.
  • #528 Various updates for
  • #525 Download Mosaico JS files via composer-downloads-plugin.
  • #512 Define customTemplatesUrl absolute as templatesUrl.
  • #523 Fix crash when installing via CLI.
  • #520 Update civix templates.
  • #508 Bump postcss from 5.2.18 to 7.0.36.
  • #501 Switch newsletter category to one-time insert instead of managed.
  • #507 Use CiviCRM core Guzzle dependencies.
  • #500 Default orderBy Title on template listing search display.
  • #502 Add APIv4 permissions for MosaicoTemplate.
  • Switch newsletter category to one-time insert instead of a managed entity.
  • Default orderBy Title on template listing search display.
  • #496 Don't add the "schedule/send via CiviMail" search task, if the user has insufficient permissions.
  • #488 Validate multiple email when testing.
  • #490 Loosen restrictions on required fields.
  • #493 Ensure that when tests are run search kit is installed.
  • #485 Remove crmStar styling, require Bootstrap3.

Release 2.9

  • #478 Add Mosaico Template Listing page based on Searchkit.
  • Add template "Categories" and allow them to be filtered in the UI.
  • #470 Add hooks to alter Mosaico plugins

Release 2.8

  • #456 Add hooks to alter relevant assets in the Mosaico interface.
  • #462 PHP7.4 compatibility - Fix usage of Curly brackets to do array access.
  • #463 Improve error handling on image params.
  • #468 Allow users to choose hotlist tokens.
  • #472 / #444 Auto-save after idle-timeout (~4s) and/or active-timeout (~90s)

Release 2.7

  • #440 Add support for personalized tokens for "View in your browser" mode.
  • #451 Update unit tests to work with phpunit8.
  • #452 Use Generic Settings Form rather than our custom form. Fix for issue #427
  • #427 Update AutoGenerated DAO, Civix, auto_install files to be latest versions from civix commands.
  • #437 phpunit8 testing compatibility.
  • #433 Throw error message on resizing image and prevent hard fail.
  • #414 Add setting to hide base templates.

Release 2.6

  • #321 Introduce A/B testing for subject lines.
  • #406 Fix for mosaico placeholder images not accessible in joomla.
  • #409 Fix Leave site? warning when not required.
  • #412 Use standard methods and add validation to URL params for placeholder image endpoint.

Release 2.5

  • Fix #319 Warn user before clicking away from mosaico editor.
  • #388 Adds bullets (unorderd list) to editor
  • #389 #390 Fix placeholder images showing on Drupal8, Wordpress.

Release 2.4


  • #345 Use mosaico graphics service to resize thumbnail.
  • #352 Make spell check available directly in mosaico.
  • #374 Add API method to update template URLs.
  • #371 Provide better support for high resolution images in mosaico.
  • Improvements to documentation.


  • Fix path to translation files.
  • #376 Fix issue with image rendering (sometimes output buffer started by another module or plugin causes problem with image rendering).
  • Update composer libraries for PHP7.3 support.
  • Update Mosaico Services to be compatible with Symfony 4.
  • Update npm dependencies.
  • PHPUnit configuration compatible with PHPUnit6 and PHPUnit7.
  • Various tweaks for compatibility if using Shoreditch theme.

Release 2.3

  • Change image placeholder permissions (Fixes issue with image placeholders for some sites).

Release 2.2

  • Allow sending traditional emails as a search task.
  • Improve validation in image processing.
  • Move maximum image size into a setting.
  • Drop system check for shoreditch theme as it is not required for Mosaico to function.
  • Improve browser incompatibility message.
  • Sort templates alphabetically when displaying 'New Mailing'.
  • Add translation support - the Mosaico editor will now appear in the same language as CiviCRM if language files are available.

Release 2.1

  • Always place iframe below KAM menu instead of behind.
  • Replace 'TITLE<title>' with subject (render-time).</li> <li>Document hook_civicrm_mosaicoConfig.</li> </ul> <h2 id="release-20">Release 2.0<a class="headerlink" href="#release-20" title="Permanent link">¶</a></h2> <p>All users of Mosaico should evaluate and upgrade to this release.</p> <ul> <li>Simplify requirements:</li> <li>The shoreditch theme is not required - the extension will work with the current CiviCRM theme.</li> <li>ImageMagick is not required - the extension will auto-detect between imagemagick and gd depending on what the server supports.</li> <li>Reduce memory usage which previously caused issues sending mail on some servers.</li> <li>Add a hook for mosaico editor configuration.</li> </ul> <p><strong>Download link:</strong></p> </article> </div> </div> </main> <footer class="md-footer"> <nav class="md-footer__inner md-grid" aria-label="Footer"> <a href="../testing/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Testing" rel="prev"> <div class="md-footer__button md-icon"> <svg xmlns="" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg> </div> <div class="md-footer__title"> <div class="md-ellipsis"> <span class="md-footer__direction"> Previous </span> Testing </div> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <ul class="md-footer-meta__breadcrumbs"> <li><a href="">CiviCRM Documentation</a> / </li> <li><a href=".." title="Mosaico Responsive Email Template Editor">Mosaico Responsive Email Template Editor</a></li> <li>/ Release Notes</li> </ul> <div class="md-footer-copyright"> <div class="md-footer-copyright__highlight"> <p> © 2005 - 2024, CIVICRM LLC. All rights reserved. CiviCRM and the CiviCRM logo are trademarks of CIVICRM LLC. </p> <p> Made with <a href="" target="_blank" rel="noopener"> Material for MkDocs </a> </p> <p> <a rel="license" href=""> <img alt="Creative Commons License" style="border-width:0" src="" /> </a> <br /> Except where otherwise noted, content on this site is licensed under a <a rel="license" href="">Creative Commons Attribution 3.0 United States License</a>. </p> </div> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> <script id="__config" type="application/json">{"base": "..", "features": "toc.integrate", "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "": "1 matching document", "search.result.other": "# matching documents", "": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../assets/javascripts/workers/search.f8263e09.min.js", "version": null}</script> <script src="../assets/javascripts/bundle.4fc53ad4.min.js"></script> </body> </html>