Skip to content

3.1.0

Choose a tag to compare

@marcelmtz marcelmtz released this 14 Jul 20:11

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:upgrade

What'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 PaymentException propagate from savePaymentInformationAndPlaceOrder, 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); fix QueryParamsResolver corrupting base64 values and crashing on valueless params (#263)
  • Message queue — switch AMQP cron consumers from basic_get polling to basic_consume push (#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-rma 2.3.1 — fixes an unqualified column reference in a database query (#36) by @norgeindian, reviewed by @SamueleMartini
  • swissup/module-ignition 1.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-autoload

Option 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.0

If 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