Upgrading Pimcore from Version 11.x to Version 12
IMPORTANT: License change! Please read the following information carefully:
With the release of Pimcore Platform Version 2025.1, Pimcore has transitioned its Community Edition from the GNU General Public License v3 (GPLv3) to the new Pimcore Open Core License (POCL). Platform version 2024.4 marks the final release under GPLv3.
This licensing change only affects users of the free and open-source Pimcore Community Edition previously licensed under GPLv3. If you're already using a Pimcore Professional Edition or Enterprise/PaaS Edition under a commercial agreement, nothing changes for you. Your existing contracts, rights, and usage terms remain fully intact — POCL has no impact on your deployment or support.
Please read the Pimcore Open Core License carefully and check whether you can continue to use the free Pimcore Community edition. If you continue to use the Community Edition with the Admin UI Classic bundle, you need to purchase an additional perpetual license at a price of €1,480 by contacting sales@pimcore.com because of ExtJS licencing limitations.
Tasks to Do Prior the Update
Doctrine EntityManager
Check if all 3rd party bundles are compatible with the new Doctrine EntityManager. There are 2 possible ways:
- Check if the bundles use the default EntityManager with the default connection.
- Check if the bundles use another EntityManager with another connection.
Warning: Do not use the default EntityManager with another connection (or the other way round). This will delete tables.
WYSIWYG-Editor
Enable Quill (recommended)
Please check the bundle readme for installation instructions. To migrate from TinyMCE to Quill please check the following link
Enable TinyMCE (deprecated)
If TinyMCE is still needed for your project, you can still use it, but it has been moved into PimcoreTinymceBundle. Check the bundle readme for installation instructions. There will be no (security) updates for it.
Configuration Adaptions
- [Security] Adapt your
security.yaml
to remove the deprecated settingenable_authenticator_manager
:
Ensure pimcore.encryption.secret
is set
pimcore.encryption.secret
must be set in your system. This is required for the new product registration. If not set already, runvendor/bin/generate-defuse-key
to generate a secret and set it as container parameterpimcore.encryption.secret
or in the symfony configuration aspimcore.encryption.secret
.
Tasks to Do After the Update
Product Registration
- From now on, Pimcore requires a product registration and container build will fail if the product key is not valid.
Follow the link provided in the error message and register your instance. For Details also see
Product Registration.
Also
pimcore.encryption.secret
must be set for the product registration to work.
Some Code Changes
- implement function
getColumnsWithMetadata
ofbundles/CustomReportsBundle/src/Tool/Adapter/CustomReportAdapterInterface.php
- implement function
getPagination
ofbundles/CustomReportsBundle/src/Tool/Adapter/CustomReportAdapterInterface.php