🚀 OpenMage 21 is the next step in the evolution of our beloved M1 platform. 🚀
📢🔔 While V21 introduces breaking changes that require careful consideration during the upgrade process, these long-overdue modifications will ultimately bring significant benefits to your stores. In the long run, you can expect enhancements in performance, security, SEO scores, and more, making the transition worthwhile. 📢🔔
Changes you must know and that you have to check one by one
Introduced in beta2
- OM 21.0.0-beta2 is based on OM 20.10.0
- Removed deprecated global translate function
__()
- SOAP APIs: Removed all imports from schemas.xmlsoap.org
Introduced in beta1
- PHP8.2 is now the minimum required version for OM v21
- Added form key validation to Contacts form
Checkapp/design/frontend/base/default/template/contacts/form.phtml
in your theme and be sure that you've<?php echo $this->getBlockHtml('formkey') ?>
under the<form
opening tag, as shown here. - Unified CSRF configuration
If you enabled CSRF inSystem -> Configuration -> System
(which you should!) then it will be enabled for all your forms and the checkout. - Removed double span element from HTML buttons
Be sure to check your CSS styles for the buttons in your frontend theme, you may need to adjust them slightly. - Removed all deprecated
_Mysql4_
classes
This will break many extremely old modules but it was long overdue and allowed us to remove 500+ obsolete files from the core. We provide theshell/rename-mysql4-class-to-resource.php
migration script to fix the old modules, you will have to run it but make sure you'll do it in a test environment and thoroughly test everything before publishing to production. - Removed
decorate*()
js functions
Check the phtml files of your custom themes for javascript code callingdecorate*()
(decorateList, decorateTable, decorateGeneric etc) and remove those calls since they will generate javascript errors on your browser's console. - Removed "admin routing compatibility mode" for extensions
The new admin routing mode was implemented in Magento 1.4 for security reasons, together with "compatibility mode" (in order to allow some time to developers to update their modules). After these many years we are removing the compatibility mode and all extensions will have to follow the new admin routing mode or they will not appear in the backend. - Removed
scriptaculous/dragdrop.js
from frontend
Changes you want to know about
Introduced in beta2
- RWD theme: Added explicit width/height for product thumbnails in product list template
- RWD theme: Removed ancient normalize.css
Introduced in beta1
Changes that probably won't affect you
Introduced in2
- Rewrote
js/varien/menu.js
without prototypejs but no longer linked in thebase
theme - Rewrote
js/mage/adminhtml/accordion.js
without prototypejs - Rewrote
js/mage/adminhtml/input-counter.js
without prototypejs - Rewrote
payment.js
without prototypejs - Removed unused files from
app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tab
- Removed unused file
js/varien/telephone.js
- Removed obsolete module Mage_Centinel
- Removed deprecated module DirectPost from Authorize.net payment method
- Removed ccard.js in favor of public domain code
- Removed deprecated
escape()
fromcookies.js
Introduced in beta1
- RWD theme: removed
enquire.js
and converted to window.matchMedia - RWD theme: converted default logos to SVG (and removed some Magento names)
- Removed onmouseover/onmouseout from adminhtml menu
- Removed auto_detect_line_endings in Varien_Io_File
- Fixed implementation of SessionHandlerInterface in Mage_Core_Model_Resource_Session
- Rewrote
js/varien/weee.js
without prototypejs - Rewrote
js/varien/accordion.js
without prototypejs - Rewrote
js/mage/captcha.jsp
without prototypejs - Removed unused file
js/mage/adminhtml/scrollbar.js
- Removed unused file
js/mage/adminhtml/magento-all.js
- Removed unused file
js/mage/adminhtml/image.js
- Removed deprecated and unused files from
lib/Mage
- Rewrote
js/mage/adminhtml/hash.js
using native javascript - Rewrote
js/mage/adminhtml/variables.js
without prototypejs - Rewrote
js/mage/translate.js
without prototypejs