Skip to main content
Version: Next

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:

  1. Check if the bundles use the default EntityManager with the default connection.
  2. 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

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 setting enable_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, run vendor/bin/generate-defuse-key to generate a secret and set it as container parameter pimcore.encryption.secret or in the symfony configuration as pimcore.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 of bundles/CustomReportsBundle/src/Tool/Adapter/CustomReportAdapterInterface.php
  • implement function getPagination of bundles/CustomReportsBundle/src/Tool/Adapter/CustomReportAdapterInterface.php