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 inAccountController.php#4155 - Added 
errordirectory 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 
DateandDatetime#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 
gettermethod forMage_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 
foreachloop #4008 - Added 
ext-ftpto 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_mysqlto 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 
FKto 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 addedgetDataByKey()&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_GiftMessageoptional in templates #4266 - Cache 
isModuleOutputEnabledorisModuleEnabledstatus #4323 - Use 
transliterator_transliterateto generateurl_key#4315 - New feature: Highlight popular countries in country select #4089
 - Install TinyMCE 7.5 via composer #4113
 
Security¶
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 
mcryptrelated 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 
concatspaces #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_Pollconfiguration 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.iopage #4156 - DocBlock: update #4349
 
Other¶
- CodeQL: updated workflow #4172
 - Added method to make use of 
Mage_Core_Model_Security_HtmlEscapedStringeasier #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_idcan benull#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