gzurowski commented on code in PR #1683:
URL: https://github.com/apache/camel-website/pull/1683#discussion_r3507992280


##########
content/blog/2026/07/camel421-whatsnew/index.md:
##########
@@ -0,0 +1,419 @@
+---
+title: "Apache Camel 4.21 What's New"
+date: 2026-07-03
+draft: false
+authors: [ davsclaus, squakez ]
+categories: [ "Releases" ]
+keywords: ["apache camel", "whats new", "camel 4", "release", "camel 4.21", 
"integration framework"]
+preview: "Details of what we have done in the Camel 4.21 release."
+---
+
+Apache Camel 4.21 has just been [released](/blog/2026/07/RELEASE-4.21.0/).
+
+This release introduces a large set of new features and noticeable 
improvements that we will cover in this blog post.
+
+## Camel Core
+
+### Error Registry
+
+The Error Registry has been enhanced to capture rich exchange data snapshots 
at error time,
+following the same pattern as BacklogTracer. This includes the message body, 
headers, exchange properties,
+and variables — giving you a complete picture of what was happening when the 
error occurred.
+
+Error registry configuration has moved to a dedicated `camel.errorRegistry.*` 
prefix:
+
+```properties
+camel.errorRegistry.enabled=true
+camel.errorRegistry.maximumEntries=100
+camel.errorRegistry.timeToLiveSeconds=300
+```
+
+The error registry integrates with the route diagram rendering, allowing you 
to visualize the
+exact path a failed exchange took through your routes.
+
+### Route Topology
+
+A new route topology service computes inter-route relationships — which routes 
send messages to
+which other routes (via `direct`, `seda`, `kafka`, etc.). The topology is 
available through a dev console
+and powers the new topology diagram rendering in both the CLI and the 
embeddable web component.
+
+See the dedicated [Route Topology](/blog/2026/06/camel-route-topology/) blog 
post for more details.
+
+### Group-Scoped Variables
+
+Variables can now be scoped to a route group. When multiple routes share a 
`routeGroup`,
+they can share variables within that group scope using `variable.group:myVar`:
+
+```java
+from("direct:a").routeGroup("myGroup")
+    .setVariable("group:counter", simple("${variable.group:counter}++"))
+    .to("direct:b");
+
+from("direct:b").routeGroup("myGroup")
+    .log("Counter is ${variable.group:counter}");
+```
+
+### Exchange Memory Optimization
+
+We made significant work to reduce memory pressure on the Exchange object:

Review Comment:
   ```suggestion
   We made significant work to reduce memory pressure on the `Exchange` object:
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to