Upgrade Notes
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.