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

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


The following commit(s) were added to refs/heads/main by this push:
     new 2b71d300dd70 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 (#29086)
2b71d300dd70 is described below

commit 2b71d300dd70e61bd76756b48e657587d0c93d5e
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Nov 3 12:53:28 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 (#29086)
    
    Signed-off-by: Claus Ibsen <[email protected]>
    Co-Authored-By: Claude Opus 5.5 <[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