This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new fcb828d23fdd chore(docs): escape wildcards in monospace so pages 
render valid HTML (#26380)
fcb828d23fdd is described below

commit fcb828d23fdd6f90dbee324b5eb0f1e9004d8b97
Author: Adriano Machado <[email protected]>
AuthorDate: Mon Sep 14 00:34:03 2026 -0400

    chore(docs): escape wildcards in monospace so pages render valid HTML 
(#26380)
    
    A * or # inside a single-backtick span is still parsed as a formatting
    mark, so spans such as `mail.smtp.*` or `core/camel-*` pair up with a
    later * and produce mis-nested HTML like <code>…<strong></code>…</strong>.
    Browsers tolerate it, but the website's HTML-to-Markdown step then loses
    article.doc and skips the page, so its .md mirror (linked from llms.txt)
    returns 404 (apache/camel-website#1746).
    
    Use literal monospace (`+…+`) for those spans, double backticks where a
    span is followed by a quote, and `++/model ++` for a span with a
    trailing space. Also fixes spans that stayed valid HTML but still
    rendered bold text instead of the * characters. Catalog doc copies are
    synced.
    
    _Claude Code on behalf of Adriano Machado (@ammachado)_
    
    _This was generated by an AI agent and may contain inaccuracies.
    Please verify before relying on it._
---
 .../camel/catalog/docs/ai-tool-component.adoc      |  6 +--
 .../apache/camel/catalog/docs/mail-component.adoc  |  4 +-
 .../org/apache/camel/catalog/docs/mcp-server.adoc  |  8 ++--
 .../org/apache/camel/catalog/docs/mdc.adoc         |  4 +-
 .../apache/camel/catalog/docs/opa-component.adoc   |  2 +-
 .../org/apache/camel/catalog/docs/yaml-dsl.adoc    |  2 +-
 .../src/main/docs/ai-tool-component.adoc           |  6 +--
 .../camel-mcp-server/src/main/docs/mcp-server.adoc |  8 ++--
 .../camel-mail/src/main/docs/mail-component.adoc   |  4 +-
 components/camel-mdc/src/main/docs/mdc.adoc        |  4 +-
 .../camel-opa/src/main/docs/opa-component.adoc     |  2 +-
 .../ROOT/pages/camel-4x-upgrade-guide-4_14.adoc    | 10 ++---
 .../ROOT/pages/camel-4x-upgrade-guide-4_18.adoc    | 16 +++----
 .../ROOT/pages/camel-4x-upgrade-guide-4_19.adoc    |  6 +--
 .../ROOT/pages/camel-4x-upgrade-guide-4_21.adoc    | 36 ++++++++--------
 .../ROOT/pages/camel-4x-upgrade-guide-4_22.adoc    |  4 +-
 .../ROOT/pages/camel-4x-upgrade-guide-4_23.adoc    | 16 +++----
 .../modules/ROOT/pages/camel-jbang-mcp.adoc        |  2 +-
 .../modules/ROOT/pages/camel-jbang-tui.adoc        |  8 ++--
 .../modules/ROOT/pages/security-model.adoc         | 50 +++++++++++-----------
 .../camel-yaml-dsl/src/main/docs/yaml-dsl.adoc     |  2 +-
 21 files changed, 100 insertions(+), 100 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ai-tool-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ai-tool-component.adoc
index 911e5feb21c9..13e9da463c4e 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ai-tool-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ai-tool-component.adoc
@@ -147,7 +147,7 @@ YAML::
 
 === Complex Parameters with argSchema
 
-Use `argSchema` when the flat `parameter.*` syntax is not expressive enough 
for nested objects, arrays, or other advanced JSON Schema constructs. 
`argSchema` is mutually exclusive with `parameter.*`.
+Use `argSchema` when the flat `+parameter.*+` syntax is not expressive enough 
for nested objects, arrays, or other advanced JSON Schema constructs. 
`argSchema` is mutually exclusive with `+parameter.*+`.
 
 [tabs]
 ====
@@ -199,7 +199,7 @@ The root schema must be a JSON Schema object with a 
top-level `properties` map.
 
 === Structured Tool Output (outputSchema)
 
-MCP tools can declare an `outputSchema` and return `structuredContent` (typed 
JSON) so clients parse tool results reliably instead of re-interpreting free 
text. Use `outputParameter.*` for flat field definitions or `outputSchema` for 
raw JSON Schema (mirroring the input-side `parameter.*` / `argSchema` pattern). 
The two options are mutually exclusive.
+MCP tools can declare an `outputSchema` and return `structuredContent` (typed 
JSON) so clients parse tool results reliably instead of re-interpreting free 
text. Use `+outputParameter.*+` for flat field definitions or `outputSchema` 
for raw JSON Schema (mirroring the input-side `+parameter.*+` / `argSchema` 
pattern). The two options are mutually exclusive.
 
 When an output schema is declared, the route body must be JSON (a JSON string, 
`Map`, or `List`). Camel parses it into structured content and forwards it 
through the MCP bridge as `CallToolResult.structuredContent`. The text 
representation remains available for LLM adapters (LangChain4j, Spring AI) that 
consume string tool results.
 
@@ -232,7 +232,7 @@ YAML::
 ----
 ====
 
-Flat `outputParameter.*` options use the same sub-option syntax as input 
`parameter.*`:
+Flat `+outputParameter.*+` options use the same sub-option syntax as input 
`+parameter.*+`:
 
 * `outputParameter.NAME=TYPE` — field type (`string`, `integer`, `number`, 
`boolean`)
 * `outputParameter.NAME.description=TEXT` — field description in the generated 
JSON Schema
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mail-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mail-component.adoc
index a614e7fd5e8a..71ff5a3698f9 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mail-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mail-component.adoc
@@ -899,11 +899,11 @@ For example, to provide a dynamic uuid in 
`mail.smtp.from` (SMTP MAIL command):
 NOTE: This is only supported when *not* using a custom `JavaMailSender`.
 
 WARNING: This feature is *disabled by default* and must be explicitly enabled 
with
-`useJavaMailSessionPropertiesFromHeaders=true`. The `mail.smtp.*` / 
`mail.smtps.*` keys are a
+`useJavaMailSessionPropertiesFromHeaders=true`. The `+mail.smtp.*+` / 
`+mail.smtps.*+` keys are a
 Camel-internal namespace that is not filtered by any `HeaderFilterStrategy`, 
so if these headers can
 originate from data crossing a trust boundary (for example HTTP query 
parameters, or JMS/Kafka
 messages from untrusted producers) an attacker could weaken transport security 
(such as
 `mail.smtp.ssl.trust` or `mail.smtp.starttls.enable`) or redirect the SMTP 
connection. Only enable
 the option when these headers are set exclusively by trusted route logic, and 
strip the namespace
-with `removeHeaders("mail.smtp.*", "mail.smtps.*")` before the producer when 
bridging an untrusted
+with `+removeHeaders("mail.smtp.*", "mail.smtps.*")+` before the producer when 
bridging an untrusted
 source. See the xref:manual::security-model.adoc[Camel Security Model] for the 
general pattern.
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mcp-server.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mcp-server.adoc
index 78ed283ed140..244c4f304a53 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mcp-server.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mcp-server.adoc
@@ -51,9 +51,9 @@ Engine resolution mirrors the platform-http engine: a bean of 
type
 `McpServerEngine` in the Camel registry wins; otherwise the engine is
 discovered on the classpath. Other runtimes plug native engines through the
 same SPI: on Quarkus the `camel-quarkus-mcp-server` extension serves through
-the Quarkiverse `quarkus-mcp-server` (configured via `quarkus.mcp.server.*`),
+the Quarkiverse `quarkus-mcp-server` (configured via `+quarkus.mcp.server.*+`),
 and on Spring Boot the starter serves through the Spring AI MCP server
-(configured via `spring.ai.mcp.server.*`). Bridge behavior — tag selection,
+(configured via `+spring.ai.mcp.server.*+`). Bridge behavior — tag selection,
 timeout, sanitization — is identical on every runtime and verified by a shared
 conformance test kit.
 
@@ -163,8 +163,8 @@ camel.server.mcp-instructions = Use these tools to operate 
the integration.
 camel.server.mcp-server-icons = 
[{"src":"https://example.com/icon.png","mimeType":"image/png","sizes":["48x48"],"theme":"light"}]
 ----
 
-Tag patterns support wildcards: use `*` to expose all tagged tools, or a
-prefix pattern like `crm*` to expose all tags starting with `crm`:
+Tag patterns support wildcards: use `+*+` to expose all tagged tools, or a
+prefix pattern like `+crm*+` to expose all tags starting with `crm`:
 
 The MCP endpoint is then served at `http://<host>:<port>/mcp` on the Camel
 main HTTP server. Any MCP client can connect over streamable HTTP, for
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mdc.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mdc.adoc
index 708d9ca4a8d0..fcaae53169ac 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mdc.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/mdc.adoc
@@ -70,6 +70,6 @@ The configuration properties for the MDC component are:
 |=======================================================================
 |Option |Default |Description
 |`camel.mdc.enabled`| false | Enable the MDC logging.
-|`camel.mdc.customExchangeHeaders` |  | Provide the exchange headers you would 
like to trace in MDC. Use `*` value as a wildcard to include more exchange 
headers at once, for example `CAMEL_HTTP_*` or only the `*` to include all 
available exchange headers.
-|`camel.mdc.customExchangeProperties` |  | Provide the exchange properties you 
would like to trace in MDC. Use `*` value as a wildcard to include more 
exchange properties at once, for example `property_*` or only the `*` to 
include all available exchange properties.
+|`camel.mdc.customExchangeHeaders` |  | Provide the exchange headers you would 
like to trace in MDC. Use `+*+` value as a wildcard to include more exchange 
headers at once, for example `+CAMEL_HTTP_*+` or only the `+*+` to include all 
available exchange headers.
+|`camel.mdc.customExchangeProperties` |  | Provide the exchange properties you 
would like to trace in MDC. Use `+*+` value as a wildcard to include more 
exchange properties at once, for example `+property_*+` or only the `+*+` to 
include all available exchange properties.
 |=======================================================================
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/opa-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/opa-component.adoc
index e57b5c85ee49..b20e097915a9 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/opa-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/opa-component.adoc
@@ -180,7 +180,7 @@ allow if {
 }
 ------------------------------------------------------------
 
-`includeProperties` takes a comma-separated list, or `*` for all of them, and 
matches names case-insensitively.
+`includeProperties` takes a comma-separated list, or `+*+` for all of them, 
and matches names case-insensitively.
 Unlike `includeHeaders` it is *empty by default*: exchange properties are 
mostly used to carry state between
 processors, so sending them all would be noise the policy has to wade through. 
Only custom properties are sent —
 Camel's own internal exchange properties are never included.
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/yaml-dsl.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/yaml-dsl.adoc
index 6773f8a975c4..e8d9b667269a 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/yaml-dsl.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/yaml-dsl.adoc
@@ -837,7 +837,7 @@ a simpler, more predictable schema structure. The classic 
schema remains the def
 === Using the schemas with IDEs
 
 The classic schema is registered in the https://www.schemastore.org/[JSON 
Schema Store] and is automatically
-used by IDEs like VS Code and IntelliJ for files matching `*.camel.yaml` and 
`*.camelk.yaml`.
+used by IDEs like VS Code and IntelliJ for files matching `+*.camel.yaml+` and 
`+*.camelk.yaml+`.
 
 To use the canonical schema instead, configure your IDE to point to the 
canonical schema URL:
 
diff --git 
a/components/camel-ai/camel-ai-tool/src/main/docs/ai-tool-component.adoc 
b/components/camel-ai/camel-ai-tool/src/main/docs/ai-tool-component.adoc
index 911e5feb21c9..13e9da463c4e 100644
--- a/components/camel-ai/camel-ai-tool/src/main/docs/ai-tool-component.adoc
+++ b/components/camel-ai/camel-ai-tool/src/main/docs/ai-tool-component.adoc
@@ -147,7 +147,7 @@ YAML::
 
 === Complex Parameters with argSchema
 
-Use `argSchema` when the flat `parameter.*` syntax is not expressive enough 
for nested objects, arrays, or other advanced JSON Schema constructs. 
`argSchema` is mutually exclusive with `parameter.*`.
+Use `argSchema` when the flat `+parameter.*+` syntax is not expressive enough 
for nested objects, arrays, or other advanced JSON Schema constructs. 
`argSchema` is mutually exclusive with `+parameter.*+`.
 
 [tabs]
 ====
@@ -199,7 +199,7 @@ The root schema must be a JSON Schema object with a 
top-level `properties` map.
 
 === Structured Tool Output (outputSchema)
 
-MCP tools can declare an `outputSchema` and return `structuredContent` (typed 
JSON) so clients parse tool results reliably instead of re-interpreting free 
text. Use `outputParameter.*` for flat field definitions or `outputSchema` for 
raw JSON Schema (mirroring the input-side `parameter.*` / `argSchema` pattern). 
The two options are mutually exclusive.
+MCP tools can declare an `outputSchema` and return `structuredContent` (typed 
JSON) so clients parse tool results reliably instead of re-interpreting free 
text. Use `+outputParameter.*+` for flat field definitions or `outputSchema` 
for raw JSON Schema (mirroring the input-side `+parameter.*+` / `argSchema` 
pattern). The two options are mutually exclusive.
 
 When an output schema is declared, the route body must be JSON (a JSON string, 
`Map`, or `List`). Camel parses it into structured content and forwards it 
through the MCP bridge as `CallToolResult.structuredContent`. The text 
representation remains available for LLM adapters (LangChain4j, Spring AI) that 
consume string tool results.
 
@@ -232,7 +232,7 @@ YAML::
 ----
 ====
 
-Flat `outputParameter.*` options use the same sub-option syntax as input 
`parameter.*`:
+Flat `+outputParameter.*+` options use the same sub-option syntax as input 
`+parameter.*+`:
 
 * `outputParameter.NAME=TYPE` — field type (`string`, `integer`, `number`, 
`boolean`)
 * `outputParameter.NAME.description=TEXT` — field description in the generated 
JSON Schema
diff --git a/components/camel-ai/camel-mcp-server/src/main/docs/mcp-server.adoc 
b/components/camel-ai/camel-mcp-server/src/main/docs/mcp-server.adoc
index 78ed283ed140..244c4f304a53 100644
--- a/components/camel-ai/camel-mcp-server/src/main/docs/mcp-server.adoc
+++ b/components/camel-ai/camel-mcp-server/src/main/docs/mcp-server.adoc
@@ -51,9 +51,9 @@ Engine resolution mirrors the platform-http engine: a bean of 
type
 `McpServerEngine` in the Camel registry wins; otherwise the engine is
 discovered on the classpath. Other runtimes plug native engines through the
 same SPI: on Quarkus the `camel-quarkus-mcp-server` extension serves through
-the Quarkiverse `quarkus-mcp-server` (configured via `quarkus.mcp.server.*`),
+the Quarkiverse `quarkus-mcp-server` (configured via `+quarkus.mcp.server.*+`),
 and on Spring Boot the starter serves through the Spring AI MCP server
-(configured via `spring.ai.mcp.server.*`). Bridge behavior — tag selection,
+(configured via `+spring.ai.mcp.server.*+`). Bridge behavior — tag selection,
 timeout, sanitization — is identical on every runtime and verified by a shared
 conformance test kit.
 
@@ -163,8 +163,8 @@ camel.server.mcp-instructions = Use these tools to operate 
the integration.
 camel.server.mcp-server-icons = 
[{"src":"https://example.com/icon.png","mimeType":"image/png","sizes":["48x48"],"theme":"light"}]
 ----
 
-Tag patterns support wildcards: use `*` to expose all tagged tools, or a
-prefix pattern like `crm*` to expose all tags starting with `crm`:
+Tag patterns support wildcards: use `+*+` to expose all tagged tools, or a
+prefix pattern like `+crm*+` to expose all tags starting with `crm`:
 
 The MCP endpoint is then served at `http://<host>:<port>/mcp` on the Camel
 main HTTP server. Any MCP client can connect over streamable HTTP, for
diff --git a/components/camel-mail/src/main/docs/mail-component.adoc 
b/components/camel-mail/src/main/docs/mail-component.adoc
index a614e7fd5e8a..71ff5a3698f9 100644
--- a/components/camel-mail/src/main/docs/mail-component.adoc
+++ b/components/camel-mail/src/main/docs/mail-component.adoc
@@ -899,11 +899,11 @@ For example, to provide a dynamic uuid in 
`mail.smtp.from` (SMTP MAIL command):
 NOTE: This is only supported when *not* using a custom `JavaMailSender`.
 
 WARNING: This feature is *disabled by default* and must be explicitly enabled 
with
-`useJavaMailSessionPropertiesFromHeaders=true`. The `mail.smtp.*` / 
`mail.smtps.*` keys are a
+`useJavaMailSessionPropertiesFromHeaders=true`. The `+mail.smtp.*+` / 
`+mail.smtps.*+` keys are a
 Camel-internal namespace that is not filtered by any `HeaderFilterStrategy`, 
so if these headers can
 originate from data crossing a trust boundary (for example HTTP query 
parameters, or JMS/Kafka
 messages from untrusted producers) an attacker could weaken transport security 
(such as
 `mail.smtp.ssl.trust` or `mail.smtp.starttls.enable`) or redirect the SMTP 
connection. Only enable
 the option when these headers are set exclusively by trusted route logic, and 
strip the namespace
-with `removeHeaders("mail.smtp.*", "mail.smtps.*")` before the producer when 
bridging an untrusted
+with `+removeHeaders("mail.smtp.*", "mail.smtps.*")+` before the producer when 
bridging an untrusted
 source. See the xref:manual::security-model.adoc[Camel Security Model] for the 
general pattern.
diff --git a/components/camel-mdc/src/main/docs/mdc.adoc 
b/components/camel-mdc/src/main/docs/mdc.adoc
index 708d9ca4a8d0..fcaae53169ac 100644
--- a/components/camel-mdc/src/main/docs/mdc.adoc
+++ b/components/camel-mdc/src/main/docs/mdc.adoc
@@ -70,6 +70,6 @@ The configuration properties for the MDC component are:
 |=======================================================================
 |Option |Default |Description
 |`camel.mdc.enabled`| false | Enable the MDC logging.
-|`camel.mdc.customExchangeHeaders` |  | Provide the exchange headers you would 
like to trace in MDC. Use `*` value as a wildcard to include more exchange 
headers at once, for example `CAMEL_HTTP_*` or only the `*` to include all 
available exchange headers.
-|`camel.mdc.customExchangeProperties` |  | Provide the exchange properties you 
would like to trace in MDC. Use `*` value as a wildcard to include more 
exchange properties at once, for example `property_*` or only the `*` to 
include all available exchange properties.
+|`camel.mdc.customExchangeHeaders` |  | Provide the exchange headers you would 
like to trace in MDC. Use `+*+` value as a wildcard to include more exchange 
headers at once, for example `+CAMEL_HTTP_*+` or only the `+*+` to include all 
available exchange headers.
+|`camel.mdc.customExchangeProperties` |  | Provide the exchange properties you 
would like to trace in MDC. Use `+*+` value as a wildcard to include more 
exchange properties at once, for example `+property_*+` or only the `+*+` to 
include all available exchange properties.
 |=======================================================================
diff --git a/components/camel-opa/src/main/docs/opa-component.adoc 
b/components/camel-opa/src/main/docs/opa-component.adoc
index e57b5c85ee49..b20e097915a9 100644
--- a/components/camel-opa/src/main/docs/opa-component.adoc
+++ b/components/camel-opa/src/main/docs/opa-component.adoc
@@ -180,7 +180,7 @@ allow if {
 }
 ------------------------------------------------------------
 
-`includeProperties` takes a comma-separated list, or `*` for all of them, and 
matches names case-insensitively.
+`includeProperties` takes a comma-separated list, or `+*+` for all of them, 
and matches names case-insensitively.
 Unlike `includeHeaders` it is *empty by default*: exchange properties are 
mostly used to carry state between
 processors, so sending them all would be noise the policy has to wade through. 
Only custom properties are sent —
 Camel's own internal exchange properties are never included.
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
index 1c5d0639007a..2799ad236521 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
@@ -1047,12 +1047,12 @@ without changes. Routes that set the headers by their 
literal string value
 
 Because the renamed prefixes now begin with `Camel`, they are stripped by the
 standard transport `HeaderFilterStrategy` (`HttpHeaderFilterStrategy`, etc.)
-when crossing a transport boundary, by design — `Camel*` headers are
+when crossing a transport boundary, by design — `+Camel*+` headers are
 framework-internal and are not propagated over the wire. Routes that bridge an
 external transport (HTTP, JMS, ...) into a `solr:` producer and want to drive
 Solr document fields or query parameters from a header supplied by the sender
 must therefore carry the value in a non-`Camel`-prefixed application header and
-map it to the appropriate `CamelSolrField.*` / `CamelSolrParam.*` header in the
+map it to the appropriate `+CamelSolrField.*+` / `+CamelSolrParam.*+` header 
in the
 route between the transport `from` and the `solr:` `to`.
 
 === camel-dapr - potential breaking change
@@ -1263,9 +1263,9 @@ effect from 4.14.9 onwards; see the
 entry below.
 ====
 
-`UndertowHeaderFilterStrategy` now also filters the legacy `websocket.*`
-Exchange-header prefix (in addition to the `Camel*` / `camel*` /
-`org.apache.camel.*` prefixes it already filtered). This applies to both the
+`UndertowHeaderFilterStrategy` now also filters the legacy `+websocket.*+`
+Exchange-header prefix (in addition to the `+Camel*+` / `+camel*+` /
+`+org.apache.camel.*+` prefixes it already filtered). This applies to both the
 in (wire -> exchange) and out (exchange -> wire) directions and follows the
 dedicated-filter-strategy shape used by CAMEL-23532 for
 `camel-vertx-websocket` / `camel-atmosphere-websocket` / `camel-iggy`.
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc
index 8787e26c2f1e..c4923b32658c 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc
@@ -186,7 +186,7 @@ and any type a cluster peer sent was routed.
 
 When no explicit pattern is configured, the JVM-wide `jdk.serialFilter` is 
honoured if set,
 otherwise a conservative default allow-list is applied
-(`!java.net.**;java.**;javax.**;org.apache.camel.**;!*`), matching the default 
the other components
+(`+!java.net.**;java.**;javax.**;org.apache.camel.**;!*+`), matching the 
default the other components
 that can receive Java-serialized payloads have applied since 4.18.3. Routes 
that exchange their own
 classes over the cluster must widen it through the new `deserializationFilter` 
endpoint option, for
 example:
@@ -633,7 +633,7 @@ messages from untrusted producers) could override 
transport-security settings su
 `mail.smtp.ssl.trust` or `mail.smtp.starttls.enable`, or redirect the SMTP 
connection.
 
 This behaviour is now disabled by default. Routes that legitimately rely on 
per-message
-`mail.smtp.*` / `mail.smtps.*` headers must opt back in on the endpoint:
+`+mail.smtp.*+` / `+mail.smtps.*+` headers must opt back in on the endpoint:
 
 ._Java-only: opting in to JavaMail session properties from headers_
 [source,java]
@@ -642,7 +642,7 @@ This behaviour is now disabled by default. Routes that 
legitimately rely on per-
 ----
 
 Even with the opt-in, route authors should still strip the namespace with
-`removeHeaders("mail.smtp.*", "mail.smtps.*")` between any untrusted ingress 
and the mail producer.
+`+removeHeaders("mail.smtp.*", "mail.smtps.*")+` between any untrusted ingress 
and the mail producer.
 
 In addition, the inbound `MailHeaderFilterStrategy` now blocks the 
`mail.smtp.` / `mail.smtps.`
 prefix as well, so an external mail message can no longer inject these into a 
downstream exchange.
@@ -1394,12 +1394,12 @@ without changes. Routes that set the headers by their 
literal string value
 
 Because the renamed prefixes now begin with `Camel`, they are stripped by the
 standard transport `HeaderFilterStrategy` (`HttpHeaderFilterStrategy`, etc.)
-when crossing a transport boundary, by design — `Camel*` headers are
+when crossing a transport boundary, by design — `+Camel*+` headers are
 framework-internal and are not propagated over the wire. Routes that bridge an
 external transport (HTTP, JMS, ...) into a `solr:` producer and want to drive
 Solr document fields or query parameters from a header supplied by the sender
 must therefore carry the value in a non-`Camel`-prefixed application header and
-map it to the appropriate `CamelSolrField.*` / `CamelSolrParam.*` header in the
+map it to the appropriate `+CamelSolrField.*+` / `+CamelSolrParam.*+` header 
in the
 route between the transport `from` and the `solr:` `to`.
 
 === camel-dapr - potential breaking change
@@ -1802,9 +1802,9 @@ effect from 4.18.4 onwards; see the
 entry below.
 ====
 
-`UndertowHeaderFilterStrategy` now also filters the legacy `websocket.*`
-Exchange-header prefix (in addition to the `Camel*` / `camel*` /
-`org.apache.camel.*` prefixes it already filtered). This applies to both the
+`UndertowHeaderFilterStrategy` now also filters the legacy `+websocket.*+`
+Exchange-header prefix (in addition to the `+Camel*+` / `+camel*+` /
+`+org.apache.camel.*+` prefixes it already filtered). This applies to both the
 in (wire -> exchange) and out (exchange -> wire) directions and follows the
 dedicated-filter-strategy shape used by CAMEL-23532 for
 `camel-vertx-websocket` / `camel-atmosphere-websocket` / `camel-iggy`.
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_19.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_19.adoc
index 5e4a331e4066..ffb0c2d2daa4 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_19.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_19.adoc
@@ -323,9 +323,9 @@ After:
 </dependency>
 ----
 
-You will also need to change any imports of classes in 
`org.apache.camel.test.junit5.*` to `import org.apache.camel.test.junit6.*`.
+You will also need to change any imports of classes in 
`+org.apache.camel.test.junit5.*+` to `+import org.apache.camel.test.junit6.*+`.
 
-Similarly, for camel-test-main-junit5 you would need to change any imports of 
classes in `org.apache.camel.test.main.junit5.*` to 
`org.apache.camel.test.main.junit6.*`, and the dependency in your pom.xml would 
change from:
+Similarly, for camel-test-main-junit5 you would need to change any imports of 
classes in `+org.apache.camel.test.main.junit5.*+` to 
`+org.apache.camel.test.main.junit6.*+`, and the dependency in your pom.xml 
would change from:
 
 Before:
 [source,xml]
@@ -349,7 +349,7 @@ After:
 </dependency>
 ----
 
-Finally, for camel-test-spring-junit5 any imports would change from 
`org.apache.camel.test.spring.junit5.*` to `import 
org.apache.camel.test.spring.junit6.*` and the dependency change would be :
+Finally, for camel-test-spring-junit5 any imports would change from 
`+org.apache.camel.test.spring.junit5.*+` to `+import 
org.apache.camel.test.spring.junit6.*+` and the dependency change would be :
 
 Before:
 [source,xml]
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc
index 94472b7edfa8..ed522d0008c1 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc
@@ -408,9 +408,9 @@ Set `validateAuth=false` explicitly only when intentionally 
serving unauthentica
 
 === camel-kafka / Spring Boot
 
-When using `camel-kafka-starter` with Spring Boot, the standard 
`spring.kafka.*` properties are now automatically
+When using `camel-kafka-starter` with Spring Boot, the standard 
`+spring.kafka.*+` properties are now automatically
 bridged to the Camel Kafka component configuration (CAMEL-22760). This means 
you no longer need to duplicate
-Kafka settings under both `spring.kafka.*` and `camel.component.kafka.*`.
+Kafka settings under both `+spring.kafka.*+` and `+camel.component.kafka.*+`.
 
 The bridged properties include `bootstrap-servers`, `security.protocol`, 
SSL/TLS settings (keystore, truststore),
 `consumer.group-id`, `client-id`, and SASL properties (`sasl.mechanism`, 
`sasl.jaas.config`, `sasl.kerberos.service.name`).
@@ -427,8 +427,8 @@ camel.component.kafka.bridge-spring-kafka-properties=false
 === Default deserialization filter tightened
 
 The default `ObjectInputFilter` pattern that ships with the components listed 
below has been tightened
-to explicitly deny classes under `java.net.**` before allowing the rest of 
`java.**`, `javax.**` and
-`org.apache.camel.**`. The previous default did not deny `java.net.**`, which 
meant classes whose
+to explicitly deny classes under `+java.net.**+` before allowing the rest of 
`+java.**+`, `+javax.**+` and
+`+org.apache.camel.**+`. The previous default did not deny `+java.net.**+`, 
which meant classes whose
 `hashCode`/`equals` methods perform network I/O (notably `java.net.URL` and 
`java.net.InetAddress`)
 could be deserialized by the in-code default.
 
@@ -446,8 +446,8 @@ The new default is:
 !java.net.**;java.**;javax.**;org.apache.camel.**;!*
 ----
 
-(or `!java.net.**;java.**;org.apache.camel.**;!*` for the aggregation 
repository components, which
-do not include `javax.**`).
+(or `+!java.net.**;java.**;org.apache.camel.**;!*+` for the aggregation 
repository components, which
+do not include `+javax.**+`).
 
 The endpoint-level option `deserializationFilter` and the JVM-wide system 
property
 `-Djdk.serialFilter` continue to override this default. Applications that have 
a legitimate need to
@@ -1018,12 +1018,12 @@ without changes. Routes that set the headers by their 
literal string value
 
 Because the renamed prefixes now begin with `Camel`, they are stripped by the
 standard transport `HeaderFilterStrategy` (`HttpHeaderFilterStrategy`, etc.)
-when crossing a transport boundary, by design — `Camel*` headers are
+when crossing a transport boundary, by design — `+Camel*+` headers are
 framework-internal and are not propagated over the wire. Routes that bridge an
 external transport (HTTP, JMS, ...) into a `solr:` producer and want to drive
 Solr document fields or query parameters from a header supplied by the sender
 must therefore carry the value in a non-`Camel`-prefixed application header and
-map it to the appropriate `CamelSolrField.*` / `CamelSolrParam.*` header in the
+map it to the appropriate `+CamelSolrField.*+` / `+CamelSolrParam.*+` header 
in the
 route between the transport `from` and the `solr:` `to`.
 
 === camel-aws2-s3
@@ -1079,8 +1079,8 @@ The HTTP components (which share `camel-http-common`) now 
apply a Java deseriali
 `allowJavaSerializedObject` / `transferException` path, aligning them with 
`camel-netty-http`, `camel-jms`
 and `camel-vertx-http`. A new `deserializationFilter` component option (same 
syntax as `jdk.serialFilter`)
 can be set to customise it; when unset, the JVM-wide `jdk.serialFilter` is 
used if present, otherwise a
-conservative default filter (denying `java.net.**`, allowing `java.**` / 
`javax.**` /
-`org.apache.camel.**`, with JEP-290 graph-shape limits) is applied. This is a 
defense-in-depth measure on
+conservative default filter (denying `+java.net.**+`, allowing `+java.**+` / 
`+javax.**+` /
+`+org.apache.camel.**+`, with JEP-290 graph-shape limits) is applied. This is 
a defense-in-depth measure on
 an already opt-in path; a serialized payload that was accepted before may now 
be rejected if it references
 a denied class.
 
@@ -1485,9 +1485,9 @@ effect from 4.22.0 onwards; see the
 entry in the 4.21 to 4.22 upgrade guide.
 ====
 
-`UndertowHeaderFilterStrategy` now also filters the legacy `websocket.*`
-Exchange-header prefix (in addition to the `Camel*` / `camel*` /
-`org.apache.camel.*` prefixes it already filtered). This applies to both the
+`UndertowHeaderFilterStrategy` now also filters the legacy `+websocket.*+`
+Exchange-header prefix (in addition to the `+Camel*+` / `+camel*+` /
+`+org.apache.camel.*+` prefixes it already filtered). This applies to both the
 in (wire -> exchange) and out (exchange -> wire) directions and follows the
 dedicated-filter-strategy shape used by CAMEL-23532 for
 `camel-vertx-websocket` / `camel-atmosphere-websocket` / `camel-iggy`.
@@ -2154,10 +2154,10 @@ headers and are unchanged.
 `KafkaConstants.OVERRIDE_TOPIC` and `KafkaConstants.OVERRIDE_TIMESTAMP` are
 producer-read headers consulted by `KafkaProducer.evaluateTopic()` and the
 timestamp override path. The rename also closes the cross-transport
-propagation gap where these headers, in their previous `kafka.*` form,
+propagation gap where these headers, in their previous `+kafka.*+` form,
 would pass through `HttpHeaderFilterStrategy` (which only filters the
 `Camel` prefix) on an upstream HTTP / REST consumer wired to a Kafka
-producer in the same route. With the new `CamelKafka*` values, the default
+producer in the same route. With the new `+CamelKafka*+` values, the default
 filter strategy strips them at the transport boundary.
 
 Routes that reference the constants symbolically (for example
@@ -2238,7 +2238,7 @@ at the old filenames; routes referencing the dataformats 
by `name` are unaffecte
 
 === camel-platform-http-main
 
-Two new optional configuration properties are available on both 
`camel.server.*` and `camel.management.*`
+Two new optional configuration properties are available on both 
`+camel.server.*+` and `+camel.management.*+`
 for the embedded HTTP server:
 
 * `jwtIssuer` — when set, validates the `iss` (issuer) claim of incoming JWT 
tokens.
@@ -2389,9 +2389,9 @@ The in-code default `ObjectInputFilter` shipped by the 
following components now
 
 The new defaults are:
 
-* 
`!java.net.**;java.**;javax.**;org.apache.camel.**;maxdepth=20;maxrefs=10000;maxbytes=10485760;!*`
+* 
`+!java.net.**;java.**;javax.**;org.apache.camel.**;maxdepth=20;maxrefs=10000;maxbytes=10485760;!*+`
   (camel-infinispan, camel-mina, camel-netty, camel-netty-http, 
camel-vertx-http)
-* 
`!java.net.**;java.**;org.apache.camel.**;maxdepth=20;maxrefs=10000;maxbytes=10485760;!*`
+* 
`+!java.net.**;java.**;org.apache.camel.**;maxdepth=20;maxrefs=10000;maxbytes=10485760;!*+`
   (camel-leveldb, camel-cassandraql, camel-consul, camel-sql)
 
 These limits provide defense-in-depth so that operators who have not set 
`-Djdk.serialFilter` still get
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
index 565d85c70ada..a964fb36ea5b 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
@@ -1943,8 +1943,8 @@ from("direct:next")
 ----
 
 The sibling websocket components are not affected by this change: 
`camel-undertow`
-keeps the `websocket.*` values in `UndertowConstants` (as documented in the 
4.18
-upgrade guide), and `camel-vertx-websocket` keeps its `CamelVertxWebsocket.*` 
values.
+keeps the `+websocket.*+` values in `UndertowConstants` (as documented in the 
4.18
+upgrade guide), and `camel-vertx-websocket` keeps its 
`+CamelVertxWebsocket.*+` values.
 
 Note that `WebsocketConstants.SEND_TO_ALL` is not read by this component. 
Broadcast is
 selected through the `sendToAll` endpoint option, not through the header; the 
constant
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
index b87d2913d5d9..e8836d94d130 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
@@ -700,7 +700,7 @@ the Camel message. That strategy filters the `mail.smtp.` 
and `mail.smtps.` pref
 path in addition to `Camel*`/`camel*`, so the data format now filters the same 
namespace the mail
 consumer has filtered since 4.14.9/4.18.4/4.22.0.
 
-Routes that relied on `mail.smtp.*` or `mail.smtps.*` headers arriving on the 
exchange from an
+Routes that relied on `+mail.smtp.*+` or `+mail.smtps.*+` headers arriving on 
the exchange from an
 unmarshalled MIME message must set those values explicitly on the route 
instead. Ordinary
 application headers are unaffected.
 
@@ -1037,8 +1037,8 @@ when an endpoint is created, so existing subclasses 
continue to behave as before
 === camel-jetty
 
 `enableCORS=true` added `new CrossOriginFilter()` with no init parameters, so 
Jetty's own defaults
-applied: `allowedOrigins=*` together with `allowCredentials=true`. Since the 
filter reflects the request's
-origin rather than sending `*`, that is the credentialed any-origin 
configuration the fetch specification
+applied: `+allowedOrigins=*+` together with `allowCredentials=true`. Since the 
filter reflects the request's
+origin rather than sending `+*+`, that is the credentialed any-origin 
configuration the fetch specification
 refuses to express — reflecting the origin being the usual way around that 
rule. An option named "enable
 CORS" should not mean "every origin, with credentials".
 
@@ -1653,10 +1653,10 @@ system property, or inject it from an external secret 
store.
 
 ==== Starter configuration options that cannot be bound are reported
 
-The starters bind `camel.component.*`, `camel.dataformat.*` and 
`camel.language.*` onto the Camel component,
+The starters bind `+camel.component.*+`, `+camel.dataformat.*+` and 
`+camel.language.*+` onto the Camel component,
 data format or language they configure. Two steps of that binding used to 
discard a configured value without
 reporting it, so a mistyped or unbindable option left the target at its 
default and nothing appeared in the
-log. Both now report the value they cannot use, which matches what 
`camel.rest.*` has always done.
+log. Both now report the value they cannot use, which matches what 
`+camel.rest.*+` has always done.
 
 An option of a complex (object) type is configured with a reference to a bean, 
such as:
 
@@ -1665,11 +1665,11 @@ An option of a complex (object) type is configured with 
a reference to a bean, s
 camel.component.http.ssl-context-parameters = #bean:mySslContextParameters
 ----
 
-The generated converter used to return `null` for any value that did not start 
with `#`, and for a value
+The generated converter used to return `null` for any value that did not start 
with `+#+`, and for a value
 naming a bean that does not exist. A typo in the bean id therefore produced a 
component with the option
 unset. Such a value now aborts startup with a message naming the value, the 
target type and the
-configuration prefix it was set under. A plain bean id with no `#` prefix — 
`mySslContextParameters` — is
-resolved rather than discarded, as are `#autowired` and `#type:com.foo.MyType`.
+configuration prefix it was set under. A plain bean id with no `+#+` prefix — 
`mySslContextParameters` — is
+resolved rather than discarded, as are `+#autowired+` and 
`+#type:com.foo.MyType+`.
 
 These converters are registered with `@ConfigurationPropertiesBinding` and 
therefore take part in every
 `@ConfigurationProperties` binding in the application, not only in Camel's 
own. A binding whose target class
diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-mcp.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-jbang-mcp.adoc
index 7d7547aa00e6..daed2838a27d 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang-mcp.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-mcp.adoc
@@ -186,7 +186,7 @@ The assistant discovers components, looks up documentation, 
builds a YAML route,
 
 === Validation
 
-* _"Validate this endpoint: `kafka:myTopic?brkers=localhost:9092`"_ — detects 
the typo and suggests `brokers`
+* _"Validate this endpoint: ``kafka:myTopic?brkers=localhost:9092``"_ — 
detects the typo and suggests `brokers`
 * _"Validate this YAML route"_ — checks against the YAML DSL JSON schema, 
reports invalid elements
 
 === Understanding, security, and testing
diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-tui.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-jbang-tui.adoc
index 730c49973b5c..c44e615e4382 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang-tui.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-tui.adoc
@@ -174,7 +174,7 @@ right panel with full syntax highlighting.
 For Camel source files (YAML, XML, Java routes, and `application.properties`), 
press *i* to toggle
 inline documentation. The TUI uses the Camel catalog to look up every 
component, EIP, language,
 and data format used in your route and shows their documentation right next to 
the source code.
-For properties files, it resolves `camel.component.*` and `camel.main.*` keys 
to their catalog
+For properties files, it resolves `+camel.component.*+` and `+camel.main.*+` 
keys to their catalog
 descriptions. This makes it easy to understand unfamiliar routes without 
leaving the terminal.
 
 Additional features:
@@ -200,8 +200,8 @@ Camel routes:
 * *Word navigation* -- *Ctrl+Left/Right* to jump by word
 * *Smart Home* -- *Home* key alternates between content indent and column 0
 * *Tab completion* -- press *Tab* for context-aware completion:
-** In `application.properties`: Camel configuration options (`camel.main.*`, 
`camel.component.*`, etc.)
-   and Spring Boot auto-configuration properties (`server.*`, `spring.*`, 
`management.*`, etc.)
+** In `application.properties`: Camel configuration options (`+camel.main.*+`, 
`+camel.component.*+`, etc.)
+   and Spring Boot auto-configuration properties (`+server.*+`, `+spring.*+`, 
`+management.*+`, etc.)
    resolved from starter JARs in the local Maven repository — works even for 
stopped projects
 ** In YAML DSL routes: EIP names, component URIs, option keys and values
 
@@ -931,7 +931,7 @@ returns that section only; pass `sections` to list what the 
document contains. S
 
 When the AI panel is open, input that starts with `/` runs a local panel 
command instead of sending a question to the configured AI provider. 
`/provider` and `/model` are unavailable while a response or command is already 
in progress; the panel shows a message asking you to wait.
 
-Press *Tab* to complete a command name. After `/model ` *Tab* completes the 
model name against the
+Press *Tab* to complete a command name. After `++/model ++` *Tab* completes 
the model name against the
 models the current provider reports (the list is fetched in the background on 
the first press, so
 press *Tab* again once it has arrived), and after `/tools ` it completes 
`auto`, `core` or `full`.
 With several matches *Tab* fills in the common prefix and then cycles through 
them; *Shift+Tab*
diff --git a/docs/user-manual/modules/ROOT/pages/security-model.adoc 
b/docs/user-manual/modules/ROOT/pages/security-model.adoc
index 6245a25b1ced..35cb0904133f 100644
--- a/docs/user-manual/modules/ROOT/pages/security-model.adoc
+++ b/docs/user-manual/modules/ROOT/pages/security-model.adoc
@@ -228,7 +228,7 @@ which protective property it breaks.
 | Critical (CVSS 9.0-10.0)
 
 | Untrusted data cannot redirect the route to a different endpoint, bean, 
method or command
-| A control header injected from the wire changes where the exchange is 
dispatched, which operation runs, or which transport and credentials are used - 
whether it is spelled inside the internal namespace (`CamelBeanMethodName`, 
`CamelExecCommandExecutable`, `CamelHttpUri`, `CamelJmsDestinationName`, ...) 
or outside it (`websocket.connectionKey`, `gridfs.*`, `irc.sendTo`, 
`operationName`, `mail.smtp.*`, ...)
+| A control header injected from the wire changes where the exchange is 
dispatched, which operation runs, or which transport and credentials are used - 
whether it is spelled inside the internal namespace (`CamelBeanMethodName`, 
`CamelExecCommandExecutable`, `CamelHttpUri`, `CamelJmsDestinationName`, ...) 
or outside it (`websocket.connectionKey`, `+gridfs.*+`, `irc.sendTo`, 
`operationName`, `+mail.smtp.*+`, ...)
 | Critical (CVSS 9.0-9.8)
 
 | Untrusted data is never deserialised into arbitrary Java types
@@ -319,11 +319,11 @@ against core code, and the triager needs the core-side 
statement to judge it.
 | Out of scope (no engine guarantee)
 |===
 
-A candidate located in a `core/camel-*` module is judged against these
+A candidate located in a `+core/camel-*+` module is judged against these
 invariants first. If the engine upheld the invariant and the violation arises
 only because a route author authored an expression or route over untrusted
 input, or wired an untrusted source straight through without
-`removeHeaders("Camel*")`, the disposition is the route-author position in
+`+removeHeaders("Camel*")+`, the disposition is the route-author position in
 _Out of scope_, not a framework vulnerability - the same line the rest of this
 model draws between the route plus its configuration and the data flowing
 through it.
@@ -422,14 +422,14 @@ the misunderstanding can be closed against the correct 
contract.
   does not, and cannot, strip the application-level headers a component
   reads as semantic input. Route authors who need application-header
   sanitisation must do it explicitly at the trust boundary.
-* *`removeHeaders("Camel*")` strips the internal-dispatch headers, not
+* *`+removeHeaders("Camel*")+` strips the internal-dispatch headers, not
   every untrusted-origin header.* It is the recommended trust-boundary
   hygiene against the internal-header dispatch class (see _Deployment
   hardening_), and it is necessary; it is not, on its own, sufficient
   to sanitise the application headers a downstream component will trust.
   It also does not match a control header spelled outside the namespace -
-  `websocket.connectionKey`, `gridfs.*`, `irc.sendTo`, `operationName`,
-  `mail.smtp.*`. Those are the framework's responsibility to filter and
+  `websocket.connectionKey`, `+gridfs.*+`, `irc.sendTo`, `operationName`,
+  `+mail.smtp.*+`. Those are the framework's responsibility to filter and
   have been fixed as advisories where they were reachable, but a route
   running against a release that predates the relevant fix needs the
   namespace stripped explicitly as well.
@@ -619,7 +619,7 @@ it is called, when it selects any of:
   CVE-2026-46453 `camel-elasticsearch-rest-client`);
 * *the transport or its credentials* - which host, protocol, TLS posture or
   authentication the component uses (CVE-2026-46584 `camel-mail`, where
-  attacker-supplied `mail.smtp.*` / `mail.smtps.*` headers were applied as
+  attacker-supplied `+mail.smtp.*+` / `+mail.smtps.*+` headers were applied as
   JavaMail session properties, weakening SMTP transport security and, before
   4.19.0, redirecting the connection and disclosing the configured
   credentials).
@@ -648,7 +648,7 @@ needs an effective strategy:
   headers of the message being unmarshalled onto the `Exchange` with no
   filter at all. CAMEL-24419 then showed the second half of the lesson - the
   data format had been given a plain `DefaultHeaderFilterStrategy`, which
-  knows only `Camel*` / `camel*`, so the `mail.smtp.*` namespace that the
+  knows only `+Camel*+` / `+camel*+`, so the `+mail.smtp.*+` namespace that the
   *consumer* path deliberately filters was still admitted through the
   unmarshal path. An entry point that filters a narrower namespace than its
   sibling entry point is a gap, not a difference in configuration.
@@ -677,19 +677,19 @@ outcome. Presence of a defence in the source is not 
evidence that it executes;
 both the reporter and the triager have to establish that the guard is on the
 live path.
 
-The prefixed headers of the API-based components - `CamelFhir.*`,
-`CamelBox.*`, `CamelOlingo4.*`, `CamelAs2.*` and the other
+The prefixed headers of the API-based components - `+CamelFhir.*+`,
+`+CamelBox.*+`, `+CamelOlingo4.*+`, `+CamelAs2.*+` and the other
 `camel-api-component` generated producers, which select the API method and its
-arguments - sit inside the `Camel*` namespace, so they are governed by exactly
-this rule. The project's position on a `Camel<Api>.*` header reaching an API
+arguments - sit inside the `+Camel*+` namespace, so they are governed by 
exactly
+this rule. The project's position on a `+Camel<Api>.*+` header reaching an API
 producer from an untrusted source is therefore *conditional, and the condition
 is at the inbound consumer, not at the API producer*; it is not "always out of
-scope". A consumer that admits a `Camel<Api>.*` header from an untrusted source
-without an effective case-insensitive `Camel*` `HeaderFilterStrategy` is in
+scope". A consumer that admits a `+Camel<Api>.*+` header from an untrusted 
source
+without an effective case-insensitive `+Camel*+` `HeaderFilterStrategy` is in
 scope regardless of which producer ultimately consumes the header - this is the
 same class as the CVE-2025-27636 family. The API producer honouring a
-`Camel<Api>.*` header that reached it only because a route author wired an
-untrusted source straight to the producer without `removeHeaders("Camel*")`,
+`+Camel<Api>.*+` header that reached it only because a route author wired an
+untrusted source straight to the producer without `+removeHeaders("Camel*")+`,
 while the inbound filter was in place and effective, is the documented
 bean-dispatch contract (see _Known limitations_), not a framework
 vulnerability.
@@ -1021,7 +1021,7 @@ they are, the change is announced through the normal 
upgrade-guide channel.
   side the inbound `Camel*` `HeaderFilterStrategy` is applied by default since
   4.21 (CAMEL-23543), and component authors must not opt out of it.
 * *The framework's automatic header filtering is scoped to the internal
-  `Camel*` namespace.* Since 4.21 (CAMEL-23543) `DefaultHeaderFilterStrategy`
+  `+Camel*+` namespace.* Since 4.21 (CAMEL-23543) `DefaultHeaderFilterStrategy`
   filters that namespace case-insensitively *by default, in both directions,
   for every consumer and producer that uses it*, with no per-component
   configuration; it does not, and cannot, filter
@@ -1094,7 +1094,7 @@ Disposition is `KNOWN-NON-FINDING` (see _Triage 
dispositions_).
   reference allows RCE."* These are route-author primitives by design.
   Route code is trusted code; see the route-author entry in _Out of
   scope_ and the route-author row in _Roles_.
-* *"A `Camel*` header controls dispatch, therefore
+* *"A `+Camel*+` header controls dispatch, therefore
   the consumer is vulnerable."* Bean-based dispatch via internal headers
   is the public contract for letting a route control component behaviour;
   see the second bullet under _Known limitations_. A finding is in scope
@@ -1118,8 +1118,8 @@ Disposition is `KNOWN-NON-FINDING` (see _Triage 
dispositions_).
   it is a control header, it is in scope however it is spelled, and the
   disposition is not `KNOWN-NON-FINDING` - see the control-header
   definition under the Camel-header class in _In-scope vulnerability
-  classes_, and the advisories cited there for `websocket.*`, `gridfs.*`,
-  `irc.*`, `operationName` and `mail.smtp.*`. The absence of a `Camel`
+  classes_, and the advisories cited there for `+websocket.*+`, `+gridfs.*+`,
+  `+irc.*+`, `operationName` and `+mail.smtp.*+`. The absence of a `Camel`
   prefix decides nothing on its own.
 * *"`DefaultHeaderFilterStrategy` can be bypassed by changing the case
   (`caMEL`, `CAMEL`)."* The default strategy is case-insensitive out of
@@ -1179,11 +1179,11 @@ Disposition is `KNOWN-NON-FINDING` (see _Triage 
dispositions_).
   enables an unsafe behaviour."* Documented opt-ins; the operator has
   explicitly accepted the consequence. See the explicit-opt-in entry in
   _Out of scope_.
-* *"A finding lands in a `core/camel-*` module."* Routed first against
+* *"A finding lands in a `+core/camel-*+` module."* Routed first against
   _Core router-engine invariants_. If the engine upheld every listed
   invariant and the violation arises only because a route author
   authored an expression or route over untrusted input, or wired an
-  untrusted source straight through without `removeHeaders("Camel*")`,
+  untrusted source straight through without `+removeHeaders("Camel*")+`,
   the disposition is the route-author position in _Out of scope_.
 
 === Triage dispositions
@@ -1463,13 +1463,13 @@ YAML::
 ----
 ====
 * *On older releases, also strip the control-header namespaces of the
-  components in the route.* The framework filters the `Camel*` namespace by
+  components in the route.* The framework filters the `+Camel*+` namespace by
   default and has fixed the non-prefixed control headers it shipped
-  (`websocket.*`, `gridfs.*`, `irc.*`, `operationName`, `mail.smtp.*`) as
+  (`+websocket.*+`, `+gridfs.*+`, `+irc.*+`, `operationName`, `+mail.smtp.*+`) 
as
   those were found; each fix names its affected and fixed versions in the
   corresponding advisory at link:/security/[]. Where a deployment cannot yet
   move to a release that carries them, add the relevant prefixes to the
-  `removeHeaders` pattern at the trust boundary alongside `Camel*`.
+  `removeHeaders` pattern at the trust boundary alongside `+Camel*+`.
 * *Do not enable Java serialisation on consumers exposed to untrusted
   networks.* In particular, do not set `allowJavaSerializedObject=true`,
   `transferException=true`, or `mapJmsMessage=true` on a JMS consumer when the
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc
index 6773f8a975c4..e8d9b667269a 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc
@@ -837,7 +837,7 @@ a simpler, more predictable schema structure. The classic 
schema remains the def
 === Using the schemas with IDEs
 
 The classic schema is registered in the https://www.schemastore.org/[JSON 
Schema Store] and is automatically
-used by IDEs like VS Code and IntelliJ for files matching `*.camel.yaml` and 
`*.camelk.yaml`.
+used by IDEs like VS Code and IntelliJ for files matching `+*.camel.yaml+` and 
`+*.camelk.yaml+`.
 
 To use the canonical schema instead, configure your IDE to point to the 
canonical schema URL:
 

Reply via email to