|
| 1 | +--- |
| 2 | +title: Release v20.11.0 |
| 3 | +draft: false |
| 4 | +date: 2024-12-20 |
| 5 | +comments: true |
| 6 | +authors: |
| 7 | + - colinmollenhour |
| 8 | +categories: |
| 9 | + - Releases v20 |
| 10 | +hide: |
| 11 | + - toc |
| 12 | +--- |
| 13 | + |
| 14 | +# New Release 20.11.0 |
| 15 | + |
| 16 | +As you can see, there are many many changes in this release! |
| 17 | + |
| 18 | +Thanks to all of the contributors for keeping OpenMage one of the fastest and most secure robust open source eCommerce platforms around! [^1] |
| 19 | + |
| 20 | +<!-- more --> |
| 21 | + |
| 22 | +### Fixes |
| 23 | +* Show correct version for main branch by @sreichel in https://github.com/OpenMage/magento-lts/pull/4137 |
| 24 | +* Allow to use $before parameter in addCss/addJs from XML by @Caprico85 in https://github.com/OpenMage/magento-lts/pull/4151 |
| 25 | +* Fixed issues #4134 undefined array index label_use_default in Mage_Catalog_Model_Product_Attribute_Backend_Media by @empiricompany in https://github.com/OpenMage/magento-lts/pull/4136 |
| 26 | +* Fix strlen() null deprecation in AccountController.php by @kiatng in https://github.com/OpenMage/magento-lts/pull/4155 |
| 27 | +* Added `error` directory to checks + php8.4 fix by @sreichel in https://github.com/OpenMage/magento-lts/pull/4184 |
| 28 | +* Add email link to set password. See issue #1205. by @kiatng in https://github.com/OpenMage/magento-lts/pull/3262 |
| 29 | +* Fixed undefined array key "values" in Mage_Catalog_Model_Product_Attribute_Backend_Media by @S0FTWEX in https://github.com/OpenMage/magento-lts/pull/4125 |
| 30 | +* Fix ACL Resource "admin/sales/order/actions/use" not found by @pbaldauf in https://github.com/OpenMage/magento-lts/pull/4199 |
| 31 | +* PHP8: Fixes passing null to `str_contains()` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4203 |
| 32 | +* Fixed missing/wrong admin `_setActiveMenu()` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4209 |
| 33 | +* Fix wrong Preview link on CMS pages grid by @Caprico85 in https://github.com/OpenMage/magento-lts/pull/4214 |
| 34 | +* In product list all swatches are always shown even if they are not available when "Display Out of Stock Products" is disabled by @empiricompany in https://github.com/OpenMage/magento-lts/pull/4100 |
| 35 | +* Openmage admin theme: Change background-color for active sections by @sreichel in https://github.com/OpenMage/magento-lts/pull/4219 |
| 36 | +* Backport: Added unittest for date and datetime by @sreichel in https://github.com/OpenMage/magento-lts/pull/4210 |
| 37 | +* Fixed strcmp(): Passing null to parameter #1 ($string1) of type strin… by @kiatng in https://github.com/OpenMage/magento-lts/pull/4212 |
| 38 | +* Custom product types - increased column length for widgets by @sreichel in https://github.com/OpenMage/magento-lts/pull/4226 |
| 39 | +* PHP8.1: Added getter method for `Mage_Adminhtml_Block_Widget_Grid_Column::getType()` to return string by @sreichel in https://github.com/OpenMage/magento-lts/pull/4238 |
| 40 | +* Admin theme: Change background-color for active sections by @sreichel in https://github.com/OpenMage/magento-lts/pull/4246 |
| 41 | +* Deprecated functionality: preg_match(): Passing null to parameter #4 … by @addison74 in https://github.com/OpenMage/magento-lts/pull/4251 |
| 42 | +* Bugfix: passing invalid ID to `Mage_Catalog_Model_Url::refreshRewrites()` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4259 |
| 43 | +* Configurable: remove unused double foreach loop by @Hanmac in https://github.com/OpenMage/magento-lts/pull/4008 |
| 44 | +* Added `ext-ftp` to requirements by @sreichel in https://github.com/OpenMage/magento-lts/pull/4270 |
| 45 | +* Fixes configurable swatch color picker in legacy admin theme by @sreichel in https://github.com/OpenMage/magento-lts/pull/4218 |
| 46 | +* Fixed incorrect datetime in block, ref #1525 by @sreichel in https://github.com/OpenMage/magento-lts/pull/4242 |
| 47 | +* PHP8: base64_decode(): Passing null is deprecated by @sreichel in https://github.com/OpenMage/magento-lts/pull/4281 |
| 48 | +* Fix placeholder image in WYSIWYG editor when using a different admin theme by @Caprico85 in https://github.com/OpenMage/magento-lts/pull/4240 |
| 49 | +* [PHP 8.4] fgetcsv() - The $escape parameter must be provided as its default value will change by @addison74 in https://github.com/OpenMage/magento-lts/pull/4297 |
| 50 | +* [PHP 8.4] fputcsv() - The $escape parameter must be provided as its default value will change by @addison74 in https://github.com/OpenMage/magento-lts/pull/4298 |
| 51 | +* Fixes `Mage_Core_Helper_Url::removeRequestParam()` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4295 |
| 52 | +* PHP84: ignore deprecated E_STRICT by @sreichel in https://github.com/OpenMage/magento-lts/pull/4289 |
| 53 | +* Fix deprecated message for strlen first value null by @leissbua in https://github.com/OpenMage/magento-lts/pull/4306 |
| 54 | +* Fixed full name observer calls in config.xml by @sreichel in https://github.com/OpenMage/magento-lts/pull/4309 |
| 55 | +* Fix `Mage_Adminhtml_Block_Template::isOutputEnabled()` for invalid module by @sreichel in https://github.com/OpenMage/magento-lts/pull/4320 |
| 56 | +* Fix: cannot add to wishlist from tag page - Customer account by @sreichel in https://github.com/OpenMage/magento-lts/pull/4329 |
| 57 | +* Fix duplicate block rendering with getSortedChildren() by @justinbeaty in https://github.com/OpenMage/magento-lts/pull/4337 |
| 58 | +* [PHP 8.x] Deprecated functionality: strtotime(): Passing null to para… by @addison74 in https://github.com/OpenMage/magento-lts/pull/4339 |
| 59 | +* Fixes line-height for some H4 in admin legacy theme by @sreichel in https://github.com/OpenMage/magento-lts/pull/4335 |
| 60 | +* Added `ext-pdo_mysql` to checks by @sreichel in https://github.com/OpenMage/magento-lts/pull/4350 |
| 61 | +* Fix: create empty SimpleXMLElement by @sreichel in https://github.com/OpenMage/magento-lts/pull/4351 |
| 62 | +* Bugfix: cant create order from admin backend by @sreichel in https://github.com/OpenMage/magento-lts/pull/4348 |
| 63 | +* Deprecated functionality: preg_replace() by @addison74 in https://github.com/OpenMage/magento-lts/pull/4311 |
| 64 | +* Fixed null deprecation in Varien/Convert/Parser/Xml/Excel by @kiatng in https://github.com/OpenMage/magento-lts/pull/4375 |
| 65 | +* Fixed null deprecation in `Mage_Catalog_Model_Product_Option_Type_Text::validateUserValue()` by @kiatng in https://github.com/OpenMage/magento-lts/pull/4357 |
| 66 | +* Bugfix: `Mage_Adminhtml_Helper_Dashboard_Data::countStores()` on null by @sreichel in https://github.com/OpenMage/magento-lts/pull/4370 |
| 67 | +* Fix validateHttpVersion to be RFC 1945 and RFC 7230 compliant by @leissbua in https://github.com/OpenMage/magento-lts/pull/4368 |
| 68 | +* Fix for catalog_product_relation not being deleted when bundle option deleted. by @dannydnz in https://github.com/OpenMage/magento-lts/pull/4395 |
| 69 | +* Fix unserializeArray on nonserialized string by @Hanmac in https://github.com/OpenMage/magento-lts/pull/4387 |
| 70 | +* [Tax] add FK to tax/sales_order_tax again by @Hanmac in https://github.com/OpenMage/magento-lts/pull/4334 |
| 71 | +* Fix Possible Array Access warnings in Captcha Observer by @Hanmac in https://github.com/OpenMage/magento-lts/pull/4424 |
| 72 | + |
| 73 | +### Features |
| 74 | +* New feature: Added "Newsletter Subscription Form" widget by @empiricompany in https://github.com/OpenMage/magento-lts/pull/4095 |
| 75 | +* Added support to specify file upload dir in system configuration by @eneiasramos in https://github.com/OpenMage/magento-lts/pull/4079 |
| 76 | +* Add new method to get config value directly from DB bypassing cache. by @kiatng in https://github.com/OpenMage/magento-lts/pull/4163 |
| 77 | +* Updated `Varien_Object::getData()` and added `getDataByKey()` & `getDataByPath()` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4205 |
| 78 | +* Admin config: added input validation & hide disabled options by @sreichel in https://github.com/OpenMage/magento-lts/pull/4232 |
| 79 | +* Better config for admin RSS links by @sreichel in https://github.com/OpenMage/magento-lts/pull/4243 |
| 80 | +* Prevent delete/disable CMS pages used in configuration by @sreichel in https://github.com/OpenMage/magento-lts/pull/4239 |
| 81 | +* Unified admin grid columns and added XML configuration by @sreichel in https://github.com/OpenMage/magento-lts/pull/4225 |
| 82 | +* Make `Mage_GiftMessage` optional in templates by @Hanmac in https://github.com/OpenMage/magento-lts/pull/4266 |
| 83 | +* Cache `isModuleOutputEnabled` or `isModuleEnabled` status by @sreichel in https://github.com/OpenMage/magento-lts/pull/4323 |
| 84 | +* Use `transliterator_transliterate` to generate "url_key" by @sreichel in https://github.com/OpenMage/magento-lts/pull/4315 |
| 85 | +* New feature: Highlight popular countries in country select by @ma4nn in https://github.com/OpenMage/magento-lts/pull/4089 |
| 86 | +* Install TinyMCE 7.5 via composer by @sreichel in https://github.com/OpenMage/magento-lts/pull/4113 |
| 87 | + |
| 88 | +### Security |
| 89 | +* TinyMCE security fix by @sreichel in https://github.com/OpenMage/magento-lts/pull/4157 |
| 90 | +* Obfuscated login credentials in stacktraces by @sreichel in https://github.com/OpenMage/magento-lts/pull/4388 |
| 91 | + |
| 92 | +### DDEV |
| 93 | +* [DDEV] Adding n98-magerun support for the test environment by @addison74 in https://github.com/OpenMage/magento-lts/pull/4107 |
| 94 | +* DDEV: file permission and bugfix by @sreichel in https://github.com/OpenMage/magento-lts/pull/4145 |
| 95 | +* DDEV: command for local development by @sreichel in https://github.com/OpenMage/magento-lts/pull/4133 |
| 96 | +* [DDEV] Support for `xhprof`/`xhgui` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4325 |
| 97 | +* DDEV: updated install script by @sreichel in https://github.com/OpenMage/magento-lts/pull/4407 |
| 98 | + |
| 99 | +### Coding style |
| 100 | +* PHPCS: fixed php compatibility warning by @sreichel in https://github.com/OpenMage/magento-lts/pull/4148 |
| 101 | +* PHPCS: ignore `mcrypt` related warnings by @sreichel in https://github.com/OpenMage/magento-lts/pull/4147 |
| 102 | +* PHP-CS-Fixer: added check for double quotes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4126 |
| 103 | +* PHPCS: fixed last PHPCompatibility check errors by @sreichel in https://github.com/OpenMage/magento-lts/pull/4164 |
| 104 | +* Small DocBlock update by @sreichel in https://github.com/OpenMage/magento-lts/pull/4160 |
| 105 | +* PHP-CS-Fixer: added check for short array syntax and logical operators by @sreichel in https://github.com/OpenMage/magento-lts/pull/4181 |
| 106 | +* PHP-CS-Fixer: added check for concat spaces by @sreichel in https://github.com/OpenMage/magento-lts/pull/4185 |
| 107 | +* PHPCS: patched ECG standard by @sreichel in https://github.com/OpenMage/magento-lts/pull/4149 |
| 108 | +* Rector: CQ - UnusedForeachValueToArrayKeysRector by @sreichel in https://github.com/OpenMage/magento-lts/pull/4111 |
| 109 | +* Rector: DeadCode - removed useless docblocks by @sreichel in https://github.com/OpenMage/magento-lts/pull/4201 |
| 110 | +* Rector: added dependency and basic rules by @sreichel in https://github.com/OpenMage/magento-lts/pull/4213 |
| 111 | +* Skip some rector rules by @sreichel in https://github.com/OpenMage/magento-lts/pull/4227 |
| 112 | +* Add template files to phpstan checks by @sreichel in https://github.com/OpenMage/magento-lts/pull/4245 |
| 113 | +* PHPCS-ECG: fail on error by @sreichel in https://github.com/OpenMage/magento-lts/pull/4324 |
| 114 | +* Code quality: added PHPMD, updated workflow by @sreichel in https://github.com/OpenMage/magento-lts/pull/4303 |
| 115 | +* Rector: updated UnitTests by @sreichel in https://github.com/OpenMage/magento-lts/pull/4391 |
| 116 | +* Rector: set methods to private in `Mage.php` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4392 |
| 117 | +* Rector: removed useless variables by @sreichel in https://github.com/OpenMage/magento-lts/pull/4393 |
| 118 | +* Follow coding-standard PER-CS2.0 by @sreichel in https://github.com/OpenMage/magento-lts/pull/4372 |
| 119 | +* PHPCS: merged workflows by @sreichel in https://github.com/OpenMage/magento-lts/pull/4416 |
| 120 | + |
| 121 | +### PHPStan |
| 122 | +* Phpstan fixes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4116 |
| 123 | +* PhpStan fixes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4146 |
| 124 | +* Bump phpstan to level5 by @sreichel in https://github.com/OpenMage/magento-lts/pull/4265 |
| 125 | +* PhpStan: bumped to 1.12.1 & renamed config files by @sreichel in https://github.com/OpenMage/magento-lts/pull/4183 |
| 126 | +* PhpStan: L7 update for `Mage_Sendfriend` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4187 |
| 127 | +* Fixed phpstan on Mage_Customer_Model_Customer by @kiatng in https://github.com/OpenMage/magento-lts/pull/4190 |
| 128 | +* Some phpStan fixes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4241 |
| 129 | +* Some phpstan fixes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4273 |
| 130 | +* Some phpstan fixes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4276 |
| 131 | +* Some phpstan fixes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4283 |
| 132 | +* PHPStan: added some class vars to templates by @sreichel in https://github.com/OpenMage/magento-lts/pull/4322 |
| 133 | +* PHPStan: some fixes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4328 |
| 134 | +* More phpstan fixes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4291 |
| 135 | +* PHPStan: some fixes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4346 |
| 136 | +* PhpStan: some fixes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4363 |
| 137 | + |
| 138 | +### PHPUnit |
| 139 | +* PhpUnit: use database for tests, added tests by @sreichel in https://github.com/OpenMage/magento-lts/pull/4138 |
| 140 | +* PHPUnit: added some tests by @sreichel in https://github.com/OpenMage/magento-lts/pull/4204 |
| 141 | +* Phpunit: ignore timezone in date tests by @sreichel in https://github.com/OpenMage/magento-lts/pull/4284 |
| 142 | +* Added more PhpUnit tests by @sreichel in https://github.com/OpenMage/magento-lts/pull/4236 |
| 143 | +* PhpUnit: added tests by @sreichel in https://github.com/OpenMage/magento-lts/pull/4321 |
| 144 | +* PHPUnit: added tests by @sreichel in https://github.com/OpenMage/magento-lts/pull/4340 |
| 145 | +* Added test, ref #4352 by @sreichel in https://github.com/OpenMage/magento-lts/pull/4389 |
| 146 | + |
| 147 | +### Cleanup |
| 148 | +* Removed empty `Mage_Poll` config section by @sreichel in https://github.com/OpenMage/magento-lts/pull/4122 |
| 149 | +* Removed MTF by @sreichel in https://github.com/OpenMage/magento-lts/pull/4161 |
| 150 | +* Updated .gitignore, ref #4161 by @sreichel in https://github.com/OpenMage/magento-lts/pull/4167 |
| 151 | +* Remove `Mage_Sendfriend` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4274 |
| 152 | +* PHPMD: remove unused private methods/fields by @sreichel in https://github.com/OpenMage/magento-lts/pull/4397 |
| 153 | +* Cleanup: removed broken `Mage_Core_Controller_Front_Router` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4356 |
| 154 | +* Remove gitpod files by @sreichel in https://github.com/OpenMage/magento-lts/pull/4404 |
| 155 | + |
| 156 | +### Docs |
| 157 | +* Docs: Added section for PhpStorm (SCSS) file watcher by @sreichel in https://github.com/OpenMage/magento-lts/pull/4208 |
| 158 | +* Documentation v4 📝 - github.io page by @sreichel in https://github.com/OpenMage/magento-lts/pull/4156 |
| 159 | +* DOCs: update by @sreichel in https://github.com/OpenMage/magento-lts/pull/4349 |
| 160 | + |
| 161 | +### Other |
| 162 | +* CodeQL: updated workflow by @sreichel in https://github.com/OpenMage/magento-lts/pull/4172 |
| 163 | +* Added method to make use of `Mage_Core_Model_Security_HtmlEscapedString` easier by @sreichel in https://github.com/OpenMage/magento-lts/pull/4123 |
| 164 | +* Worklflow: update copyright monthly by @sreichel in https://github.com/OpenMage/magento-lts/pull/4176 |
| 165 | +* Updated Copyright by @github-actions in https://github.com/OpenMage/magento-lts/pull/4189 |
| 166 | +* Fixed some typos by @sreichel in https://github.com/OpenMage/magento-lts/pull/4200 |
| 167 | +* Preview PR in gitpod by @sreichel in https://github.com/OpenMage/magento-lts/pull/4175 |
| 168 | +* Updated Copyright by @github-actions in https://github.com/OpenMage/magento-lts/pull/4237 |
| 169 | +* Added polyfill-8.3/8.4 in Composer by @addison74 in https://github.com/OpenMage/magento-lts/pull/4268 |
| 170 | +* Updated zf1-future to 1.24.1 by @sreichel in https://github.com/OpenMage/magento-lts/pull/4278 |
| 171 | +* Better caching for phpstan workflow by @sreichel in https://github.com/OpenMage/magento-lts/pull/4269 |
| 172 | +* Updated Copyright by @github-actions in https://github.com/OpenMage/magento-lts/pull/4327 |
| 173 | +* Hotfix: `core_store.store_id` can be `null` by @sreichel in https://github.com/OpenMage/magento-lts/pull/4330 |
| 174 | +* Bugfix: cant view order in customer account by @sreichel in https://github.com/OpenMage/magento-lts/pull/4345 |
| 175 | +* Bugfix: hide exception, ref #4303 by @sreichel in https://github.com/OpenMage/magento-lts/pull/4344 |
| 176 | +* Bugfix: fixed sitemap config depend nodes by @sreichel in https://github.com/OpenMage/magento-lts/pull/4369 |
| 177 | +* Fixed issue #4384 bug on not able to view order details in frontend. by @kiatng in https://github.com/OpenMage/magento-lts/pull/4385 |
| 178 | +* Updated Copyright by @github-actions in https://github.com/OpenMage/magento-lts/pull/4400 |
| 179 | +* Readme: fixed badges by @sreichel in https://github.com/OpenMage/magento-lts/pull/4413 |
| 180 | + |
| 181 | +[^1]: https://github.com/OpenMage/magento-lts/releases/tag/v20.11.0 |
0 commit comments