Skip to content

New Release 20.11.0

As you can see, there are many many changes in this release!

Thanks to all of the contributors for keeping OpenMage one of the fastest and most secure robust open source e-commerce platforms around! 1

Fixes

  • Show correct version for main branch #4137
  • Allow to use $before parameter in addCss()/addJs() from XML #4151
  • Fixed issues #4134 undefined array index label_use_default in Mage_Catalog_Model_Product_Attribute_Backend_Media #4136
  • Fix strlen() null deprecation in AccountController.php #4155
  • Added error directory to checks + PHP 8.4 fix #4184
  • Add email link to set password. See issue #1205. #3262
  • Fixed undefined array key “values” in Mage_Catalog_Model_Product_Attribute_Backend_Media #4125
  • Fix ACL Resource “admin/sales/order/actions/use” not found #4199
  • PHP8: Fixes passing null to str_contains() #4203
  • Fixed missing/wrong admin _setActiveMenu() #4209
  • Fix wrong Preview link on CMS pages grid #4214
  • In product list all swatches are always shown even if they are not available when “Display Out of Stock Products” is disabled #4100
  • OpenMage admin theme: Change background-color for active sections #4219
  • Back-port: Added PHPUnit test for Varien Date and Datetime #4210
  • Fixed strcmp(): Passing null to parameter #1 ($string1) of type string … #4212
  • Custom product types - increased column length for widgets #4226
  • PHP8.1: Added getter method for Mage_Adminhtml_Block_Widget_Grid_Column::getType() to return string #4238
  • Admin theme: Change background-color for active sections #4246
  • Deprecated functionality: preg_match(): Passing null to parameter #4#4251
  • Bug-fix: passing invalid ID to Mage_Catalog_Model_Url::refreshRewrites() #4259
  • Configurable: remove unused double foreach loop #4008
  • Added ext-ftp to requirements #4270
  • Fixes configurable swatch color picker in legacy admin theme #4218
  • Fixed incorrect date in block, ref #1525 #4242
  • PHP8: base64_decode(): Passing null is deprecated #4281
  • Fix placeholder image in WYSIWYG editor when using a different admin theme #4240
  • [PHP 8.4] fgetcsv() - The $escape parameter must be provided as its default value will change #4297
  • [PHP 8.4] fputcsv() - The $escape parameter must be provided as its default value will change #4298
  • Fixes Mage_Core_Helper_Url::removeRequestParam() #4295
  • PHP84: ignore deprecated E_STRICT #4289
  • Fix deprecated message for strlen() first value null #4306
  • Fixed full name observer calls in config.xml #4309
  • Fix Mage_Adminhtml_Block_Template::isOutputEnabled() for invalid module #4320
  • Fix: cannot add to wish-list from tag page - Customer account #4329
  • Fix duplicate block rendering with getSortedChildren() #4337
  • [PHP 8.x] Deprecated functionality: strtotime(): Passing null to para… #4339
  • Fixes line-height for some H4 in admin legacy theme #4335
  • Added ext-pdo_mysql to checks #4350
  • Fix: create empty SimpleXMLElement #4351
  • Bug-fix: cant create order from admin back-end #4348
  • Deprecated functionality: preg_replace() #4311
  • Fixed null deprecation in Varien/Convert/Parser/Xml/Excel #4375
  • Fixed null deprecation in Mage_Catalog_Model_Product_Option_Type_Text::validateUserValue() #4357
  • Bug-fix: Mage_Adminhtml_Helper_Dashboard_Data::countStores() on null #4370
  • Fix validateHttpVersion() to be RFC 1945 and RFC 7230 compliant #4368
  • Fix for catalog_product_relation not being deleted when bundle option deleted. #4395
  • Fix unserializeArray() on non-serialized string #4387
  • [Tax] add FK to tax/sales_order_tax again #4334
  • Fix Possible Array Access warnings in Captcha Observer #4424

Features

  • New feature: Added “Newsletter Subscription Form” widget #4095
  • Added support to specify file upload directory in system configuration #4079
  • Add new method to get configuration value directly from DB bypassing cache. #4163
  • Updated Varien_Object::getData() and added getDataByKey() & getDataByPath() #4205
  • Admin configuration: added input validation & hide disabled options #4232
  • Better configuration for admin RSS links #4243
  • Prevent delete/disable CMS pages used in configuration #4239
  • Unified admin grid columns and added XML configuration #4225
  • Make Mage_GiftMessage optional in templates #4266
  • Cache isModuleOutputEnabled or isModuleEnabled status #4323
  • Use transliterator_transliterate to generate url_key #4315
  • New feature: Highlight popular countries in country select #4089
  • Install TinyMCE 7.5 via composer #4113

Security

  • TinyMCE security fix #4157
  • Obfuscated login credentials in stack-traces #4388

DDEV

  • [DDEV] Adding n98-magerun support for the test environment #4107
  • DDEV: file permission and bug-fix #4145
  • DDEV: command for local development #4133
  • [DDEV] Support for xhprof/xhgui #4325
  • DDEV: updated install script #4407

Coding style

  • PHPCS: fixed PHPCompatibility warning #4148
  • PHPCS: ignore mcrypt related warnings #4147
  • PHP-CS-Fixer: added check for double quotes #4126
  • PHPCS: fixed last PHPCompatibility check errors #4164
  • Small DocBlock update #4160
  • PHP-CS-Fixer: added check for short array syntax and logical operators #4181
  • PHP-CS-Fixer: added check for concat spaces #4185
  • PHPCS: patched ECG standard #4149
  • Rector: CodeQuality - UnusedForeachValueToArrayKeysRector #4111
  • Rector: DeadCode - removed useless DocBlock #4201
  • Rector: added dependency and basic rules #4213
  • Skip some rector rules #4227
  • Add template files to PHPStan checks #4245
  • PHPCS-ECG: fail on error #4324
  • Code quality: added PHPMD, updated workflow #4303
  • Rector: updated PHPUnit tests #4391
  • Rector: set methods to private in Mage.php #4392
  • Rector: removed useless variables #4393
  • Follow coding-standard PER-CS2.0 #4372
  • PHPCS: merged workflows #4416

PHPStan

  • PHPStan fixes #4116
  • PHPStan fixes #4146
  • Bump PHPStan to level5 #4265
  • PHPStan: bumped to 1.12.1 & renamed configuration files #4183
  • PHPStan: L7 update for Mage_Sendfriend #4187
  • Fixed PHPStan on Mage_Customer_Model_Customer #4190
  • Some PHPStan fixes #4241
  • Some PHPStan fixes #4273
  • Some PHPStan fixes #4276
  • Some PHPStan fixes #4283
  • PHPStan: added some class vars to templates #4322
  • PHPStan: some fixes #4328
  • More PHPStan fixes #4291
  • PHPStan: some fixes #4346
  • PHPStan: some fixes #4363

PHPUnit

  • PHPUnit: use database for tests, added tests #4138
  • PHPUnit: added some tests #4204
  • PHPUnit: ignore timezone in date tests #4284
  • Added more PHPUnit tests #4236
  • PHPUnit: added tests #4321
  • PHPUnit: added tests #4340
  • Added test, ref #4352 #4389

Cleanup

  • Removed empty Mage_Poll configuration section #4122
  • Removed MTF #4161
  • Updated .gitignore, ref #4161 #4167
  • Remove Mage_Sendfriend #4274
  • PHPMD: remove unused private methods/fields #4397
  • Cleanup: removed broken Mage_Core_Controller_Front_Router #4356
  • Remove Gitpod files #4404

Docs

  • Docs: Added section for PhpStorm (SCSS) file watcher #4208
  • Documentation v4 📝 - github.io page #4156
  • DocBlock: update #4349

Other

  • CodeQL: updated workflow #4172
  • Added method to make use of Mage_Core_Model_Security_HtmlEscapedString easier #4123
  • Workflow: update copyright monthly #4176
  • Updated Copyright #4189
  • Fixed some typos #4200
  • Preview PR in Gitpod #4175
  • Updated Copyright #4237
  • Added poly-fill-8.⅜.4 in Composer #4268
  • Updated ZF1-Future to 1.24.1 #4278
  • Better caching for PHPStan workflow #4269
  • Updated Copyright #4327
  • Hot-fix: core_store.store_id can be null #4330
  • Bug-fix: cant view order in customer account #4345
  • Bug-fix: hide exception, ref #4303 #4344
  • Bug-fix: fixed sitemap configuration depend nodes #4369
  • Fixed issue #4384 bug on not able to view order details in front-end. #4385
  • Updated Copyright #4400
  • README.md: fixed badges #4413

  1. Release v20.11.0