Edit on GitHub

Upgrade Notes

6.4.0

  • Deprecated the REST Webservice API. The API will be removed in Pimcore 7, use the Pimcore Data-Hub instead.

  • Removed Pimcore\Bundle\EcommerceFrameworkBundle\PricingManagerPricingManagerInterface::getRule() and Pimcore\Bundle\EcommerceFrameworkBundle\PricingManager::getRule()

  • The DocumentRenderer::setEventDispatcher() method has been removed. Pass event dispatcher to the constructor instead.

  • RedirectHandler::setRequestHelper() and RedirectHandler::setSiteResolver() methods have been removed. Pass instance of Pimcore\Http\RequestHelper & Pimcore\Http\Request\Resolver\SiteResolver to the constructor instead.

  • The ContainerService::setEventDispatcher() method has been removed and DocumentRenderer event listeners moved toPimcore\Bundle\CoreBundle\EventListener\FrontendDocumentRendererListener

  • Ecommerce: max length of cartId is now 190 characters instead of 255

  • MaxMind GeoIP database is not updated automatically anymore, please read the instructions for setting up geo support for targeting.

  • System Settings - Full Page Cache configuration changed from

      pimcore:
        cache:
          ...
    

    to

    pimcore:
      full_page_cache:
          ...
    

    in system.yml to avoid conflicts between output and data cache #5369. If you are using custom config files then you have to migrate them manually. Also new config pimcore:fullpage is disabled by default, so you have to enable fullpage cache again in system settings.

  • Properties $children, $hasChildren, $siblings, $hasSiblings in Pimcore\Model\Document & $o_children, $o_hasChildren, $o_siblings, $o_hasSiblings in Pimcore\Model\AbstractObject uses array to cache result.

6.3.0

  • Asset Metadata: character ~ is not allowed anymore for (predefined/custom) metadata naming. All existing and new metadata name with '~' converts to '---'. This change is introduced to support Localized columns in asset grid #5093
  • Custom document editables now have to implement the method isEmpty() which is defined on \Pimcore\Model\Document\Tag\TagInterface
  • Grid helper functions are moved from bundles/AdminBundle/Resources/public/js/pimcore/object/helpers/gridcolumnconfig.js(removed) to bundles/AdminBundle/Resources/public/js/pimcore/element/helpers/gridColumnConfig.js

Removed jQuery from Admin UI & E-Commerce Back Office

[BC Break] Replaced jQuery functions & libraries with vanilla JS or ExtJS equivalents. Read more
To get jQuery back in the admin UI, please use the this code snippet.

The following files have been removed:

bundles/AdminBundle/Resources/public/js/lib/jquery-3.4.1.min.js
bundles/EcommerceFrameworkBundle/Resources/public/vendor/jquery-1.11.1.min.js
bundles/EcommerceFrameworkBundle/Resources/public/vendor/jquery-2.1.3.min.js
bundles/EcommerceFrameworkBundle/Resources/public/vendor/jquery-3.4.1.min.js
bundles/EcommerceFrameworkBundle/Resources/public/vendor/bootstrap4/js/bootstrap.bundle.min.js
bundles/EcommerceFrameworkBundle/Resources/public/vendor/bootstrap4/js/bootstrap.js
bundles/EcommerceFrameworkBundle/Resources/public/vendor/bootstrap4/js/bootstrap.min.js
bundles/EcommerceFrameworkBundle/Resources/public/vendor/pickadate.classic.css
bundles/EcommerceFrameworkBundle/Resources/public/vendor/pickadate.classic.date.css
bundles/EcommerceFrameworkBundle/Resources/public/vendor/pickadate.classic.time.css
bundles/EcommerceFrameworkBundle/Resources/public/vendor/picker.date.js
bundles/EcommerceFrameworkBundle/Resources/public/vendor/picker.date.v3.5.3.js
bundles/EcommerceFrameworkBundle/Resources/public/vendor/picker.js
bundles/EcommerceFrameworkBundle/Resources/public/vendor/picker.v3.5.3.js

6.2.2

  • Object Keys: characters > and < not allowed anymore.

6.2.0

  • Support for links and folders as a fallback document, details see #4860
  • Documents & DataObjects: save button (visible when user has no publish permission) does not unpublish element anymore (if user has unpublish permission). Details see #4905

Workflow Refactorings

  • Notifications for workflows now support Pimcore notifications. Due to that, some namespaces were renamed. If you don't have overwritten any of the internal classes, no action is needed.
    • Pimcore\Workflow\EventSubscriber\NotificationEmailSubscriber became Pimcore\Workflow\EventSubscriber\NotificationSubscriber
    • Pimcore\Workflow\NotificationEmail\NotificationEmailInterface became Pimcore\Workflow\NotificationEmail\NotificationInterface

6.1.2

  • Sessions: the native PHP session mechanism is now the default (instead of session.handler.native_file). To use the former handler use the following config:
framework:
    session:
        handler_id:  session.handler.native_file
        save_path:   "%kernel.root_dir%/../var/sessions"

If you have configured your own session handler nothing will change.

  • Bugfix for 6.1.0 - only relevant, when you directly implement interfaces. If you just extend existing E-Commerce Framework implementations, default implementations for the new methods are provided.
    • New method in CartFactoryInterface: public function getCartReadOnlyMode(): string; - default implementation in CartFactory available.

6.1.0

E-Commerce Framework Refactorings

  • New methods in interfaces - only relevant, when you directly implement interfaces. If you just extend existing E-Commerce Framework implementations, default implementations for the new methods are provided.

    • New method in EcommerceFrameworkBundle\EnvironmentInterface: public function setDefaultCurrency(Currency $currency); - default implementation in Environment available.
    • New method in CartInterface: public function getPricingManagerTokenInformationDetails(): array - default implementation in AbstractCart available.
    • New method in CartInterface: public function isCalculated(): bool - default implementation in AbstractCart available.
    • New method in CartPriceCalculatorInterface: public function getAppliedPricingRules(): array; - default implementation in CartPriceCalculator available.
    • New method in BracketInterface: public function getConditionsByType(string $typeClass): array; - default implementation in Bracket available.
    • New method in RuleInterface: public function getConditionsByType(string $typeClass): array - default implementation in Rule available.
    • New method in VoucherServiceInterface: public function getPricingManagerTokenInformationDetails(CartInterface $cart, string $locale = null): array; - default implementation in DefaultService available.
    • New method in CartFactoryInterface: public function getCartReadOnlyMode(): string; - default implementation in CartFactory available.
  • Changed return type of applyCartRules(CartInterface $cart) in PricingManagerInterface - from PricingManagerInterface to array

  • Introduction of new Checkout Manager architecture. It is parallel to the old architecture, which is deprecated now and will be removed in Pimcore 7. For details see Checkout Manager Details.

E-Commerce Back Office

  • Following views are migrated from .php to .twig (with snake_case naming)
bundles/EcommerceFrameworkBundle/Resources/views/AdminOrder/detail.html.php
bundles/EcommerceFrameworkBundle/Resources/views/AdminOrder/itemCancel.html.php
bundles/EcommerceFrameworkBundle/Resources/views/AdminOrder/itemComplaint.html.php
bundles/EcommerceFrameworkBundle/Resources/views/AdminOrder/itemEdit.html.php
bundles/EcommerceFrameworkBundle/Resources/views/AdminOrder/list.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Includes/paging.html.php
bundles/EcommerceFrameworkBundle/Resources/views/back-office.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Voucher/voucherCodeTabError.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Voucher/voucherCodeTabPattern.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Voucher/voucherCodeTabSingle.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Voucher/parts/paginator.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Voucher/parts/statistics.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Voucher/parts/usageStatisticScript.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Voucher/parts/modals/cleanupReservationsModal.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Voucher/parts/modals/pattern/cleanupModal.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Voucher/parts/modals/pattern/generateModal.html.php
bundles/EcommerceFrameworkBundle/Resources/views/Voucher/parts/modals/single/assignSettingsModal.html.php

  • Link Editables no longer apply configured classes to the editable container. If you have custom css relying on this classes you have to adopt it. see #4740