diff --git a/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Ibexa.html b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Ibexa.html index 39083bc275..6e53dddbd4 100644 --- a/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Ibexa.html +++ b/docs/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Ibexa.html @@ -278,7 +278,7 @@

-
public mixed VERSION = '4.6.30'
+
public mixed VERSION = '4.6.31'
diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch-index-group.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch-index-group.html index c234b03202..793a7ef19a 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch-index-group.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch-index-group.html @@ -229,8 +229,8 @@
- -
+ +

Group

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch-index.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch-index.html index 80815065d4..8d574247c4 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch-index.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch-index.html @@ -225,8 +225,8 @@
- -
+ +

Index

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch.html index 5babe64728..9cc42334bf 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-elasticsearch.html @@ -221,8 +221,8 @@
- -
+ +

ElasticSearch

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-mapping-event.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-mapping-event.html index 340096d63b..722e5134d6 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-mapping-event.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-mapping-event.html @@ -225,8 +225,8 @@
- -
+ +

Event

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-mapping.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-mapping.html index eaa2889931..2db1c38c77 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-mapping.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-mapping.html @@ -221,8 +221,8 @@
- -
+ +

Mapping

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-query-event.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-query-event.html index f3746cc096..16fe6fd122 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-query-event.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-query-event.html @@ -225,8 +225,8 @@
- -
+ +

Event

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-query.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-query.html index 001d1f1e6f..eaa01bff94 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-query.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-query.html @@ -221,8 +221,8 @@
- -
+ +

Query

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-exceptions.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-exceptions.html index 3f394e01dd..c5af626b00 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-exceptions.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-exceptions.html @@ -225,8 +225,8 @@
- -
+ +

Exceptions

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values-content-query.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values-content-query.html index 6040eae1e0..042f32af79 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values-content-query.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values-content-query.html @@ -233,8 +233,8 @@
- -
+ +

Query

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values-content.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values-content.html index 987356dd6b..429e1d8b8d 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values-content.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values-content.html @@ -229,8 +229,8 @@
- -
+ +

Content

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values.html index b3985cacd8..4b1c1ce128 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository-values.html @@ -225,8 +225,8 @@
- -
+ +

Values

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository.html index 4f1e96f200..37464966b1 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch-repository.html @@ -221,8 +221,8 @@
- -
+ +

Repository

diff --git a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch.html b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch.html index 94b4ef6b74..b674556241 100644 --- a/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch.html +++ b/docs/api/php_api/php_api_reference/namespaces/ibexa-contracts-elasticsearch.html @@ -217,8 +217,8 @@
- -
+ +

Elasticsearch

diff --git a/docs/release_notes/ibexa_dxp_v4.6.md b/docs/release_notes/ibexa_dxp_v4.6.md index a6820aaa4c..920bfb9d78 100644 --- a/docs/release_notes/ibexa_dxp_v4.6.md +++ b/docs/release_notes/ibexa_dxp_v4.6.md @@ -10,6 +10,14 @@ month_change: true
+[[% set version = 'v4.6.31' %]] + +[[= release_note_entry_begin("Ibexa DXP " + version, '2026-07-01', ['Headless', 'Experience', 'Commerce', ]) =]] + +[[% include 'snippets/release_46.md' %]] + +[[= release_note_entry_end() =]] + [[% set version = 'v4.6.30' %]] [[% set date = '2026-05-21' %]] diff --git a/docs/release_notes/ibexa_dxp_v5.0.md b/docs/release_notes/ibexa_dxp_v5.0.md index 1d842113c4..632c6db2d5 100644 --- a/docs/release_notes/ibexa_dxp_v5.0.md +++ b/docs/release_notes/ibexa_dxp_v5.0.md @@ -10,6 +10,84 @@ month_change: true
+[[% set version = 'v5.0.9' %]] +[[% set date = '2026-07-01' %]] + +[[= release_note_entry_begin( + 'MCP Servers ' + version, + date, + ['Headless', 'Experience', 'Commerce', 'LTS Update', 'New feature'] +) =]] + +### Tools + +Several new experimental content type tools were added to the MCP Servers feature: + +- `create_content_type` +- `get_content_type` +- `get_content_type_by_identifier` +- `get_content_type_list` +- `get_content_type_draft` +- `publish_content_type_draft` +- `add_field_definition` +- `remove_field_definition` +- `update_field_definition` +- `get_content_type_groups` + +Among translation tools: + +- `list_non_translated_content_ids` tool is added +- `list_content_translations` is now renamed to `list_content_languages` + +For more information, see [Built-in tools](https://doc.ibexa.co/en/5.0/ai/mcp/mcp_config/#built-in-tools). + +### Configuration + +- An `allowed_hosts` parameter is added to configuration to restrict access to an MCP server. It's default value covers only few cases for local development. For more information, see [Allowed hosts](https://doc.ibexa.co/en/5.0/ai/mcp/mcp_config/#allowed-hosts). +- A `title` property is added to capability attributes to optionally provide a friendly UI label. For more information, see [MCP server capabilities](https://doc.ibexa.co/en/5.0/ai/mcp/mcp_usage/#mcp-server-capabilities). + +[[= release_note_entry_end() =]] + +[[= release_note_entry_begin( + "Ibexa DXP " + version, + date, + ['Headless', 'Experience', 'Commerce', 'New feature'] +) =]] + +### Raptor connector + +#### Hybrid tracking + +New `hybrid` tracking mode is available alongside [`client` and `server`](https://doc.ibexa.co/en/5.0/recommendations/raptor_integration/tracking_functions/). +In this mode, the browser uses a first-party tracking shim provided by the DXP instance. +Tracking events are forwarded through a same-origin endpoint and processed server side before being sent to Raptor, helping reduce the impact of ad blockers while preserving client side event tracking. + +For more information, see [hybrid tracking](https://doc.ibexa.co/en/5.0/recommendations/raptor_integration/hybrid_tracking/). + +#### New recommendation blocks [[% include 'snippets/experience_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]] + +Two new recommendation blocks are available in Page Builder: + +- **Items of Customized Feeds sorted by personal preferences and popularity or trendiness** sorts items from Customized Feeds based on user preferences, popularity, and current trends +- **Merchandising content sorted by personal preferences and popularity** uses merchandising content and sorts it by personal preferences and popularity + +For more information, see [recommendation blocks](https://doc.ibexa.co/en/5.0/recommendations/raptor_integration/recommendation_blocks/). + +### Developer experience + +#### PHP API + +The following additions were made to the PHP API: + +- [`Ibexa\Contracts\ConnectorRaptor\Message\TrackProxiedEventMessage`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-ConnectorRaptor-Message-TrackProxiedEventMessage.html) +- [`Ibexa\Contracts\ConnectorRaptor\Tracking\ContextProvider\WebsiteIdContextProviderInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-ConnectorRaptor-Tracking-ContextProvider-WebsiteIdContextProviderInterface.html) +- [`Ibexa\Contracts\ConnectorRaptor\Tracking\TrackingBehaviorProviderInterface`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-ConnectorRaptor-Tracking-TrackingBehaviorProviderInterface.html) +- [`Ibexa\Contracts\Messenger\Stamp\DeduplicateStamp`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Messenger-Stamp-DeduplicateStamp.html) +- [`Ibexa\Contracts\Messenger\Stamp\SudoStamp`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Messenger-Stamp-SudoStamp.html) +- [`Ibexa\Contracts\Messenger\Stamp\UserPermissionStamp`](https://doc.ibexa.co/en/5.0/api/php_api/php_api_reference/classes/Ibexa-Contracts-Messenger-Stamp-UserPermissionStamp.html) + +[[= release_note_entry_end() =]] + [[% set version = 'v5.0.8' %]] [[% set date = '2026-05-21' %]] diff --git a/docs/update_and_migration/from_4.6/update_from_4.6.md b/docs/update_and_migration/from_4.6/update_from_4.6.md index a2b8490f51..fc233f61f0 100644 --- a/docs/update_and_migration/from_4.6/update_from_4.6.md +++ b/docs/update_and_migration/from_4.6/update_from_4.6.md @@ -750,6 +750,10 @@ If you choose to implement countermeasures without upgrading PHP and updating Tw In addition, consider upgrading your project to one of [the actively supported PHP versions](requirements.md#php). +## v4.6.31 + +No additional steps needed. + ## LTS Updates [LTS Updates](https://doc.ibexa.co/en/4.6/ibexa_products/editions/#lts-updates) are standalone packages with their own update procedures. diff --git a/docs/update_and_migration/from_5.0/update_from_5.0.md b/docs/update_and_migration/from_5.0/update_from_5.0.md index 557a7530f5..8136ea7688 100644 --- a/docs/update_and_migration/from_5.0/update_from_5.0.md +++ b/docs/update_and_migration/from_5.0/update_from_5.0.md @@ -459,6 +459,10 @@ Make sure it contains the highlighted addition: set req.http.cookie = regsuball(req.http.cookie, ";[^ ][^;]*", ""); ``` +## v5.0.9 + +No additional steps needed for [[= product_name =]], but the [MCP Servers LTS Update requires additional update steps](#mcp-servers) if you're using it. + ## LTS Updates and additional packages [LTS Updates](editions.md#lts-updates) are standalone packages with their own update procedures. @@ -499,3 +503,22 @@ To use the [latest features](ibexa_dxp_v5.0.md) added to them, update them separ ```bash composer require ibexa/fieldtype-richtext-rte:[[= latest_tag_5_0 =]] ibexa/ckeditor-premium:[[= latest_tag_5_0 =]] ``` + +=== "MCP Servers" + + ### MCP Servers + + To learn more about the [MCP Servers](https://doc.ibexa.co/en/5.0/ai/mcp/mcp_guide/), see the [installation and configuration instructions](https://doc.ibexa.co/en/5.0/ai/mcp/mcp_config/). + + If you're already using it, run the following command to get the latest version of this feature: + + ```bash + composer require ibexa/mcp:[[= latest_tag_5_0 =]] + ``` + + #### v5.0.9 + + Between v5.0.8 and v5.0.9, the following changes were made to the MCP Servers feature: + + - An [`allowed_hosts`](https://doc.ibexa.co/en/5.0/ai/mcp/mcp_config#allowed-hosts) setting has been added, restricting usage to localhost by default. Customize this value to allow more hosts. + - The [built-in tool](https://doc.ibexa.co/en/5.0/ai/mcp/mcp_config#built-in-tools) `list_content_translations` is now renamed to `list_content_languages`. diff --git a/mkdocs.yml b/mkdocs.yml index 6e8cae0aeb..b4f9d337ff 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -999,8 +999,8 @@ extra: latest_tag_4_3: '4.3.5' latest_tag_4_4: '4.4.4' latest_tag_4_5: '4.5.7' - latest_tag_4_6: '4.6.30' - latest_tag_5_0: '5.0.8' + latest_tag_4_6: '4.6.31' + latest_tag_5_0: '5.0.9' symfony_doc: 'https://symfony.com/doc/5.x' user_doc: 'https://doc.ibexa.co/projects/userguide/en/4.6' diff --git a/tools/php_api_ref/phpdoc.sh b/tools/php_api_ref/phpdoc.sh index b8389bb7c8..fa6e39a36a 100755 --- a/tools/php_api_ref/phpdoc.sh +++ b/tools/php_api_ref/phpdoc.sh @@ -172,6 +172,7 @@ $PHP_BINARY $PHPDOC_BIN -t php_api_reference; if [ $? -eq 0 ]; then echo -n 'Remove unneeded from phpDocumentor output… '; rm -rf ./php_api_reference/files ./php_api_reference/graphs ./php_api_reference/indices ./php_api_reference/packages; + rm -f ./php_api_reference/images/apple-touch-icon.png ./php_api_reference/images/favicon-16x16.png ./php_api_reference/images/favicon-32x32.png ./php_api_reference/images/favicon.ico; rm -f ./php_api_reference/classes/Symfony-*.html ./php_api_reference/namespaces/symfony*.html echo -n 'Remove Symfony namespace from index… '; awk 'NR==FNR{if (/.*"fqsen": "\\\\Symfony.*/) for (i=-1;i<=3;i++) del[NR+i]; next} !(FNR in del)' \