Skip to content

Ibexa DXP v4.2

Version number: v4.2

Release date: August 9, 2022

Release type: Fast Track

Update: v4.1.x to v4.2

Notable changes

Customer Portal

The new Customer Portal allows you to create and manage a business account for your company. With this new feature, you can easily manage members of your organization, your shipping information and view your past orders. You can invite members to your company, activate or deactivate their accounts, assign them specific roles and limitations, such as a buyer, or sales representative, and group them into teams.

Customer Portal Back Office

For more information, see Back Office company management documentation.

On their personal accounts in Customer Portal, members of your organisation can view their order history, other members of their team and information regarding their company, for example, billing addresses. They can also edit their profile information.

Customer Portal Frontend

For more information, see Customer Portal documentation.

User management

Inviting users

You can invite users to create their account in the frontend as customers or in the Back Office as members of your team.

Inviting members of your team

Configure register form

Register forms for new users can now be configured straight in the YAML file.


You can now create catalogs containing sub-sets of products. Choose products for a catalog by applying filters which enable you to select products, for example, by product type, price range, availability or category.

List of products in a catalog

Catalogs are useful when creating special lists for B2B and B2C uses, for retailers and distributors or for different regions, or other situations where you need to present a selected set of products.

Product variants

To cover use cases of products with variable characteristics (such as colors, technical parameters or sizes), you can now create product variants based on selected attributes. The system automatically generates variants for the attribute values you select.

Generating product variants

You can set prices, including custom pricing, as well as availability and stock for each variant separately.

Product assets

To provide your products with images, you can now upload multiple assets to each product. Assets are grouped into collections based on attribute values and, in this way, are connected to product variants which have these attributes.

Asset images in product view

Product completeness

The new product completeness tab, in product view, lists all the parts of a product you can configure: attributes, assets, prices, availability, and so on. You can use it to get a quick overview of missing parts in the product configuration and to instantly move to the proper screen to fill the gaps.

Product completeness tab

Product categories

With product categories, you can organize products that populate the Product Catalog. You do it, for example, to assist users in searching for products.

For more information, see Product categories.

Product categories

Cross-content type (CCT) recommendations

If a recommendation scenario has more than one Content Type configured, with cross-content type (CCT) parameter in the request, you can now get recommendations for all these Content Types.

Taxonomy Field Type

Taxonomy is now configured with a Field Type, so you can use many Fields to add different taxonomy categories, for example, tags and product categories in the same Content Type.

Address Field Type

With the new Address Field Type, you can now customize address Fields and configure them per country.

Address Field Type

Repeatable migration steps

Data migration now offers repeatable migration steps, especially useful when creating large amounts of data, for example for testing.

You can vary the migration values by using the iteration counter, or by generating random data by using FakerPHP.

Other changes

New product Search Criteria and Sort Clauses

New Search Criteria and Sort Clauses help better fine-tune searches for products.

Price-related Search Criteria enable you to search by base or custom product price:

Attribute Criteria search for products based on their attribute values, per attribute type:

Creation date Criteria and Sort Clauses allow searching by date of the product's creation:

Finally, you can search product by product category:

API improvements


Taxonomy is now covered with GraphQL API.

Querying product attributes with GraphQL is improved with the option to query by attribute type.

New ways to add images in Online Editor

You can now drag and drop images directly into the Online Editor. To achieve the same result, you can also click the Upload image button and select a file from the disk. Images that you upload this way are automatically added to the Media library.


In Media library, to avoid potential conflicts, if several images are added with identical file names, each of them is modified by appending a unique prefix.

Drag and drop image into the Online Editor

Content edit tabs

Content editing screen is now enriched with a tab switcher, allowing easy access to metadata such as taxonomies. The view can be extended with custom tabs.

Tabs in content edit view

Grouped attributes in Page block

If a Page block has multiple attributes, you can now group them with the nested_attribute parameter.

Grouped attributes

Search in URL wildcards

You can now search through the URL wildcards table in the Back Office.

Product price events

The price engine now dispatches events related to creating, updating and deleting prices.

Data migration

Migrations for attributes and attribute groups

Data migration now supports attribute and attribute_group types when generating migration files.

Hide and reveal content actions

You can now hide and reveal Content items in data migrations by using the hide and reveal actions.

Fastly shielding

Ibexa DXP now supports Fastly shielding.



  • SegmentationService::loadSegmentGroup() and SegmentationService::loadSegment() are now deprecated. Use SegmentationService::loadSegmentGroupByIdentifier() and SegmentationService::loadSegmentByIdentifier() instead, which take SegmentGroup and Segment identifier respectively, instead of numerical IDs.
  • SegmentationService::updateSegmentGroup() and SegmentationService::updateSegment() now take a SegmentGroup and Segment objects respectively, instead of numerical IDs.

Full changelog

Ibexa Content Ibexa Experience Ibexa Commerce
Ibexa Content v4.2 Ibexa Experience v4.2 Ibexa Commerce v4.2


Ibexa CDP

Ibexa Customer Data Center allows you to collect, connect and organize customer data from multiple sources. You can use them to build segments that will allow you to create personalized customer experience for your brand. This is a standalone package that you can install along every product edition (Content, Experience, Commerce).

CDP Control Panel

For more information, see Customer Data Platform.


With Search Engine Optimization (SEO) tool, you can optimize your website or online store for both visitors and search engines. The implementation of SEO brings in more organic traffic and improves your website visibility in SERPs. This is a core feature od Digital Experience Platform. SEO bundle provides meta tags and meta titles with a description which helps to control search result's appearance of your website on the search engine pages. Now you can share your content on the social networks using OpenGraph and Twitter cards.

Separate product edition directories

Thanks to splitting SQL upgrade files into separate product editions, the product update is easier.

Event layer for TaxonomyService

Now, Events are sent while performing operations within Taxonomy, which considerably extends the Taxonomy feature.

Protected segment groups

You can now set existing segment groups as protected, and prevent them from being modified through the user interface. It's intended to stop users from breaking data integrity of segments/segment groups maintained by other features or external system integrations, such as Customer Portal and CDP.

To do it, in your configuration, add the following key for each segment group that you intend to protect:


When you change a value of the setting to true, users are no longer able to:

  • remove the segment group or change its name or identifier
  • add/remove/modify segments that belong to the segment group