Here you will find all the important new features and release notes of the Platform Version 2024.4 release.
Based on community feedback and recent changes in Elasticsearch's licensing policy, Platform Version 2024.4 will support both Elasticsearch and OpenSearch. This ensures flexibility to choose the search engine that best fits your needs. While we are committed to supporting both options for now, we will continue to monitor their development and licensing policies. Depending on future changes, we may need to reevaluate and decide for one technology.
For more details see
In the light of OpenSearch and Elasticsearch support, we also expanded the Ecommerce Framework to support OpenSearch, providing greater flexibility in choosing the search engine. For details see Documentation.
Due to changes in TinyMCE’s licensing model, we were required to find a new WYSIWYG editor. After careful research we’ve chosen Quill as replacement.
Starting with Platform Version 2024.4, both TinyMCE and Quill will be supported, but TinyMCE will be deprecated. From Platform Version 2025.1 onward, Quill will be the only supported WYSIWYG editor.
More Details see Pimcore Quill Documentation.
The new REST endpoint in Pimcore Datahub provides external applications with straightforward access to headless document data in JSON format. Unlike the more complex default GraphQL endpoint, this REST adapter provides simple REST queries for the full content of headless documents. This simplifies data access and significantly reduces implementation efforts.
More details see Headless Documents Documentation.
With Pimcore Version 2024.4 Pimcore allows developers to optionally use symfony/flex and so install third party
dependencies via flex.
This is done by adding a default symfony.lock
to the skeleton that contains all the packages which are used by
stock Pimcore.
With that file in place it's safe to run composer require symfony/flex
and you can easily install additional
bundles using Flex, e.g. composer require nelmio/api-doc-bundle
.
Alongside the new features, the following improvements and housekeeping have been implemented:
We upgraded dependencies where possible without causing any backward compatibility (BC) breaks and providing a solid foundation for LTS.
- GraphQL
- Performance optimized permission check to use an in-memory object in GraphQL endpoints
- Disabling of language fallback
- Added CsFeature title
- Generate static typename for element metadata key value pairs
- Simple Rest API
- Enhanced indexing performance in Simple Rest API
- Added Support for Elasticsearch
- File Export
- Added http header authentication in File Export pushes
- Flysystem for storages support in File Export
- Webhooks
- Allow custom values in header for Webhooks
- Data Importer
- Add SQL Data Source
- Make
As Numeric
operator return nullable - Automatically set imported element userModification
- CSV Data Source with skipFirstRow should use row headings rather than row index
For Twig 4 compatibility there are two new Twig extensions for creating Pimcore Document blocks:
pimcoreblock
and pimcoremanualblock
. These extensions use the Twig Node internally,
allowing Twig 4 support in the future and will replace the now deprecated pimcore_block
implementation.
More Details see Pimcore Documentation.
- Added possibility to configure which metadata to be used as
alt
,copyright
,title
- Image processing: possibility to configure the image adapter
- Optimize Document Thumbnail generation
- Add checks for setting QuantityValue values and units
- Add more elements to html_sanitizer
- Added
versionCount
index to element and versions table - Deprecate TinyMCE
- Add Deprecation to remove context from
ResolveUploadTargetEvent
- Improved grid loading performance with multiple roles
- Added context for Blocks/bricks/fieldcollection for select and multiselect option provider
- Set default issuer to "Pimcore" instead of "Pimcore 2 Factor Authentication"
- Allow custom values in header for webhook action step.
- Deprecation of the internal Execution Engine - use the Generic Execution Engine instead. Details see the migration guide.
- Index default asset metadata
- Added support for Elasticsearch
- Add field definition adapters for generic data index bundle
- Added Elasticsearch support via Generic Data Index
- Added Public Share permission on Data Pool level
- Use common adapter from Generic Data Index
- Added backticks to reserved keyword
groups
- Also implement JWT in clientside
- Allow different JWT keys for publisher and subscriber
- Replace abandoned JWT packages
- Upgrade web-token/jwt-signature* dependencies
Before updating, also have a look at the following upgrade notes if relevant to your system: