Skip to content

Maho 25.9.0 is out today!

This release focuses on delivering a big set a important new features, our goal is to have everything you need ready to go right out of the box! Of course, we haven't forgotten little tweaks and regular maintenance along the way!

Highlights

  • Added blog functionality integrated with API and search autosuggest.
  • Added customer segmentation module with rule-based targeting.
  • Added image editing functionality to CMS Media Library.
  • PDF generation is now based on DomPDF: for easy customization via phtml files.
  • Replaced Zend_Log with monolog with support for multiple log adapter at the same time.
  • Improved guest-orders management.
  • Added Speculation Rules API support enabled by default.
  • Added region import functionality to admin interface.
  • Added built-in CSS/JS minification and 103 Early Hints support.

Release announcement video

Playing this video requires sharing information with YouTube.
More information

🚀 New features and major improvements

Added blog module with admin interface, frontend, search and APIs integration

A feature long requested to allow store managers to publish news to their customers. No longer you need commercial modules or bridge modules for wordpress, you now have a simple but effective implementation, with SEO friendly features. We coded our blog based on the powerful and expandable EAV system, so that you can customize the blog entity as much as you want.

The blog posts are also integrated in the search autosuggestion (if you want to).


Added Customer Segmentation module with rule-based targeting

This is an enterprise grade feature allows you to group customers based on a huge number of factors like demographics, account data, order history, shopping behavior, product interactions, time-based conditions and even cart content!

You'll then be able to integrate a segment into shopping cart promotion rules and in newsletter sending too!


Added image editing functionality to CMS Media Library

Need to quickly crop a picture that's already uploaded to your ecommerce website? No need to download it, open an image editor etc, since Maho 25.9 includes a customized version of FileRobot image editor (show them love for this amazing tool), something that only much bigger and expensive platforms provide (until now).

This editor is tightly integrated with Maho, automatically detecting image compression level and format, and provides advanced features like watermark, text adding, image color editing, and more!


Replaced Zend_Pdf with DomPdf

Generating PDFs for invoices and other documents was a major pain point of the M1 platform, so we thought enough was enough, we rebuilt the whole functionality from scratch bringing the power of phtml inheritance and customizability to PDFs too.

Thanks to DomPdf and our great frawork we can now create PDF templates as if they were normal web pages, and the system will take care of the conversion to PDF.


Replaced Zend_Log with monolog

Developers need a more powerful logging/reporting capability and there's nothing better than monolog in the PHP world.

By default Maho will now use 𝗹𝗼𝗴 𝗿𝗼𝘁𝗮𝘁𝗶𝗼𝗻, huge system.log files are finally in the rear mirror, but most of all you'll be able to 𝗰𝗼𝗻𝗳𝗶𝗴𝘂𝗿𝗲 𝗺𝘂𝗹𝘁𝗶𝗽𝗹𝗲 𝗹𝗼𝗴 𝗮𝗱𝗮𝗽𝘁𝗲𝗿𝘀 𝘃𝗶𝗮 𝗰𝗼𝗻𝗳𝗶𝗴 𝗫𝗠𝗟 and this is an immense benefit, why you ask?

Now you'll be able to have the default log file (with rotation) for all your normal logging need, and (for example) 𝗽𝗼𝘀𝘁 𝗮 𝗹𝗼𝗴 𝗲𝘃𝗲𝗻𝘁 𝘁𝗼 𝘆𝗼𝘂𝗿 𝙎𝗹𝗮𝗰𝗸 𝗰𝗵𝗮𝗻𝗻𝗲𝗹 when the severity requires it, or even 𝘁𝗼 𝗮 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺 𝗯𝗼𝘁 for immediate alert of some specific people in your company!

Check the complete logging documentation.


Improved guest-orders management


Added Speculation Rules API module

The Speculation Rules API lets you set smart rules for when the browser should prefetch or prerender pages by watching things like where the user is hovering, all with minimal effort but big rewards in speed and usability. In addition to support for BFcache (that we added previously) Maho now allows you to easily configure a set of CSS-style rules (targeting links on every web page) for every rendering mode and eagerness mode. And the best thing is that it's enabled by default (in conservative settings).

Added category search to autosuggest dropdown

In the past couple of releases we worked a lot on improving the built-in autosuggest functionality, in 25.9 we adding support for searching and autocompleting category names. The feature is completely configurable and it has fulltext support too.


Added region import functionality to admin interface

Localization is a primary effort for Maho and we want a frictionless implementation, that's why we created the Maho Directory Data project and added a super easy import of states/provinces (automatically translated in every langauge) into your store's database. This comes in addition to the possibility of manually adding/editing/remove/translate single entries (introduced in Maho 25.7.0).

This functionality also comes with its own CLI commands for terminal people.


Added built-in CSS/JS minification and 103 Early Hints support

We already had a great extension for CSS/JS minification but we wanted to have native 103 Early Hints support in the core so we decided to refactor that extension to integrate it in the best way possible, and now we've the benefit (on supported web servers like FrankenPHP) for early hits for even better performance.


Added category import/export

Traditionally the M1 platform could only import/export products and customers. We're want to fill the gap here starting with categories, now natively available via the System -> Import / Export section of the backend, and more feature will come in the near future.

Removed flatpickr and migrated to native input type date, time, datetime-local

Javascript datetime pickers are a whole world but in 2025 we believe there's no need for those anymore, browser support for native (and mobile native) date and time selectors is now so widespread that it was time for us to migrate away from javascript solutions. This has a lot of benefits: no js/css means faster rendering, automatically localized based on your browser locale, simpler protocols since the browser always submits the dates in ISO format regardless of the locale.


And much more, be sure to check the full release announcement.