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

oscerd 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 62b57ad3a66e CAMEL-23574: docs - sync camel-dns 4.18 / 4.14 
upgrade-guide entries to main (#23488)
62b57ad3a66e is described below

commit 62b57ad3a66e6c54644f5b8b58fd9faedda29b75
Author: Andrea Cosentino <[email protected]>
AuthorDate: Sun May 24 21:03:58 2026 +0200

    CAMEL-23574: docs - sync camel-dns 4.18 / 4.14 upgrade-guide entries to 
main (#23488)
    
    The camel-dns header constant rename (CAMEL-23574, #23411) was backported to
    camel-4.18.x (4.18.3) via #23459 and to camel-4.14.x (4.14.8) via #23482. 
The
    version-specific upgrade-guide files on main are the canonical history, so
    the corresponding entries are added here on main only.
    
    Also normalises the existing 4_21 camel-dns heading to "- potential breaking
    change" to match the suffix convention now used across the catalog-wide
    header-rename family (CAMEL-23577) — e.g. camel-cxf, camel-jgroups,
    camel-jira, camel-aws-bedrock.
    
    Reported by Claude Code on behalf of Andrea Cosentino
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../ROOT/pages/camel-4x-upgrade-guide-4_14.adoc    | 54 ++++++++++++++++++++++
 .../ROOT/pages/camel-4x-upgrade-guide-4_18.adoc    | 54 ++++++++++++++++++++++
 .../ROOT/pages/camel-4x-upgrade-guide-4_21.adoc    |  2 +-
 3 files changed, 109 insertions(+), 1 deletion(-)

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 717d5a5971ab..8b8d763101f6 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
@@ -523,3 +523,57 @@ their literal string value. Routes that reference the 
constant symbolically
 to work without changes. Routes that set the header by its literal string
 value (for example `setHeader("JGROUPS_DEST", ...)`) must be updated to use
 the new value (`setHeader("CamelJGroupsDest", ...)`).
+
+=== camel-dns - potential breaking change
+
+The Exchange header constants in `DnsConstants` have been renamed to follow the
+Camel naming convention used across the rest of the component catalog. The Java
+field names are unchanged; only the header string values have changed:
+
+[options="header"]
+|===
+| Constant | Previous value | New value
+| `DnsConstants.DNS_CLASS`  | `dns.class`  | `CamelDnsClass`
+| `DnsConstants.DNS_NAME`   | `dns.name`   | `CamelDnsName`
+| `DnsConstants.DNS_DOMAIN` | `dns.domain` | `CamelDnsDomain`
+| `DnsConstants.DNS_SERVER` | `dns.server` | `CamelDnsServer`
+| `DnsConstants.DNS_TYPE`   | `dns.type`   | `CamelDnsType`
+| `DnsConstants.TERM`       | `term`       | `CamelDnsTerm`
+|===
+
+Routes that reference the constant symbolically (for example
+`setHeader(DnsConstants.DNS_SERVER, ...)`) continue to work without changes.
+Routes that set the header by its literal string value (for example
+`setHeader("dns.server", ...)` or `setHeader("term", ...)`) must be updated to
+use the new value:
+
+[source,java]
+----
+// before
+from("direct:start")
+    .setHeader("dns.name", constant("www.example.com"))
+    .setHeader("dns.type", constant("A"))
+    .to("dns:lookup");
+
+// after
+from("direct:start")
+    .setHeader("CamelDnsName", constant("www.example.com"))
+    .setHeader("CamelDnsType", constant("A"))
+    .to("dns:lookup");
+----
+
+==== Behaviour change: cross-transport propagation of dns.* headers
+
+Because the renamed header values now begin with `Camel`, they are filtered by
+the standard transport `HeaderFilterStrategy` (`JmsHeaderFilterStrategy`,
+`HttpHeaderFilterStrategy`, etc.) 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 `dns:`
+producer and let the sender choose the DNS operation parameters via headers
+must therefore carry those parameters in non-`Camel`-prefixed application
+headers and map them to the corresponding `DnsConstants` value in the route
+between the transport `from` and the `dns:` `to`. Allowing untrusted senders
+to drive `DnsConstants.DNS_SERVER` (the recursive resolver target in
+`dns:dig`) without such a mapping step is not the intended use of the
+component.
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 34b682c91991..2d6022bead24 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
@@ -749,3 +749,57 @@ between the transport `from` and the `cxf:` `to`:
 The same pattern applies to HTTP-based bridges (`platform-http`/`jetty`/`netty
 -http`/`http` -> `cxf:`) and any other transport whose default
 `HeaderFilterStrategy` filters `Camel*` headers.
+
+=== camel-dns - potential breaking change
+
+The Exchange header constants in `DnsConstants` have been renamed to follow the
+Camel naming convention used across the rest of the component catalog. The Java
+field names are unchanged; only the header string values have changed:
+
+[options="header"]
+|===
+| Constant | Previous value | New value
+| `DnsConstants.DNS_CLASS`  | `dns.class`  | `CamelDnsClass`
+| `DnsConstants.DNS_NAME`   | `dns.name`   | `CamelDnsName`
+| `DnsConstants.DNS_DOMAIN` | `dns.domain` | `CamelDnsDomain`
+| `DnsConstants.DNS_SERVER` | `dns.server` | `CamelDnsServer`
+| `DnsConstants.DNS_TYPE`   | `dns.type`   | `CamelDnsType`
+| `DnsConstants.TERM`       | `term`       | `CamelDnsTerm`
+|===
+
+Routes that reference the constant symbolically (for example
+`setHeader(DnsConstants.DNS_SERVER, ...)`) continue to work without changes.
+Routes that set the header by its literal string value (for example
+`setHeader("dns.server", ...)` or `setHeader("term", ...)`) must be updated to
+use the new value:
+
+[source,java]
+----
+// before
+from("direct:start")
+    .setHeader("dns.name", constant("www.example.com"))
+    .setHeader("dns.type", constant("A"))
+    .to("dns:lookup");
+
+// after
+from("direct:start")
+    .setHeader("CamelDnsName", constant("www.example.com"))
+    .setHeader("CamelDnsType", constant("A"))
+    .to("dns:lookup");
+----
+
+==== Behaviour change: cross-transport propagation of dns.* headers
+
+Because the renamed header values now begin with `Camel`, they are filtered by
+the standard transport `HeaderFilterStrategy` (`JmsHeaderFilterStrategy`,
+`HttpHeaderFilterStrategy`, etc.) 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 `dns:`
+producer and let the sender choose the DNS operation parameters via headers
+must therefore carry those parameters in non-`Camel`-prefixed application
+headers and map them to the corresponding `DnsConstants` value in the route
+between the transport `from` and the `dns:` `to`. Allowing untrusted senders
+to drive `DnsConstants.DNS_SERVER` (the recursive resolver target in
+`dns:dig`) without such a mapping step is not the intended use of the
+component.
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 4104b7dc77d5..b2a8f57fddf4 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
@@ -510,7 +510,7 @@ The same pattern applies to HTTP-based bridges 
(`platform-http`/`jetty`/`netty
 -http`/`http` -> `cxf:`) and any other transport whose default
 `HeaderFilterStrategy` filters `Camel*` headers.
 
-=== camel-dns
+=== camel-dns - potential breaking change
 
 The Exchange header constants in `DnsConstants` have been renamed to follow the
 Camel naming convention used across the rest of the component catalog. The Java

Reply via email to