From 18f5bd43434baaa317e7184405c03a2ae9e1b2ab Mon Sep 17 00:00:00 2001
From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com>
Date: Mon, 23 Feb 2026 17:17:26 +0100
Subject: [PATCH 1/6] Add "First release" pill
---
docs/css/pills.css | 8 +++++++-
main.py | 2 +-
scss/pills.scss | 19 +++++++++++++------
3 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/docs/css/pills.css b/docs/css/pills.css
index 67b2c18e30..f824dda939 100644
--- a/docs/css/pills.css
+++ b/docs/css/pills.css
@@ -42,13 +42,19 @@
.pill--new-feature::after {
content: "New feature";
}
+.pill--first-release {
+ color: #2C9445;
+ border-color: #2C9445;
+}
+.pill--first-release::after {
+ content: "First release";
+}
.pill--inline:first-of-type {
margin-left: 8px;
}
.pill--new {
margin-right: 15px;
align-self: center;
- color: #d9e8ff;
color: #3562a0;
text-transform: lowercase;
}
diff --git a/main.py b/main.py
index 0fac335a7f..1655eeca61 100644
--- a/main.py
+++ b/main.py
@@ -208,7 +208,7 @@ def slugify(text: str) -> str:
return text.lower().replace(' ', '-')
def validate_categories(categories: List[str]) -> None:
- available_categories = ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']
+ available_categories = ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']
for category in categories:
if category not in available_categories:
diff --git a/scss/pills.scss b/scss/pills.scss
index 90b9a2b0ed..b3b6e7e5d2 100644
--- a/scss/pills.scss
+++ b/scss/pills.scss
@@ -1,6 +1,13 @@
@use 'variables';
@use 'sass:list';
+$color-headless: #C4234A;
+$color-experience: #D3822B;
+$color-commerce: #A32768;
+$color-lts-update: #5DA7C0;
+$color-new-feature: #2C9445;
+$color-first-release: #2C9445;
+
.pill {
font-size: 12px;
font-weight: initial;
@@ -11,11 +18,12 @@
color: variables.$color-primary-main;
$types: (
- "headless": (variables.$color-error-main, "Headless"),
- "experience": (variables.$color-warning-dark-01, "Experience"),
- "commerce": (variables.$color-primary-main, "Commerce"),
- "lts-update": (variables.$color-info-main, "LTS Update"),
- "new-feature": (variables.$color-success-main, "New feature")
+ "headless": (variables.$color-headless, "Headless"),
+ "experience": (variables.$color-experience, "Experience"),
+ "commerce": (variables.$color-commerce, "Commerce"),
+ "lts-update": (variables.$color-lts-update, "LTS Update"),
+ "new-feature": (variables.$color-new-feature, "New feature"),
+ "first-release": (variables.$color-first-release, "First release")
);
@each $name, $values in $types {
@@ -41,7 +49,6 @@
&--new {
margin-right: 15px;
align-self: center;
- color: #d9e8ff;
color: #3562a0;
text-transform: lowercase;
}
From f2d1ff6a61ed58a50242af5956a66bf6d0a9446d Mon Sep 17 00:00:00 2001
From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com>
Date: Mon, 23 Feb 2026 17:17:50 +0100
Subject: [PATCH 2/6] Add "First release" pills to release notes
---
docs/release_notes/ibexa_dxp_v4.6.md | 102 +++++++++++++++++++++------
docs/release_notes/ibexa_dxp_v5.0.md | 19 ++---
2 files changed, 92 insertions(+), 29 deletions(-)
diff --git a/docs/release_notes/ibexa_dxp_v4.6.md b/docs/release_notes/ibexa_dxp_v4.6.md
index ba7630fd93..5032055c3f 100644
--- a/docs/release_notes/ibexa_dxp_v4.6.md
+++ b/docs/release_notes/ibexa_dxp_v4.6.md
@@ -6,11 +6,12 @@ month_change: false
-[[= release_notes_filters('Ibexa DXP v4.6 LTS', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
+[[= release_notes_filters('Ibexa DXP v4.6 LTS', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
[[% set version = 'v4.6.27' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2026-02-03', ['Headless', 'Experience', 'Commerce']) =]]
### Added support for Elasticsearch 8
@@ -104,7 +105,7 @@ The PHP API has been enhanced with the following classes and interfaces:
[[% set version = 'v4.6.26' %]]
-[[= release_note_entry_begin("Integrated help " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
+[[= release_note_entry_begin("Integrated help " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
Integrated help, a new [LTS Update](editions.md#lts-updates), brings contextual documentation, guidance, and partner-specific resources right into the user interface of [[= product_name =]].
It helps editors, store managers, and developers to quickly access relevant content, training and resources without leaving the UI, narrowing the gap between product and documentation.
@@ -117,7 +118,7 @@ For more information, see [Integrated help](integrated_help.md).
[[= release_note_entry_end() =]]
-[[= release_note_entry_begin("Collaboration " + version, '2025-12-10', ['LTS Update', 'New feature']) =]]
+[[= release_note_entry_begin("Collaboration " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
#### Real-time collaborative editing
@@ -151,7 +152,7 @@ The PHP API has been enhanced with the following classes and interfaces:
[[= release_note_entry_end() =]]
-[[= release_note_entry_begin("AI Actions " + version, '2025-12-10', ['LTS Update', 'New feature']) =]]
+[[= release_note_entry_begin("AI Actions " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
#### Taxonomy suggestions for faster content classification
@@ -233,7 +234,7 @@ To learn more, see the [corresponding security advisory](https://developers.ibex
[[% set version = 'v4.6.24' %]]
-[[= release_note_entry_begin("Collaboration ", '2025-09-09', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
+[[= release_note_entry_begin("Collaboration " + version, '2025-09-09', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
#### Collaboration
@@ -246,7 +247,7 @@ Additionally, shared drafts can be accessed and managed through new dashboard ta
[[= release_note_entry_end() =]]
-[[= release_note_entry_begin("AI Actions " + version, '2025-09-09', ['LTS Update']) =]]
+[[= release_note_entry_begin("AI Actions " + version, '2025-09-09', ['Headless', 'Experience', 'Commerce', 'LTS Update']) =]]
#### Chat GPT 5.0 support
@@ -256,7 +257,7 @@ With improved reasoning and greater accuracy in mind, the AI Connector package h
[[= release_note_entry_end() =]]
-[[= release_note_entry_begin("Discounts " + version, '2025-09-09', ['LTS Update', 'Commerce']) =]]
+[[= release_note_entry_begin("Discounts " + version, '2025-09-09', ['Commerce', 'LTS Update']) =]]
#### Discount indexing
@@ -359,7 +360,8 @@ The Product Picker tool that, for example, lets you [select products eligible fo
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.22' %]]
-[[= release_note_entry_begin("Symbol attribute", '2025-08-05', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
+
+[[= release_note_entry_begin("Symbol attribute " + version, '2025-08-05', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
The Symbol attribute allows you to store standardized identifiers of your products in the [Product Information Management](pim_guide.md) system.
@@ -374,7 +376,7 @@ The PHP API has been enhanced with the following new classes:
[[= release_note_entry_end() =]]
-[[= release_note_entry_begin("Discounts " + version, '2025-08-05', ['LTS Update', 'Commerce']) =]]
+[[= release_note_entry_begin("Discounts " + version, '2025-08-05', ['Commerce', 'LTS Update']) =]]
#### Global discount codes limits
@@ -460,11 +462,12 @@ The PHP API has been enhanced with the following new classes:
#### Full changelog
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.21' %]]
-[[= release_note_entry_begin("Discounts " + version, '2025-06-11', ['LTS Update', 'Commerce']) =]]
+[[= release_note_entry_begin("Discounts " + version, '2025-06-11', ['Commerce', 'LTS Update']) =]]
#### REST API
@@ -477,6 +480,7 @@ The PHP API has been enhanced with the following new classes:
- [`Ibexa\Contracts\Discounts\Exception\DiscountValueResolutionException`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Discounts-Exception-DiscountValueResolutionException.html)
[[= release_note_entry_end() =]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2025-06-11', ['Headless', 'Experience', 'Commerce']) =]]
#### Security
@@ -492,11 +496,13 @@ The PHP API has been enhanced with the following new classes:
- [`Ibexa\Contracts\Checkout\Discounts\DiscountsValidationFailedException`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Checkout-Discounts-DiscountsValidationFailedException.html)
#### Full changelog
+
[[% include 'snippets/release_46.md' %]]
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.20' %]]
+
[[= release_note_entry_begin("Discounts " + version, '2025-05-28', ['Commerce', 'LTS Update']) =]]
#### Features
@@ -546,15 +552,15 @@ The PHP API has been enhanced with the following new classes:
- [`Ibexa\Contracts\TwigComponents\Exception\InvalidArgumentException`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-TwigComponents-Exception-InvalidArgumentException.html)
- [`Ibexa\Contracts\TwigComponents\Renderer\RendererInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-TwigComponents-Renderer-RendererInterface.html)
-
#### Full changelog
+
[[% include 'snippets/release_46.md' %]]
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.19' %]]
-[[= release_note_entry_begin("Discounts", '2025-04-09', ['Commerce', 'LTS Update', 'New feature']) =]]
+[[= release_note_entry_begin("Discounts " + version, '2025-04-09', ['Commerce', 'LTS Update', 'New feature', 'First release']) =]]
With the Discounts LTS Update, you can temporarily or permanently reduce prices on specific products or categories, making deals more attractive to potential buyers.
@@ -568,7 +574,7 @@ For more information, see [Discounts product guide](discounts_guide.md).
[[= release_note_entry_end() =]]
-[[= release_note_entry_begin("AI Actions " + version, '2025-04-09', ['LTS Update', 'New feature']) =]]
+[[= release_note_entry_begin("AI Actions " + version, '2025-04-09', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
#### Features
@@ -623,14 +629,17 @@ The PHP API has been enhanced with the following new classes:
- [`Ibexa\Contracts\ProductCatalog\Values\CustomerGroup\AssignedItemInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Values-CustomerGroup-AssignedItemInterface.html)
#### Full changelog
+
[[% include 'snippets/release_46.md' %]]
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.18' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2025-03-06', ['Headless', 'Experience', 'Commerce']) =]]
#### PHP API
+
The PHP API has been enhanced with the following new classes:
- [`Ibexa\Contracts\ProductCatalog\Form\Data\ProductSelectorData`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Form-Data-ProductSelectorData.html)
@@ -638,11 +647,12 @@ The PHP API has been enhanced with the following new classes:
- [`Ibexa\Contracts\ProductCatalog\Form\Type\ProductSelectorType`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Form-Type-ProductSelectorType.html)
#### Full changelog
+
[[% include 'snippets/release_46.md' %]]
[[= release_note_entry_end() =]]
-[[= release_note_entry_begin("Date and time attribute", '2025-03-04', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
+[[= release_note_entry_begin("Date and time attribute " + version, '2025-03-04', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
The Date and time attributes allow you to represent date and time values as part of the product specification in the [Product Information Management](pim_guide.md) system.
@@ -651,7 +661,8 @@ For more information, see [Date and time attributes](date_and_time.md).
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.17' %]]
-[[= release_note_entry_begin("AI Actions " + version, '2025-03-04', ['LTS Update', 'New feature']) =]]
+
+[[= release_note_entry_begin("AI Actions " + version, '2025-03-04', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
#### Features
You can now [duplicate AI actions]([[= user_doc =]]/ai_actions/work_with_ai_actions/#duplicate-ai-actions) in the AI actions list.
@@ -667,7 +678,9 @@ The PHP API has been expanded with the following classes and interfaces:
- [`Ibexa\Contracts\ConnectorAi\PromptResolverInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-ConnectorAi-PromptResolverInterface.html)
[[= release_note_entry_end() =]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2025-03-04', ['Headless', 'Experience', 'Commerce', 'New feature']) =]]
+
#### Security
This release includes security fixes.
@@ -762,11 +775,14 @@ The PHP API has been enhanced with the following new classes and interfaces:
- [`Value\Scheduling`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Connect-Value-Scheduling.html)
#### Full changelog
+
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.16' %]]
-[[= release_note_entry_begin("AI Actions " + version, '2025-01-16', ['LTS Update', 'New feature']) =]]
+
+[[= release_note_entry_begin("AI Actions " + version, '2025-01-16', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
#### Features
@@ -786,11 +802,14 @@ The PHP API has been enhanced with the following new classes:
- [`Ibexa\Contracts\Seo\Resolver\FieldValueResolverInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Seo-Resolver-FieldValueResolverInterface.html)
#### Full changelog
+
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.15' %]]
-[[= release_note_entry_begin("AI Actions " + version, '2024-12-13', ['LTS Update', 'New feature']) =]]
+
+[[= release_note_entry_begin("AI Actions " + version, '2024-12-13', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
#### REST API
@@ -798,8 +817,8 @@ The REST API has been extended to include endpoints for:
- [Action Configurations](https://doc.ibexa.co/en/4.6/api/rest_api/rest_api_reference/rest_api_reference.html#ai-actions-list-action-configurations)
- [Action Types](https://doc.ibexa.co/en/4.6/api/rest_api/rest_api_reference/rest_api_reference.html#ai-actions-list-action-types)
-[[= release_note_entry_end() =]]
+[[= release_note_entry_end() =]]
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-12-13', ['Headless', 'Experience', 'Commerce', 'New feature']) =]]
@@ -808,6 +827,7 @@ The REST API has been extended to include endpoints for:
You can now reuse Page Builder blocks between landing pages using the ["Copy block" action]([[= user_doc =]]/content_management/create_edit_pages/#copy-blocks).
#### PHP API
+
The PHP API has been enhanced with the following new classes and interfaces:
- [`Ibexa\Contracts\ProductCatalog\Values\Price\PriceEnvelopeInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Values-Price-PriceEnvelopeInterface.html)
@@ -815,13 +835,17 @@ The PHP API has been enhanced with the following new classes and interfaces:
- [`Ibexa\Contracts\ProductCatalog\Values\StampInterface`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Values-StampInterface.html)
#### Full changelog
+
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.14' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-11-28', ['Headless', 'Experience', 'Commerce']) =]]
#### Security
+
This release includes security fixes.
To learn more, see the [corresponding security advisory](https://developers.ibexa.co/security-advisories/ibexa-sa-2024-006-vulnerabilities-in-content-name-pattern-commerce-shop-and-varnish-vhost-templates).
@@ -852,10 +876,13 @@ The PHP API has been enhanced with the following new classes and interfaces:
- [`Ibexa\Contracts\ProductCatalog\Values\Product\Query\Criterion\UpdatedAtRange`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Values-Product-Query-Criterion-UpdatedAtRange.html)
#### Full changelog
+
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.13' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-10-22', ['Headless', 'Experience', 'Commerce']) =]]
#### PHP API
@@ -870,11 +897,12 @@ The PHP API has been enhanced with the following new classes and interfaces:
#### Full changelog
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.12' %]]
-[[= release_note_entry_begin("AI Actions", '2024-10-04', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
+[[= release_note_entry_begin("AI Actions " + version, '2024-10-04', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
The AI Actions LTS update enhances the usability and flexibility of [[=product_name=]] v4.6 LTS by harnessing the potential of artificial intelligence to automate time-consuming editorial tasks.
By default, the AI Actions feature can help users with their work in following scenarios:
@@ -888,7 +916,6 @@ For more information, see [AI Actions product guide](ai_actions_guide.md).
[[= release_note_entry_end() =]]
-
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-10-04', ['Headless', 'Experience', 'Commerce']) =]]
#### PHP API
@@ -918,15 +945,19 @@ The PHP API has been enhanced with the following new classes and interfaces:
#### Full changelog
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.11' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-09-16', ['Headless', 'Experience', 'Commerce']) =]]
#### Search
+
- New search criterion: [IsBookmarked](isbookmarked_criterion.md)
#### PHP API
+
The PHP API has been enhanced with the following new classes and interfaces:
- [`Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Location\IsBookmarked`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Values-Content-Query-Criterion-Location-IsBookmarked.html)
@@ -940,20 +971,26 @@ And the new methods are:
- [`Ibexa\Contracts\ProductCatalog\Local\LocalProductTypeServiceInterface::removeContentTypeFieldDefinition()`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-Local-LocalProductTypeServiceInterface.html#method_removeContentTypeFieldDefinition)
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.10' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-08-14', ['Headless', 'Experience', 'Commerce']) =]]
+
#### Security
This release includes security fixes.
To learn more, see the [corresponding security advisory](https://developers.ibexa.co/security-advisories/ibexa-sa-2024-005-persistent-xss-in-richtext).
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.9' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-07-31', ['Headless', 'Experience', 'Commerce']) =]]
+
#### Security
This release includes security fixes.
@@ -969,9 +1006,11 @@ The PHP API has been enhanced with the following new classes and interfaces:
- [`Ibexa\Contracts\ConnectorQualifio\Exception\NotConfiguredException`](https://doc.ibexa.co/en/4.6/api/php_api/php_api_reference/classes/Ibexa-Contracts-ConnectorQualifio-Exception-NotConfiguredException.html)
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.8' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-07-11', ['Headless', 'Experience', 'Commerce']) =]]
#### PHP API
@@ -983,9 +1022,11 @@ The PHP API has been enhanced with the following new class:
#### Full changelog
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.7' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-06-10', ['Headless', 'Experience', 'Commerce']) =]]
#### PHP API
@@ -1000,20 +1041,29 @@ The PHP API has been enhanced with the following new classes:
#### Full changelog
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.6' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-05-17', ['Headless', 'Experience', 'Commerce']) =]]
+
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.5' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-05-14', ['Headless', 'Experience', 'Commerce']) =]]
+
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.4' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-05-13', ['Headless', 'Experience', 'Commerce', 'New feature']) =]]
+
#### Security
This release includes security fixes.
@@ -1026,14 +1076,19 @@ To learn more, see the [corresponding security advisory](https://developers.ibex
#### Full changelog
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.3' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-04-11', ['Headless', 'Experience', 'Commerce']) =]]
+
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.2' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-03-20', ['Headless', 'Experience', 'Commerce']) =]]
#### Security
@@ -1044,15 +1099,20 @@ To learn more, see the [corresponding security advisory](https://developers.ibex
#### Full changelog
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.1' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-02-28', ['Headless', 'Experience', 'Commerce']) =]]
+
[[% include 'snippets/release_46.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v4.6.0' %]]
-[[= release_note_entry_begin("Ibexa DXP " + version, '2024-02-13', ['Headless', 'Experience', 'Commerce', 'New feature']) =]]
+
+[[= release_note_entry_begin("Ibexa DXP " + version, '2024-02-13', ['Headless', 'Experience', 'Commerce', 'New feature', 'First release']) =]]
### Notable changes
diff --git a/docs/release_notes/ibexa_dxp_v5.0.md b/docs/release_notes/ibexa_dxp_v5.0.md
index 074b312180..ad622412b5 100644
--- a/docs/release_notes/ibexa_dxp_v5.0.md
+++ b/docs/release_notes/ibexa_dxp_v5.0.md
@@ -6,7 +6,7 @@ month_change: false
-[[= release_notes_filters('Ibexa DXP v5.0 LTS', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
+[[= release_notes_filters('Ibexa DXP v5.0 LTS', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
@@ -67,7 +67,7 @@ The [Collaborative editing](collaborative_editing.md) REST API endpoints are now
[[% set version = 'v5.0.4' %]]
-[[= release_note_entry_begin("Integrated help " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
+[[= release_note_entry_begin("Integrated help " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
Integrated help brings contextual documentation, guidance, and partner-specific resources right into the user interface of [[= product_name =]].
It helps editors, store managers, and developers to quickly access relevant content, training and resources without leaving the UI, narrowing the gap between product and documentation.
@@ -80,7 +80,7 @@ For more information, see [Integrated help](integrated_help.md).
[[= release_note_entry_end() =]]
-[[= release_note_entry_begin("Anthropic connector " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature']) =]]
+[[= release_note_entry_begin("Anthropic connector " + version, '2025-12-10', ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature', 'First release']) =]]
This release introduces a new AI connector that allows you to integrate [AI Actions](ai_actions.md) with [Anthropic Claude](https://claude.com/product/overview).
@@ -145,7 +145,6 @@ The following additions were made to the PHP API:
- [`Ibexa\Contracts\FieldTypeRichTextRTE\ToS\ToSServiceInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-FieldTypeRichTextRTE-ToS-ToSServiceInterface.html)
- [`Ibexa\Contracts\Share\Mapper\Action\ShareActionItemsMapperInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Share-Mapper-Action-ShareActionItemsMapperInterface.html)
-
##### AI Taxonomy suggestions:
- [`Ibexa\Contracts\ConnectorAi\Action\DataType\Taxonomy`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-ConnectorAi-Action-DataType-Taxonomy.html)
@@ -176,22 +175,24 @@ The following additions were made to the PHP API:
- [`Ibexa\Contracts\Taxonomy\Embedding\TaxonomyEmbeddingFieldProviderInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Taxonomy-Embedding-TaxonomyEmbeddingFieldProviderInterface.html)
- [`Ibexa\Contracts\Taxonomy\Search\Query\Value\TaxonomyEmbedding`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Taxonomy-Search-Query-Value-TaxonomyEmbedding.html)
-##### Search:
+##### Search
- [`Ibexa\Contracts\AdminUi\ContentType\ContentTypeFieldsByExpressionServiceInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-AdminUi-ContentType-ContentTypeFieldsByExpressionServiceInterface.html)
- [`Ibexa\Contracts\CoreSearch\Values\Query\PaginationAwareInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-CoreSearch-Values-Query-PaginationAwareInterface.html)
- [`Ibexa\Contracts\SiteFactory\Values\Query\Criterion\MatchTreeRootLocationIds`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-SiteFactory-Values-Query-Criterion-MatchTreeRootLocationIds.html)
-##### Other:
+##### Other
- [`Ibexa\Contracts\ProductCatalog\CapabilitiesEnum`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-CapabilitiesEnum.html)
- [`Ibexa\Contracts\ProductCatalog\CapabilitiesServiceInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-ProductCatalog-CapabilitiesServiceInterface.html)
- [`Ibexa\Contracts\User\PasswordReset\NotifierInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-User-PasswordReset-NotifierInterface.html)
[[% include 'snippets/release_50.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v5.0.3' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2024-10-17', ['Headless', 'Experience', 'Commerce']) =]]
### Security
@@ -234,12 +235,13 @@ The PHP API has been expanded with the following:
- [`Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Id`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Values-ContentType-Query-SortClause-Id.html)
- [`Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Identifier`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Values-ContentType-Query-SortClause-Identifier.html)
- [`Ibexa\Contracts\Core\Repository\Values\ContentType\Query\SortClause\Name`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Values-ContentType-Query-SortClause-Name.html)
-
[[% include 'snippets/release_50.md' %]]
+
[[= release_note_entry_end() =]]
[[% set version = 'v5.0.2' %]]
+
[[= release_note_entry_begin("Ibexa DXP " + version, '2025-09-09', ['Headless', 'Experience', 'Commerce', 'New feature']) =]]
### Collaboration
@@ -423,7 +425,8 @@ This release brings additional minor improvements to the developer's experience
[[= release_note_entry_end() =]]
[[% set version = 'v5.0.0' %]]
-[[= release_note_entry_begin("Ibexa DXP " + version, '2025-07-22', ['Headless', 'Experience', 'Commerce', 'New feature']) =]]
+
+[[= release_note_entry_begin("Ibexa DXP " + version, '2025-07-22', ['Headless', 'Experience', 'Commerce', 'New feature', 'First release']) =]]
### Notable changes
From a750dd1d3d22c8d056053ce8e09efa46c5585f5c Mon Sep 17 00:00:00 2001
From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com>
Date: Mon, 23 Feb 2026 17:18:10 +0100
Subject: [PATCH 3/6] release-notes.js: Also filter the ToC
---
docs/js/release-notes.js | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/docs/js/release-notes.js b/docs/js/release-notes.js
index 75a39870dd..61409b7ac1 100644
--- a/docs/js/release-notes.js
+++ b/docs/js/release-notes.js
@@ -16,10 +16,13 @@
const releaseNotesItems = [...releaseNotesNodes].map((releaseNotesNode) => {
const tagsNodes = releaseNotesNode.querySelectorAll('.release-note__tags .pill');
const tagsItems = [...tagsNodes].map((tagNode) => `filter-${tagNode.dataset.filter}`);
+ const id = releaseNotesNode.getElementsByTagName('h2')[0].getAttribute('id');
+ const tocEntry = doc.querySelector(`.md-sidebar--secondary a[href="#${id}"]`).parentNode;
return {
node: releaseNotesNode,
tags: tagsItems,
+ toc: tocEntry,
};
});
const handleClickOutside = ({ target }) => {
@@ -46,10 +49,11 @@
filterItem.addEventListener('change', () => {
const checkedItems = [...filterItems].filter(({ checked }) => checked).map(({ id }) => id);
- releaseNotesItems.forEach(({ node, tags }) => {
+ releaseNotesItems.forEach(({ node, tags, toc }) => {
const isVisible = checkedItems.length === 0 || tags.some((tag) => checkedItems.includes(tag));
node.classList.toggle('release-note--hidden', !isVisible);
+ toc.classList.toggle('release-note--hidden', !isVisible);
});
visibleItems.forEach((visibleItem) => {
const isVisible = checkedItems.includes(visibleItem.dataset.filter);
From 73a9a6c0fd52e0398f3c735e2f4a14cd2837733d Mon Sep 17 00:00:00 2001
From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com>
Date: Wed, 25 Feb 2026 10:51:31 +0100
Subject: [PATCH 4/6] pills.scss: color management
---
scss/pills.scss | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/scss/pills.scss b/scss/pills.scss
index b3b6e7e5d2..83e577be17 100644
--- a/scss/pills.scss
+++ b/scss/pills.scss
@@ -8,6 +8,8 @@ $color-lts-update: #5DA7C0;
$color-new-feature: #2C9445;
$color-first-release: #2C9445;
+$color-new-doc: #3562A0
+
.pill {
font-size: 12px;
font-weight: initial;
@@ -49,7 +51,7 @@ $color-first-release: #2C9445;
&--new {
margin-right: 15px;
align-self: center;
- color: #3562a0;
+ color: $color-new-doc;
text-transform: lowercase;
}
}
From 0d57f4249df23a9ea9b1e7109784fe0a6afe0977 Mon Sep 17 00:00:00 2001
From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com>
Date: Wed, 25 Feb 2026 14:40:29 +0100
Subject: [PATCH 5/6] Move colors to _variables.scss; Fix SCSS syntax
---
docs/css/pills.css | 2 +-
scss/_variables.scss | 9 +++++++++
scss/pills.scss | 11 +----------
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/docs/css/pills.css b/docs/css/pills.css
index f824dda939..e8286967ee 100644
--- a/docs/css/pills.css
+++ b/docs/css/pills.css
@@ -55,7 +55,7 @@
.pill--new {
margin-right: 15px;
align-self: center;
- color: #3562a0;
+ color: #3562A0;
text-transform: lowercase;
}
diff --git a/scss/_variables.scss b/scss/_variables.scss
index b10c339621..d13111283b 100644
--- a/scss/_variables.scss
+++ b/scss/_variables.scss
@@ -21,3 +21,12 @@ $color-light-400: #ECECF1;
$color-dark: #131C26;
$color-dark-400: #71767C;
+
+$color-headless: #C4234A;
+$color-experience: #D3822B;
+$color-commerce: #A32768;
+$color-lts-update: #5DA7C0;
+$color-new-feature: #2C9445;
+$color-first-release: #2C9445;
+
+$color-new-doc: #3562A0;
diff --git a/scss/pills.scss b/scss/pills.scss
index 83e577be17..e94a4c0a1a 100644
--- a/scss/pills.scss
+++ b/scss/pills.scss
@@ -1,15 +1,6 @@
@use 'variables';
@use 'sass:list';
-$color-headless: #C4234A;
-$color-experience: #D3822B;
-$color-commerce: #A32768;
-$color-lts-update: #5DA7C0;
-$color-new-feature: #2C9445;
-$color-first-release: #2C9445;
-
-$color-new-doc: #3562A0
-
.pill {
font-size: 12px;
font-weight: initial;
@@ -51,7 +42,7 @@ $color-new-doc: #3562A0
&--new {
margin-right: 15px;
align-self: center;
- color: $color-new-doc;
+ color: variables.$color-new-doc;
text-transform: lowercase;
}
}
From 2dc6478e72b5174732ca15cf059abfb831e01ae3 Mon Sep 17 00:00:00 2001
From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com>
Date: Wed, 25 Feb 2026 14:45:56 +0100
Subject: [PATCH 6/6] Update docs/release_notes/ibexa_dxp_v4.6.md
---
docs/release_notes/ibexa_dxp_v4.6.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/release_notes/ibexa_dxp_v4.6.md b/docs/release_notes/ibexa_dxp_v4.6.md
index 5032055c3f..ec246e36c2 100644
--- a/docs/release_notes/ibexa_dxp_v4.6.md
+++ b/docs/release_notes/ibexa_dxp_v4.6.md
@@ -954,7 +954,7 @@ The PHP API has been enhanced with the following new classes and interfaces:
#### Search
-- New search criterion: [IsBookmarked](isbookmarked_criterion.md)
+- New search criterion: [`IsBookmarked`](isbookmarked_criterion.md)
#### PHP API