OXID eShop v6.4.0 Release Notes
Release Date: 2019-08-02 // over 4 years ago-
๐ Fixed
- ๐ Fixed return type in Basket::getDiscounts PR-659
- โ Remove unused variables, decrease complexity PR-668
- Cleanup return statement from ShopList model constructor PR-677
- ๐ Fix warning if discounts variable is not array PR-678
- ๐ Fix phpdoc types and set consistent returns in BaseController PR-676
- ๐ Fix checkIniSet method in SystemRequirements for php 7.2 PR-681
- ๐ Fixed bug maintenance mode when changing e-mail address as a guest #0006965
- ๐ Fixed bug no possibility to sort accessories of articles in backend #0003609
- ๐ Fix php 7.2 compatibility of tests.
- ๐ Fix Bank code validation bug in Direct Debit #0006939
- 0๏ธโฃ Incorrect default values from database-columns, if empty, on MariaDB PR-709 #0006914 #0006888
- ๐ Fix sql error in category sort ajax popup PR-707 #0006985
- ๐ Use oxideshop.log in place of EXCEPTION_LOG in comments/translations PR-708
- ๐ Fixed the code to fit PSR-2 PR-711
- ๐ Improved form validation #0006924
- Fix typo in comment PR-717 PR-719
- โ Remove unnecessary parameters in addErrorToDisplay function call in ForgetPasswordController PR-716
โ Added
- ๐ New methods:
OxidEsales\EshopCommunity\Core\Exception\ExceptionToDisplay::getValues
PR-660OxidEsales\EshopCommunity\Application\Model\Article::getStock
PR-640OxidEsales\EshopCommunity\Application\Controller\Admin::sortAccessoriesList()
#0003609OxidEsales\EshopCommunity\Application\Model\Article::getActionType
OxidEsales\EshopCommunity\Application\Model\Article::getStockStatusOnLoad
OxidEsales\EshopCommunity\Core\Base::dispatchEvent
- โ Log a warnings for missused db method calls PR-649
- ๐ New blocks:
- ๐ Log missing translations PR-520
๐ New features:
- Reset category filter 0002046
- OXID eShop console, which allows to register custom commands for modules and for components via
services.yaml
. - New command to activate module.
- New command to deactivate module.
- New oe-console command to install module configuration: oe:module:install-configuration
- New parameter in config file to change database connection charset -
dbCharset
PR-670
Events:
\OxidEsales\EshopCommunity\Internal\Framework\Module\Setup\Event\BeforeModuleDeactivationEvent
\OxidEsales\EshopCommunity\Internal\Framework\Module\Setup\Event\FinalizingModuleActivationEvent
\OxidEsales\EshopCommunity\Internal\Framework\Module\Setup\Event\FinalizingModuleDeactivationEvent
\OxidEsales\EshopCommunity\Internal\Framework\Config\Event\ShopConfigurationChangedEvent
\OxidEsales\EshopCommunity\Internal\Framework\Module\Setting\Event\SettingChangedEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\AfterModelDeleteEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\AfterModelInsertEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\AfterModelUpdateEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\AllCookiesRemovedEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\ApplicationExitEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\BasketChangedEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\BeforeHeadersSendEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\BeforeModelDeleteEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\BeforeModelUpdateEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\BeforeSessionStartEvent
\OxidEsales\EshopCommunity\Internal\Transition\ShopEvents\ViewRenderedEvent
\OxidEsales\EshopCommunity\Internal\Framework\Theme\Event\ThemeSettingChangedEvent
Interface:
\OxidEsales\EshopCommunity\Internal\Domain\Authentication\Bridge\PasswordServiceBridgeInterface
as the new default for hashing passwords. See https://docs.oxid-esales.com/developer/en/6.2/project/password_hashing.html
Constants
\OxidEsales\EshopCommunity\Application\Model\User::USER_COOKIE_SALT
Directory
- var/ directory, it contains files to which the application writes data during the course of its operation. Must be writable by the HTTP server and CLI user.
๐ Changed
- category_main form layout improvements PR-585
- Split config parameter initialization from application initialization PR-628
- 0๏ธโฃ Increase default quantity of productimages to 12 (from 7) PR-514
- ๐ Make adding template blocks more fast andn reliable PR-580
- ๐ Change email encoding to base64 0006468 PR-697
- ๐ Support PHP 7.2
- Modules will not be disabled on class loading errors anymore, Error is just logged PR-661
- ๐ Use facts to calculate CE location PR-685
- Load SystemRequirements via oxNew PR-694
- ๐ Initialize the session only once PR-699
- ๐ Backwards compatibility break:
\OxidEsales\EshopCommunity\Application\Model\User::_dbLogin
will only called until the user successfully logs in the first time. Afterwards the password hash will have been recreated and a new authentication mechanism will be used. This breaks backwards compatibility for modules, which directly override_dbLogin
or one of the methods in the call stack. - Fix typo in ident for help near name/surname in
application/views/admin/tpl/shop_main.tpl
PR-701- Was
HELP_ENERAL_NAME
changed toHELP_GENERAL_NAME
- Was
- โฌ๏ธ Drop support for PHP 7.0
- ๐ Use user from Order::validateOrder method in validatePayment as well PR-706
- ๐ Methods in the following classes return information based on the project configuration. See documentation about module installation
\OxidEsales\EshopCommunity\source\Module\Core\Module
\OxidEsales\EshopCommunity\source\Module\Core\ModuleList
- The variable
aDisabledModules
in database tableoxconfig
isn't used anymore. - ๐ The variable
aModulePaths
in database tableoxconfig
: Module path will be added on module activation and removed on module deactivation. - ๐ง The classes in the folder
Core/Module/
now mainly use the project configuration as a basis for information. - ๐ File
metadata.php
in a module: the keyid
is mandatory and custom php code won't be executed any more. See Metadata documentation - โ Running tests on travis against all php versions PR-700
- โ Travis runs phpcs and tests scripts with calling the php directly, not relying on script shebang anymore.
- โก๏ธ Updated Yui library components to version 2.9
- Do not trust input from outside for listtype. Catch PHP Fatal error and show normal page. PR-714
โ Removed
- Removed old not used blAutoSearchOnCat option from shop_config tab PR-654
- โ Removed unnecessary class imports PR-667
- โ Removed deprecated
\OxidEsales\EshopCommunity\Core\Email::$Version
use\PHPMailer\PHPMailer\PHPMailer::VERSION
instead - The value for the password salt will not be stored in the database column
oxuser.OXPASSSALT
anymore, but in the password hash itself
๐ Deprecated
\OxidEsales\EshopCommunity\Application\Controller\StartController::getArticleList
- 0๏ธโฃ
\OxidEsales\EshopCommunity\Internal\Domain\Authentication\Bridge\PasswordServiceBridgeInterface
was added as the new default for hashing passwords. Hashing passwords with MD5 and SHA512 is still supported in order support login with older password hashes. Therefor the methods and classes below might not be compatible with the current passhword hash any more:\OxidEsales\EshopCommunity\Application\Model\User::_dbLogin
\OxidEsales\EshopCommunity\Application\Model\User::_getLoginQuery
\OxidEsales\EshopCommunity\Application\Model\User::_getLoginQueryHashedWithMD5
\OxidEsales\EshopCommunity\Application\Model\User::encodePassword
\OxidEsales\EshopCommunity\Core\Hasher
\OxidEsales\EshopCommunity\Core\PasswordHasher
\OxidEsales\EshopCommunity\Core\PasswordSaltGenerator
\OxidEsales\EshopCommunity\Core\Sha512Hasher
\OxidEsales\EshopCommunity\Application\Model\User::formQueryPartForMD5Password
\OxidEsales\EshopCommunity\Application\Model\User::formQueryPartForSha512Password
\OxidEsales\EshopCommunity\Core\Base::setConfig
\OxidEsales\EshopCommunity\Core\Base::getConfig
\OxidEsales\EshopCommunity\Core\Base::$_oSession
\OxidEsales\EshopCommunity\Core\Base::setSession
\OxidEsales\EshopCommunity\Core\Base::getSession
\OxidEsales\EshopCommunity\Core\Email::$_oConfig
\OxidEsales\EshopCommunity\Core\Email::setConfig
\OxidEsales\EshopCommunity\Core\Email::getConfig
blDoNotDisableModuleOnError
config optionOrderArticle::$_aOrderCache
\OxidEsales\EshopCommunity\Application\Controller\Admin\ModuleConfiguration::_getModuleForConfigVars
- ๐
\OxidEsales\EshopCommunity\Application\Controller\Admin\ModuleConfiguration::__loadMetadataConfVars
\OxidEsales\EshopCommunity\Core\Module\ModuleChainsGenerator::filterInactiveExtensions()
Now, there are only extensions of active modules in the class chain. No need to filter inactive extensions any more.\OxidEsales\EshopCommunity\Core\Module\ModuleChainsGenerator::cleanModuleFromClassChain()
If you want to clean a module from the class chain, deactivate the module.- ๐ง
\OxidEsales\EshopCommunity\Core\Module\ModuleChainsGenerator::getDisabledModuleIds()
UseOxidEsales\EshopCommunity\Internal\Framework\Module\Configuration\Bridge\ShopConfigurationDaoBridgeInterface
instead to get inactive modules. - ๐ง
\OxidEsales\EshopCommunity\Core\Module\ModuleChainsGenerator::getModuleDirectoryByModuleId()
Use\OxidEsales\EshopCommunity\Internal\Framework\Module\Configuration\Bridge\ShopConfigurationDaoBridgeInterface
instead. - ๐ฆ
\OxidEsales\EshopCommunity\Core\Module\ModuleSmartyPluginDirectoryValidator
Validation was moved to Internal\Framework\Module package and will be executed during the module activation. - ๐ง
\OxidEsales\EshopCommunity\Core\Module\ModuleSmartyPluginDirectoryRepository::save
Module smarty plugins directory are stored in project configuration file now. Use appropriate Dao to save them. - ๐ง
\OxidEsales\EshopCommunity\Core\Module\ModuleSmartyPluginDirectories::getWithRelativePath
Module smarty plugins directory are stored in project configuration file now. Use appropriate Dao to get them. - ๐ง
\OxidEsales\EshopCommunity\Core\Module\ModuleSmartyPluginDirectories::add
Module smarty plugins directory are stored in project configuration file now. Use appropriate Dao to add them. - ๐ง
\OxidEsales\EshopCommunity\Core\Module\ModuleSmartyPluginDirectories::set
Module smarty plugins directory are stored in project configuration file now. Use appropriate Dao to set them. - ๐ง
\OxidEsales\EshopCommunity\Core\Module\ModuleSmartyPluginDirectories::remove
Module smarty plugins directory are stored in project configuration file now. Use appropriate Dao to remove them. \OxidEsales\EshopCommunity\Core\Module\ModuleExtensionsCleaner::cleanExtensions
will use internal module services instead aModulePaths\OxidEsales\EshopCommunity\Core\Module\ModuleInstaller
Use service "OxidEsales\EshopCommunity\Internal\Framework\Module\Setup\Bridge\ModuleActivationBridgeInterface".- ๐ง
\OxidEsales\EshopCommunity\Core\Module\Module
Use service 'OxidEsales\EshopCommunity\Internal\Framework\Module\Configuration\Bridge\ShopConfigurationDaoBridgeInterface'. - ๐ง
\OxidEsales\EshopCommunity\Core\Module\ModuleList
Use service 'OxidEsales\EshopCommunity\Internal\Framework\Module\Configuration\Bridge\ShopConfigurationDaoBridgeInterface'. - ๐ฆ
\OxidEsales\EshopCommunity\Core\Contract\IModuleValidator
Validation was moved to Internal\Framework\Module package and will be executed during the module activation. - ๐
\OxidEsales\EshopCommunity\Core\Module\ModuleMetadataValidator
Validation was moved to Internal\Framework\Module package and will be executed during the module activation. - ๐ฆ
\OxidEsales\EshopCommunity\Core\Module\ModuleCache
ModuleCache moved to Internal\Framework\Module package. - โก๏ธ
\OxidEsales\EshopCommunity\Core\Module\ModuleExtensionsCleaner
The whole chain is updated during module activation and deactivation in the database. We do not need this functionality any more - ๐
\OxidEsales\EshopCommunity\Core\Module\ModuleValidatorFactory
Module metadata validation moved to Internal\Framework\Module package - ๐ง
\OxidEsales\EshopCommunity\Core\Routing\Module\ClassProviderStorage
UseOxidEsales\EshopCommunity\Internal\Framework\Module\Configuration\DataObject\ModuleConfiguration\ModuleConfigurationDaoBridgeInterface
. - ๐ง
\OxidEsales\EshopCommunity\Core\Contract\ClassProviderStorageInterface
UseOxidEsales\EshopCommunity\Internal\Framework\Module\Configuration\DataObject\ModuleConfiguration\ModuleConfigurationDaoBridgeInterface
.