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

djencks pushed a commit to branch camel-3.12.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ecc759408cd493c98f4b7f8201a943d664660fbe
Author: David Jencks <[email protected]>
AuthorDate: Sun Oct 24 11:25:27 2021 -0700

    manual is unversioned
---
 .../src/main/docs/test-spring-junit5.adoc          | 10 +++---
 .../camel-xpath/src/main/docs/xpath-language.adoc  |  4 +--
 .../src/main/docs/properties-component.adoc        |  2 +-
 .../docs/modules/eips/pages/aggregate-eip.adoc     | 10 +++---
 .../src/main/docs/modules/eips/pages/bean-eip.adoc |  6 ++--
 .../docs/modules/eips/pages/channel-adapter.adoc   |  2 +-
 .../main/docs/modules/eips/pages/choice-eip.adoc   |  2 +-
 .../docs/modules/eips/pages/content-enricher.adoc  |  6 ++--
 .../modules/eips/pages/content-filter-eip.adoc     |  6 ++--
 .../modules/eips/pages/correlation-identifier.adoc |  6 ++--
 .../modules/eips/pages/dead-letter-channel.adoc    | 26 +++++++-------
 .../main/docs/modules/eips/pages/delay-eip.adoc    |  2 +-
 .../docs/modules/eips/pages/dynamicRouter-eip.adoc |  4 +--
 .../main/docs/modules/eips/pages/enrich-eip.adoc   |  2 +-
 .../docs/modules/eips/pages/event-message.adoc     | 12 +++----
 .../src/main/docs/modules/eips/pages/from-eip.adoc |  2 +-
 .../modules/eips/pages/idempotentConsumer-eip.adoc |  6 ++--
 .../main/docs/modules/eips/pages/intercept.adoc    | 16 ++++-----
 .../main/docs/modules/eips/pages/kamelet-eip.adoc  |  6 ++--
 .../docs/modules/eips/pages/loadBalance-eip.adoc   |  2 +-
 .../src/main/docs/modules/eips/pages/log-eip.adoc  |  6 ++--
 .../src/main/docs/modules/eips/pages/loop-eip.adoc |  2 +-
 .../docs/modules/eips/pages/message-endpoint.adoc  |  4 +--
 .../docs/modules/eips/pages/message-router.adoc    |  6 ++--
 .../modules/eips/pages/message-translator.adoc     | 22 ++++++------
 .../src/main/docs/modules/eips/pages/message.adoc  |  4 +--
 .../docs/modules/eips/pages/messaging-gateway.adoc |  2 +-
 .../docs/modules/eips/pages/messaging-mapper.adoc  |  2 +-
 .../docs/modules/eips/pages/multicast-eip.adoc     |  2 +-
 .../docs/modules/eips/pages/otherwise-eip.adoc     |  2 +-
 .../main/docs/modules/eips/pages/pipeline-eip.adoc |  4 +--
 .../docs/modules/eips/pages/polling-consumer.adoc  | 28 +++++++--------
 .../main/docs/modules/eips/pages/process-eip.adoc  |  8 ++---
 .../eips/pages/publish-subscribe-channel.adoc      |  4 +--
 .../docs/modules/eips/pages/service-activator.adoc |  2 +-
 .../main/docs/modules/eips/pages/threads-eip.adoc  |  2 +-
 .../src/main/docs/modules/eips/pages/toD-eip.adoc  |  4 +--
 .../modules/eips/pages/transactional-client.adoc   |  6 ++--
 .../src/main/docs/modules/eips/pages/when-eip.adoc |  2 +-
 .../main/docs/modules/eips/pages/wireTap-eip.adoc  | 42 +++++++++++-----------
 .../docs/modules/languages/pages/ref-language.adoc |  4 +--
 .../ROOT/partials/component-configure-options.adoc |  6 ++--
 .../camel-groovy-dsl/src/main/docs/groovy-dsl.adoc |  2 +-
 .../src/main/docs/java-joor-dsl.adoc               |  2 +-
 dsl/camel-js-dsl/src/main/docs/js-dsl.adoc         |  2 +-
 dsl/camel-kotlin-dsl/src/main/docs/kotlin-dsl.adoc |  2 +-
 .../src/main/docs/java-xml-io-dsl.adoc             |  2 +-
 .../src/main/docs/java-xml-jaxb-dsl.adoc           |  2 +-
 .../camel-yaml-dsl/src/main/docs/yaml-dsl.adoc     |  2 +-
 49 files changed, 155 insertions(+), 155 deletions(-)

diff --git 
a/components/camel-test/camel-test-spring-junit5/src/main/docs/test-spring-junit5.adoc
 
b/components/camel-test/camel-test-spring-junit5/src/main/docs/test-spring-junit5.adoc
index 5f57d74..5e9bccb 100644
--- 
a/components/camel-test/camel-test-spring-junit5/src/main/docs/test-spring-junit5.adoc
+++ 
b/components/camel-test/camel-test-spring-junit5/src/main/docs/test-spring-junit5.adoc
@@ -138,13 +138,13 @@ The following annotations can be used with 
`camel-spring-junit5` unit testing.
 | @CamelSpringBootTest | Used for testing Camel with Spring Boot
 | @CamelSpringTest | Used for testing Camel with classic Spring XML (not 
Spring Boot)
 | @DisableJmx | Used for disabling JMX
-| @EnableRouteCoverage | Enables dumping route coverage statistic. The route 
coverage status is written as xml files in the `target/camel-route-coverage` 
directory after the test has finished. See more information at 
xref:latest@manual::camel-report-maven-plugin.adoc[Camel Maven Report Plugin].
+| @EnableRouteCoverage | Enables dumping route coverage statistic. The route 
coverage status is written as xml files in the `target/camel-route-coverage` 
directory after the test has finished. See more information at 
xref:manual::camel-report-maven-plugin.adoc[Camel Maven Report Plugin].
 | @ExcludeRoutes | Indicates if certain route builder classes should be 
excluded from package scan discovery
-| @MockEndpoints | Auto-mocking of endpoints whose URIs match the provided 
filter. For more information see xref:latest@manual::advice-with.adoc[Advice 
With].
-| @MockEndpointsAndSkip | Auto-mocking of endpoints whose URIs match the 
provided filter with the added provision that the endpoints are also skipped. 
For more information see xref:latest@manual::advice-with.adoc[Advice With].
+| @MockEndpoints | Auto-mocking of endpoints whose URIs match the provided 
filter. For more information see xref:manual::advice-with.adoc[Advice With].
+| @MockEndpointsAndSkip | Auto-mocking of endpoints whose URIs match the 
provided filter with the added provision that the endpoints are also skipped. 
For more information see xref:manual::advice-with.adoc[Advice With].
 | @ProvidesBreakpoint | Indicates that the annotated method returns a 
`Breakpoint` for use in the test. Useful for intercepting traffic to all 
endpoints or simply for setting a break point in an IDE for debugging. The 
method must be `public static`, take no arguments, and return `Breakpoint`.
-| @ShutdownTimeout | Timeout to use for 
xref:latest@manual::graceful-shutdown.adoc[shutdown]. The default is 10 seconds.
-| @UseAdviceWith | To enable testing with 
xref:latest@manual::advice-with.adoc[Advice With].
+| @ShutdownTimeout | Timeout to use for 
xref:manual::graceful-shutdown.adoc[shutdown]. The default is 10 seconds.
+| @UseAdviceWith | To enable testing with xref:manual::advice-with.adoc[Advice 
With].
 | @UseOverridePropertiesWithPropertiesComponent | To use custom `Properties` 
with the xref:ROOT:properties-component.adoc[Properties] component. The 
annotated method must be `public` and return `Properties`.
 |=======================================================================
 
diff --git a/components/camel-xpath/src/main/docs/xpath-language.adoc 
b/components/camel-xpath/src/main/docs/xpath-language.adoc
index 418e706..f745ba9 100644
--- a/components/camel-xpath/src/main/docs/xpath-language.adoc
+++ b/components/camel-xpath/src/main/docs/xpath-language.adoc
@@ -79,7 +79,7 @@ exchange:
 |in:header |the header name |Object |Will return the message header.
 |out:body |none |Object |*deprecated* Will return the out message body.
 |out:header |the header name |Object |*deprecated* Will return the out message 
header.
-|function:properties |key for property |String |To use a 
xref:latest@manual:ROOT:using-propertyplaceholder.adoc[Property Placeholder].
+|function:properties |key for property |String |To use a 
xref:manual:ROOT:using-propertyplaceholder.adoc[Property Placeholder].
 |function:simple |simple expression |Object |To evaluate a 
xref:simple-language.adoc[Simple] language.
 |===
 
@@ -312,7 +312,7 @@ to use it as a helper to do custom XPath evaluations.
 
 It requires that you pass in a `CamelContext`
 since a lot of the moving parts inside the `XPathBuilder` requires access
-to the Camel xref:latest@manual:ROOT:type-converter.adoc[Type Converter]
+to the Camel xref:manual:ROOT:type-converter.adoc[Type Converter]
 and hence why `CamelContext` is needed.
 
 For example, you can do something like this:
diff --git a/core/camel-base/src/main/docs/properties-component.adoc 
b/core/camel-base/src/main/docs/properties-component.adoc
index 3e757c9..c458295 100644
--- a/core/camel-base/src/main/docs/properties-component.adoc
+++ b/core/camel-base/src/main/docs/properties-component.adoc
@@ -12,7 +12,7 @@ The properties component is used for property placeholders in 
your Camel applica
 It is *not* a regular Camel component with producer and consumer for routing 
messages.
 However, for historical reasons it was named `PropertiesComponent` and this 
name is commonly known so we keep using it.
 
-IMPORTANT: See the 
xref:latest@manual:ROOT:using-propertyplaceholder.adoc[Property Placeholder] 
documentation for general information on using property placeholders in Camel.
+IMPORTANT: See the xref:manual:ROOT:using-propertyplaceholder.adoc[Property 
Placeholder] documentation for general information on using property 
placeholders in Camel.
 
 The properties component requires to load the properties (key=value pairs) 
from an external source such as `.properties` files.
 The component is pluggable, and you can configure to use other sources or 
write a custom implementation (for example to load from a database).
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/aggregate-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/aggregate-eip.adoc
index f844df2..85debb3 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/aggregate-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/aggregate-eip.adoc
@@ -185,7 +185,7 @@ or xref:ROOT:sql-component.adoc[SQL] components.
 
 == Completion
 
-When aggregation xref:latest@manual:ROOT:exchange.adoc[Exchange]s at some 
point you need to
+When aggregation xref:manual:ROOT:exchange.adoc[Exchange]s at some point you 
need to
 indicate that the aggregated exchanges is complete, so they can be sent
 out of the aggregator. Camel allows you to indicate completion in
 various ways as follows:
@@ -197,7 +197,7 @@ key within the period.
 exchanges are completed.
 * _completionSize_ - Is a number indicating that after X aggregated
 exchanges its complete.
-* _completionPredicate_ - Runs a 
xref:latest@manual:ROOT:predicate.adoc[Predicate] when a new
+* _completionPredicate_ - Runs a xref:manual:ROOT:predicate.adoc[Predicate] 
when a new
 exchange is aggregated to determine if we are complete or not.
 The configured aggregationStrategy can implement the
 Predicate interface and will be used as the completionPredicate if no
@@ -206,7 +206,7 @@ override the `preComplete` method and will be used as
 the completionPredicate in pre-complete check mode. See further below
 for more details.
 * _completionFromBatchConsumer_ - Special option for
-xref:latest@manual:ROOT:batch-consumer.adoc[Batch Consumer] which allows you 
to complete
+xref:manual:ROOT:batch-consumer.adoc[Batch Consumer] which allows you to 
complete
 when all the messages from the batch has been aggregated.
 * _forceCompletionOnStop_ - Indicates to complete all current
 aggregated exchanges when the context is stopped
@@ -224,9 +224,9 @@ Completion is mandatory and must be configured on the 
aggregation.
 === Pre-completion mode
 
 There can be use-cases where you want the incoming
-xref:latest@manual:ROOT:exchange.adoc[Exchange] to determine if the 
correlation group
+xref:manual:ROOT:exchange.adoc[Exchange] to determine if the correlation group
 should pre-complete, and then the incoming
-xref:latest@manual:ROOT:exchange.adoc[Exchange] is starting a new group from 
scratch.
+xref:manual:ROOT:exchange.adoc[Exchange] is starting a new group from scratch.
 The pre-completion mode must be enabled by the `AggregationStrategy` by 
overriding the `canPreComplete` method
 to return a `true` value.
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/bean-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/bean-eip.adoc
index 2bb4b2a..4941307 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/bean-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/bean-eip.adoc
@@ -19,7 +19,7 @@ bean:beanID[?options]
 ----
 
 Where *beanID* can be any string which is used to look up the bean in
-the xref:latest@manual:ROOT:registry.adoc[Registry].
+the xref:manual:ROOT:registry.adoc[Registry].
 
 == EIP options
 
@@ -115,6 +115,6 @@ In XML DSL this is also possible using `beanType`:
 How bean methods to be invoked are chosen (if they are not specified
 explicitly through the *method* parameter) and how parameter values are
 constructed from the xref:message.adoc[Message] are all defined by the
-xref:latest@manual:ROOT:bean-binding.adoc[Bean Binding] mechanism which is 
used throughout
-all the various xref:latest@manual:ROOT:bean-integration.adoc[Bean Integration]
+xref:manual:ROOT:bean-binding.adoc[Bean Binding] mechanism which is used 
throughout
+all the various xref:manual:ROOT:bean-integration.adoc[Bean Integration]
 mechanisms in Camel.
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/channel-adapter.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/channel-adapter.adoc
index 9399317..cc5b5ce 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/channel-adapter.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/channel-adapter.adoc
@@ -41,7 +41,7 @@ public class CheeseBean {
 }
 ----
 
-You can also use xref:latest@manual:ROOT:pojo-consuming.adoc[POJO consuming] 
with `@Consume` annotation.
+You can also use xref:manual:ROOT:pojo-consuming.adoc[POJO consuming] with 
`@Consume` annotation.
 
 [source,java]
 ----
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc
index f56ab7c..fcbd830 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc
@@ -106,7 +106,7 @@ from("direct:start")
 However, the code will still not compile.
 
 The reason is we have stretched how far we can take the good old Java language 
in terms of
-xref:latest@manual:ROOT:dsl.adoc[DSL]. In a more dynamic or modern language 
such as Kotlin or Groovy
+xref:manual:ROOT:dsl.adoc[DSL]. In a more dynamic or modern language such as 
Kotlin or Groovy
 you would be able to let it be stack based, so the `.end()` will pop the last 
type of the
 stack, and you would return to the scope of the Choice EIP.
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/content-enricher.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/content-enricher.adoc
index 51cf6a0..1be2248 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/content-enricher.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/content-enricher.adoc
@@ -11,7 +11,7 @@ In Camel the Content Enricher can be done in several ways:
 
 * Using xref:enrich-eip.adoc[Enrich] EIP
 * Using a xref:message-translator.adoc[Message Translator]
-* Using a xref:latest@manual:ROOT:processor.adoc[Processor] with the 
enrichment programmed in Java
+* Using a xref:manual:ROOT:processor.adoc[Processor] with the enrichment 
programmed in Java
 * Using a xref:bean-eip.adoc[Bean] EIP with the enrichment programmed in Java
 
 The most natural Camel approach is using xref:enrich-eip.adoc[Enrich] EIP.
@@ -44,7 +44,7 @@ And in XML
 ----
 
 You can also enrich the message in Java DSL directly (using fluent builder) as 
an
-xref:latest@manual:ROOT:expression.adoc[Expression]. In the example below the 
message
+xref:manual:ROOT:expression.adoc[Expression]. In the example below the message
 is enriched by appending ` World!` to the message body:
 
 [source,java]
@@ -70,7 +70,7 @@ xref:languages:simple-language.adoc[Simple] language:
 
 == Content enrichment using a Processor
 
-In this example we add our own 
xref:latest@manual:ROOT:processor.adoc[Processor] using
+In this example we add our own xref:manual:ROOT:processor.adoc[Processor] using
 explicit Java to enrich the message:
 
 [source,java]
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/content-filter-eip.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/content-filter-eip.adoc
index e8c2e13..3abdaff 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/content-filter-eip.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/content-filter-eip.adoc
@@ -11,12 +11,12 @@ image::eip/ContentFilter.gif[image]
 
 * Using a xref:message-translator.adoc[Message Translator]
 * Invoking a xref:bean-eip.adoc[Bean] with the filtering programmed in Java
-* Using a xref:latest@manual:ROOT:processor.adoc[Processor] with the filtering 
programmed in Java
-* Using an xref:latest@manual:ROOT:expression.adoc[Expression]
+* Using a xref:manual:ROOT:processor.adoc[Processor] with the filtering 
programmed in Java
+* Using an xref:manual:ROOT:expression.adoc[Expression]
 
 == Message Content filtering using a Processor
 
-In this example we add our own 
xref:latest@manual:ROOT:processor.adoc[Processor] using
+In this example we add our own xref:manual:ROOT:processor.adoc[Processor] using
 explicit Java to filter the message:
 
 [source,java]
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc
index 59d4497..7afd1d3 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc
@@ -19,7 +19,7 @@ message exchange to help correlate messages together to a 
single
 conversation (or business process). For example if you need to correlation 
messages when using web services.
 
 The use of a correlation identifier is key to working with 
xref:others:tracing.adoc[Distributed Tracing]
-and be useful when using xref:latest@manual::tracer.adoc[Tracer] messages to 
log,
+and be useful when using xref:manual::tracer.adoc[Tracer] messages to log,
 or testing with simulation or canned data such as with the 
xref:ROOT:mock-component.adoc[Mock] testing framework.
 
 
@@ -27,9 +27,9 @@ or testing with simulation or canned data such as with the 
xref:ROOT:mock-compon
 
 Some xref:enterprise-integration-patterns.adoc[EIP] patterns will spin off a 
sub message, and in
 those cases, Camel will add a correlation id on the
-xref:latest@manual:ROOT:exchange.adoc[Exchange] as a property with they key
+xref:manual:ROOT:exchange.adoc[Exchange] as a property with they key
 `Exchange.CORRELATION_ID`, which links back to the source
-xref:latest@manual:ROOT:exchange.adoc[Exchange] and its exchange id.
+xref:manual:ROOT:exchange.adoc[Exchange] and its exchange id.
 
 The following EIPs does this:
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/dead-letter-channel.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/dead-letter-channel.adoc
index 4484122..5c303b0 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/dead-letter-channel.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/dead-letter-channel.adoc
@@ -5,11 +5,11 @@ 
http://www.enterpriseintegrationpatterns.com/DeadLetterChannel.html[Dead
 Letter Channel] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns] using the
 
https://www.javadoc.io/doc/org.apache.camel/camel-core-processor/current/org/apache/camel/processor/errorhandler/DeadLetterChannel.html[DeadLetterChannel]
-processor which is an xref:latest@manual:ROOT:error-handler.adoc[Error 
Handler].
+processor which is an xref:manual:ROOT:error-handler.adoc[Error Handler].
 
 image::eip/DeadLetterChannelSolution.gif[image]
 
-The Dead Letter Channel is an xref:latest@manual:ROOT:error-handler.adoc[Error 
Handler]
+The Dead Letter Channel is an xref:manual:ROOT:error-handler.adoc[Error 
Handler]
 that implements the principles from the Dead Letter Channel EIP.
 From the illustration above we can see the pattern is that if a message cannot 
be processed or fails during sending, it should be moved to a dead letter queue.
 The dead letter queue, is based on a Camel
@@ -66,7 +66,7 @@ which means this error handler is used globally. You can 
override this per route
 individual routes used another error handler.
 
 NOTE: The DSLs is planned to be improved in the near future to have a unified
-way of configuring error handling across all DSLs, with 
xref:latest@manual:ROOT:route-configuration.adoc[Route Configuration].
+way of configuring error handling across all DSLs, with 
xref:manual:ROOT:route-configuration.adoc[Route Configuration].
 When fully implemented then configuring error handler in Java and XML DSL 
would be much more similar than currently.
 
 === Redelivery
@@ -133,7 +133,7 @@ If you do not want this behaviour you can configure 
`deadLetterHandleNewExceptio
 === What happens when an Exchange is moved to the dead letter queue
 
 When all attempts of redelivery have failed the
-xref:latest@manual:ROOT:exchange.adoc[Exchange] is moved to the dead letter 
queue.
+xref:manual:ROOT:exchange.adoc[Exchange] is moved to the dead letter queue.
 The exchange is then complete, and from the client point of view, the message 
is done being processed.
 
 For instance configuring the dead letter channel as:
@@ -154,8 +154,8 @@ And in XML:
 </errorHandler>
 ----
 
-The Dead Letter error handler will clear the caused exception 
(`setException(null)`), by moving the caused exception to a property on the 
xref:latest@manual:ROOT:exchange.adoc[Exchange], with the key 
`Exchange.EXCEPTION_CAUGHT`.
-Then the xref:latest@manual:ROOT:exchange.adoc[Exchange]
+The Dead Letter error handler will clear the caused exception 
(`setException(null)`), by moving the caused exception to a property on the 
xref:manual:ROOT:exchange.adoc[Exchange], with the key 
`Exchange.EXCEPTION_CAUGHT`.
+Then the xref:manual:ROOT:exchange.adoc[Exchange]
 is moved to the `jms:queue:dead` destination, and the client will not notice 
the failure.
 
 === Moving the original message to the dead letter queue
@@ -173,7 +173,7 @@ from("jms:queue:order:input")
 -----
 
 The route listen for JMS messages and validates, transforms and handle it.
-During this the xref:latest@manual:ROOT:exchange.adoc[Exchange] payload is 
transformed/modified in the various bean stages.
+During this the xref:manual:ROOT:exchange.adoc[Exchange] payload is 
transformed/modified in the various bean stages.
 
 Now suppose that if an exception is thrown we want to move the message to the 
dead letter queue.
 However the message that is moved to the dead letter queue (by default) is the 
current message.
@@ -221,7 +221,7 @@ combining with the parent unit of work and ends up usinguse 
the parent original
 
 === Calling a processor before redelivery using OnRedelivery
 
-When the Dead Letter Channel is doing redeliver its possible to configure a 
xref:latest@manual:ROOT:processor.adoc[Processor]
+When the Dead Letter Channel is doing redeliver its possible to configure a 
xref:manual:ROOT:processor.adoc[Processor]
 that is executed just _before_ every redelivery attempt.
 This can be used for the situations where you need to alter the message before 
its redelivered.
 
@@ -246,9 +246,9 @@ And in XML DSL, you specify a bean id via `onRedeliveryRef` 
on the `<errorHandle
 </errorHandler>
 ----
 
-TIP: Camel also supports 
xref:latest@manual:ROOT:exception-clause.adoc[onException] to use `onRedeliver`.
+TIP: Camel also supports xref:manual:ROOT:exception-clause.adoc[onException] 
to use `onRedeliver`.
 This means you can do special on redelivery for different exceptions, as 
opposed to `onRedelivery` set on
-Dead Letter Channel (or 
xref:latest@manual:ROOT:defaulterrorhandler.adoc[Default Error Handler]) can be 
viewed as global scoped.
+Dead Letter Channel (or xref:manual:ROOT:defaulterrorhandler.adoc[Default 
Error Handler]) can be viewed as global scoped.
 
 
 === Calling a processor before sending message to the dead letter queue using 
OnPrepareFailure
@@ -408,8 +408,8 @@ The `Exchange.TO_ENDPOINT` have the constant value 
`CamelToEndpoint`.
 
 This information is updated when Camel sends a message to any endpoint.
 
-When for example processing the 
xref:latest@manual:ROOT:exchange.adoc[Exchange] at a given
-xref:latest@manual:ROOT:endpoint.adoc[Endpoint] and the message is to be moved 
into the dead letter queue, then Camel also decorates the Exchange with another 
property that contains that *last* endpoint:
+When for example processing the xref:manual:ROOT:exchange.adoc[Exchange] at a 
given
+xref:manual:ROOT:endpoint.adoc[Endpoint] and the message is to be moved into 
the dead letter queue, then Camel also decorates the Exchange with another 
property that contains that *last* endpoint:
 
 [source,java]
 ----
@@ -425,7 +425,7 @@ endpoint uri would be stored as information.
 
 This information is kept on the Exchange even if the message was successfully 
processed by a given endpoint,
 and then later fails for example in a local xref:bean-eip.adoc[Bean] EIP 
processing instead.
-So beware that this is a hint that helps pinpoint errors to 
xref:latest@manual:ROOT:endpoint.adoc[Endpoints], and not EIPs.
+So beware that this is a hint that helps pinpoint errors to 
xref:manual:ROOT:endpoint.adoc[Endpoints], and not EIPs.
 
 [source,java]
 ----
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc
index cd10612..57f2afa 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc
@@ -37,7 +37,7 @@ And in XML:
 </route>
 ----
 
-The delayed value can be a dynamic 
xref:latest@manual:ROOT:expression.adoc[Expression].
+The delayed value can be a dynamic 
xref:manual:ROOT:expression.adoc[Expression].
 
 For example to delay a random between 1 and 5 seconds, we can use
 the xref:languages:simple-language.adoc[Simple] language:
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/dynamicRouter-eip.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/dynamicRouter-eip.adoc
index 4e7e370..8dde580 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/dynamicRouter-eip.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/dynamicRouter-eip.adoc
@@ -138,7 +138,7 @@ Exchange are.
 
 == @DynamicRouter annotation
 
-You can also use xref:latest@manual:ROOT:bean-integration.adoc[Bean 
Integration] with the `@DynamicRouter` annotation,
+You can also use xref:manual:ROOT:bean-integration.adoc[Bean Integration] with 
the `@DynamicRouter` annotation,
 on a Java bean method.
 
 In the example below the `route` method would
@@ -161,4 +161,4 @@ public class MyDynamicRouter {
 ----
 
 The parameters on the `route` method is bound to information from the Exchange 
using
-xref:latest@manual:ROOT:bean-binding.adoc[Bean Parameter Binding].
+xref:manual:ROOT:bean-binding.adoc[Bean Parameter Binding].
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/enrich-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/enrich-eip.adoc
index 4ae4a3e..6f2a15e 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/enrich-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/enrich-eip.adoc
@@ -16,7 +16,7 @@ In Camel the Content Enricher can be done in several ways:
 
 * Using xref:enrich-eip.adoc[Enrich] EIP
 * Using a xref:message-translator.adoc[Message Translator]
-* Using a xref:latest@manual:ROOT:processor.adoc[Processor] with the 
enrichment programmed in Java
+* Using a xref:manual:ROOT:processor.adoc[Processor] with the enrichment 
programmed in Java
 * Using a xref:bean-eip.adoc[Bean] EIP with the enrichment programmed in Java
 
 The most natural Camel approach is using xref:enrich-eip.adoc[Enrich] EIP,
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/event-message.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/event-message.adoc
index 1b18d3f..072d32d 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/event-message.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/event-message.adoc
@@ -3,7 +3,7 @@
 Camel supports the
 http://www.enterpriseintegrationpatterns.com/EventMessage.html[Event
 Message] from the xref:enterprise-integration-patterns.adoc[EIP
-patterns] by supporting the 
xref:latest@manual:ROOT:exchange-pattern.adoc[Exchange Pattern]
+patterns] by supporting the xref:manual:ROOT:exchange-pattern.adoc[Exchange 
Pattern]
 on a xref:message.adoc[Message] which can be set to *InOnly* to indicate
 a oneway event message. Camel xref:ROOT:index.adoc[Components] then
 implement this pattern using the underlying transport or protocols.
@@ -19,7 +19,7 @@ TIP: See the related xref:requestReply-eip.adoc[Request 
Reply] message.
 == Using endpoint URI
 
 If you are using a component which defaults to `InOut` you can override
-the xref:latest@manual:ROOT:exchange-pattern.adoc[Exchange Pattern] for a 
*consumer* endpoint using
+the xref:manual:ROOT:exchange-pattern.adoc[Exchange Pattern] for a *consumer* 
endpoint using
 the pattern property.
 
 [source,text]
@@ -51,7 +51,7 @@ And with XML:
 == Using setExchangePattern EIP
 
 You can specify the
-xref:latest@manual:ROOT:exchange-pattern.adoc[Exchange Pattern] using 
`setExchangePattern` in the DSL.
+xref:manual:ROOT:exchange-pattern.adoc[Exchange Pattern] using 
`setExchangePattern` in the DSL.
 
 [source,java]
 ----
@@ -71,8 +71,8 @@ And with XML:
 </route>
 ----
 
-When using `setExchangePattern` then the 
xref:latest@manual:ROOT:exchange-pattern.adoc[Exchange Pattern]
-on the xref:latest@manual:ROOT:exchange.adoc[Exchange] is changed from this 
point onwards in the route.
+When using `setExchangePattern` then the 
xref:manual:ROOT:exchange-pattern.adoc[Exchange Pattern]
+on the xref:manual:ROOT:exchange.adoc[Exchange] is changed from this point 
onwards in the route.
 
 This means you can change the pattern back again at a later point:
 
@@ -86,7 +86,7 @@ from("mq:someQueue")
   .log("InOut MEP received ${body}")
 ----
 
-NOTE: Using `setExchangePattern` to change the 
xref:latest@manual:ROOT:exchange-pattern.adoc[Exchange Pattern]
+NOTE: Using `setExchangePattern` to change the 
xref:manual:ROOT:exchange-pattern.adoc[Exchange Pattern]
 is often only used in special use-cases where you must
 force to be using either `InOnly` or `InOut` mode when using components that 
support both modes (such as messaging components like ActiveMQ, JMS, RabbitMQ 
etc.)
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/from-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/from-eip.adoc
index 1f1d7f3..39e8be8 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/from-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/from-eip.adoc
@@ -5,7 +5,7 @@
 :since: 
 :supportlevel: Stable
 
-Every Camel xref:latest@manual:ROOT:routes.adoc[route] starts from an 
xref:latest@manual:ROOT:endpoint.adoc[Endpoint]
+Every Camel xref:manual:ROOT:routes.adoc[route] starts from an 
xref:manual:ROOT:endpoint.adoc[Endpoint]
 as the input (source) to the route.
 
 The From EIP is the input.
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/idempotentConsumer-eip.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/idempotentConsumer-eip.adoc
index 506f91b..d3b1407 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/idempotentConsumer-eip.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/idempotentConsumer-eip.adoc
@@ -14,9 +14,9 @@ The Idempotent Consumer essentially acts like a
 xref:filter-eip.adoc[Message Filter] to filter out duplicates.
 
 Camel will add the message id eagerly to the repository to detect
-duplication also for xref:latest@manual:ROOT:exchange.adoc[Exchange]'s' 
currently in progress.
+duplication also for xref:manual:ROOT:exchange.adoc[Exchange]'s' currently in 
progress.
 On completion Camel will remove the message id from the repository if
-the xref:latest@manual:ROOT:exchange.adoc[Exchange] failed, otherwise it stays 
there.
+the xref:manual:ROOT:exchange.adoc[Exchange] failed, otherwise it stays there.
 
 == Options
 
@@ -47,7 +47,7 @@ 
xref:ROOT:infinispan-component.adoc[InfinispanRemoteIdempotentRepository]
 * xref:ROOT:mongodb-component.adoc[MongoDbIdempotentRepository]
 * xref:ROOT:spring-redis-component.adoc[RedisIdempotentRepository]
 xref:ROOT:spring-redis-component.adoc[RedisStringIdempotentRepository]
-* xref:latest@manual:ROOT:spring.adoc[SpringCacheIdempotentRepository]
+* xref:manual:ROOT:spring.adoc[SpringCacheIdempotentRepository]
 * xref:ROOT:sql-component.adoc[JdbcMessageIdRepository]
 xref:ROOT:sql-component.adoc[JdbcOrphanLockAwareIdempotentRepository]
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/intercept.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/intercept.adoc
index d284a91..07b9593 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/intercept.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/intercept.adoc
@@ -1,7 +1,7 @@
 = Intercept
 
 The intercept feature in Camel supports intercepting
-xref:latest@manual:ROOT:exchange.adoc[Exchange]'s' while they are being routed.
+xref:manual:ROOT:exchange.adoc[Exchange]'s' while they are being routed.
 
 == Kinds of interceptors
 
@@ -10,7 +10,7 @@ Camel supports three kinds of interceptors:
 * `intercept` that intercepts every processing step as they happen during 
routing
 * `interceptFrom` that intercepts only the incoming step (i.e. 
xref:from-eip.adoc[from])
 * `interceptSendToEndpoint` that intercepts only when an
-xref:latest@manual:ROOT:exchange.adoc[Exchange] is about to be sent to the 
given xref:message-endpoint.adoc[endpoint].
+xref:manual:ROOT:exchange.adoc[Exchange] is about to be sent to the given 
xref:message-endpoint.adoc[endpoint].
 
 The `interceptSendToEndpoint` is dynamic hence it will also trigger if a
 dynamic URI is constructed that Camel was not aware of at startup
@@ -24,7 +24,7 @@ messages from this endpoint, then the `interceptFrom` is not 
triggered.
 === Interceptor scopes
 
 All the interceptors can be configured on global, route scope, or with
-xref:latest@manual:ROOT:route-configuration.adoc[Route Configuration].
+xref:manual:ROOT:route-configuration.adoc[Route Configuration].
 
 This means multiple interceptors can be _triggered_.
 
@@ -59,7 +59,7 @@ And in XML:
 
 All these interceptors support the following features:
 
-* xref:latest@manual:ROOT:predicate.adoc[Predicate] using `when` to only 
trigger the interceptor in certain conditions
+* xref:manual:ROOT:predicate.adoc[Predicate] using `when` to only trigger the 
interceptor in certain conditions
 * `stop` forces stopping continue routing the Exchange and mark it as 
completed successful (it's actually the xref:stop-eip.adoc[Stop] EIP).
 * `skip` when used with `interceptSendToEndpoint` will *skip* sending the 
message to the original intended endpoint.
 * `afterUri` when used with `interceptSendToEndpoint` allows to send
@@ -71,7 +71,7 @@ URI pattern matching by: exact uri, wildcard, regular 
expression. See further be
 
 === Using intercept
 
-The `Intercept` is intercepting the 
xref:latest@manual:ROOT:exchange.adoc[Exchange]
+The `Intercept` is intercepting the xref:manual:ROOT:exchange.adoc[Exchange]
 on every processing steps during routing.
 
 Given the following example:
@@ -117,7 +117,7 @@ The example is as follows in XML:
 
 === Controlling when to intercept using a predicate
 
-If you only want to intercept "sometimes", then you can use a 
xref:latest@manual:ROOT:predicate.adoc[predicate].
+If you only want to intercept "sometimes", then you can use a 
xref:manual:ROOT:predicate.adoc[predicate].
 
 For instance in the sample below we only intercept if the message body
 contains the string word Hello:
@@ -288,7 +288,7 @@ message is sent to the intended destination.
 The interceptor can also be configured to not send to the destination (skip)
 which means the message is detoured instead.
 
-A xref:latest@manual:ROOT:predicate.adoc[Predicate] can also be used
+A xref:manual:ROOT:predicate.adoc[Predicate] can also be used
 to control when to intercept, which has been previously covered.
 
 The `afterUri` option, is used when you need to process
@@ -404,7 +404,7 @@ And in XML:
 
 === Conditional skipping sending to endpoint
 
-You can combine both a xref:latest@manual:ROOT:predicate.adoc[predicate] and 
skip sending to the original endpoint.
+You can combine both a xref:manual:ROOT:predicate.adoc[predicate] and skip 
sending to the original endpoint.
 For example suppose you have some "test" messages that sometimes occur, and 
that you
 want to avoid sending these message to a downstream kafka system, then this 
can be done as shown:
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/kamelet-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/kamelet-eip.adoc
index f3ef4bb..1acc826 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/kamelet-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/kamelet-eip.adoc
@@ -8,7 +8,7 @@
 Kamelets (Kamel route snippets) allow users to connect to external systems via 
a simplified interface,
 hiding all the low level details about how those connections are implemented.
 
-The Kamelet EIP allows calling Kamelets (i.e. 
xref:latest@manual:ROOT:route-template.adoc[Route Template]).
+The Kamelet EIP allows calling Kamelets (i.e. 
xref:manual:ROOT:route-template.adoc[Route Template]).
 When calling a Kamelet you may just refer to the name (template id) of the 
Kamelet in the EIP as shown below:
 
 == Options
@@ -38,8 +38,8 @@ And in XML
 
 Camel will then, when starting:
 
-* Lookup the xref:latest@manual:ROOT:route-template.adoc[Route Template] with 
the given id (in the example above its foo) from the `CamelContext`
-* Create a new route based on the 
xref:latest@manual:ROOT:route-template.adoc[Route Template]
+* Lookup the xref:manual:ROOT:route-template.adoc[Route Template] with the 
given id (in the example above its foo) from the `CamelContext`
+* Create a new route based on the xref:manual:ROOT:route-template.adoc[Route 
Template]
 
 == Dependency
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/loadBalance-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/loadBalance-eip.adoc
index 3133c48..67dda78 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/loadBalance-eip.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/loadBalance-eip.adoc
@@ -18,7 +18,7 @@ Camel provides the following policies out-of-the-box:
 | xref:failover-eip.adoc[Failover Load Balancer] | In case of failures the 
exchange will be tried on the next endpoint.
 | xref:roundRobin-eip.adoc[Round Robin Load Balancer] | The exchanges are 
selected in a round robin fashion. This is a well known and classic policy, 
which spreads the load evenly.
 | xref:random-eip.adoc[Random Load Balancer] | A random endpoint is selected 
for each exchange.
-| xref:sticky-eip.adoc[Sticky Load Balancer] | Sticky load balancing using an 
xref:latest@manual:ROOT:expression.adoc[Expression] to calculate a correlation 
key to perform the sticky load balancing.
+| xref:sticky-eip.adoc[Sticky Load Balancer] | Sticky load balancing using an 
xref:manual:ROOT:expression.adoc[Expression] to calculate a correlation key to 
perform the sticky load balancing.
 | xref:topic-eip.adoc[Topic Load Balancer] | Topic which sends to all 
destinations.
 | xref:weighted-eip.adoc[Weighted Loader Balancer] | Uses a weighted load 
distribution ratio for each server with respect to others.
 |=======================================================================
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc
index 1bba471..9a974a9 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc
@@ -10,8 +10,8 @@ How can I log the processing of a xref:message.adoc[Message]?
 Camel provides many ways to log the fact that you are processing a message. 
Here are just a few examples:
 
 * You can use the xref:ROOT:log-component.adoc[Log] component which logs the 
Message content.
-* You can use the xref:latest@manual:ROOT:tracer.adoc[Tracer] which trace logs 
message flow.
-* You can also use a xref:latest@manual:ROOT:processor.adoc[Processor] or 
xref:latest@manual:ROOT:bean-binding.adoc[Bean] and log from Java code.
+* You can use the xref:manual:ROOT:tracer.adoc[Tracer] which trace logs 
message flow.
+* You can also use a xref:manual:ROOT:processor.adoc[Processor] or 
xref:manual:ROOT:bean-binding.adoc[Bean] and log from Java code.
 * You can use this log EIP.
 
 == Options
@@ -156,7 +156,7 @@ And in XML:
 ==== Using custom logger from the Registry
 
 If the Log EIP has not been configured with a specific logger to use,
-then Camel will will lookup in the 
xref:latest@manual:ROOT:registry.adoc[Registry]
+then Camel will will lookup in the xref:manual:ROOT:registry.adoc[Registry]
 if there is a single instance of `org.slf4j.Logger`.
 
 If such an instance exists then this logger is used,
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/loop-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/loop-eip.adoc
index ab455e7..f83a2c7 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/loop-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/loop-eip.adoc
@@ -45,7 +45,7 @@ then send the message repetitively to mock:result.
 The number of times the message is sent is either passed as an argument to 
`loop`,
 or determined at runtime by evaluating an expression.
 
-The xref:latest@manual:ROOT:expression.adoc[Expression] *must* evaluate to an 
`int`,
+The xref:manual:ROOT:expression.adoc[Expression] *must* evaluate to an `int`,
 otherwise a `RuntimeCamelException` is thrown.
 
 Pass loop count as an argument:
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-endpoint.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-endpoint.adoc
index b7f56fa..8c2277f 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-endpoint.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-endpoint.adoc
@@ -9,8 +9,8 @@ interface.
 
 image::eip/MessageEndpointSolution.gif[image]
 
-When using the xref:latest@manual:ROOT:dsl.adoc[DSL] to create 
xref:latest@manual:ROOT:routes.adoc[Routes] you
-typically refer to Message Endpoints by their 
xref:latest@manual:ROOT:uris.adoc[URIs]
+When using the xref:manual:ROOT:dsl.adoc[DSL] to create 
xref:manual:ROOT:routes.adoc[Routes] you
+typically refer to Message Endpoints by their xref:manual:ROOT:uris.adoc[URIs]
 rather than directly using the
 
https://www.javadoc.io/doc/org.apache.camel/camel-api/current/org/apache/camel/Endpoint.html[Endpoint]
 interface. It's then a responsibility of the
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc
index 443e8b5..a1c85bc 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc
@@ -10,13 +10,13 @@ image::eip/MessageRouter.gif[image]
 
 The following example shows how to route a request from an input
 *queue:a* endpoint to either *queue:b*, *queue:c* or *queue:d* depending
-on the evaluation of various xref:latest@manual:ROOT:predicate.adoc[Predicate] 
expressions
+on the evaluation of various xref:manual:ROOT:predicate.adoc[Predicate] 
expressions
 
 == Examples
 
 The following example shows how to route a request from an input
 *direct:a* endpoint to either *direct:b*, *direct:c* or *direct:d* depending on
-the evaluation of various xref:latest@manual:ROOT:predicate.adoc[Predicate] 
expressions
+the evaluation of various xref:manual:ROOT:predicate.adoc[Predicate] 
expressions
 
 [source,java]
 ----
@@ -34,7 +34,7 @@ RouteBuilder builder = new RouteBuilder() {
 };
 ----
 
-TIP: See 
xref:latest@manual:faq:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why
+TIP: See 
xref:manual:faq:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why
 can I not use when or otherwise in a Java Camel route] if you have
 problems with the Java DSL, accepting using `when` or `otherwise`.
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-translator.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-translator.adoc
index 624b7ff..175192f 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-translator.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-translator.adoc
@@ -3,10 +3,10 @@
 Camel supports the
 http://www.enterpriseintegrationpatterns.com/MessageTranslator.html[Message
 Translator] from the xref:enterprise-integration-patterns.adoc[EIP
-patterns] by using an arbitrary 
xref:latest@manual:ROOT:processor.adoc[Processor] in the
-routing logic, by using a xref:latest@manual:ROOT:bean-integration.adoc[bean] 
to perform
+patterns] by using an arbitrary xref:manual:ROOT:processor.adoc[Processor] in 
the
+routing logic, by using a xref:manual:ROOT:bean-integration.adoc[bean] to 
perform
 the transformation, or by using transform() in the DSL. You can also use
-a xref:latest@manual:ROOT:data-format.adoc[Data Format] to marshal and 
unmarshal messages
+a xref:manual:ROOT:data-format.adoc[Data Format] to marshal and unmarshal 
messages
 in different encodings.
 
 image::eip/MessageTranslator.gif[image]
@@ -14,9 +14,9 @@ image::eip/MessageTranslator.gif[image]
 == Samples
 
 You can transform a message using Camel's
-xref:latest@manual:ROOT:bean-integration.adoc[Bean Integration] to call any 
method on a
-bean in your xref:latest@manual:ROOT:registry.adoc[Registry] such as your
-xref:latest@manual:ROOT:spring.adoc[Spring] XML configuration file as follows
+xref:manual:ROOT:bean-integration.adoc[Bean Integration] to call any method on 
a
+bean in your xref:manual:ROOT:registry.adoc[Registry] such as your
+xref:manual:ROOT:spring.adoc[Spring] XML configuration file as follows
 
 [source,java]
 ----
@@ -27,19 +27,19 @@ from("activemq:SomeQueue")
 
 Where the "myTransformerBean" would be defined in a Spring XML file or
 defined in JNDI etc. You can omit the method name parameter from
-beanRef() and the xref:latest@manual:ROOT:bean-integration.adoc[Bean 
Integration] will try
+beanRef() and the xref:manual:ROOT:bean-integration.adoc[Bean Integration] 
will try
 to deduce the method to invoke from the message exchange.
 
-or you can add your own explicit 
xref:latest@manual:ROOT:processor.adoc[Processor] to do
+or you can add your own explicit xref:manual:ROOT:processor.adoc[Processor] to 
do
 the transformation
 
 or you can use the DSL to explicitly configure the transformation
 
-You can also use xref:latest@manual:ROOT:spring-xml-extensions.adoc[Spring XML 
Extensions]
-to do a transformation. Basically any 
xref:latest@manual:ROOT:expression.adoc[Expression]
+You can also use xref:manual:ROOT:spring-xml-extensions.adoc[Spring XML 
Extensions]
+to do a transformation. Basically any 
xref:manual:ROOT:expression.adoc[Expression]
 language can be substituted inside the transform element as shown below
 
-Or you can use the xref:latest@manual:ROOT:bean-integration.adoc[Bean 
Integration] to
+Or you can use the xref:manual:ROOT:bean-integration.adoc[Bean Integration] to
 invoke a bean
 
 [source,xml]
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message.adoc
index 5b0cd90..aebb7b8 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/message.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/message.adoc
@@ -8,10 +8,10 @@ interface.
 
 image::eip/MessageSolution.gif[image]
 
-To support various message 
xref:latest@manual:ROOT:exchange-pattern.adoc[exchange patterns]
+To support various message xref:manual:ROOT:exchange-pattern.adoc[exchange 
patterns]
 like one way xref:event-message.adoc[Event Message] and
 xref:requestReply-eip.adoc[Request Reply] messages Camel uses an
-xref:latest@manual:ROOT:exchange.adoc[Exchange] interface which has a 
*pattern* property
+xref:manual:ROOT:exchange.adoc[Exchange] interface which has a *pattern* 
property
 which can be set to *InOnly* for an xref:event-message.adoc[Event
 Message] which has a single inbound Message, or *InOut* for a
 xref:requestReply-eip.adoc[Request Reply] where there is an inbound and
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/messaging-gateway.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/messaging-gateway.adoc
index 15b6e97..f78c939 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/messaging-gateway.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/messaging-gateway.adoc
@@ -14,5 +14,5 @@ Camel has several endpoint components that support the 
Messaging Gateway from th
 Components like xref:ROOT:bean-component.adoc[Bean] and 
xref:ROOT:bean-component.adoc[CXF] provide a way
 to bind a Java interface to the message exchange.
 
-Another approach is to use `@Produce` annotations which you can read about in 
xref:latest@manual:ROOT:pojo-producing.adoc[POJO Producing]
+Another approach is to use `@Produce` annotations which you can read about in 
xref:manual:ROOT:pojo-producing.adoc[POJO Producing]
 which also can be used as a Messaging Gateway EIP solution.
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/messaging-mapper.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/messaging-mapper.adoc
index 25bb3be..894cbc5 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/messaging-mapper.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/messaging-mapper.adoc
@@ -17,7 +17,7 @@ Since the Messaging Mapper is implemented as a separate class 
that references th
 and the messaging layer, neither layer is aware of the other. The layers don't 
even know about the Messaging Mapper.
 
 With Camel this pattern is often implemented directly via Camel components 
that provides
-xref:latest@manual:ROOT:type-converter.adoc[Type Converter]'s from the 
messaging infrastructure to common Java types or
+xref:manual:ROOT:type-converter.adoc[Type Converter]'s from the messaging 
infrastructure to common Java types or
 Java Objects representing the data model of the component in question. 
Combining this with the
 xref:message-translator.adoc[Message Translator] to have the Messaging Mapper 
EIP pattern.
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/multicast-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/multicast-eip.adoc
index 34acbe9..45a5421 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/multicast-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/multicast-eip.adoc
@@ -127,5 +127,5 @@ allows you to do this using the processor
 interface.
 
 Notice the `onPrepare` can be used for any kind of custom logic which
-you would like to execute before the 
xref:latest@manual:ROOT:exchange.adoc[Exchange] is
+you would like to execute before the xref:manual:ROOT:exchange.adoc[Exchange] 
is
 being multicasted.
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/otherwise-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/otherwise-eip.adoc
index bcd7ec1..696b77f 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/otherwise-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/otherwise-eip.adoc
@@ -21,7 +21,7 @@ include::partial$eip-options.adoc[]
 
 The following example shows how to route a request from an input
 *direct:a* endpoint to either *direct:b*, *direct:c* or *direct:d* depending on
-the evaluation of various xref:latest@manual:ROOT:predicate.adoc[Predicate] 
expressions
+the evaluation of various xref:manual:ROOT:predicate.adoc[Predicate] 
expressions
 
 [source,java]
 ----
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/pipeline-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/pipeline-eip.adoc
index 47abf54..a3c59b8 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/pipeline-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/pipeline-eip.adoc
@@ -10,7 +10,7 @@ Camel supports the 
http://www.enterpriseintegrationpatterns.com/PipesAndFilters.
 image::eip/PipesAndFilters.gif[image]
 
 With Camel you can split your processing across multiple independent
-xref:latest@manual:ROOT:endpoint.adoc[Endpoint] instances which can then be 
chained
+xref:manual:ROOT:endpoint.adoc[Endpoint] instances which can then be chained
 together.
 
 == Options
@@ -23,7 +23,7 @@ include::partial$eip-options.adoc[]
 == Examples
 
 You can create pipelines of logic using multiple
-xref:latest@manual:ROOT:endpoint.adoc[Endpoint] or 
xref:message-translator.adoc[Message
+xref:manual:ROOT:endpoint.adoc[Endpoint] or 
xref:message-translator.adoc[Message
 Translator] instances as follows
 
 Though pipeline is the default mode of operation when you specify
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/polling-consumer.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/polling-consumer.adoc
index 2833529..6b50527 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/polling-consumer.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/polling-consumer.adoc
@@ -68,7 +68,7 @@ Notice that some Camel xref:ROOT:index.adoc[Components] has 
their own
 implementation of *`PollingConsumer`* and therefore do not support the
 options above.
 
-You can configure these options in endpoints 
xref:latest@manual:ROOT:uris.adoc[URIs], such
+You can configure these options in endpoints xref:manual:ROOT:uris.adoc[URIs], 
such
 as shown below:
 
 [source,java]
@@ -85,8 +85,8 @@ Exchange exchange = consumer.receive(5000);
 The *`ConsumerTemplate`* is a template much like
 Spring's *`JmsTemplate`* or *`JdbcTemplate`* supporting the
 xref:polling-consumer.adoc[Polling Consumer] EIP. With the template you
-can consume xref:latest@manual:ROOT:exchange.adoc[Exchange]s from an
-xref:latest@manual:ROOT:endpoint.adoc[Endpoint]. The template supports the 
three operations
+can consume xref:manual:ROOT:exchange.adoc[Exchange]s from an
+xref:manual:ROOT:endpoint.adoc[Endpoint]. The template supports the three 
operations
 listed above. However, it also includes convenient methods for returning
 the body, etc *`consumeBody`*.
 
@@ -219,7 +219,7 @@ previous run polled 1 or more messages.
 A pluggable *`org.apache.camel.PollingConsumerPollingStrategy`* allowing
 you to provide your custom implementation to control error handling
 usually occurred during the *`poll`* operation _*before*_ an
-xref:latest@manual:ROOT:exchange.adoc[Exchange] has been created and routed in 
Camel. In
+xref:manual:ROOT:exchange.adoc[Exchange] has been created and routed in Camel. 
In
 other words the error occurred while the polling was gathering
 information, for instance access to a file network failed so Camel
 cannot access it to scan for files.
@@ -241,20 +241,20 @@ option allows you to share a thread pool among multiple 
consumers.
 *`org.apache.camel.spi.ScheduledPollConsumerScheduler`* to use as the
 scheduler for firing when the polling consumer runs. The default
 implementation uses the *`ScheduledExecutorService`* and there is a
-xref:ROOT:quartz-component.adoc[Quartz], and 
xref:latest@manual:ROOT:spring.adoc[Spring] based which
+xref:ROOT:quartz-component.adoc[Quartz], and 
xref:manual:ROOT:spring.adoc[Spring] based which
 supports CRON expressions. *Notice:* If using a custom scheduler then
 the options for *`initialDelay`, `useFixedDelay`*, *`timeUnit`* and
 *`scheduledExecutorService`* may not be in use. Use the text *`quartz`*
 to refer to use the xref:ROOT:quartz-component.adoc[Quartz] scheduler; and use 
the
-text `spring` to use the xref:latest@manual:ROOT:spring.adoc[Spring] based; 
and use the
+text `spring` to use the xref:manual:ROOT:spring.adoc[Spring] based; and use 
the
 text *`#myScheduler`* to refer to a custom scheduler by its id in the
-xref:latest@manual:ROOT:registry.adoc[Registry].
+xref:manual:ROOT:registry.adoc[Registry].
 
 See xref:ROOT:quartz-component.adoc[Quartz] page for an example.
 
 |`scheduler.xxx` |`null` |*Camel 2.12:* To configure additional
 properties when using a custom *`scheduler`* or any of the
-xref:ROOT:quartz-component.adoc[Quartz], 
xref:latest@manual:ROOT:spring.adoc[Spring] based scheduler.
+xref:ROOT:quartz-component.adoc[Quartz], xref:manual:ROOT:spring.adoc[Spring] 
based scheduler.
 
 |`sendEmptyMessageWhenIdle` |`false` |*Camel 2.9:* If the polling
 consumer did not poll any files, you can enable this option to send an
@@ -318,9 +318,9 @@ is scheduled based and its *`run`* method is invoked 
periodically based
 on schedule settings. But errors can also occur when a poll is being
 executed. For instance if Camel should poll a file network, and this
 network resource is not available then a *`java.io.IOException`* could
-occur. As this error happens *before* any 
xref:latest@manual:ROOT:exchange.adoc[Exchange]
+occur. As this error happens *before* any 
xref:manual:ROOT:exchange.adoc[Exchange]
 has been created and prepared for routing, then the regular
-xref:latest@manual:ROOT:error-handler.adoc[Error handler] does not
+xref:manual:ROOT:error-handler.adoc[Error handler] does not
 apply. So what does the consumer do then? Well the exception is
 propagated back to the *`run`* method where its handled. Camel will by
 default log the exception at *`WARN`* level and then ignore it. At next
@@ -338,7 +338,7 @@ implement a custom scheduler to control when the
 xref:polling-consumer.adoc[Polling Consumer] runs. The default
 implementation is based on the JDKs *`ScheduledExecutorService`* with a
 single thread in the thread pool. There is a CRON based implementation
-in the xref:ROOT:quartz-component.adoc[Quartz], and 
xref:latest@manual:ROOT:spring.adoc[Spring]
+in the xref:ROOT:quartz-component.adoc[Quartz], and 
xref:manual:ROOT:spring.adoc[Spring]
 components.
 
 For an example of developing and using a custom scheduler, see the unit
@@ -411,12 +411,12 @@ throwing exceptions as in such a case the *`poll`* 
operation is not
 invoked and Camel will invoke the *`rollback`* directly.
 
 [[PollingConsumer-ConfiguringantoUsePollingConsumerPollStrategy]]
-=== Configuring an xref:latest@manual:ROOT:endpoint.adoc[Endpoint] to Use 
`PollingConsumerPollStrategy`
+=== Configuring an xref:manual:ROOT:endpoint.adoc[Endpoint] to Use 
`PollingConsumerPollStrategy`
 
-To configure an xref:latest@manual:ROOT:endpoint.adoc[Endpoint] to use a custom
+To configure an xref:manual:ROOT:endpoint.adoc[Endpoint] to use a custom
 *`PollingConsumerPollStrategy`* you use the option *`pollStrategy`*. For
 example in the file consumer below we want to use our custom strategy
-defined in the xref:latest@manual:ROOT:registry.adoc[Registry] with the bean 
id *`myPoll`*:
+defined in the xref:manual:ROOT:registry.adoc[Registry] with the bean id 
*`myPoll`*:
 
 [source,java]
 ----
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/process-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/process-eip.adoc
index 5cf894b..06c63c8 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/process-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/process-eip.adoc
@@ -30,7 +30,7 @@ public class MyProcessor implements Processor {
 
 You can then easily use this inside a route by declaring the bean in
 Spring, say via the XML (or registering it in JNDI if that is your
-xref:latest@manual:ROOT:registry.adoc[Registry])
+xref:manual:ROOT:registry.adoc[Registry])
 
 [source,xml]
 --------------------------------------------------------
@@ -56,7 +56,7 @@ Processor myProcessor = new MyProcessor();
 from("activemq:myQueue").process(myProcessor);
 ----
 
-If you need to lookup the processor in the 
xref:latest@manual:ROOT:registry.adoc[Registry]
+If you need to lookup the processor in the 
xref:manual:ROOT:registry.adoc[Registry]
 then you should use the *processRef* DSL:
 
 [source,java]
@@ -87,11 +87,11 @@ refactor it into a separate class.
 
 There is a base class called
 
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ProcessorEndpoint.html[ProcessorEndpoint]
-which supports the full xref:latest@manual:ROOT:endpoint.adoc[Endpoint] 
semantics given a
+which supports the full xref:manual:ROOT:endpoint.adoc[Endpoint] semantics 
given a
 Processor instance.
 
 So you just need to create a 
https://github.com/apache/camel/tree/main/components[Component] class by
 deriving from
 
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/DefaultComponent.html[DefaultComponent]
 which returns instances of ProcessorEndpoint. For more details see
-xref:latest@manual:ROOT:writing-components.adoc[Writing Components]
+xref:manual:ROOT:writing-components.adoc[Writing Components]
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/publish-subscribe-channel.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/publish-subscribe-channel.adoc
index 472a0cc..4150798 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/publish-subscribe-channel.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/publish-subscribe-channel.adoc
@@ -10,7 +10,7 @@ example the following components:
 clustering and load balancing
 * xref:ROOT:xmpp-component.adoc[XMPP] when using rooms for group communication
 * xref:ROOT:seda-component.adoc[SEDA] for working with SEDA in the same
-xref:latest@manual:ROOT:camelcontext.adoc[CamelContext] which can work in 
pub-sub, but
+xref:manual:ROOT:camelcontext.adoc[CamelContext] which can work in pub-sub, but
 allowing multiple consumers.
 * xref:ROOT:vm-component.adoc[VM] as SEDA but for intra-JVM.
 
@@ -22,7 +22,7 @@ image::eip/PublishSubscribeSolution.gif[image]
 Another option is to explicitly list the publish-subscribe relationship
 in your routing logic; this keeps the producer and consumer decoupled
 but lets you control the fine grained routing configuration using the
-xref:latest@manual:ROOT:dsl.adoc[DSL].
+xref:manual:ROOT:dsl.adoc[DSL].
 
 In Java code:
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/service-activator.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/service-activator.adoc
index b00858c..4d0bcbb 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/service-activator.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/service-activator.adoc
@@ -16,7 +16,7 @@ Components like  xref:ROOT:bean-component.adoc[Bean] and 
xref:ROOT:bean-componen
 provide a way to bind the message exchange to a Java interface/service where 
the route defines the
 endpoints and wires it up to the bean.
 
-In addition you can use the xref:latest@manual:ROOT:bean-integration.adoc[Bean 
Integration] to wire messages
+In addition you can use the xref:manual:ROOT:bean-integration.adoc[Bean 
Integration] to wire messages
 to a bean using annotation.
 
 == Sample
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/threads-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/threads-eip.adoc
index ce80bd1..2b077e5 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/threads-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/threads-eip.adoc
@@ -23,7 +23,7 @@ but also give time for the thread pool to process its current 
tasks,
 without adding more tasks (self throttling). This is the default
 behavior. If setting `callerRunsWhenRejected` you use the `Abort`
 policy, which means the task is rejected, and a
-`RejectedExecutionException` is set on the 
xref:latest@manual:ROOT:exchange.adoc[Exchange],
+`RejectedExecutionException` is set on the 
xref:manual:ROOT:exchange.adoc[Exchange],
 and the `Exchange` will stop continue being routed, and its `UnitOfWork` will 
be regarded as failed.
 
 The other options `Discard` and `DiscardOldest` work a bit like
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/toD-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/toD-eip.adoc
index e37329a..c62faa8 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/toD-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/toD-eip.adoc
@@ -6,8 +6,8 @@
 :supportlevel: Stable
 
 There is a new `.toD` / `<toD>` that allows to send a message to a dynamic
-computed xref:latest@manual:ROOT:endpoint.adoc[Endpoint] using one or
-more xref:latest@manual:ROOT:expression.adoc[Expression] that are concat 
together. By
+computed xref:manual:ROOT:endpoint.adoc[Endpoint] using one or
+more xref:manual:ROOT:expression.adoc[Expression] that are concat together. By
 default the xref:languages:simple-language.adoc[Simple] language is used to 
compute
 the endpoint.
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/transactional-client.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/transactional-client.adoc
index ed5b140..c83c122 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/transactional-client.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/transactional-client.adoc
@@ -261,9 +261,9 @@ route as transacted using the *transacted* tag.
 
 When a route is marked as transacted using *transacted* Camel will
 automatic use `TransactionErrorHandler` as the
-xref:latest@manual:ROOT:error-handler.adoc[Error Handler]. This error handler 
supports basically the same
-feature set as the 
xref:latest@manual:ROOT:defaulterrorhandler.adoc[DefaultErrorHandler],
-so you can for instance use 
xref:latest@manual:ROOT:exception-clause.adoc[Exception Clause]
+xref:manual:ROOT:error-handler.adoc[Error Handler]. This error handler 
supports basically the same
+feature set as the 
xref:manual:ROOT:defaulterrorhandler.adoc[DefaultErrorHandler],
+so you can for instance use xref:manual:ROOT:exception-clause.adoc[Exception 
Clause]
 as well.
 
 [[TransactionalClient-IntegrationTestingwithSpring]]
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/when-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/when-eip.adoc
index e1062e1..b98dd0300 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/when-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/when-eip.adoc
@@ -21,7 +21,7 @@ include::partial$eip-options.adoc[]
 
 The following example shows how to route a request from an input
 *direct:a* endpoint to either *direct:b*, *direct:c* or *direct:d* depending on
-the evaluation of various xref:latest@manual:ROOT:predicate.adoc[Predicate] 
expressions
+the evaluation of various xref:manual:ROOT:predicate.adoc[Predicate] 
expressions
 
 [source,java]
 ----
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/wireTap-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/wireTap-eip.adoc
index 39a88c2..288bcc9 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/wireTap-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/wireTap-eip.adoc
@@ -15,9 +15,9 @@ image::eip/WireTap.gif[image]
 == Streams
 
 If you xref:wireTap-eip.adoc[Wire Tap] a stream message body then you
-should consider enabling xref:latest@manual:ROOT:stream-caching.adoc[Stream 
caching] to
+should consider enabling xref:manual:ROOT:stream-caching.adoc[Stream caching] 
to
 ensure the message body can be read at each endpoint. See more details
-at xref:latest@manual:ROOT:stream-caching.adoc[Stream caching].
+at xref:manual:ROOT:stream-caching.adoc[Stream caching].
 
 TIP: See the `cacheSize` option for more details on _how much cache_ to use 
depending on how many or few unique endpoints are used.
 
@@ -31,7 +31,7 @@ include::partial$eip-options.adoc[]
 
 The WireTap uses a thread pool to process the
 tapped messages. This thread pool will by default use the settings
-detailed at xref:latest@manual:ROOT:threading-model.adoc[Threading Model]. In 
particular,
+detailed at xref:manual:ROOT:threading-model.adoc[Threading Model]. In 
particular,
 when the pool is exhausted (with all threads utilized), further wiretaps
 will be executed synchronously by the calling thread. To remedy this,
 you can configure an explicit thread pool on the xref:wireTap-eip.adoc[Wire
@@ -41,19 +41,19 @@ or more worker threads.
 == WireTap Node
 
 Camel's Wire Tap node supports two flavors when tapping an
-xref:latest@manual:ROOT:exchange.adoc[Exchange]:
+xref:manual:ROOT:exchange.adoc[Exchange]:
 
 - With the traditional Wire Tap, Camel will copy the original
-xref:latest@manual:ROOT:exchange.adoc[Exchange] and set its
-xref:latest@manual:ROOT:exchange-pattern.adoc[Exchange Pattern] to *`InOnly`*, 
as we want
-the tapped xref:latest@manual:ROOT:exchange.adoc[Exchange] to be sent in a 
fire and forget
-style. The tapped xref:latest@manual:ROOT:exchange.adoc[Exchange] is then sent 
in a
+xref:manual:ROOT:exchange.adoc[Exchange] and set its
+xref:manual:ROOT:exchange-pattern.adoc[Exchange Pattern] to *`InOnly`*, as we 
want
+the tapped xref:manual:ROOT:exchange.adoc[Exchange] to be sent in a fire and 
forget
+style. The tapped xref:manual:ROOT:exchange.adoc[Exchange] is then sent in a
 separate thread so it can run in parallel with the original. Beware that
 only the Exchange is copied - Wire Tap won't do a deep clone (unless you
 specify a custom processor via *`onPrepareRef`* which does that). So all
 copies could share objects from the original Exchange.
 - Camel also provides an option of sending a new
-xref:latest@manual:ROOT:exchange.adoc[Exchange] allowing you to populate it 
with new
+xref:manual:ROOT:exchange.adoc[Exchange] allowing you to populate it with new
 values.
 
 == Sending a Copy (traditional wiretap)
@@ -81,25 +81,25 @@ values.
     }
 ----
 
-== Sending a New xref:latest@manual:ROOT:exchange.adoc[Exchange]
+== Sending a New xref:manual:ROOT:exchange.adoc[Exchange]
 
 Camel supports either a processor or an
-xref:latest@manual:ROOT:expression.adoc[Expression] to populate the new
-xref:latest@manual:ROOT:exchange.adoc[Exchange]. Using a processor gives you 
full power
-over how the xref:latest@manual:ROOT:exchange.adoc[Exchange] is populated as 
you can set
-properties, headers, etc. An 
xref:latest@manual:ROOT:expression.adoc[Expression] can only
+xref:manual:ROOT:expression.adoc[Expression] to populate the new
+xref:manual:ROOT:exchange.adoc[Exchange]. Using a processor gives you full 
power
+over how the xref:manual:ROOT:exchange.adoc[Exchange] is populated as you can 
set
+properties, headers, etc. An xref:manual:ROOT:expression.adoc[Expression] can 
only
 be used to set the *`IN`* body.
 
-The xref:latest@manual:ROOT:expression.adoc[Expression] or
-xref:latest@manual:ROOT:processor.adoc[Processor] is pre-populated with a copy 
of the
-original xref:latest@manual:ROOT:exchange.adoc[Exchange], which allows you to 
access the
-original message when you prepare a new 
xref:latest@manual:ROOT:exchange.adoc[Exchange] to
+The xref:manual:ROOT:expression.adoc[Expression] or
+xref:manual:ROOT:processor.adoc[Processor] is pre-populated with a copy of the
+original xref:manual:ROOT:exchange.adoc[Exchange], which allows you to access 
the
+original message when you prepare a new 
xref:manual:ROOT:exchange.adoc[Exchange] to
 be sent. You can use the *`copy`* option (enabled by default) to
 indicate whether you want this.
 
 Below is the processor variation,
 where we disable *`copy`* by passing in *`false`* to create a new, empty
-xref:latest@manual:ROOT:exchange.adoc[Exchange]
+xref:manual:ROOT:exchange.adoc[Exchange]
 
 [source,java]
 ----
@@ -139,8 +139,8 @@ part of the queue name:
 
 If you send a new message using xref:wireTap-eip.adoc[Wire Tap], then you
 could only set the message body using an
-xref:latest@manual:ROOT:expression.adoc[Expression] from the DSL. If you also 
need to set
-headers, you would have to use a 
xref:latest@manual:ROOT:processor.adoc[Processor]. From
+xref:manual:ROOT:expression.adoc[Expression] from the DSL. If you also need to 
set
+headers, you would have to use a xref:manual:ROOT:processor.adoc[Processor]. 
From
 It's possible to set headers as well using the DSL.
 
 The following example sends a new message which has
diff --git 
a/core/camel-core-languages/src/main/docs/modules/languages/pages/ref-language.adoc
 
b/core/camel-core-languages/src/main/docs/modules/languages/pages/ref-language.adoc
index 32199d4..9422b2c 100644
--- 
a/core/camel-core-languages/src/main/docs/modules/languages/pages/ref-language.adoc
+++ 
b/core/camel-core-languages/src/main/docs/modules/languages/pages/ref-language.adoc
@@ -13,7 +13,7 @@ 
include::{cq-version}@camel-quarkus:ROOT:partial$reference/languages/ref.adoc[op
 *Since Camel {since}*
 
 The Ref Expression Language is really just a way to lookup a custom
-`Expression` or `Predicate` from the 
xref:latest@manual:ROOT:registry.adoc[Registry].
+`Expression` or `Predicate` from the xref:manual:ROOT:registry.adoc[Registry].
 
 This is particular useable in XML DSLs.
 
@@ -44,7 +44,7 @@ expression using `<ref>` like:
 in this case, the message coming from the seda:a
 endpoint will be splitted using a custom
 `Expression` which has the id `myExpression` in the
-xref:latest@manual:ROOT:registry.adoc[Registry].
+xref:manual:ROOT:registry.adoc[Registry].
 
 And the same example using Java DSL:
 
diff --git 
a/docs/components/modules/ROOT/partials/component-configure-options.adoc 
b/docs/components/modules/ROOT/partials/component-configure-options.adoc
index cc28c29..2814c19 100644
--- a/docs/components/modules/ROOT/partials/component-configure-options.adoc
+++ b/docs/components/modules/ROOT/partials/component-configure-options.adoc
@@ -14,7 +14,7 @@ For example a component may have security settings, 
credentials for authenticati
 Some components only have a few options, and others may have many. Because 
components typically have pre configured defaults
 that are commonly used, then you may often only need to configure a few 
options on a component; or none at all.
 
-Configuring components can be done with the 
xref:latest@manual::component-dsl.adoc[Component DSL],
+Configuring components can be done with the 
xref:manual::component-dsl.adoc[Component DSL],
 in a configuration file (application.properties|yaml), or directly with Java 
code.
 
 === Configuring Endpoint Options
@@ -24,9 +24,9 @@ configure what you need the endpoint to do. The options are 
also categorized int
 or as a producer (to), or used for both.
 
 Configuring endpoints is most often done directly in the endpoint URI as path 
and query parameters. You can also use
-the xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way 
of configuring endpoints.
+the xref:manual::Endpoint-dsl.adoc[Endpoint DSL] as a _type safe_ way of 
configuring endpoints.
 
-A good practice when configuring options is to use 
xref:latest@manual::using-propertyplaceholder.adoc[Property Placeholders],
+A good practice when configuring options is to use 
xref:manual::using-propertyplaceholder.adoc[Property Placeholders],
 which allows to not hardcode urls, port numbers, sensitive information, and 
other settings.
 In other words placeholders allows to externalize the configuration from your 
code, and gives more flexibility and reuse.
 
diff --git 
a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc 
b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
index e3d2ced..af6a7a4 100644
--- a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
@@ -10,4 +10,4 @@ 
include::{cq-version}@camel-quarkus:ROOT:partial$reference/others/groovy-dsl.ado
 //Manually maintained attributes
 :group: DSL
 
-See xref:latest@manual:ROOT:dsl.adoc[DSL]
+See xref:manual:ROOT:dsl.adoc[DSL]
diff --git a/dsl/camel-java-joor-dsl/src/main/docs/java-joor-dsl.adoc 
b/dsl/camel-java-joor-dsl/src/main/docs/java-joor-dsl.adoc
index 7284466..53304dc 100644
--- a/dsl/camel-java-joor-dsl/src/main/docs/java-joor-dsl.adoc
+++ b/dsl/camel-java-joor-dsl/src/main/docs/java-joor-dsl.adoc
@@ -10,4 +10,4 @@ 
include::{cq-version}@camel-quarkus:ROOT:partial$reference/others/java-joor-dsl.
 //Manually maintained attributes
 :group: DSL
 
-See xref:latest@manual:ROOT:dsl.adoc[DSL]
+See xref:manual:ROOT:dsl.adoc[DSL]
diff --git a/dsl/camel-js-dsl/src/main/docs/js-dsl.adoc 
b/dsl/camel-js-dsl/src/main/docs/js-dsl.adoc
index 9f86b34..9185d97 100644
--- a/dsl/camel-js-dsl/src/main/docs/js-dsl.adoc
+++ b/dsl/camel-js-dsl/src/main/docs/js-dsl.adoc
@@ -10,4 +10,4 @@ 
include::{cq-version}@camel-quarkus:ROOT:partial$reference/others/js-dsl.adoc[op
 //Manually maintained attributes
 :group: DSL
 
-See xref:latest@manual:ROOT:dsl.adoc[DSL]
+See xref:manual:ROOT:dsl.adoc[DSL]
diff --git a/dsl/camel-kotlin-dsl/src/main/docs/kotlin-dsl.adoc 
b/dsl/camel-kotlin-dsl/src/main/docs/kotlin-dsl.adoc
index 164c206..4ddabc8 100644
--- a/dsl/camel-kotlin-dsl/src/main/docs/kotlin-dsl.adoc
+++ b/dsl/camel-kotlin-dsl/src/main/docs/kotlin-dsl.adoc
@@ -10,4 +10,4 @@ 
include::{cq-version}@camel-quarkus:ROOT:partial$reference/others/kotlin-dsl.ado
 //Manually maintained attributes
 :group: DSL
 
-See xref:latest@manual:ROOT:dsl.adoc[DSL]
+See xref:manual:ROOT:dsl.adoc[DSL]
diff --git a/dsl/camel-xml-io-dsl/src/main/docs/java-xml-io-dsl.adoc 
b/dsl/camel-xml-io-dsl/src/main/docs/java-xml-io-dsl.adoc
index 2c12350..1e0d0f9 100644
--- a/dsl/camel-xml-io-dsl/src/main/docs/java-xml-io-dsl.adoc
+++ b/dsl/camel-xml-io-dsl/src/main/docs/java-xml-io-dsl.adoc
@@ -9,4 +9,4 @@ 
include::{cq-version}@camel-quarkus:ROOT:partial$reference/others/xml-io-dsl.ado
 //Manually maintained attributes
 :group: DSL
 
-See xref:latest@manual:ROOT:dsl.adoc[DSL]
+See xref:manual:ROOT:dsl.adoc[DSL]
diff --git a/dsl/camel-xml-jaxb-dsl/src/main/docs/java-xml-jaxb-dsl.adoc 
b/dsl/camel-xml-jaxb-dsl/src/main/docs/java-xml-jaxb-dsl.adoc
index fa04dea..27bb25c 100644
--- a/dsl/camel-xml-jaxb-dsl/src/main/docs/java-xml-jaxb-dsl.adoc
+++ b/dsl/camel-xml-jaxb-dsl/src/main/docs/java-xml-jaxb-dsl.adoc
@@ -9,4 +9,4 @@ 
include::{cq-version}@camel-quarkus:ROOT:partial$reference/others/xml-jaxb-dsl.a
 //Manually maintained attributes
 :group: DSL
 
-See xref:latest@manual:ROOT:dsl.adoc[DSL]
+See xref:manual:ROOT:dsl.adoc[DSL]
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 51be891..017fbdd 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
@@ -144,7 +144,7 @@ To define an endpoint with the YAML dsl you have three 
options:
           parameters:
             authorizationToken: "XXX"
 ----
-. Using the YAML implementation of the 
xref:latest@manual::Endpoint-dsl.adoc[Endpoint DSL]:
+. Using the YAML implementation of the xref:manual::Endpoint-dsl.adoc[Endpoint 
DSL]:
 +
 [source,yaml]
 ----

Reply via email to