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-660
      • OxidEsales\EshopCommunity\Application\Model\Article::getStock PR-640
      • OxidEsales\EshopCommunity\Application\Controller\Admin::sortAccessoriesList() #0003609
      • OxidEsales\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:
      • admin_module_sortlist in admin/tpl/module_sortlist.tpl PR-534
      • admin_order_overview_info_items in admin/tpl/include/order_info.tpl PR-688
      • admin_order_overview_info_sumtotal in admin/tpl/include/order_info.tpl PR-688
    • ๐ŸŒ 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:

    • 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 to HELP_GENERAL_NAME
    • โฌ‡๏ธ 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 table oxconfig isn't used anymore.
    • ๐Ÿšš The variable aModulePaths in database table oxconfig: 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 key id 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 option
    • OrderArticle::$_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() Use OxidEsales\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 Use OxidEsales\EshopCommunity\Internal\Framework\Module\Configuration\DataObject\ModuleConfiguration\ModuleConfigurationDaoBridgeInterface.
    • ๐Ÿ”ง \OxidEsales\EshopCommunity\Core\Contract\ClassProviderStorageInterface Use OxidEsales\EshopCommunity\Internal\Framework\Module\Configuration\DataObject\ModuleConfiguration\ModuleConfigurationDaoBridgeInterface.