3.1.0
Released: 2026-06-18
Upstream: Magento Open Source 2.4.9
Mage-OS 3.1.0 is a maintenance release built on the same Magento Open Source 2.4.9 base as 3.0.0, with a fix to the Composer root-update plugin and a batch of core stability improvements. There are no dependency additions or removals and no change to PHP support, so it is a low-risk, drop-in upgrade from 3.0.0.
composer require mage-os/product-community-edition 3.1.0 --no-update
composer update
bin/magento setup:upgradeWhat's changed
Composer root-update plugin now supports Mage-OS package names
mage-os/composer-root-update-plugin now correctly resolves Mage-OS package names in the require-commerce path, so root composer.json updates and upgrades work cleanly for Mage-OS-named distributions. This resolves the bin/magento setup:upgrade failure some 3.0.0 upgrades hit (Class "MageOS\Installer\Console\Command\InstallCommand" not found) — see the recovery note below if you were affected.
mageos-composer-root-update-plugin#7 by @marcelmtz
Core stability fixes (16 total)
All contributed by @ddevallan:
- Checkout — let
PaymentExceptionpropagate fromsavePaymentInformationAndPlaceOrder, so checkout surfaces the real payment error (#266); persist the auto-selected payment method when only one is available (#265) - WebAPI — map HTTP 429 (Too Many Requests) in the
ErrorProcessor(#267); fixQueryParamsResolvercorrupting base64 values and crashing on valueless params (#263) - Message queue — switch AMQP cron consumers from
basic_getpolling tobasic_consumepush (#213) - Admin — convert the admin forgot-password email to HTML with a clickable reset link (#261)
- Plus null-safety, validator, admin-UI, and collection-ordering fixes (#255, #257, #259, #264, #268, #273, #274, #275, #276, #277)
Bundled add-on updates
mage-os/module-rma2.3.1 — fixes an unqualified column reference in a database query (#36) by @norgeindian, reviewed by @SamueleMartiniswissup/module-ignition1.3.0 — optional JS error reporting and improved stack-trace handling, maintained by Swissup Labs
Recovering a broken 3.0.0 upgrade (installer "class not found" error)
If you upgraded to 3.0.0 and bin/magento setup:upgrade failed with Class "MageOS\Installer\Console\Command\InstallCommand" not found, your project's root composer.json is missing the MageOS\Installer\ autoload entry. The 3.0.0 root-update plugin didn't apply it for Mage-OS package names; 3.1.0 fixes the plugin. Recover in one of two ways, then re-run bin/magento setup:upgrade:
Option A — add the entry manually. Merge this into the autoload.psr-4 block of your root composer.json:
"MageOS\\Installer\\": "setup/src/MageOS/Installer/"then regenerate the autoloader:
composer dump-autoloadOption B — let the fixed plugin reconcile it. Update the root-update plugin to 3.1.0, then have it apply the root composer.json delta:
composer require mage-os/composer-root-update-plugin:3.1.0
composer require-commerce mage-os/product-community-edition:3.1.0If your install originated from Magento Open Source and the source edition/version can't be detected from composer.lock, add --base-project-edition "Open Source" --base-project-version <your-version> to the require-commerce command.
Contributors
- @ddevallan (Allan Fernandes) — the entirety of this release's core stability work, sixteen fixes spanning checkout, the WebAPI layer, message queues, and the admin UI
- @marcelmtz (Marcel Martinez) — Composer root-update plugin fix and release engineering
- @norgeindian — RMA database query fix
- @SamueleMartini (Samuele Martini) — RMA review and maintainership
And thanks to Swissup Labs for the bundled Ignition developer tool.
Full announcement: https://mage-os.org/blog/mage-os-3-1-0-release