Upgrade Notes
Pimcore 11.4.0
General
[Logging]
- Changed log file names. In the
dev
environment, the file names are nowdev-debug.log
anddev-error.log
. In theprod
environment, onlyprod-error.log
is written.
[Twig Deferred Extension]
- Removed
rybakit/twig-deferred-extension
dependency andTwig\DeferredExtension\DeferredExtension
service. If you use deferred twig blocks, please add the dependency to your owncomposer.json
and the service to your ownservice.yaml
.
[Twig Extension Deprecations]
pimcore_cache
Twig extension is deprecated. Usepimcorecache
twig tag instead.pimcore_placeholder
,pimcore_head_script
,pimcore_head_style
captureStart()
andcaptureEnd()
methods are deprecated. Use native twigset
tag instead. Take a look at the related docs of each twig extension for an example.
[Notification]
- Extending notifications for studio adding flag
isStudio
column and apayload
column with according getters and setters. Make sure to run the migrationbin/console doctrine:migrations:execute Pimcore\\Bundle\\CoreBundle\\Migrations\\Version20240813085200
.
Pimcore 11.3.0
General
[System Settings]
- Unused setting
general.language
has been deprecated.
[Listing]
- The methods
setOrder()
andsetOrderKey()
throw anInvalidArgumentException
if the parameters are invalid now.
[Html to Image]
- [Gotenberg] Bumped the lowest requirement of
gotenberg-php
from^2.0
to^2.4
to add support of passing screenshot size
[Assets]
- MIME type of uploaded assets get determined by
symfony/mime
, before in some cases Flysystem got used which resulted in different MIME types for some rarely used file extensions (e.g. STEP).
[Grid]:
- Moved grid data related function to
admin-classic-ui-bundle
v1.5
. - Method
Service::getHelperDefinitions()
is deprecated here and moved toadmin-classic-ui-bundle
.
[Simple Backend Search]
- Due to grid data refactoring, please note that in order to run this optional bundle correctly, it is required to install
admin-classic-ui-bundle
v1.5
[DBAL]
- Bumped minimum requirement of
doctrine/dbal
to^3.8
and replaced deprecated/unused methods to get closer to supportv4
.
[Composer]
- Removed requirement of "phpoffice/phpspreadsheet" due it being not in used, more specifically moved it to the specific bundle who actually use it. Please check and adapt your project's composer requirement accordingly.
[Dependency]
- Dependencies are now resolved by messenger queue and can be turned off. By default, it is done synchronously, but it's possible to make it async by add the following config:
framework:
messenger:
transports:
pimcore_dependencies: "doctrine://default?queue_name=pimcore_dependencies"
routing:
'Pimcore\Messenger\ElementDependenciesMessage': pimcore_dependencies
and disable it by:
pimcore:
dependency:
enabled: false
Pimcore 11.2.4 / 11.2.3.1 / 11.1.6.5
Assets Thumbnails
- Thumbnail generation for Assets, Documents and Videos now only support the following formats out of the box:
'avif', 'eps', 'gif', 'jpeg', 'jpg', 'pjpeg', 'png', 'svg', 'tiff', 'webm', 'webp'
. - You can extend this list by adding your formats on the bottom:
pimcore:
assets:
thumbnails:
allowed_formats:
- 'avif'
- 'eps'
- 'gif'
- 'jpeg'
- 'jpg'
- 'pjpeg'
- 'png'
- 'svg'
- 'tiff'
- 'webm'
- 'webp'
- 'pdf' # Add your desired format here
- High resolution scaling factor for image thumbnails has now been limited to a maximum of
5.0
. If you need to scale an image more than that, you can use themax_scaling_factor
option in the configuration.
pimcore:
assets:
thumbnails:
max_scaling_factor: 6.0
Pimcore 11.2.0
Elements
[Documents]:
- Using
outputFormat
config forPimcore\Model\Document\Editable\Date
editable is deprecated, useoutputIsoFormat
config instead. - Service
Pimcore\Document\Renderer\DocumentRenderer
is deprecated, usePimcore\Document\Renderer\DocumentRendererInterface
instead. - Page previews and version comparisons can now be rendered using Gotenberg v8.
To replace Headless Chrome, upgrade to Gotenberg v8 and upgrade the client library:
composer require gotenberg/gotenberg-php:^2
[Data Objects]:
- Methods
getAsIntegerCast()
andgetAsFloatCast()
of thePimcore\Model\DataObject\Data
class are deprecated now. - All algorithms other than
password_hash
used in Password Data Type are now deprecated, please usepassword_hash
instead. MultiSelectOptionsProviderInterface
is deprecated, please useSelectOptionsProviderInterface
instead.
General
[Localization]
- Services
Pimcore\Localization\LocaleService
andpimcore.locale
are deprecated, usePimcore\Localization\LocaleServiceInterface
instead.
[Navigation]
- Add rootCallback option to
Pimcore\Navigation\Builder::getNavigation()
[Symfony]
- Bumped Symfony packages to "^6.4".
[Value Objects]
- Added new self validating Value Objects:
Pimcore\ValueObject\BooleanArray
Pimcore\ValueObject\IntegerArray
Pimcore\ValueObject\Path
Pimcore\ValueObject\PositiveInteger
Pimcore\ValueObject\PositiveIntegerArray
Pimcore\ValueObject\StringArray
[!WARNING]
For environment variable consistency purposes in boostrap, please fixpublic/index.php
in project root by movingBootstrap::bootstrap();
just above$kernel = Bootstrap::kernel()
line instead of outside the closure. Alternatively can be fixed by appling this patchYou may also need to adjust your
bin/console
to the latest version of the skeleton: https://github.com/pimcore/skeleton/blob/11.x/bin/console
Pimcore 11.1.0
Elements
[All]:
- Properties are now only updated in the database with dirty state (when calling
setProperties
orsetProperty
). - Added hint for second parameter
array $params = []
toElement/ElementInterface::getById
Pimcore\Helper\CsvFormulaFormatter
has been deprecated. UseLeague\Csv\EscapeFormula
instead.
[Assets]:
- Asset Documents background processing (e.g. page count, thumbnails & search text) can be disabled with config:
pimcore:
assets:
document:
thumbnails:
enabled: false #disable generating thumbnail for Asset Documents
process_page_count: false #disable processing page count
process_text: false #disable processing text extraction
scan_pdf: false #disable scanning PDF documents for unsafe JavaScript. - Video Assets spherical metadata is now calculated in the backfground instead of on load.
[Data Objects]:
- Property
$fieldtype
of thePimcore\Model\DataObject\Data
class is deprecated now. Use thegetFieldType()
method instead. - Method
getSiblings()
output is now sorted based on the parent sorting parameters (same asgetChildren
) instead of alphabetical. - Input fields
CheckValidity
checks the column length.
[Documents]:
- Removed
allow list
filter fromPimcore\Model\Document\Editable\Link
to allow passing any valid attributes in the config. - Property
Pimcore\Navigation\Page::$_defaultPageType
is deprecated.
General
[Authentication]:
The tokens for password reset are now stored in the DB and are one time use only (gets expired whenever a new one is generated or when consumed).
- [Static Page Generator]: Static pages can be generated based on sub-sites main domain using below config:
and adapting NGINX config:
pimcore:
documents:
static_page_router:
use_main_domain: true #generates pages in path /public/var/tmp/pages/my-domain.com/en.htmlmap $args $static_page_root {
default /var/tmp/pages/$host;
"~*(^|&)pimcore_editmode=true(&|$)" /var/nonexistent;
"~*(^|&)pimcore_preview=true(&|$)" /var/nonexistent;
"~*(^|&)pimcore_version=[^&]+(&|$)" /var/nonexistent;
}
map $uri $static_page_uri {
default $uri;
"/" /%home;
}
[Core Cache Handler]:
- Remove redundant cache item tagging with own key.
[Installer]:
- Passing
--install-bundles
as empty option now installs the required bundles.
[Maintenance Mode]:
- Maintenance mode check is handled via
tmp_store
in database. Using maintenance mode files is deprecated. - Deprecated following maintenance-mode methods in
Pimcore\Tool\Admin
:activateMaintenanceMode
, useMaintenanceModeHelperInterface::activate
instead.deactivateMaintenanceMode
, useMaintenanceModeHelperInterface::deactivate
instead.isInMaintenanceMode
, use `MaintenanceModeHelperInterface::isActive instead.isMaintenanceModeScheduledForLogin
,scheduleMaintenanceModeOnLogin
,unscheduleMaintenanceModeOnLogin
will be removed in Pimcore 12.
Pimcore 11.0.7
- Putting
null
to thePimcore\Model\DataObject\Data::setIndex()
method is deprecated now. Only booleans are allowed.
Pimcore 11.0.0
API
[General] :
- Attention: Added native php types for argument types, property types, return types and strict type declaration where possible. Double check your classes which are extending from Pimcore classes and adapt if necessary.
[Bootstrap] :
- Relying on
Pimcore\Bootstrap::bootstrap()
for autoloading classes will not work anymore. - Removed unused constant
PIMCORE_APP_BUNDLE_CLASS_FILE
[Events] :
- Event
pimcore.element.note.postAdd
has been removed. Usepimcore.note.postAdd
instead. Note: The event type changed fromElementEvent
toModelEvent
. - Report Event
pimcore.admin.reports.save_settings
has been renamed topimcore.reports.save_settings
. - Moved
SEARCH_LIST_BEFORE_FILTER_PREPARE
,SEARCH_LIST_BEFORE_LIST_LOAD
,SEARCH_LIST_AFTER_LIST_LOAD
,QUICKSEARCH_LIST_BEFORE_LIST_LOAD
andQUICKSEARCH_LIST_AFTER_LIST_LOAD
events fromPimcore\Bundle\AdminBundle\Event\AdminEvents
toPimcore\Bundle\SimpleBackendSearchBundle\Event\AdminSearchEvents
. AdminEvents::ELEMENT_PERMISSION_IS_ALLOWED
has been renamed toPimcore\Event\ElementEvents::ELEMENT_PERMISSION_IS_ALLOWED
.
[Installer] :
- Removed
--ignore-existing-config
option from thepimcore:install
command. Thesystem.yaml
file is not used anymore and therefore this flag became obsolete. See preparing guide - Changed the return type of
Pimcore\Extension\Bundle\Installer\InstallerInterface::getOutput
toBufferedOutput | NullOutput
. - Adding
BundleSetupEvent
Event. Bundles that are available for installation can be customized in the installing process via an Eventlistener or EventSubscriber. - Bundles can be added and removed. You can set a flag if you want to recommend the bundle.
[Logging] :
- Removed constant
PIMCORE_PHP_ERROR_LOG
- Bumped
monolog/monolog
to ^3.2 andsymfony/monolog-bundle
to ^3.8 (which adds support for monolog v3). Please adapt your custom implementation accordingly, eg. log records are nowLogRecord
Objects instead of array. - Removed the ability to use the
pimcore_log
GET parameter.
[Miscellaneous] :
- Marked
Pimcore\Model\User\AbstractUser
andPimcore\Model\User\UserRole
classes as abstract. - Marked
Pimcore\File
as internal. This class shouldn't be used anymore, useSymfony\Component\Filesystem
instead.
[Further Removed API Features] :
- Removed
getChilds
,setChilds
andhasChild
usegetChildren
,setChildren
andhasChildren
instead. - Removed PhpArrayTable class
- Removed deprecated
PhpArrayFileTable
. - Removed
Pimcore\Db\Helper::insertOrUpdate()
method, please usePimcore\Db\Helper::upsert()
instead. - Removed deprecated
Pimcore\Db\ConnectionInterface
interface,Pimcore\Db\Connection
class andPimcore\Db\PimcoreExtensionsTrait
trait. - Removed
JsonListing
, please see #12877 for details. - Deprecated MissingDependencyException has been removed.
- Removed deprecated getMasterRequest() in favor of getMainRequest().
- Removed the deprecated method
Kernel::getRootDir()
, useKernel::getProjectDir()
instead. - Removed methods
Pimcore\Tool\Admin::isExtJS6()
,\Pimcore\Tool\Admin::getLanguageFile()
,\Pimcore\Tool::exitWithError()
. - Removed the following methods from
Pimcore\File
:mkdir
,put
,getFileExtension
,setDefaultMode
,getDefaultMode
,setDefaultFlags
andrename
.
[Further relevant Third Party Dependency Upgrades] :
- Bumped
friendsofsymfony/jsrouting-bundle
to version^3.2.1
- Bumped Symfony packages to "^6.2".
- Cleanup unused Symfony packages from composer.json, eg.
form
,web-link
, see also #13097 - Bumped
mjaschen/phpgeo
to "^4.0". - Bumped
codeception/codeception
version to ^5.0. Now, Pimcore is using a new directory structure for tests (Codeception 5 directory structure). For details, please see #13415 - Bumped
matomo/device-detector
to ^6.0. - Bumped minimum requirement of
presta\sitemap-bundle
to^3.3
, dropped support forv2
and removed related BC Layer. - Bumped
league/flysystem-bundle
minimum requirement to ^3.0 (which introducesdirectoryExists()
,has()
methods and fixes support fordirectory_visibility
configuration option). Please bump the Flysystem Adapters requirement accordingly to^3.0
in your projectcomposer.json
.
Admin UI
[General] :
- Removed
adminer
as built-in database management tool. - Removed deprecated Admin Event classes:
Pimcore\Event\Admin\*
,Pimcore\Event\AdminEvents
,Pimcore\Event\Model\*
. - Changed the navigation building process. It is easier to add main and submenus. For details please see Adding Custom Main Navigation Items
[Authentication] :
- Removed support old authentication system
- Removed BruteforceProtection, use Symfony defaults now
- Removed PreAuthenticatedAdminToken
- Admin Login Events
- Removed
AdminEvents::LOGIN_CREDENTIALS
(pimcore.admin.login.credentials
) event. UsePimcore\Bundle\AdminBundle\Event\Login\LoginCredentialsEvent
instead. - Removed
AdminEvents::LOGIN_FAILED
(pimcore.admin.login.failed
) event. UseSymfony\Component\HttpFoundation\Request\LoginFailureEvent
instead.
- Removed
- Removed Pimcore Password Encoder factory,
pimcore_admin.security.password_encoder_factory
service andpimcore.security.factory_type
config. - Removed deprecated method
Pimcore\Bundle\AdminBundle\Security\User::getUsername()
, usegetIdentifier()
instead. - Deprecated method
Pimcore\Tool\Authentication::authenticateHttpBasic()
has been removed. - Deprecated method
Pimcore\Tool\Authentication::authenticatePlaintext()
has been removed.
[JS] :
- Packaged some JS libraries with encore
- Removed deprecated JS functions (
ts()
andpimcore.helpers.addCsrfTokenToUrl()
) - Removed Plugin Broker BC layer for JS events
[Security] :
- Enabled Content Security Policy by default.
- Implemented Symfony HTML sanitizer for WYSIWYG editors. Please make sure to sanitize your persisted data with help of this script.
Also, when using API to set WYSIWYG data, please pass encoded characters for html entities
<
,>
,&
etc. The data is encoded by the sanitizer before persisting into db and the same encoded data will be returned by the API. For configuration details see also WYSIWYG config
Bundles
[Bundles General] :
- Removed support for loading bundles through
extensions.php
. - Removed Extension Manager(
Tools -> Bundles & Bricks
option) from Admin UI. - Removed commands:
pimcore:bundle:enable
,pimcore:bundle:disable
. - Removed
dontCheckEnabled
config support from Areablock editable. - The default behaviour of asset install and
Composer::installAssets
is changed, which means that the files (like css, js) will be copied instead of symlinked. So, you have to run the commandbin/console assets:install
for every change. Behavior can be adapted incomposer.json
as follows:
"extra": {
"symfony-assets-install": "relative"
}
[Extracted Core Functionality] :
-
Functionality that was moved into its own bundle inside pimcore/pimcore repository and needs to be enabled during Pimcore install or in
config/bundles.php
:-
[Application Logger] Application logger has been moved into
PimcoreApplicationLoggerBundle
. Please pay attention to the new namespaces for the classes from this bundle. -
[CustomReports] have been moved into PimcoreCustomReportsBundle
- Config
pimcore:custom_reports
has been removed, please usepimcore_custom_reports:
in the PimcoreCustomReportsBundle insteand.
- Config
-
[Glossary] has been moved into PimcoreGlossaryBundle
pimcoreglossary()
tag has been removed, please use thepimcore_glossary
twig filter.- Config
pimcore:glossary
has been removed, please usepimcore_glossary:
in the PimcoreGlossaryBundle instead.
-
[Search] has been moved into PimcoreSimpleBackendSearchBundle
- The search functionality has been extracted to its own bundle (
PimcoreSimpleBackendSearchBundle
) - The
pimcore:search-backend-reindex
command has been moved to the search bundle - Search icons all over Pimcore won't be available without the search bundle
- The inline search feature for some relations won't be available without the search bundle
- The "advanced" GDPR search has also been moved. We provide a basic search to cover the fundamental functionality if the search bundle isn't available.
- The asset, object, document and quick search have been moved to the search bundle
- All backend-search related files have been moved to the search bundle (please check custom implementations if you rely on any backend-search component!)
- Added additional messenger transport for backend search (
pimcore_search_backend_message
) - Moved
FullTextIndexOptimizeTask
command to SimpleBackendSearchBundle. According to that the namespace changed fromPimcore\Maintenance\Tasks\FullTextIndexOptimizeTask
toPimcore\Bundle\SimpleBackendSearchBundle\Task\Maintenance\FullTextIndexOptimizeTask
.
- The search functionality has been extracted to its own bundle (
-
[SEO] Document Editor, Redirects, Sitemaps, robots.txt and HTTP Errors has been moved into PimcoreSeoBundle
-
[Staticroutes] has been moved into PimcoreStaticRoutesBundle
- Config
pimcore:staticroutes:
has been removed, please usepimcore_static_routes:
in the PimcoreStaticRoutesBundle instead.
- Config
-
[UUID] has been moved into PimcoreUuidBundle
- Config
pimcore:general:instance_identifier
has been removed, please usepimcore_uuid:instance_identifier
in the PimcoreUuidBundle instead. Please runbin/console config:dump pimcore_uuid
to see more about the instance identifier config after installing the bundle.
- Config
-
[WordExport] has been moved into PimcoreWordExportBundle
-
[Xliff Translation] Import/Export and related Events have been moved into PimcoreXliffBundle. Please check and adapt the Events' namespaces.
-
[WYSIWYG-Editor] The default editor changed from
CKEditor
toTinyMCE
and has been moved into PimcoreTinymceBundle. Please adapt custom configuration and extend the html sanitizer for supporting the required html elements in wysiwyg editor.
-
-
Functionality that was moved into its own bundle and own repository and needs to installed via composer as well as activated in
config/bundles.php
:- [AdminBundle] Admin Bundle has been moved to
pimcore/admin-ui-classic-bundle
package.- Please require in your project composer.json file and register the bundle in Kernel:
public function registerBundlesToCollection(BundleCollection $collection): void
{
// pimcore bundles
$collection->addBundle(new \Pimcore\Bundle\AdminBundle\PimcoreAdminBundle\PimcoreAdminBundle(), 60);
}- Removed deprecated methods
getTranslator()
,getBundleManager()
andgetTokenResolver()
from thePimcore\Bundle\AdminBundle\Controller\AdminController
- [System Info & Tools] Php Info and Opcache Status has been moved into
pimcore/system-info-bundle
package. - [File Explorer] System File explorer has been moved to
pimcore/system-file-explorer
package. - [Web2Print] has been moved to
pimcore/web-to-print-bundle
package.- Config
pimcore:documents:web_to_print
has been removed, please usepimcore_web_to_print
in the PimcoreWebToPrintBundle instead. - Print related Events have been moved into PimcoreWebToPrintBundle. Please check and adapt the Events' namespaces.
- Deprecated HeadlessChrome Processor has been removed. Please use Chromium Processor instead.
- Deprecated WkHtmlToPdf Processor has been removed.
- Introducing Web2print processor
Chromium
that usechrome-php/chrome
(same as the page previews), as replacement of HeadlessChrome processor which required NodeJS.
- Config
- [Personalization and targeting] has been moved to
pimcore/personalization
package.- Config
pimcore:targeting:
has been removed, please usepimcore_personalization.targeting
in the PimcorePersonalizationBundle instead. - Targeting is now using the opt-in approach and will not be enabled by default. Add following config to enable it:
pimcore_personalization:
targeting:
enabled: true - Config
- [Google Marketing] has been moved to
pimcore/google-marketing-bundle
package.- Config
pimcore:services:google
has been removed, please usepimcore_google_marketing
in the PimcoreGoogleMarketingBundle instead. - [Google] Classes Google\Cse and Google\Cse\Item have been removed.
- Config
- [Newsletter] has been moved to
pimcore/newsletter-bundle
package.- Config
pimcore:newsletter
has been removed, please usepimcore_newsletter
in the PimcoreNewsletterBundle instead. - Newsletter related Events have been moved into PimcoreNewsletterBundle. Please check and adapt the Events' namespaces.
- Service ids changed from
pimcore.newsletter
topimcore_newsletter
e.g.pimcore_newsletter.document.newsletter.factory.default
- Config
- [AdminBundle] Admin Bundle has been moved to
Core
[Commands] :
- Removed
webmozarts/console-parallelization
dependency to make parallelization optional. If you still want to use parallelization for console commands, please add the dependency to your owncomposer.json
. - Removed the deprecated
Parallelization::configureParallelization()
method. - Removed the deprecated trait
ConsoleCommandPluginTrait
.
[Configuration] :
Pimcore\Config\Config
has been removed, see #12477. Please use the returned array instead, e.g.$web2printConfig = Config::getWeb2PrintConfig();
$web2printConfig = $web2printConfig['chromiumSettings'];- Removed legacy callback from LocationAwareConfigRepository. Therefore, configurations in the old php file format are not supported anymore.
- Removed setting write targets and storage directory in the environment file. Instead, use the symfony config
- Renamed default directories from
image-thumbnails
andvideo-thumbnails
toimage_thumbnails
andvideo_thumbnails
. - Removed deprecated services/aliases:
Pimcore\Templating\Renderer\TagRenderer
,pimcore.cache.adapter.pdo
,pimcore.cache.adapter.pdo_tag_aware
- Rename config files from
*.yml
to*.yaml
. Note that we now usesystem_settings.yaml
as config file and notsystem.yml
- System Settings are now implementing the LocationAwareConfigRepository. See preparing guide
- The config node
pimcore.admin
and related parameters are moved to AdminBundle directly underpimcore_admin
node. Please adapt your parameter usage accordingly eg. instead ofpimcore.admin.unauthenticated_routes
, it should bepimcore_admin.unauthenticated_routes
- The deprecated config node
pimcore.error_handling
and the related parameterpimcore.response_exception_listener.render_error_document
was removed. - Moved
hide_edit_image
&disable_tree_preview
configs frompimcore
topimcore_admin
section. - Recommended and default format for storing the valid languages in
system_settings.yaml
is now an array, for example:- en
- de
pimcore:
general:
valid_languages:
- en
- de
[CoreBundle] :
- Please update CoreBundle config resource path from
@PimcoreCoreBundle/Resources/config/...
to@PimcoreCoreBundle/config/..
in your project configurations. - Priority of
PimcoreCoreBundle
has been changed to-10
to make sure that it is loaded after default bundles.
[Environment] :
- Removed
symfony/dotenv
dependency to make loading of.env
files optional. please add the requirement to your composer.json, if you still want to use.env
files. - Removed
PIMCORE_SKIP_DOTENV_FILE
environment var support. You still can use environment specific file like.env.test
or.env.prod
for environment specific environment variables.
[Gotenberg] :
- Introducing support for Gotenberg as PDF generation, conversion, merge etc.. tool
- [Asset] Added adapter (as alternative to LibreOffice) for preview generation of supported document type assets and set it as default adapter.
- [Web2Print] Added settings option, configuration and processor for PDF preview and generation
[Maintenance] :
- Removed
--async
&--force
option frompimcore:maintenance
command. Please make sure to setup tomessenger:consume pimcore_maintenance
independent
[Migrations] :
- Removed
executeMigrationsUp
fromPimcore\Composer
. - Pimcore does not run core migrations after
composer
update automatically anymore. Make sure that migrations are executed by running the commandbin/console doctrine:migrations:migrate --prefix=Pimcore\\Bundle\\CoreBundle
.
[Naming] :
- Renamed master, blacklist and whitelist to main, blocklist, allowlist
[Permissions] :
- Permission for DataObjects Classes has been structured in a more granular way to have more control. Field collections, objects bricks, classification stores and quantity value units now have their own permission.
[Sessions] :
- Removed AdminSessionHandler and AdminSessionListener. The session is now handled by Symfony.
- Removed
SessionConfiguratorInterface
&SessionConfigurator
so services with tagpimcore.session.configurator
will not register session bags anymore. - Removed parameter
pimcore.admin.session.attribute_bags
- TargetingSessionBagListener - changed the signature of
__construct
. AdminSessionHandler
requires session from request stack.EcommerceFrameworkBundle\SessionEnvironment
not loading from or storing into session in cli mode anymore.EcommerceFrameworkBundle\Tracking\TrackingManager
requires session from request stack.
Ecommerce
[Ecommerce General] :
- Ecommerce bundle has been moved into a package
pimcore/ecommerce-bundle
. If you wish to continue using the ecommerce framework, then please require the package in your composer.json and install it after enabling inconfig/bundles.php
. - The constructor of the following services has been changed, please adapt your custom implementation accordingly:
IndexService\ProductList\DefaultMysql
,IndexService\ProductList\DefaultFindologic
IndexService\Worker\AbstractElasticSearch
,IndexService\Worker\DefaultFindologic
,IndexService\Worker\DefaultMysql
,IndexService\Worker\OptimizedMysql
IndexService\Config\AbstractConfig
and it's sub-classes.Tracking\Tracker\Analytics\AbstractAnalyticsTracker
and it's sub-classes.
- Ecommerce related Events have been moved. Please check and adapt the Events' namespaces.
- [ClassDefinition\LinkGeneratorInterface] method signature has changed, instead of
Pimcore\Model\DataObject\Concrete
aobject
is used. - Elasticsearch 7 support was removed
- Config option
es_client_params
inindex_service
was removed - Remove deprecated methods
check()
andexists()
from classPimcore\Bundle\EcommerceFrameworkBundle\VoucherService\Reservation
[IndexService] :
- Please make sure to rebuild your product index to make sure changes apply accordingly (this is relevant for mysql and elasticsearch indices). As an alternative you could manually rename and remove
o_
from all index columns/fields.
[Product Interfaces] :
- Changed return type-hints of
CheckoutableInterface
methodsgetOSPrice
,getOSPriceInfo
,getOSAvailabilityInfo
,getPriceSystemName
,getAvailabilitySystemName
,getPriceSystemImplementation
,getAvailabilitySystemImplementation
to be non-nullable.