Notice: You are browsing the documentation for PrestaShop 8, which is currently in development.

You might want to look at the current version, PrestaShop 1.7.

Notable changes in PrestaShop 8.0

PHP support

PrestaShop 8.0 adds supports for PHP 8.0 and requires at least PHP 7.2.5.

Notable changes

  • Javascript files for migrated pages in the Back Office now are written in TypeScript (related change: #24791).
  • Support for legacy translation dictionaries (eg: en.php, fr.php…, deprecated in 1.7), has been removed from Core controllers. Only modules can still use this system now.
  • All modules present in the modules directory during the installation process will be installed by default. Modules can use Module::postInstall() to execute code after the shop installation is done (Read more).
  • Twig has been updated to version 3. Deprecated features from v1 & v2 are no longer available.
  • All upgrade scripts have been removed from the Core and moved to the Upgrade module.
  • Using a hook alias will trigger a deprecation notice.

Symfony update

Symfony has been upgraded to 4.4, which includes a number of changes:

  • Doctrine ORM cache adapters for Memcache & APC are not available anymore. The way cache is handled changed in Symfony 4.4 and memcache & apc are not part of the new available caching methods.
  • Services that are not dependency injected and that are not declared as “public” are removed from the container
  • ChoiceType’s option “choices_as_values” doesn’t exist anymore, it was previously already true by default
  • It’s not possible to call Form::isValid() if Form::isSubmitted() was not called before
  • The syntax bundlename:path:file.html.twig is now invalid, use @bundlename/path/to/file.html.twig
  • Syntax for _controller in routes should not use the short notation anymore (PrestaShopBundle:Admin/Error:enableDebugMode for instance), use the full path instead: PrestaShopBundle\Controller\Admin\ErrorController::enableDebugModeAction
  • Translation files have been moved from /app/Resources/translations/ to /translations/
  • The annotation @AdminSecurity is_granted() should not take an array, use explicit && or || when checking multiple rights
  • Form type extensions should stop implementing public function getExtendedType() and implement public static function getExtendedTypes(): iterable instead (read more).

New product page

[To be completed]

Themes

Themes using jQuery UI tooltips might need to be updated to use bootstrap’s tooltips (read more);

Child themes

The use_parent_assets setting in theme.yml, when set to true, makes the child theme load its parent’s assets (css, img and js) instead of its own. This feature, not functional and ignored in 1.7, has been fixed and improved for 8.0. For further fine-tuning, a new set of child_*_url variables is made available when the feature is active, allowing theme developers to access the parent and child’s asset urls separately.

To maintain the behavior of 1.7 and load the child theme’s assets, use_parent_assets must be set to false.

Classic theme

  • In checkout/_partials/steps/payment.tpl, the ID payment-form has been changed to payment-{$option.id}-form.
  • Empty state messages are now shown inside the block (as opposed to the top of the page) in pages like order history, addresses, etc (read more).

Back office interface

The Bootstrap version used in Symfony-based Back office pages has been updated from 4.0 to 4.4.

API Changes

Changes

  • _PS_USE_SQL_SLAVE_ is now a boolean (false by default).

  • AdminStatsTabController

  • Alias

    • __construct() - The 4th parameter, $idLang, has been removed (deprecated in 1.7.0).
  • Attribute

    • Renamed to ProductAttribute.
  • Module

    • getModulesOnDisk() - The second parameter, $logged_on_addons, has been removed.
  • PrestaShopAutoload

    • getClassesFromDir() - The second parameter, $hostMode, has been removed (deprecated in 1.7.0).
  • Product

    • $advanced_stock_management is now bool instead if int.
  • Tools

    • addonsRequest() - The values partner, service, hosted_module, must-have-themes, customer_themes and native_all are no longer supported.
  • WebserviceOutputInterface

    • 3 public methods have been added to this interface (read more).
  • WebserviceSpecificManagementInterface

    • setObjectOutput() now takes a WebserviceOutputBuilder instead of a WebserviceOutputBuilderCore.
    • setWsObject() now takes a WebserviceRequest instead of a WebserviceRequestCore.
    • getContent() must return an array instead of a string.
  • PrestaShop\PrestaShop\Adapter\Attachment\AttachmentRepository

    • __construct() now takes two parameters.
  • PrestaShop\PrestaShop\Adapter\Carrier\HandlingConfiguration

    • This class now extends PrestaShop\PrestaShop\Core\Configuration\AbstractMultistoreConfiguration
    • __construct now takes two additional parameters, Context $shopContext and FeatureInterface $multistoreFeature.
  • PrestaShop\PrestaShop\Core\Tax\TaxOptionsConfiguration

    • This class now extends PrestaShop\PrestaShop\Core\Configuration\AbstractMultistoreConfiguration
    • __construct now takes 4 parameters (read more).
  • PrestaShop\PrestaShop\Adapter\Customer\QueryHandler\SearchCustomersHandler

  • PrestaShop\PrestaShop\Adapter\Debug

    • __construct() now takes an additional parameter ClassIndexCacheClearer $classIndexCacheClearer.
  • PrestaShop\PrestaShop\Adapter\Employee\EmployeeFormAccessChecker

    • __construct() - The 3rd parameter $tabRepository has been removed.
  • PrestaShop\PrestaShop\Adapter\GeneralConfiguration

    • __construct() - The 3rd parameter, $idDebug, has been removed.
  • PrestaShop\PrestaShop\Adapter\MailTemplate\MailTemplateTwigRenderer

    • __construct() now takes Twig\Environment instead of Symfony\Component\Templating\EngineInterface.
  • PrestaShop\PrestaShop\Adapter\Module\AdminModuleDataProvider

    • __construct() - Four parameters have been removed (read more).
  • PrestaShop\PrestaShop\Adapter\Module\ModuleDataUpdater

    • __construct() now takes no parameters (read more).
  • PrestaShop\PrestaShop\Adapter\Module\Configuration\ModuleComplexConfigurationInterface

    • run() now takes a PrestaShop\PrestaShop\Core\Addon\Module\ModuleInterface instead of a PrestaShop\PrestaShop\Adapter\Module\Module.
  • PrestaShop\PrestaShop\Adapter\Module\Tab\ModuleTabRegister

    • enableTabs() now takes a PrestaShop\PrestaShop\Core\Addon\Module\ModuleInterface instead of a PrestaShop\PrestaShop\Adapter\Module\Module.
    • registerTabs() now takes a PrestaShop\PrestaShop\Core\Addon\Module\ModuleInterface instead of a PrestaShop\PrestaShop\Adapter\Module\Module.
  • PrestaShop\PrestaShop\Adapter\Module\Tab\ModuleTabUnregister

    • disableTabs() now takes a PrestaShop\PrestaShop\Core\Addon\Module\ModuleInterface instead of a PrestaShop\PrestaShop\Adapter\Module\Module.
    • unregisterTabs() now takes a PrestaShop\PrestaShop\Core\Addon\Module\ModuleInterface instead of a PrestaShop\PrestaShop\Adapter\Module\Module.
  • PrestaShop\PrestaShop\Adapter\Presenter\Module\ModulePresenter

    • present() now takes a PrestaShop\PrestaShop\Core\Addon\Module\ModuleInterface instead of a PrestaShop\PrestaShop\Adapter\Module\Module.
  • PrestaShop\PrestaShop\Adapter\Webservice\WebserviceConfiguration

    • This class is now a subtype of PrestaShop\PrestaShop\Core\Configuration\AbstractMultistoreConfiguration.
    • __construct() - This method [now takes two additional parameters], Context $shopContext and FeatureInterface $multistoreFeature.
  • PrestaShop\PrestaShop\Core\Addon\Module\ModuleInterface

    • This interface is now strictly typed.
    • 3 public methods have been added to this interface (read more).
  • PrestaShop\PrestaShop\Core\Addon\Module\ModuleRepository

    • __construct() - Two parameters have been removed (read more).
  • PrestaShop\PrestaShop\Core\Addon\Module\ModuleRepositoryInterface

    • getModule() now returns a PrestaShop\PrestaShop\Core\Addon\Module\ModuleInterface instead of a PrestaShop\PrestaShop\Adapter\Module\Module.
  • PrestaShop\PrestaShop\Core\Addon\Module\Exception\UnconfirmedModuleActionException

    • setModule() now takes a PrestaShop\PrestaShop\Core\Addon\Module\ModuleInterface instead of a PrestaShop\PrestaShop\Adapter\Module\Module.
  • PrestaShop\PrestaShop\Core\Domain\Attachment\QueryResult\AttachmentInformation

    • This class now expects (and contains) localized values for names. It also contains localized description and size.
    • getType() has been renamed to getMimeType().
  • PrestaShop\PrestaShop\Core\Domain\Customer\QueryResult\PersonalInformation

    • __construct() - The type of parameter $rankBySales is now int instead of string.
    • getRankBySales() now returns int instead of string.
  • PrestaShop\PrestaShop\Core\Domain\Customer\QueryResult\ViewableCustomer

    • __construct() - The parameter $referrersInformation has been removed.
  • PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderPreviewProductDetail

  • PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderReturnForViewing

    • __construct() - The parameters $carrierId, $trackingUrl and $trackingNumber have been removed and replaced by string $orderReturnNumber.
  • PrestaShop\PrestaShop\Core\Domain\Product\Command\RemoveAllAssociatedProductAttachmentsCommand

    • Renamed to PrestaShop\PrestaShop\Core\Domain\Product\Attachment\Command\RemoveAllAssociatedProductAttachmentsCommand.
  • PrestaShop\PrestaShop\Core\Domain\Product\Command\SetAssociatedProductAttachmentsCommand

    • Renamed to PrestaShop\PrestaShop\Core\Domain\Product\Attachment\Command\SetAssociatedProductAttachmentsCommand.
  • PrestaShop\PrestaShop\Core\Domain\Product\QueryResult\ProductForEditing

    • __construct() expects an array of AttachmentInformation instead of an array of attachment IDs.
  • PrestaShop\PrestaShop\Core\Email\SwiftMailerValidation

    • isValid() is now strictly typed.
    • getError() is now strictly typed.
    • getWarnings() is now strictly typed.
  • PrestaShop\PrestaShop\Core\Exception\NonASCIIInLocalPartException

    • This class is now a subtype of CoreException instead of Egulias\EmailValidator\Exception\InvalidEmail.
  • PrestaShop\PrestaShop\Core\Form\IdentifiableObject\DataHandler\ManufacturerFormDataHandler

    • __construct() - The second parameter is now ManufacturerImageUploader instead of ImageUploaderInterface.
  • PrestaShop\PrestaShop\Core\Form\IdentifiableObject\DataProvider\CategoryFormDataProvider

    • __construct() now takes a GroupDataProvider instead of a DefaultGroupsProviderInterface.
  • PrestaShop\PrestaShop\Core\Grid\Definition\Factory\LogGridDefinitionFactory

    • __construct() now takes a second constructor parameter: string $contextDateFormat.
  • PrestaShopBundle\Controller\Admin\Sell\Customer\CustomerController

    • toggleStatusAction() now returns JsonResponse instead of RedirectResponse.
    • toggleNewsletterSubscriptionAction() now returns JsonResponse instead of RedirectResponse.
    • togglePartnerOfferSubscriptionAction() now returns JsonResponse instead of RedirectResponse.
  • PrestaShopBundle\Controller\Admin\TranslationsController

    • Renamed to PrestaShopBundle\Controller\Admin\Improve\International\TranslationsController.
  • PrestaShopBundle\Controller\Admin\StockController

    • Renamed to PrestaShopBundle\Controller\Admin\Sell\Catalog\StockController.
  • PrestaShopBundle\Event\ModuleManagementEvent

    • __construct() now takes a PrestaShop\PrestaShop\Core\Addon\Module\ModuleInterface instead of a PrestaShop\PrestaShop\Adapter\Module\Module.
  • PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Administration\GeneralType

    • __construct() - The parameter $isDebug has been removed.
  • PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Administration\GeneralType

    • This class now extends PrestaShopBundle\Form\Admin\Type\TranslatorAwareType.
  • PrestaShopBundle\Form\Admin\Configure\ShopParameters\TrafficSeo\Meta\SetUpUrlType

    • __construct() - The parameter $isHostMode has been removed.
  • PrestaShopBundle\Form\Admin\Configure\ShopParameters\TrafficSeo\Meta\ShopUrlType

    • __construct() - The parameter $isHostMode has been removed.
  • PrestaShopBundle\Install\Install

    • getModulesList() has been renamed to getModulesOnDisk().
  • PrestaShopBundle\Command\AppendConfigurationFileHooksListCommand

    • __construct() now takes 9 parameters.
  • PrestaShopBundle\Command\AppendHooksListForSqlUpgradeFileCommand

    • __construct() now takes 10 parameters.
  • PrestaShopBundle\Command\CheckTranslationDuplicatesCommand

    • __construct() now takes a TranslatorBagInterface.
  • PrestaShopBundle\Command\ConfigCommand

    • __construct() - The first parameter, $legacyContextLoader, has been removed.
  • PrestaShopBundle\Command\DebugCommand

    • __construct() - The 3rd parameter, $legacyContextLoader, has been removed.
  • PrestaShopBundle\Command\ExportThemeCommand

    • __construct() now takes 3 parameters.
  • PrestaShopBundle\Command\GenerateMailTemplatesCommand

    • __construct() now takes 2 parameters.
  • PrestaShopBundle\Command\LegacyLinkLinterCommand

    • __construct() now takes 2 parameters.
  • PrestaShopBundle\Command\ListCommandsAndQueriesCommand

    • __construct() now takes 2 parameters.
  • PrestaShopBundle\Command\ModuleCommand

    • __construct() now takes 4 parameters.
  • PrestaShopBundle\Command\NamingConventionLinterCommand

    • __construct() now takes 2 parameters.
  • PrestaShopBundle\Command\SecurityAnnotationLinterCommand

    • __construct() now takes 2 parameters.
  • PrestaShopBundle\Command\ThemeEnablerCommand

    • __construct() now takes a ThemeManager parameter.
  • PrestaShopBundle\Command\UpdateEUTaxruleGroupsCommand

    • __construct() now takes a string $localizationPath parameter.
  • PrestaShopBundle\Command\UpdateSchemaCommand

    • __construct() now takes 3 parameters.
  • PrestaShopBundle\Service\Grid\ResponseBuilder

  • PrestaShopBundle\Service\DataProvider\Admin\AddonsInterface

    • downloadModule() - This method has been removed from the interface.
    • isAddonsAuthenticated() - This method has been removed from the interface.

Removals

Removed methods

  • bindDatepicker()
  • includeDatepicker() deprecated in 1.5.3
  • translate() deprecated in 1.5.4
  • process::processInstallAddonsModules() (from install-dev/controllers/console/process.php)
  • process::processInstallAddonsModules() (from install-dev/controllers/http/process.php)
  • AddressFormat::_getFormatDB()
  • AdminController::renderModulesList()
  • AdminDashboardController::displayAjaxGetBlogRss()
  • AdminModulesController::ajaxProcessRefreshModuleList()
  • AdminModulesController::ajaxProcessLogOnAddonsWebservices()
  • AdminModulesController::ajaxProcessLogOutAddonsWebservices()
  • AdminProductsController::recurseCategoryForInclude() deprecated in 1.7.0
  • CartRule::checkProductRestrictions() deprecated in 1.7.4
  • Category::_subTree() deprecated in 1.7.0
  • Category::getShopID() deprecated in 1.7.0
  • Category::getUrlRewriteInformations() deprecated in 1.7.0
  • Category::getCategoryInformations() deprecated in 1.7.0
  • CmsCategory::searchByNameAndParentCMSCategoryId() deprecated in 1.5.3
  • Combination::loadStockData()
  • Configuration::getInt()
  • Cookie::_setcookie() deprecated in 1.7.0
  • Cookie::isLogged() deprecated in 1.5.0
  • Cookie::isLoggedBack() deprecated in 1.5.0
  • DbPDO::_getPDO()
  • FrontController::addMedia() deprecated in 1.7.0
  • FrontController::removeMedia() deprecated in 1.7.0
  • GroupReduction::getGroupByCategoryId() deprecated in 1.5.3
  • GroupReduction::getGroupReductionByCategoryId() deprecated in 1.5.3
  • Helper::renderAdminCategorieTree() deprecated in 1.5.0
  • Helper::renderModulesList()
  • Helper::l()
  • Helper::renderShopList() deprecated in 1.6.1
  • Hook::getHookAliasList() deprecated in 1.7.1
  • Hook::getRetroHookName() deprecated in 1.7.1
  • ImageType::getFormatedName() deprecated in 1.7.0
  • Language::recurseDeleteDir() deprecated in 1.6.1
  • Language::_copyNoneFlag() deprecated in 1.7.7
  • Language::installEmailsLanguagePack() deprecated in 1.7.6
  • Media::getJqueryPath() deprecated in 1.7.7
  • Module::checkModuleFromAddonsApi()
  • Module::deleteTrustedXmlCache()
  • Module::generateTrustedXml()
  • Module::isModuleTrusted()
  • PaymentModule::formatProductAndVoucherForEmail() deprecated in 1.6.0
  • PrestaShopException::getExentedMessage() deprecated in 1.5.5
  • PrestaShopLogger::_isPresent() deprecated in 1.7.0
  • Product::deleteAttributesImpacts()
  • Product::getAttributesImpacts()
  • Shop::getTheme()
  • Stock::addMissingMvt() deprecated in 1.5.0
  • Tax::getProductTaxRateViaRules() deprecated in 1.5.0
  • TaxRule::deleteTaxRuleByIdCounty() deprecated in 1.5.0
  • TaxRulesGroup::getTaxesRate() deprecated in 1.5.0
  • TaxRulesGroup::getTaxes() deprecated in 1.5.0
  • Uploader::_getFileSize() deprecated in 1.7.0
  • Uploader::_getServerVars() deprecated in 1.7.0
  • Uploader::_normalizeDirectory() deprecated in 1.7.0
  • Validate::isPasswd() deprecated in 1.7.0
  • Tools::jsonEncode() deprecated in 1.7.0
  • Tools::jsonDecode() deprecated in 1.7.0
  • Tools::addonsRequest()
  • Translate::getGenericAdminTranslation()
  • PrestaShop\PrestaShop\Adapter\Employee\EmployeeFormAccessChecker::canAccessAddonsConnect()
  • PrestaShop\PrestaShop\Adapter\Hosting\HostingInformation::isHostMode()
  • PrestaShop\PrestaShop\Adapter\Module\AdminModuleDataProvider::clearCatalogCache()
  • PrestaShop\PrestaShop\Adapter\Module\AdminModuleDataProvider::clearModuleListCache()
  • PrestaShop\PrestaShop\Adapter\Module\AdminModuleDataProvider::getCatalogModules()
  • PrestaShop\PrestaShop\Adapter\Module\AdminModuleDataProvider::getCatalogModulesNames()
  • PrestaShop\PrestaShop\Adapter\Module\AdminModuleDataProvider::getModuleAttributesById()
  • PrestaShop\PrestaShop\Adapter\Module\ModuleDataUpdater::setModuleOnDiskFromAddons()
  • PrestaShop\PrestaShop\Core\Addon\Module\ModuleManager::disable_mobile() deprecated in 1.7.3
  • PrestaShop\PrestaShop\Core\Addon\Module\ModuleManager::enable_mobile() deprecated in 1.7.3
  • PrestaShop\PrestaShop\Core\Addon\Module\ModuleRepository::getModuleById()
  • PrestaShop\PrestaShop\Core\Addon\Module\ModuleRepository::setPrestaTrustChecker()
  • PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderReturnForViewing::getCarrierId()
  • PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderReturnForViewing::getTrackingUrl()
  • PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderReturnForViewing::getTrackingNumber()
  • PrestaShop\PrestaShop\Core\Employee\Access\EmployeeFormAccessCheckerInterface::canAccessAddonsConnect()
  • PrestaShopBundle\Controller\Admin\CommonController::recommendedModulesAction()
  • PrestaShopBundle\Controller\Admin\Improve\ModuleController::catalogAction()
  • PrestaShopBundle\Controller\Admin\Improve\ModuleController::getModuleCartAction()
  • PrestaShopBundle\Controller\Admin\Improve\ModuleController::getPreferredModulesAction()
  • PrestaShopBundle\Controller\Admin\Improve\ModuleController::refreshCatalogAction()
  • PrestaShopBundle\Entity\Tab::getHideHostMode()
  • PrestaShopBundle\Install\Install::getAddonsModulesList()

Removed variables or properties

  • $_LANGADM
  • $timer_start
  • AdminController::$timer_start
  • AdminController::$logged_on_addons
  • AdminModulesController::$_modules_ad
  • Combination::$location deprecated in 1.7.8
  • Combination::$quantity deprecated in 1.7.8
  • Module::$trusted
  • Order::$shipping_number deprecated in 1.5.0
  • Stock::$date_upd deprecated in 1.5.0
  • Stock::$quantity deprecated in 1.5.0
  • Tab::$hide_host_mode

Removed constants

  • _PS_HOST_MODE_
  • _PS_PEAR_XML_PARSER_PATH_
  • _PS_SMARTY_DIR_
  • _PS_SWIFT_DIR_
  • _PS_TAASC_PATH_
  • _PS_TCPDF_PATH_
  • PS_SEARCH_MAX_WORD_LENGTH
  • PhpEncryption::LEGACY_ENGINE
  • Module::CACHE_FILE_CUSTOMER_MODULES_LIST
  • Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST
  • Module::CACHE_FILE_MUST_HAVE_MODULES_LIST
  • Module::CACHE_FILE_TRUSTED_MODULES_LIST
  • Module::CACHE_FILE_UNTRUSTED_MODULES_LIST
  • PrestaShop\PrestaShop\Adapter\Module\AdminModuleDataProvider::_CACHEKEY_MODULES_

Removed configuration keys

  • TRACKING_DIRECT_TRAFFIC

Removed classes

  • AdminAttributeGeneratorController
  • AdminPatternsController
  • AdminReferrersController
  • Referrer
  • PhpEncryptionLegacyEngine
  • Windows deprecated in 1.7.0
  • PrestaShop\PrestaShop\Adapter\Addons\AddonsDataProvider
  • PrestaShop\PrestaShop\Adapter\Module\PrestaTrust (whole namespace)
  • PrestaShop\PrestaShop\Adapter\News\NewsDataProvider
  • PrestaShop\PrestaShop\Core\Addon\Login\Exception\LoginErrorException
  • PrestaShop\PrestaShop\Core\Domain\Attachment\Query\GetAttachmentInformationList
  • PrestaShop\PrestaShop\Core\Domain\Customer\QueryResult\ReferrerInformation
  • PrestaShop\PrestaShop\Core\Domain\Product\Command\AssociateProductAttachmentCommand
  • PrestaShopBundle\Cache\Factory\CacheSubscriberFactory
  • PrestaShopBundle\Cache\ModuleTemplateCacheWarmer
  • PrestaShopBundle\Controller\Admin\Improve\Design\ThemeCatalogController
  • PrestaShopBundle\Controller\Admin\Improve\Modules\AddonsStoreController
  • PrestaShopBundle\DependencyInjection\Compiler\OverrideTwigServiceCompilerPass
  • PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\RequestSql\SqlRequestFormDataProvider
  • PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\RequestSql\SqlRequestFormHandler
  • PrestaShopBundle\Form\Admin\Type\AddonsConnectType
  • PrestaShopBundle\Install\Upgrade
  • PrestaShopBundle\Service\DataProvider\Admin\AddonsInterface
  • PrestaShopBundle\Service\DataProvider\Marketplace\ApiClient
  • PrestaShopBundle\Twig\AdminExtension
  • PrestaShopBundle\Twig\Locator\ModuleTemplateIterator

Removed routes

  • admin_common_recommended_modules
  • admin_module_addons_store
  • admin_module_cart
  • admin_module_catalog_post
  • admin_module_catalog_refresh
  • admin_module_catalog

Removed services

  • guzzle.cache
  • prestashop.adapter.admin.data_provider.addons
  • prestashop.adapter.news.circuit_breaker.settings
  • prestashop.adapter.news.circuit_breaker
  • prestashop.adapter.news.provider
  • prestashop.addons.client_api
  • prestashop.core.admin.data_provider.addons_interface
  • prestashop.data_provider.modules.recommended

Removed endpoints

  • admin-dev/ajax-tab.php deprecated in 1.7.6
  • admin-dev/ajax_products_list.php deprecated in 1.7.6
  • admin-dev/backup.php deprecated in 1.7.6
  • admin-dev/displayImage.php deprecated in 1.7.6
  • admin-dev/drawer.php deprecated in 1.7.6
  • admin-dev/grider.php deprecated in 1.7.6
  • admin-dev/pdf.php deprecated in 1.7.6
  • admin-dev/searchcron.php deprecated in 1.7.6

Behavior changes

  • AdminController::l() no longer falls back to admin / legacy module translations (this is done in ModuleAdminController now)
  • Module::getModuleNameFromClass() no longer produces side effects (i.e. it no longer loads the module’s translations)
  • Translate::getAdminTranslation() is now a wrapper to Context::getContext()->getTranslator()->trans() and it no longer attempts to translate using module translations.
  • Translate::getModuleTranslation() no longer falls back to admin translations

Deprecations

PHP

  • ApiClient::setSslVerification() → Configure the client passed in the constructor directly.
  • Tools::safePostVars() → Avoid using this method.
  • Translate::getAdminTranslation() → Use Context::getContext()->getTranslator()->trans().

Database

  • ps_product.unit_price_ratio → The reference is now ps_product.unit_price (read more).

Updated dependencies

PHP libraries

Library name Old version New version
curl/curl 1.2 2.3
csa/guzzle-bundle 1.3 (forked) ~ Removed ~
cssjanus/cssjanus 1.2 (forked) 2.1
doctrine/cache 1.8 2.0
doctrine/doctrine-bundle 1.6 2.3
egulias/email-validator 2.1 ~ Removed ~
guzzlehttp/cache-subscriber 0.2 ~ Removed ~
guzzlehttp/guzzle 5.3 7.3
mrclay/minify 2.3 3.0
paragonie/random_compat 2.0 ~ Removed ~
pelago/emogrifier 2.1 5.0
prestashop/circuit-breaker 3.0 4.0
prestashop/translationtools-bundle 4.0 5.0
shudrum/array-finder 1.1 ~ Removed ~
symfony/polyfill-apcu 1.0 ~ Removed ~
symfony/polyfill-php73 1.10 ~ Removed ~
symfony/symfony 3.4 4.4
twig/twig 1.38 3.0

JS libraries

  • The file js/rtl.js has been removed.

  • The following dependencies, not required by the Back office directly, have been removed from Symfony-based pages:

    • bootstrap-slider
    • compass
    • mobile-detect
    • sprintf-js
    • tether