Maho 25.1.0 is out today!
In an exciting start to 2025, Maho Commerce has unveiled its latest release, version 25.1, packed with transformative features and improvements that demonstrate the platform's commitment to modernizing open-source e-commerce solutions.
Foundation
Maho 25.1.0 is based on OpenMage 21.0-beta2 + all the patches merged in the main branch up to 13th Jan 2025.
🚀 New features and major improvements
Completely removed prototypejs from our frontend!
This doesn't really need an explanation right? PrototypeJS was an ancient javascript library that was at the base of the M1 platform but that became anachronistic and unsupported, its last release was in 2015... It had to go, but removing it from the frontend was a huge, huge effort that took years in rewriting and testing thousands of lines of code. We focused on the frontend first because it's for sure the most important part, backend will come later. Better security, modern code, lighter frontend with hundreds of KB of javascript saved at each request.
Converted all colors into variables for easy color scheme customization
Customizing the color scheme of your store was never this easy!
We've reviewed 10k lines of CSS, extracted and cleaned all colors and moved them into 25 CSS variables to allow you to have complete control, but also to make a another step forward in the modernization of Maho's frontend.
Added optional 2 Factor Authentication for backend
In 2025 security is no joke to anybody, 2FA was a requested feature since long time and we wanted Maho to have native support for that.
With Maho 25.1 your backend users can decide to enable 2FA, scan the autogenerated SVG QR code (no temporary image files are generated, for enhanced security and easier sysadmin maintenance), save, done.
Added Order Status color
Having a great support for modules was the key to the success of the M1 platform, but at Maho we believe that key functionalities should be bundled in the core, that's why we decided to add support for assigning a color to each order-status, something that a lot of stores were already using with 3rd party code.
Now, natively, with just a few clicks, store managers have an easier way to overview the orders, allowing for faster workflow and less possibility to forget to process an order.
Composer plugin v3
Bootstrapping Maho now just requires 3 lines of code, gone are the days of including bootstrap.php, Mage.php and then still it wasn't working.
Our composer plugin v3 enables full composer autoload for the whole platform, autoloading performance improvement and full support for Modman based modules.
Removed the ancient ExtJS and replaced with Maho Tree
ExtJs is a powerful tool, but because of licensing, the version that was bundled in the M1 platform for 10+ years was extremely obsolete. Here again we rethought the whole thing, looking for alternatives and deciding to create our own minimal js tree library based on standard HTML elements like details/summary. HTML/CSS are extremely powerful now and we should always try to leverage the standards as much as possible, this will assure better maintainability, security and performance.
New design for star rating
The previous implementation looked old and outdated, it was time for a complete overhaul. It's not a big deal in the great schema of things, but reviews are still important for ecommerce websites and the need for a quick, clear and modern interface to allow customers to leave a review was absolutely necessary.
Dashboard charts are now based on Chart.js
Dashboard charts relied on a 3rd party server for many, many years, in the M1 platform. That is a problem on multiple levels, what if that server goes down? Also, in order to generate the charts, all the data was obviously sent to that service and... well.. let's say we don't want to leak our precious sales data. At Maho we are dedicated at tackling these infrastructural problems and here we are again, with a local-only chart solution for the backend dashboard, modern, interactive and safe.
Added "Cron Jobs" mask to "System -> Tools"
For many years the M1 platform had a few modules to see and modify cron jobs, we think such a configuration is better held via code, but it's extremely helpful to be able to see which cron jobs are running, for how long and if there are any errors. This is now possible without having to install any 3rd party module.
And much more, be sure to check the full release announcement.