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-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 12442102 Whats new 4.13 (#1366)
12442102 is described below

commit 12442102a417a70fdc026608493f5d4034731bc1
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Jul 8 20:41:30 2025 +0200

    Whats new 4.13 (#1366)
    
    * Whats new 4.13
    
    * Whats new 4.13
    
    * doc: micrometer default last time exchange
    
    * Add camel-kakfa transaction enhancement (#1367)
    
    * Whats new 4.13
    
    ---------
    
    Co-authored-by: Pasquale Congiusti <pasquale.congiu...@gmail.com>
    Co-authored-by: Claudio Miranda <clau...@claudius.com.br>
---
 .../blog/2025/07/camel413-whatsnew/featured.png    | Bin 0 -> 243818 bytes
 content/blog/2025/07/camel413-whatsnew/index.md    | 154 +++++++++++++++++++++
 2 files changed, 154 insertions(+)

diff --git a/content/blog/2025/07/camel413-whatsnew/featured.png 
b/content/blog/2025/07/camel413-whatsnew/featured.png
new file mode 100644
index 00000000..a9a95d3b
Binary files /dev/null and 
b/content/blog/2025/07/camel413-whatsnew/featured.png differ
diff --git a/content/blog/2025/07/camel413-whatsnew/index.md 
b/content/blog/2025/07/camel413-whatsnew/index.md
new file mode 100644
index 00000000..7ac8205f
--- /dev/null
+++ b/content/blog/2025/07/camel413-whatsnew/index.md
@@ -0,0 +1,154 @@
+---
+title: "Apache Camel 4.13 What's New"
+date: 2025-07-08
+draft: false
+authors: [ davsclaus,squakez,claudio4j ]
+categories: [ "Releases" ]
+preview: "Details of what we have done in the Camel 4.13 release."
+---
+
+Apache Camel 4.13 has just been [released](/blog/2025/07/RELEASE-4.13.0/).
+
+This release introduces a set of new features and noticeable improvements that 
we will cover in this blog post.
+
+## Camel Core
+
+We have made management possible for `BackOff`, `ForegroundTask`, and 
`BackgroundTask` which
+are used as internal tasks to perform repetitive tasks, usually related to 
re-connection or recovery.
+Some of the Came components uses these features, and other components has 
native recovery built-in from
+the underlying library. However, those that uses these Camel tasks, is now 
exposed as JMX management,
+and also provide more logging details during activity. All together it's 
easier to follow what is happening.
+
+If possible Camel will now report file name:line-number of the source file in 
the `FailedToStartRouteException`
+if a route threw an exception on startup.
+
+## Camel JBang
+
+Reduced the number of dependencies used with `camel run`.
+
+Added `camel get internal-task` command to show state of internal tasks (see 
above).
+
+### Camel Launcher
+
+This module provides a self-contained executable JAR that includes all 
dependencies required to run Camel JBang without the need for the JBang 
two-step process.
+
+This is distributed as:
+
+1. A self-executing JAR: `camel-launcher-4.13.0.jar`
+2. Distribution archives: `camel-launcher-4.13.0-bin.zip` or 
`camel-launcher-4.13.0-bin.tar.gz`
+
+You can then launch Camel either via `java -jar` or extract the distribution 
and execute the `camel` scripts.
+
+#### Benefits
+
+- No need for JBang installation
+- Single executable JAR with all dependencies included
+- Faster startup time (no dependency resolution step, on-demand class loading)
+- Better memory usage (only loads classes that are actually used)
+- Avoids classpath conflicts (dependencies kept as separate JARs)
+- Each self-executing JAR is its own release, avoiding version complexity
+- Can still be used with JBang if preferred
+
+## Rest DSL
+
+Overall improved the request validator, for both the built-in and as well when 
using `camel-openapi-validator` component.
+The latter will now also validate the request payload is valid according to 
the OpenAPI schema.
+
+Added support for find-grained validation levels with 
`camel-openapi-validator`.
+For example, you can ignore query parameters:
+
+```properties
+camel.rest.validation-levels[validation.schema.required] = INFO
+camel.rest.validation-levels[validation.request.parameter.query.missing] = 
IGNORE
+camel.rest.validation-levels[validation.response.body.missing] = WARN
+```
+
+Added response validator which can be turned on via 
`clientResponseValidation=true`, which
+makes Camel check what is being returned as response is valid according to the 
OpenAPI spec.
+
+## YAML DSL
+
+Removed support for using kebab-case in the DSL. So for example `set-body` 
should be migrated to `setBody` which
+is the canonical syntax used in all the DSLs.
+
+## Camel AI
+
+The Camel components for langchain4j has been updated for the latest 1.0.x 
releases.
+
+## Camel HTTP
+
+Added `skipcontrolheaders` option which can be enabled, that makes it easier 
when you have
+several HTTP endpoints being called in the routes, and don't want any 
`CamelHttpXXX` control headers
+to interfere when calling new HTTP endpoints. This avoids having to use 
`removeHeaders` in the routes
+to manually removing those headers.
+
+## Camel Kafka
+
+We added two parameters `transacted` and `transactionalId` to the 
`camel-kafka` component, so you don't have to set the `transactional.id` in the 
`additionalProperties` parameter.
+This way sets the kafka producer with transaction boundaries, in this case the 
`transactional.id` is the endpoint id + route id.
+
+Example:
+```java
+from("platform-http:/sendtx/{word}")
+   .setBody(simple("{\"foo\": \"${header.word}\"}"))
+   .to("kafka:my-topic?transacted=true")
+   .to("sql:insert into foo(name) values (:#word)");
+```
+
+In case you want to have finer control you can set a `transactionalId` 
parameter per route. Note that the old styles using the `additionalProperties` 
is still valid.
+
+
+## Camel Spring Boot
+
+`camel-spring-boot` is upgraded to the latest Spring Boot 3.5.3 release.
+
+Removed deprecated `camel.springboot.xxx` auto configuration naming. Use 
`camel.main.xxx` instead.
+
+## Camel Micrometer
+
+`camel-micrometer` component added a little but (hopefully) useful default 
metric: `camel_exchanges_last_timestamp`. The goal of this new metric is to be 
able to discern how long a Camel application has been idle expecting any 
exchange to consume. In environments where there is the expectation of a 
continuous execution of exchanges, this can be of great help to immediately 
flag an application for some potential problem. The outcome of the metric in 
`Prometheus` is a `Gauge` which expose  [...]
+
+```
+# HELP camel_exchanges_last_timestamp Last exchange processed time in 
milliseconds since the Unix epoch
+# TYPE camel_exchanges_last_timestamp gauge
+camel_exchanges_last_timestamp 1.749824808777E12
+```
+
+## Miscellaneous
+
+Upgraded many third-party dependencies to the latest releases at the time of 
release.
+
+The `camel-nats` component now has support for using the Nats JetStreams 
feature.
+
+The `camel-ftp` and `camel-smb` components is now more resilient on startup 
when using `autoCreate`
+and creating the starting directory in the consumer fails, then Camel will not 
try to recover and
+attempt to create the directory on next poll.
+
+We made `camel-smb` more resilient and better recover when there are 
connectivity problems.
+
+## New Components
+
+There are no new components.
+
+## Upgrading
+
+Make sure to read the [upgrade 
guide](/manual/camel-4x-upgrade-guide-4_13.html) if you are upgrading from a 
previous
+Camel version.
+
+If you are upgrading from, for example, 4.4 to 4.8, then make sure to follow 
the upgrade guides for each release
+in-between, i.e.
+4.4 -> 4.5, 4.5 -> 4.6, and so forth.
+
+The Camel Upgrade Recipes tool can also be used to automate upgrading.
+See more at: https://github.com/apache/camel-upgrade-recipes
+
+## Release Notes
+
+You can find additional information about this release in the list of resolved 
JIRA tickets:
+
+- [Release notes 4.13](/releases/release-4.13.0/)
+
+## Roadmap
+
+The following 4.14 LTS release is planned for September 2025.
+

Reply via email to