Releases: OpenMage/magento-lts
v20.10.2
- bump coded in version tag, which was missed in the previous release.
Full Changelog: v20.10.1...v20.10.2
v20.10.1
Security fixes
- CVE-2024-41676 - GHSA-5vrp-638w-p8m2 Stored XSS in admin system configs
What's Changed
- Fixed null parameter warning in Mage_Wishlist_Block_Abstract by @addison74 in #4068
- Fixed null parameter warning in Mage_Shipping_Model_Resource_Carrier_Tablerate by @addison74 in #4073
- Updated TinyMCE to 6.8.4 by @fballiano in #4084
- fix codestyle - empty line by @Flyingmana in #4112
- Fixed UI bug in Newsletter Templates backend page, filters not saved in session by @eneiasramos in #4077
- Added check for isModuleOutputEnabled('Mage_Review') in customer's backend page by @eneiasramos in #4075
- Fixed null parameter warning in Mage_Wishlist_Controller_Abstract::allcartAction() by @addison74 in #4083
- Fixed null parameter warning in Mage_ImportExport_Model_Import_Entity_Product::_filterRowData() by @addison74 in #4086
- Fixed invisible configuration values in backend by @fballiano in #4085
- Added hadling of allowed_extensions for file uploads in backend's configuration section by @eneiasramos in #4078
- Backend: Improved "copy button" style in legacy admin theme by @ma4nn in #4072
- Missing translations in Mage_Sales.csv by @addison74 in #4110
Full Changelog: v20.10.0...v20.10.1
v21.0.0-beta2
🚀 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
v20.10.0
Highlights
This release brings copyable cells to backend grids, preliminary PHP 8.4 support, improved MariaDB compatibility and fixes to a bundle of important issues. From smoothing out UPS REST API handling, an old cache problem in primary navigation block and a couple of minor regressions in product's attribute handling.
Full changelog
- New Feature for developers: Copyable cells in grids by @kiatng in #4029
- Restored parent::save() on a few classes (fixing PHPStan) ref #3988 by @fballiano in #4021
- Improved orphaned resources detection in backend, fixed #4007 by @kiatng in #4022
- Fixed undefined array index label_use_default in Mage_Catalog_Model_Product_Attribute_Backend_Media by @fballiano in #4024
- UPS Rest API: handling cases where a single service is returned by UPS by @fballiano in #4044
- Fixed bug in Mage_Usa_Model_Shipping_Carrier_Ups->_doShipmentRequestRest() by @ragnese in #4046
- Switched to ROW_FORMAT DYNAMIC for better compatibility with MariaDB 10.3 / 10.11 by @alexh-swdev in #4027
- Fixed
Mage_Uploader_Helper_File::getDataMaxSize()
when checking against different size units by @F1Red5 in #4039 - Fixed cache issue in primary navigation block by @empiricompany in #4040
- Preliminary PHP 8.4 support: Fixed implicitly nullable parameter deprecation warning by @F1Red5 in #4037
- Fixed
array_keys(null)
and call to undefined method inMage_Eav_Model_Config
by @F1Red5 in #4036 - Fixed null parameter warnings during installation with DeveloperMode enabled by @fballiano in #4030
- Fixed regression introduced in #2993 where attributes are no longer sorted correctly by attribute group order in attribute comparison by @davidhiendl in #4064
- Fixed undefined array key in Mage/Eav/Model/Config.php by @kiatng in #4059
- Removed extra comma in Mage_Captcha.csv by @addison74 in #4066
- Fixed regression introduced in #2993 where attributes are not correctly pre-filtered for the layered navigation by @davidhiendl in #4063
- Fixed ship-to address for UPS REST shipment API by @ragnese in #4047
External components updates
- Bump phpstan/phpstan from 1.11.2 to 1.11.3 by @dependabot in #4025
- Bump friendsofphp/php-cs-fixer from 3.57.2 to 3.58.1 by @dependabot in #4026
- Bump phpstan/phpstan from 1.11.3 to 1.11.4 by @dependabot in #4038
- Bump friendsofphp/php-cs-fixer from 3.58.1 to 3.59.3 by @dependabot in #4042
- Bump phpseclib/phpseclib from 3.0.37 to 3.0.38 by @dependabot in #4052
- Bump symfony/polyfill-php81 from 1.29.0 to 1.30.0 by @dependabot in #4051
- Bump symfony/polyfill-php74 from 1.29.0 to 1.30.0 by @dependabot in #4050
- Bump phpstan/phpstan from 1.11.4 to 1.11.5 by @dependabot in #4049
- Bump symfony/polyfill-php80 from 1.29.0 to 1.30.0 by @dependabot in #4048
- Bump symfony/polyfill-php82 from 1.29.0 to 1.30.0 by @dependabot in #4061
- Bump phpseclib/phpseclib from 3.0.38 to 3.0.39 by @dependabot in #4060
Full Changelog: v20.9.0...v20.10.0
v20.9.0
Another small but important release, mostly oriented towards fixing a couple of bugs with the new UPS APIs.
Remember, the old UPS XML APIs will be shut down on 3rd June 2024.
What's Changed
- Fixed unable to select "free method" in UPS backend configuration by @fballiano in #4005
- Fixed erroneous call to getText() method in Mage_Usa_Model_Shipping_Carrier_Ups::getAllowedMethods() by @ragnese in #4013
- Fixed available currencies filtering in UPS _parseRestResponse() method by @fballiano in #4017
- Added "edit" action column to "Associated Products" grid of grouped products by @empiricompany in #4006
- Fixed customer can't login after registering through PayPal Express Checkout by @fballiano in #3979
- Added filemtime to merged JS/CSS hash calculation algorithm by @boesbo in #4004
- Added stopPropagation to "copy text" buttons in backend by @Caprico85 in #4019
- Updated PHPStan to 1.11.2 by @fballiano in #3988
- Bump squizlabs/php_codesniffer from 3.9.2 to 3.10.1 by @dependabot in #4011
- Bump friendsofphp/php-cs-fixer from 3.57.1 to 3.57.2 by @dependabot in #4012
v20.8.0
This is a small but important release, necessary to iron out a couple of fixes and improvements with the new UPS APIs and it's necessary to release it now in order for everybody to test and upgrade before 3rd June 2024, when the old UPS XML APIs will be retired.
What's Changed
- Fixed UPS Rest API bugs by @fballiano in #3976
- Fixed cannot sort by column in backend's grids by @fballiano in #3985
- Backend: show links to RSS only if they are enabled by @fballiano in #3997
- Fixed wrong line endings for LICENSE.txt and LICENSE_AFL.txt by @colinmollenhour in #3992
- Bump friendsofphp/php-cs-fixer to 3.57.1 by @dependabot in #4000
v20.7.0
This is such a great release I don't even know how to start, packed with new features like never before! 🤯
Carefully check the 📖 changelog and, if your store uses 🚚 UPS, double check the feature number 4, it is extremely important! 🚨
Incredible new features
1. ConfigurableSwatches now allows for auto-generation of the swatch image file based on color selection
Forget the times when you had to manually generate image files for your plain-color swatches, now everything will be done for you in the backend and it's backward compatible with any swatch image you previously uploaded in the media/wysiwyg/swatches
folder.
2. Added copyText function to admin order view page for copying order details
Tired of selecting important data with your mouse just to copy them to the clipboard?
Well, now you can do it much more easily.
3. Override configurations with env variables
The title almost says it all, but now you can create environment variables with structure similar to these:
OPENMAGE_CONFIG__DEFAULT__GENERAL__STORE_INFORMATION__NAME = default
OPENMAGE_CONFIG__WEBSITES__BASE__GENERAL__STORE_INFORMATION__NAME = website
OPENMAGE_CONFIG__STORES__GERMAN__GENERAL__STORE_INFORMATION__NAME = store_german
And they will override every XML or DB based configuration.
4. Added support for UPS Rest APIs
This is extremely important if your store uses UPS for shipments, on 3rd of June 2024 UPS will shut down their SOAP APIs, so you have to migrate to the new Rest API which is provided by this new feature.
Go to "System -> Configuration -> Shipping Methods -> UPS", select the new "United Parcel Service REST" and follow the documentation in the page to create your new UPS credentials.
IMPORTANT NOTE: while you will have to update to v20.7.0 before 3rd of June or your UPS integration will stop working, this new feature has to be handle with caution because of the limited tests that we were able to do before publishing. We worked on this for a few months but you must test with care before upgrading, and you must do it now if you want your store to be safe after the end of May. In case you face any problem get in contact with one of the maintainers.
Important bugs fixed
1. Fixed faulty media gallery label/description management for mutistore projects
Since the beginning of the M1 platform, many many years ago, these data were always broken in the context of multistore/multilanguage project, well, now they're not anymore!
Minor changes and fixes
- Removed jQuery dependencies from swatches in RWD theme by @empiricompany in #3824
- Added new useful columns in products tab in category view by @dbachmann in #2713
- New feature: added
mage_run_installed_exception
event when uncatched exception is thrown by @pquerner in #3613 - Removed invalid "sortcut icon" HTML element by @fballiano in #3941
- Backend: removed invalid "name" element, removed redundant nobr spans, added data-column-id to grids by @fballiano in #3927
- Type casting and minor fixes in preparation for
declare strict_types=1
by @luigifab in #3648
Dependency update
- Bump phpunit/phpunit from 9.6.18 to 9.6.19 by @dependabot in #3931
- Bump friendsofphp/php-cs-fixer from 3.52.1 to 3.53.0 by @dependabot in #3942
- Bump phpstan/phpstan from 1.10.66 to 1.10.67 by @dependabot in #3951
- Bump friendsofphp/php-cs-fixer from 3.53.0 to 3.54.0 by @dependabot in #3950
- Bump squizlabs/php_codesniffer from 3.9.1 to 3.9.2 by @dependabot in #3965
- Bump friendsofphp/php-cs-fixer from 3.54.0 to 3.55.0 by @dependabot in #3974
v21.0.0-beta1
🚀 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
- 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
- RWD theme: updated jQuery to 3.7.1 by @fballiano in #3922
Changes that probably won't affect you
- RWD theme: removed
enquire.js
and converted to window.matchMedia by @fballiano in #3208 - RWD theme: converted default logos to SVG (and removed some Magento names) by @fballiano in #3148
- Removed onmouseover/onmouseout from adminhtml menu by @luigifab in #2737
- Removed auto_detect_line_endings in Varien_Io_File by @fballiano in #3283
- Fixed implementation of SessionHandlerInterface in Mage_Core_Model_Resource_Session by @fballiano in #3499
- Rewrote
js/varien/weee.js
without prototypejs by @fballiano in #3670 - Rewrote
js/varien/accordion.js
without prototypejs by @fballiano in #3669 - Rewrote
js/mage/captcha.jsp
without prototypejs by @fballiano in #3754 - Removed unused file
js/mage/adminhtml/scrollbar.js
by @fballiano in #3765 - Removed unused file
js/mage/adminhtml/magento-all.js
by @fballiano in #3764 - Removed unused file
js/mage/adminhtml/image.js
by @fballiano in #3758 - Removed deprecated and unused files from lib/Mage by @fballiano in #3872
- Rewrote
js/mage/adminhtml/hash.js
using native javascript by @fballiano in #3763 - Rewrote
js/mage/adminhtml/variables.js
without prototypejs by @fballiano in #3762 - Rewrote
js/mage/translate.js
without prototypejs by @fballiano in #3662
v20.6.0
A solid bugfix release this 20.6.0, with some accessibility improvements to the RWD theme too, which will improve the lighthouse scores that everybody loves ;-)
Changelog
- Fixed zIndex to avoid conflicts between TinyMCE and OpenMage's overlays in the CMS section by @fballiano in #3851
- Fixed default width for input/textarea in OpenMage backend theme by @fballiano in #3850
- Improved fields dependence (show/hide) in backend's config section by @luigifab in #2150
- Varien_Directory_Collection::getLastDir(): "$this" can no longer be used in a plain function or method, since PHP 7.1 by @fballiano in #3823
- Fixed null error on hash_equal in Mage_Oauth_Model_Server by @kiatng in #3870
- Fixed row click issue in Category Products tab by @addison74 in #3866
- Fixed null deprecation in lib/Varien/Filter/Template.php by @kiatng in #3879
- Fixed row click issue in product's upsell/crosssell/related grids by @addison74 in #3865
- Added PHP8.3 to supported list by @fballiano in #3887
- Added VAT related attributes to salesOrderAddressEntity webservices entity by @empiricompany in #3885
- RWD: enhanced contrast on a few colors to fix accessibility issues by @fballiano in #3911
- Fixed no data shown for products with recurring profiles by @fballiano in #3910
- RWD: accessibility improvements: made the red color a bit darker and added titles to important links by @fballiano in #3912
- Rewrote getOpenMageVersion() to be faster by @fballiano in #3875
- Removed unused variables from Mage_Api_Model_Server_Handler_Abstract by @fballiano in #3862
- Removed @Deprecation on Mage::getBlockSingleton() by @kiatng in #3835
- Fixed null parameter warning in Mage_Catalog_Model_Layer_Filter_Attribute by @fballiano in #3926
- Bump phpseclib/phpseclib from 3.0.35 to 3.0.37 by @dependabot in #3869
- Bump phpseclib/mcrypt_compat from 2.0.5 to 2.0.6 by @dependabot in #3868
- Bump friendsofphp/php-cs-fixer from 3.50.0 to 3.51.0 by @dependabot in #3867
- Bump tj-actions/changed-files from 42 to 43 by @dependabot in #3882
- Bump friendsofphp/php-cs-fixer from 3.51.0 to 3.52.1 by @dependabot in #3895
- Bump phpunit/phpunit from 9.6.17 to 9.6.18 by @dependabot in #3896
- Bump squizlabs/php_codesniffer from 3.9.0 to 3.9.1 by @dependabot in #3919
- Bump tj-actions/changed-files from 43 to 44 by @dependabot in #3918
- Bump phpstan/phpstan from 1.10.59 to 1.10.66 by @dependabot in #3880
Full Changelog: v20.5.0...v20.6.0
v20.5.0
🎉🎉🎉 We are thrilled to announce OpenMage 20.5.0, the latest and greatest version of your favorite ecommerce platform! 🎉🎉🎉
This release surely packs a good amount of new features, so much so that we had to add a dedicated section to the changelog! But it also comes with a bunch of bugfix, components updates and most importantly a security fix!
Complete changelog
Security fixes
- CVE-2024-20717 (XSS), all the details at GHSA-gp6m-fq6h-cjcx
New features
- Added production-grade nginx and Docker environment by @colinmollenhour in #1209
- Added DDEV cronjob file by @addison74 in #3831
- Added UI to list and remove orphaned ACL resources in backend. by @kiatng in #3647
- Allowed admin to create guest orders and reorder as guest by @justinbeaty in #2233
- Added HtmlPurifier to improve MaliciousCode filtering by @Judx in #3606
- Added auto reply to contact form by @kyrena in #3615
- Added partial postcode match to table rate shipping by @AlterWeb in #1504
- Added support for type "label" to system.xml by @fballiano in #3849
Bugfix and more
- Fixed branch names in code-ql workflow by @addison74 in #3832
- Updated the existing DDEV documentation by @addison74 in #3830
- Fixed deprecation warning if downloadable sample is a url by @ma4nn in #3619
- Updated TinyMCE to 6.8.3 and updated all languages by @fballiano in #3837
- Fixed deprecated functionality for trim when creating DataFlow profile by @ma4nn in #3825
- Fixed case error in some module names by @fballiano in #3841
- Fixed call to a member function setOnclick() on false in Mage_Adminhtml_Block_Sales_Order_View_Giftmessage by @fballiano in #3821
- Fixed null parameter warning in Mage/Adminhtml/Block/Customer/Edit/Tab/Wishlist/Grid/Renderer/Description.php by @addison74 in #3829
- Fixed phpstan in Mage/Customer/controllers/AccountController.php by @kiatng in #3750
- Changed "unload" to "beforeunload" in extjs to avoid deprecation warning in developer console by @andrewcbi in #3853
- Removed Mage_Backup and Mage_PageCache from PHPStan configuration by @fballiano in #3858
- Fixed column default sorting in customer's orders grid by @addison74 in #3852
- Fixed null parameter warning in DataFlow Profiles by @addison74 in #3827
Packages upgrades
- Bump squizlabs/php_codesniffer from 3.8.1 to 3.9.0 by @dependabot in #3843
- Bump phpstan/phpstan from 1.10.57 to 1.10.58 by @dependabot in #3844
- Bump phpunit/phpunit from 9.6.16 to 9.6.17 by @dependabot in #3854
- Bump phpseclib/mcrypt_compat from 2.0.4 to 2.0.5 by @dependabot in #3855
- Bump friendsofphp/php-cs-fixer from 3.49.0 to 3.50.0 by @dependabot in #3857
- Bump phpstan/phpstan from 1.10.58 to 1.10.59 by @dependabot in #3856
New Contributors
- @andrewcbi made their first contribution in #3853
Full Changelog: v20.4.0...v20.5.0