Release 2024.4
Here you will find all the important new features and release notes of the Platform Version 2024.4 release.
Most Important New Features
OpenSearch and Elasticsearch support
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
Ecommerce framework OpenSearch support
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.
Quill as new default WYSIWYG editor
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.
New simple rest adapter for headless documents in Datahub
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.
Symfony Flex Support
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
.
Additional improvements and housekeeping
Alongside the new features, the following improvements and housekeeping have been implemented:
Dependency Upgrades
We upgraded dependencies where possible without causing any backward compatibility (BC) breaks and providing a solid foundation for LTS.
Datahub and Adapters
- 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
Pimcore Document Blocks - Prepare Twig 4 compatibility
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.
Core Framework
- 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
Admin UI classic bundle
- 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"
Pimcore Copilot bundle
- 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.
Generic Data Index
- Index default asset metadata
- Added support for Elasticsearch
Asset Metadata Class Definitions
- Add field definition adapters for generic data index bundle
Portal Engine
- 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
Direct Edit
- Also implement JWT in clientside
- Allow different JWT keys for publisher and subscriber
OpenID Connect
- Replace abandoned JWT packages
- Upgrade web-token/jwt-signature* dependencies
Upgrade Notes
Before updating, also have a look at the following upgrade notes if relevant to your system: