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

davsclaus pushed a commit to branch docs/CAMEL-26508-26322-lts-upgrade-notes
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 77ee36874e708daceaa4e3d54da6da22b46feedd
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Nov 3 12:02:53 2026 +0100

    CAMEL-26508, CAMEL-26322: docs - add the netty transferExchange and as2 MDN 
allow-list upgrade notes to the 4.22.3 and 4.18.6 sections of the upgrade 
guides on main
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../ROOT/pages/camel-4x-upgrade-guide-4_18.adoc      | 20 ++++++++++++++++++++
 .../ROOT/pages/camel-4x-upgrade-guide-4_22.adoc      | 20 ++++++++++++++++++++
 2 files changed, 40 insertions(+)

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 1603524c35a5..bc78c1360262 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
@@ -29,6 +29,16 @@ The text of a body part now ends exactly where the boundary 
delimiter begins: th
 line is removed as the sender wrote it, CRLF or a bare LF. Before, two 
characters were always removed, so a part
 framed with bare line feeds (as `openssl cms -sign` writes them without 
`-crlfeol`) lost its last byte.
 
+=== camel-as2 - the asynchronous MDN allow-list matches the host and port
+
+The `asyncMdnAllowedHosts` option now matches the full authority - host and 
port - of the asynchronous MDN delivery
+address, rather than the host alone. Each entry is a host with an optional 
port in `host:port` form (IPv6 literals use
+bracket notation, for example `[::1]` or `[::1]:8080`). A bare-host entry (for 
example `partner.example`) now matches
+only the default port of `http` (80); to deliver to another port, list it 
explicitly (for example
+`partner.example:8080`).
+
+A deployment that lists a bare host and receives asynchronous MDNs on a 
non-default port must add the port to the entry.
+
 === camel-azure-eventhubs - per-partition checkpoint counters and timer; 
checkpoint window boundary fix
 
 Several fixes from 4.22.x have been brought forward to 4.18.6 to give this 
change a sound base.
@@ -206,6 +216,16 @@ exception of the route. With an encoder that accepts any 
object, the serialised
 message, cause or stack trace of the exception of the route. Set 
`muteException=false` to write the exception as before.
 `transferExchange=true` is not affected.
 
+=== camel-netty - with transferExchange the consumer keeps its own connection 
headers
+
+With `transferExchange=true` the connection headers `CamelNettyRemoteAddress`, 
`CamelNettyLocalAddress`,
+`CamelNettyChannelHandlerContext`, `CamelNettySSLSession` and the 
`CamelNettySSLClientCert*` headers (and the
+`CamelNettyRemoteAddress` and `CamelNettyChannel` exchange properties) are now 
always the ones of the receiving side:
+the connection it accepted is the source of truth. Before, the headers of the 
transferred exchange replaced them. Such
+a header in the transferred exchange is no longer used, also when the 
receiving side has no value for it (for example
+the `CamelNettySSLClientCert*` headers on a connection without a client 
certificate). This also applies to the reply
+the producer receives. Send any such value of the sender under a header name 
of your own.
+
 === camel-oauth - the bearer token processor is stateless and reads the HTTP 
request headers
 
 `OAuthBearerTokenProcessor` no longer creates or updates the OAuth session, 
and no longer sets the
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 9b14837eb472..bb01690b85a0 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
@@ -36,6 +36,16 @@ The text of a body part now ends exactly where the boundary 
delimiter begins: th
 line is removed as the sender wrote it, CRLF or a bare LF. Before, two 
characters were always removed, so a part
 framed with bare line feeds (as `openssl cms -sign` writes them without 
`-crlfeol`) lost its last byte.
 
+=== camel-as2 - the asynchronous MDN allow-list matches the host and port
+
+The `asyncMdnAllowedHosts` option now matches the full authority - host and 
port - of the asynchronous MDN delivery
+address, rather than the host alone. Each entry is a host with an optional 
port in `host:port` form (IPv6 literals use
+bracket notation, for example `[::1]` or `[::1]:8080`). A bare-host entry (for 
example `partner.example`) now matches
+only the default port of `http` (80); to deliver to another port, list it 
explicitly (for example
+`partner.example:8080`).
+
+A deployment that lists a bare host and receives asynchronous MDNs on a 
non-default port must add the port to the entry.
+
 === camel-azure-eventhubs - an event that completes when the checkpoint timer 
of its window has run is checkpointed
 
 With `checkpointBatchTimeout`, the consumer now starts a new checkpoint window 
when the timer of the current window
@@ -139,6 +149,16 @@ exception of the route. With an encoder that accepts any 
object, the serialised
 message, cause or stack trace of the exception of the route. Set 
`muteException=false` to write the exception as before.
 `transferExchange=true` is not affected.
 
+=== camel-netty - with transferExchange the consumer keeps its own connection 
headers
+
+With `transferExchange=true` the connection headers `CamelNettyRemoteAddress`, 
`CamelNettyLocalAddress`,
+`CamelNettyChannelHandlerContext`, `CamelNettySSLSession` and the 
`CamelNettySSLClientCert*` headers (and the
+`CamelNettyRemoteAddress` and `CamelNettyChannel` exchange properties) are now 
always the ones of the receiving side:
+the connection it accepted is the source of truth. Before, the headers of the 
transferred exchange replaced them. Such
+a header in the transferred exchange is no longer used, also when the 
receiving side has no value for it (for example
+the `CamelNettySSLClientCert*` headers on a connection without a client 
certificate). This also applies to the reply
+the producer receives. Send any such value of the sender under a header name 
of your own.
+
 === camel-elasticsearch-rest-client - the credentials are only sent to the 
nodes of the cluster
 
 The `user` and `password` are now offered only to the nodes the client talks 
to: the hosts of `hostAddressesList` and,

Reply via email to