+[[% 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)' \