You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "davsclaus (via GitHub)" <gi...@apache.org> on 2023/08/13 11:06:31 UTC

[GitHub] [camel-website] davsclaus opened a new pull request, #1053: Camel 4 whats new. WIP

davsclaus opened a new pull request, #1053:
URL: https://github.com/apache/camel-website/pull/1053

   (no comment)


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] davsclaus commented on pull request #1053: Camel 4 whats new. WIP

Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus commented on PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#issuecomment-1678542948

   Any more feedback on this blog post ?


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] lhein commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "lhein (via GitHub)" <gi...@apache.org>.
lhein commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293289413


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,190 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added
+
+- `camel config` - to set custom user configuration
+- `camel log` - to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace` - to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send` - to send messages to an existing running Camel integration
+- `camel get route-dump` - to dump routes in XML or YAML format
+
+The maven resolver that Camel JBang uses has been migrated to latest, and Camel JBang will now report more accurately
+whether a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose`
+flag to output more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+In general there has been many improvements to Camel JBang making this a great way to try Camel, and as well as

Review Comment:
   there have been



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] orpiske commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "orpiske (via GitHub)" <gi...@apache.org>.
orpiske commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293274489


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,185 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added
+
+- `camel config` - to set custom user configuration
+- `camel log` - to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace` - to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send` - to send messages to an existing running Camel integration
+- `camel get route-dump` - to dump routes in XML or YAML format
+
+The maven resolver that Camel JBang uses has been migrated to latest, and Camel JBang will now report more accurately
+whether a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose`
+flag to output more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+In general there has been many improvements to Camel JBang making this a great way to try Camel, and as well as
+a companion tool you can use during traditional Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL to be more aligned in feature parity related
+to configuring beans. For example in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in
+the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to make migration from legacy
+OSGi Blueprint (and Spring XML files, eg `<beans>`) to modern Camel DSL.
+
+### 9) New components
+
+- `camel-aws2-step-functions`: Manage and invoke AWS Step functions
+- `camel-azure-files`: Send and receive files on Azure File Storage
+- `camel-dhis2`: Integrate with DHIS2 (health-level)
+- `camel-opensearch`: Send requests to OpenSearch
+- `camel-parquet-avro`: Parquet Avro serialization and de-serialization
+- `camel-platform-http-main`: Platform HTTP for Camel Main runtime
+- `camel-yaml-io`: YAML DSL route dumper
+
+### 10) Miscellaneous improvements
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSon payloads then the body can be logged in pretty format with:
+
+    .log("${prettyBody}")
+
+And in XML
+
+    <log message="${prettyBody}"/>
+
+And in YAML
+
+    - log: "${prettyBody}"
+
+
+TODO: Other bits and pieces
+
+### 11) Migrating to Camel 4
+
+We have of course cleaned up the code base, such as removing all deprecated APIs and components. 
+We have also adjusted some APIs in regard to configuring `CamelContext` with custom settings.
+
+In terms of backward compatibility then Camel 4 is mostly compatible for regular Camel applications.
+However, if you are using some of the more advanced features and other plugins in Camel then migration is needed.
+Also, custom components must be migrated and recompiled.
+All details can be seen in the [migration guide](/manual/camel-4-migration-guide.html).
+
+Good luck with your migration if you decide to continue your Camel journey. And for new users to Camel then good luck getting onboard.
+
+### 12) Roadmap for remainder of 2023
+
+We will continue working on Camel 4.x and do non-LTS releases, leading up to the next LTS release by end of this year.
+The major goals for this is Java 21 support, Spring Boot 3.2, and to catch up with newer Quarkus releases.
+
+The following release scheduled, is subject for change.
+
+| Release | Date | Description |
+|---------|------|-------------|
+| 4.1     | Oct  | Non-LTS     |
+| 4.2     | Dec  | LTS         |
+
+An ongoing effort is also to keep stabilizing our CI builds, to ensure commits do not introduce regressions.
+At this moment then the CI builds are occasionally have a few test errors that are related to flaky tests, that
+we keep fixing, to ensure the CI reports are trustworthy.

Review Comment:
   Thanks. Let me try adding something quickly



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] davsclaus commented on pull request #1053: Camel 4 whats new. WIP

Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus commented on PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#issuecomment-1677181634

   Thanks @lhein 


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] github-actions[bot] commented on pull request #1053: Camel 4 whats new. WIP

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#issuecomment-1676349866

   🚀 Preview is available at https://pr-1053--camel.netlify.app


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] gzurowski commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "gzurowski (via GitHub)" <gi...@apache.org>.
gzurowski commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293046392


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,89 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+TODO: Something about Camel v4 just released
+
+This blog post highlights the noteworthy new features and improvements in Camel v4.
+
+### 1) Major Goals
+
+TODO: SB3, Q3, Javax -> Jakarta, Java 17
+
+### 2) Java 17
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 3) Dependency updates
+
+We have as much as possible upgraded all 3rd party dependencies to their latest releases.
+
+### 4) Performance optimizations
+
+TODO: Stuff that Otavio worked on
+
+### 5) Camel JBang
+
+TODO: jbang stuff
+
+### 6) Spring Boot native
+
+TODO: Nicolas work on limited support for AOT
+
+### 7) YAML DSL
+
+TODO: Improved YAML DSL
+
+### 8) XML DSL with beans
+
+TODO: Gregorz stuff (preview)
+
+### 9) New components
+
+- camel-aws2-step-functions: Manage and invoke AWS Step functions
+- camel-azure-files: Send and receive files on Azure File Storage
+- camel-dhis2 - Integrate with DHIS2 (health-level)
+- camel-opensearch - Send requests to OpenSearch
+- camel-parquet-avro - Parquet Avro serialization and de-serialization
+- camel-platform-http-main - Platform HTTP for Camel Main runtime
+- camel-yaml-io - YAML DSL route dumper
+
+### 10) Miscellaneous improvements
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSon payloads then the body can be logged in pretty format with:
+
+    .log("${prettyBody}")
+
+And in XML
+
+    <log message="${prettyBody}"/>
+
+And in YAML
+
+    - log: "${prettyBody}"
+
+TODO: Other bits and pieces
+
+### 11) Migrating to Camel 4
+
+We have of course cleaned up the code base, such as removing all deprecated APIs and components. 
+We have also adjusted some APIs in regard to configuring `CamelContext` with custom settings.
+
+In terms of backward compatibility then Camel 4 is mostly compatibility for regular Camel applications.

Review Comment:
   ```suggestion
   In terms of backward compatibility then Camel 4 is mostly compatible for regular Camel applications.
   ```



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] github-actions[bot] commented on pull request #1053: Camel 4 whats new. WIP

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#issuecomment-1677945787

   🚀 Preview is available at https://pr-1053--camel.netlify.app


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] gzurowski commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "gzurowski (via GitHub)" <gi...@apache.org>.
gzurowski commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1294362005


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,218 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,orpiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+After 10 months of development, with 3 milestones, and 2 RC releases, we are releasing Apache Camel v4 
+today as LTS release. The Camel `4.0.x` is a LTS release, and we will support it for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time when we switched `main` branch to
+be Camel v4 based. Since then, we focused our effort primarily on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs,
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. We plan to support Java 21 on next LTS released by the end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements).
+
+### 4) Camel Spring Boot
+
+We tested Camel 4 with Spring Boot 3.1.2, the latest release available.
+
+The `camel-platform-http-starter` is now using the embedded HTTP server directly from Spring Boot, instead of
+using Servlet APIs as previously.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users who just want to run Camel as a standalone application, we have `camel-main` which is constantly being improved.
+The core in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+The inclusion of an embedded HTTP server is now made easy with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+We made a lot of improvements to Camel JBang. The `camel` CLI can now easily run with different Camel versions, for example:
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when, for example, you need to trouble-shoot why _something_ started failed. For instance, in occasions when

Review Comment:
   ```suggestion
   This is very handy when, for example, you need to trouble-shoot when _something_ started failing. For instance, in occasions when
   ```



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] github-actions[bot] commented on pull request #1053: Camel 4 whats new. WIP

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#issuecomment-1676940560

   🚀 Preview is available at https://pr-1053--camel.netlify.app


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] gzurowski commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "gzurowski (via GitHub)" <gi...@apache.org>.
gzurowski commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1294366096


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,218 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,orpiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+After 10 months of development, with 3 milestones, and 2 RC releases, we are releasing Apache Camel v4 
+today as LTS release. The Camel `4.0.x` is a LTS release, and we will support it for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time when we switched `main` branch to
+be Camel v4 based. Since then, we focused our effort primarily on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs,
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. We plan to support Java 21 on next LTS released by the end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements).
+
+### 4) Camel Spring Boot
+
+We tested Camel 4 with Spring Boot 3.1.2, the latest release available.
+
+The `camel-platform-http-starter` is now using the embedded HTTP server directly from Spring Boot, instead of
+using Servlet APIs as previously.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users who just want to run Camel as a standalone application, we have `camel-main` which is constantly being improved.
+The core in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+The inclusion of an embedded HTTP server is now made easy with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+We made a lot of improvements to Camel JBang. The `camel` CLI can now easily run with different Camel versions, for example:
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when, for example, you need to trouble-shoot why _something_ started failed. For instance, in occasions when
+it works on version X but not on version Y, now you can quickly try to find out which version in between that started failing.
+
+You can also specify that `camel` CLI should use a specific Camel version by default. For example, if you have a newer version of
+Camel JBang installed, but must develop and use an older release:
+
+    camel version set 3.20.6
+
+We added the following new commands:
+
+- `camel config`: you can use to set custom user configuration
+- `camel log`: you can use to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace`: you can use to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send`: you can use to send messages to an existing running Camel integration
+- `camel get route-dump`: you can use to dump routes in XML or YAML format
+
+We migrated the maven resolver that Camel JBang uses to the latest version, and Camel JBang will now report more accurately whether
+a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose` flag to output
+more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+We made many improvements to Camel JBang, making it a great way to experiment with Camel and a useful companion tool for traditional 
+Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL, so that they have feature parity related to configuring beans. For example,
+in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to simplify migrating from legacy OSGi Blueprint 
+(and Spring XML files, eg `<beans>`) to the modern Camel DSL.
+
+### 9) New components
+
+- `camel-aws2-step-functions`: Manage and invoke AWS Step functions
+- `camel-azure-files`: Send and receive files on Azure File Storage
+- `camel-dhis2`: Integrate with DHIS2 (health-level)
+- `camel-observation`: Observability using Micrometer Observation
+- `camel-opensearch`: Send requests to OpenSearch
+- `camel-parquet-avro`: Parquet Avro serialization and de-serialization
+- `camel-platform-http-main`: Platform HTTP for Camel Main runtime
+- `camel-yaml-io`: YAML DSL route dumper
+- `camel-zeebe`: Integration with Camunda Zeebe
+
+### 10) Miscellaneous improvements
+
+The Camel maven plugins has been made compatible with Apache Maven 4.
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSON payloads, then you can log the body in pretty format with:
+
+    .log("${prettyBody}")
+
+And in XML:
+
+    <log message="${prettyBody}"/>
+
+And in YAML:
+
+    - log: "${prettyBody}"
+
+We have added more _dev_console_s that provide insights into your running Camel application, which
+can be used together with Camel JBang and also visible in the developer web console.
+
+### Migrating to Camel 4
+
+Support for OSGi (via Apache Karaf) and `camel-cdi` has been removed. 
+
+Camel 4 is primary supporting Spring Boot, Quarkus, and standalone Camel with `camel-main`.
+Other runtimes is not officially supported. For users that must use Camel 4 as a framework on top of other runtimes,

Review Comment:
   ```suggestion
   Other runtimes are not officially supported. For users that must use Camel 4 as a framework on top of other runtimes,
   ```



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] lhein commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "lhein (via GitHub)" <gi...@apache.org>.
lhein commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293287788


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,190 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added
+
+- `camel config` - to set custom user configuration
+- `camel log` - to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace` - to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send` - to send messages to an existing running Camel integration
+- `camel get route-dump` - to dump routes in XML or YAML format
+
+The maven resolver that Camel JBang uses has been migrated to latest, and Camel JBang will now report more accurately
+whether a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose`
+flag to output more details in dependency resolution that can help during troubleshooting.

Review Comment:
   details regarding / about dependency resolution, which can help



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] davsclaus commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293273074


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,185 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added
+
+- `camel config` - to set custom user configuration
+- `camel log` - to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace` - to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send` - to send messages to an existing running Camel integration
+- `camel get route-dump` - to dump routes in XML or YAML format
+
+The maven resolver that Camel JBang uses has been migrated to latest, and Camel JBang will now report more accurately
+whether a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose`
+flag to output more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+In general there has been many improvements to Camel JBang making this a great way to try Camel, and as well as
+a companion tool you can use during traditional Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL to be more aligned in feature parity related
+to configuring beans. For example in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in
+the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to make migration from legacy
+OSGi Blueprint (and Spring XML files, eg `<beans>`) to modern Camel DSL.
+
+### 9) New components
+
+- `camel-aws2-step-functions`: Manage and invoke AWS Step functions
+- `camel-azure-files`: Send and receive files on Azure File Storage
+- `camel-dhis2`: Integrate with DHIS2 (health-level)
+- `camel-opensearch`: Send requests to OpenSearch
+- `camel-parquet-avro`: Parquet Avro serialization and de-serialization
+- `camel-platform-http-main`: Platform HTTP for Camel Main runtime
+- `camel-yaml-io`: YAML DSL route dumper
+
+### 10) Miscellaneous improvements
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSon payloads then the body can be logged in pretty format with:
+
+    .log("${prettyBody}")
+
+And in XML
+
+    <log message="${prettyBody}"/>
+
+And in YAML
+
+    - log: "${prettyBody}"
+
+
+TODO: Other bits and pieces
+
+### 11) Migrating to Camel 4
+
+We have of course cleaned up the code base, such as removing all deprecated APIs and components. 
+We have also adjusted some APIs in regard to configuring `CamelContext` with custom settings.
+
+In terms of backward compatibility then Camel 4 is mostly compatible for regular Camel applications.
+However, if you are using some of the more advanced features and other plugins in Camel then migration is needed.
+Also, custom components must be migrated and recompiled.
+All details can be seen in the [migration guide](/manual/camel-4-migration-guide.html).
+
+Good luck with your migration if you decide to continue your Camel journey. And for new users to Camel then good luck getting onboard.
+
+### 12) Roadmap for remainder of 2023
+
+We will continue working on Camel 4.x and do non-LTS releases, leading up to the next LTS release by end of this year.
+The major goals for this is Java 21 support, Spring Boot 3.2, and to catch up with newer Quarkus releases.
+
+The following release scheduled, is subject for change.
+
+| Release | Date | Description |
+|---------|------|-------------|
+| 4.1     | Oct  | Non-LTS     |
+| 4.2     | Dec  | LTS         |
+
+An ongoing effort is also to keep stabilizing our CI builds, to ensure commits do not introduce regressions.
+At this moment then the CI builds are occasionally have a few test errors that are related to flaky tests, that
+we keep fixing, to ensure the CI reports are trustworthy.

Review Comment:
   Yes you are welcome to add some text about that



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] gzurowski commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "gzurowski (via GitHub)" <gi...@apache.org>.
gzurowski commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293038391


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,89 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+TODO: Something about Camel v4 just released
+
+This blog post highlights the noteworthy new features and improvements in Camel v4.

Review Comment:
   ```suggestion
   This blog post highlights some noteworthy new features and improvements in Camel v4.
   ```



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] lhein commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "lhein (via GitHub)" <gi...@apache.org>.
lhein commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293286500


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,190 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added

Review Comment:
   have been added



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] lhein commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "lhein (via GitHub)" <gi...@apache.org>.
lhein commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293282066


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,189 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.

Review Comment:
   How about:
   For users who just want to run Camel as a standalone application, we have `camel-main` which is constantly being improved.



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] lhein commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "lhein (via GitHub)" <gi...@apache.org>.
lhein commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293298153


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,190 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added
+
+- `camel config` - to set custom user configuration
+- `camel log` - to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace` - to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send` - to send messages to an existing running Camel integration
+- `camel get route-dump` - to dump routes in XML or YAML format
+
+The maven resolver that Camel JBang uses has been migrated to latest, and Camel JBang will now report more accurately
+whether a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose`
+flag to output more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+In general there has been many improvements to Camel JBang making this a great way to try Camel, and as well as
+a companion tool you can use during traditional Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL to be more aligned in feature parity related
+to configuring beans. For example in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in
+the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to make migration from legacy
+OSGi Blueprint (and Spring XML files, eg `<beans>`) to modern Camel DSL.
+
+### 9) New components
+
+- `camel-aws2-step-functions`: Manage and invoke AWS Step functions
+- `camel-azure-files`: Send and receive files on Azure File Storage
+- `camel-dhis2`: Integrate with DHIS2 (health-level)
+- `camel-opensearch`: Send requests to OpenSearch
+- `camel-parquet-avro`: Parquet Avro serialization and de-serialization
+- `camel-platform-http-main`: Platform HTTP for Camel Main runtime
+- `camel-yaml-io`: YAML DSL route dumper
+
+### 10) Miscellaneous improvements
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSon payloads then the body can be logged in pretty format with:
+
+    .log("${prettyBody}")
+
+And in XML
+
+    <log message="${prettyBody}"/>
+
+And in YAML
+
+    - log: "${prettyBody}"
+
+
+TODO: Other bits and pieces
+
+### 11) Migrating to Camel 4
+
+We have of course cleaned up the code base, such as removing all deprecated APIs and components. 
+We have also adjusted some APIs in regard to configuring `CamelContext` with custom settings.
+
+In terms of backward compatibility then Camel 4 is mostly compatible for regular Camel applications.
+However, if you are using some of the more advanced features and other plugins in Camel then migration is needed.
+Also, custom components must be migrated and recompiled.
+All details can be seen in the [migration guide](/manual/camel-4-migration-guide.html).
+
+Good luck with your migration if you decide to continue your Camel journey. And for new users to Camel then good luck getting onboard.
+
+### 12) Roadmap for remainder of 2023
+
+We will continue working on Camel 4.x and do non-LTS releases, leading up to the next LTS release by end of this year.
+The major goals for this is Java 21 support, Spring Boot 3.2, and to catch up with newer Quarkus releases.
+
+The following releases are currently scheduled (subject for change) for this year:
+
+| Release | Date | Description |
+|---------|------|-------------|
+| 4.1     | Oct  | Non-LTS     |
+| 4.2     | Dec  | LTS         |
+
+An ongoing effort is also to keep stabilizing our CI builds, to ensure commits do not introduce regressions.
+At this moment then the CI builds are occasionally have a few test errors that are related to flaky tests, that

Review Comment:
   At the moment the CU builds are occasionally having



##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,190 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added
+
+- `camel config` - to set custom user configuration
+- `camel log` - to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace` - to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send` - to send messages to an existing running Camel integration
+- `camel get route-dump` - to dump routes in XML or YAML format
+
+The maven resolver that Camel JBang uses has been migrated to latest, and Camel JBang will now report more accurately
+whether a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose`
+flag to output more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+In general there has been many improvements to Camel JBang making this a great way to try Camel, and as well as
+a companion tool you can use during traditional Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL to be more aligned in feature parity related
+to configuring beans. For example in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in
+the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to make migration from legacy
+OSGi Blueprint (and Spring XML files, eg `<beans>`) to modern Camel DSL.
+
+### 9) New components
+
+- `camel-aws2-step-functions`: Manage and invoke AWS Step functions
+- `camel-azure-files`: Send and receive files on Azure File Storage
+- `camel-dhis2`: Integrate with DHIS2 (health-level)
+- `camel-opensearch`: Send requests to OpenSearch
+- `camel-parquet-avro`: Parquet Avro serialization and de-serialization
+- `camel-platform-http-main`: Platform HTTP for Camel Main runtime
+- `camel-yaml-io`: YAML DSL route dumper
+
+### 10) Miscellaneous improvements
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSon payloads then the body can be logged in pretty format with:
+
+    .log("${prettyBody}")
+
+And in XML
+
+    <log message="${prettyBody}"/>
+
+And in YAML
+
+    - log: "${prettyBody}"
+
+
+TODO: Other bits and pieces
+
+### 11) Migrating to Camel 4
+
+We have of course cleaned up the code base, such as removing all deprecated APIs and components. 
+We have also adjusted some APIs in regard to configuring `CamelContext` with custom settings.
+
+In terms of backward compatibility then Camel 4 is mostly compatible for regular Camel applications.
+However, if you are using some of the more advanced features and other plugins in Camel then migration is needed.
+Also, custom components must be migrated and recompiled.
+All details can be seen in the [migration guide](/manual/camel-4-migration-guide.html).
+
+Good luck with your migration if you decide to continue your Camel journey. And for new users to Camel then good luck getting onboard.
+
+### 12) Roadmap for remainder of 2023
+
+We will continue working on Camel 4.x and do non-LTS releases, leading up to the next LTS release by end of this year.
+The major goals for this is Java 21 support, Spring Boot 3.2, and to catch up with newer Quarkus releases.
+
+The following releases are currently scheduled (subject for change) for this year:
+
+| Release | Date | Description |
+|---------|------|-------------|
+| 4.1     | Oct  | Non-LTS     |
+| 4.2     | Dec  | LTS         |
+
+An ongoing effort is also to keep stabilizing our CI builds, to ensure commits do not introduce regressions.
+At this moment then the CI builds are occasionally have a few test errors that are related to flaky tests, that

Review Comment:
   At the moment the CI builds are occasionally having



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] orpiske commented on pull request #1053: Camel 4 whats new. WIP

Posted by "orpiske (via GitHub)" <gi...@apache.org>.
orpiske commented on PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#issuecomment-1678626160

   > Any more feedback on this blog post ?
   
   Not from me. I think it looks great.


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] github-actions[bot] commented on pull request #1053: Camel 4 whats new. WIP

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#issuecomment-1676894390

   🚀 Preview is available at https://pr-1053--camel.netlify.app


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] lhein commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "lhein (via GitHub)" <gi...@apache.org>.
lhein commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293295642


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,190 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added
+
+- `camel config` - to set custom user configuration
+- `camel log` - to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace` - to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send` - to send messages to an existing running Camel integration
+- `camel get route-dump` - to dump routes in XML or YAML format
+
+The maven resolver that Camel JBang uses has been migrated to latest, and Camel JBang will now report more accurately
+whether a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose`
+flag to output more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+In general there has been many improvements to Camel JBang making this a great way to try Camel, and as well as
+a companion tool you can use during traditional Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL to be more aligned in feature parity related
+to configuring beans. For example in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in
+the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to make migration from legacy
+OSGi Blueprint (and Spring XML files, eg `<beans>`) to modern Camel DSL.
+
+### 9) New components
+
+- `camel-aws2-step-functions`: Manage and invoke AWS Step functions
+- `camel-azure-files`: Send and receive files on Azure File Storage
+- `camel-dhis2`: Integrate with DHIS2 (health-level)
+- `camel-opensearch`: Send requests to OpenSearch
+- `camel-parquet-avro`: Parquet Avro serialization and de-serialization
+- `camel-platform-http-main`: Platform HTTP for Camel Main runtime
+- `camel-yaml-io`: YAML DSL route dumper
+
+### 10) Miscellaneous improvements
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSon payloads then the body can be logged in pretty format with:

Review Comment:
   JSON



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] lhein commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "lhein (via GitHub)" <gi...@apache.org>.
lhein commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293294226


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,190 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added
+
+- `camel config` - to set custom user configuration
+- `camel log` - to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace` - to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send` - to send messages to an existing running Camel integration
+- `camel get route-dump` - to dump routes in XML or YAML format
+
+The maven resolver that Camel JBang uses has been migrated to latest, and Camel JBang will now report more accurately
+whether a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose`
+flag to output more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+In general there has been many improvements to Camel JBang making this a great way to try Camel, and as well as
+a companion tool you can use during traditional Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL to be more aligned in feature parity related
+to configuring beans. For example in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in
+the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to make migration from legacy

Review Comment:
   make the migration.....to modern Camel DSL easier.



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] gzurowski commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "gzurowski (via GitHub)" <gi...@apache.org>.
gzurowski commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1294366999


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,218 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,orpiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+After 10 months of development, with 3 milestones, and 2 RC releases, we are releasing Apache Camel v4 
+today as LTS release. The Camel `4.0.x` is a LTS release, and we will support it for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time when we switched `main` branch to
+be Camel v4 based. Since then, we focused our effort primarily on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs,
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. We plan to support Java 21 on next LTS released by the end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements).
+
+### 4) Camel Spring Boot
+
+We tested Camel 4 with Spring Boot 3.1.2, the latest release available.
+
+The `camel-platform-http-starter` is now using the embedded HTTP server directly from Spring Boot, instead of
+using Servlet APIs as previously.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users who just want to run Camel as a standalone application, we have `camel-main` which is constantly being improved.
+The core in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+The inclusion of an embedded HTTP server is now made easy with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+We made a lot of improvements to Camel JBang. The `camel` CLI can now easily run with different Camel versions, for example:
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when, for example, you need to trouble-shoot why _something_ started failed. For instance, in occasions when
+it works on version X but not on version Y, now you can quickly try to find out which version in between that started failing.
+
+You can also specify that `camel` CLI should use a specific Camel version by default. For example, if you have a newer version of
+Camel JBang installed, but must develop and use an older release:
+
+    camel version set 3.20.6
+
+We added the following new commands:
+
+- `camel config`: you can use to set custom user configuration
+- `camel log`: you can use to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace`: you can use to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send`: you can use to send messages to an existing running Camel integration
+- `camel get route-dump`: you can use to dump routes in XML or YAML format
+
+We migrated the maven resolver that Camel JBang uses to the latest version, and Camel JBang will now report more accurately whether
+a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose` flag to output
+more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+We made many improvements to Camel JBang, making it a great way to experiment with Camel and a useful companion tool for traditional 
+Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL, so that they have feature parity related to configuring beans. For example,
+in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to simplify migrating from legacy OSGi Blueprint 
+(and Spring XML files, eg `<beans>`) to the modern Camel DSL.
+
+### 9) New components
+
+- `camel-aws2-step-functions`: Manage and invoke AWS Step functions
+- `camel-azure-files`: Send and receive files on Azure File Storage
+- `camel-dhis2`: Integrate with DHIS2 (health-level)
+- `camel-observation`: Observability using Micrometer Observation
+- `camel-opensearch`: Send requests to OpenSearch
+- `camel-parquet-avro`: Parquet Avro serialization and de-serialization
+- `camel-platform-http-main`: Platform HTTP for Camel Main runtime
+- `camel-yaml-io`: YAML DSL route dumper
+- `camel-zeebe`: Integration with Camunda Zeebe
+
+### 10) Miscellaneous improvements
+
+The Camel maven plugins has been made compatible with Apache Maven 4.
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSON payloads, then you can log the body in pretty format with:
+
+    .log("${prettyBody}")
+
+And in XML:
+
+    <log message="${prettyBody}"/>
+
+And in YAML:
+
+    - log: "${prettyBody}"
+
+We have added more _dev_console_s that provide insights into your running Camel application, which
+can be used together with Camel JBang and also visible in the developer web console.
+
+### Migrating to Camel 4
+
+Support for OSGi (via Apache Karaf) and `camel-cdi` has been removed. 
+
+Camel 4 is primary supporting Spring Boot, Quarkus, and standalone Camel with `camel-main`.
+Other runtimes is not officially supported. For users that must use Camel 4 as a framework on top of other runtimes,
+then you can ask for guidance and help in the Camel community. 
+
+We have, of course, cleaned up the code base. For instance, we removed all the deprecated APIs and components. 
+
+Some components that are not `jakarta` API compatible has been removed, until they have new releases,
+that works with `jakarta` APIs. The removed components are listed in the migration guide.
+
+We have also adjusted some APIs used to configure the `CamelContext` with custom settings.
+
+In terms of backward compatibility, then Camel 4 is mostly compatible with regular Camel applications.
+
+However, if you are using some of the more advanced features and other plugins in Camel, then migrating the code 
+to the new version might be needed.
+
+Additionally, custom components must be migrated and recompiled.
+
+You can learn about all details can in the [migration guide](/manual/camel-4-migration-guide.html).
+
+Good luck with your migration if you decide to continue your Camel journey. And for new users to Camel then good luck getting onboard.
+
+### Roadmap for Camel 4 for remainger of 2023

Review Comment:
   ```suggestion
   ### Roadmap for Camel 4 for the remainder of 2023
   ```



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] gzurowski commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "gzurowski (via GitHub)" <gi...@apache.org>.
gzurowski commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1294365821


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,218 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,orpiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+After 10 months of development, with 3 milestones, and 2 RC releases, we are releasing Apache Camel v4 
+today as LTS release. The Camel `4.0.x` is a LTS release, and we will support it for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time when we switched `main` branch to
+be Camel v4 based. Since then, we focused our effort primarily on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs,
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. We plan to support Java 21 on next LTS released by the end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements).
+
+### 4) Camel Spring Boot
+
+We tested Camel 4 with Spring Boot 3.1.2, the latest release available.
+
+The `camel-platform-http-starter` is now using the embedded HTTP server directly from Spring Boot, instead of
+using Servlet APIs as previously.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users who just want to run Camel as a standalone application, we have `camel-main` which is constantly being improved.
+The core in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+The inclusion of an embedded HTTP server is now made easy with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+We made a lot of improvements to Camel JBang. The `camel` CLI can now easily run with different Camel versions, for example:
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when, for example, you need to trouble-shoot why _something_ started failed. For instance, in occasions when
+it works on version X but not on version Y, now you can quickly try to find out which version in between that started failing.
+
+You can also specify that `camel` CLI should use a specific Camel version by default. For example, if you have a newer version of
+Camel JBang installed, but must develop and use an older release:
+
+    camel version set 3.20.6
+
+We added the following new commands:
+
+- `camel config`: you can use to set custom user configuration
+- `camel log`: you can use to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace`: you can use to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send`: you can use to send messages to an existing running Camel integration
+- `camel get route-dump`: you can use to dump routes in XML or YAML format
+
+We migrated the maven resolver that Camel JBang uses to the latest version, and Camel JBang will now report more accurately whether
+a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose` flag to output
+more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+We made many improvements to Camel JBang, making it a great way to experiment with Camel and a useful companion tool for traditional 
+Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL, so that they have feature parity related to configuring beans. For example,
+in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to simplify migrating from legacy OSGi Blueprint 
+(and Spring XML files, eg `<beans>`) to the modern Camel DSL.
+
+### 9) New components
+
+- `camel-aws2-step-functions`: Manage and invoke AWS Step functions
+- `camel-azure-files`: Send and receive files on Azure File Storage
+- `camel-dhis2`: Integrate with DHIS2 (health-level)
+- `camel-observation`: Observability using Micrometer Observation
+- `camel-opensearch`: Send requests to OpenSearch
+- `camel-parquet-avro`: Parquet Avro serialization and de-serialization
+- `camel-platform-http-main`: Platform HTTP for Camel Main runtime
+- `camel-yaml-io`: YAML DSL route dumper
+- `camel-zeebe`: Integration with Camunda Zeebe
+
+### 10) Miscellaneous improvements
+
+The Camel maven plugins has been made compatible with Apache Maven 4.
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSON payloads, then you can log the body in pretty format with:
+
+    .log("${prettyBody}")
+
+And in XML:
+
+    <log message="${prettyBody}"/>
+
+And in YAML:
+
+    - log: "${prettyBody}"
+
+We have added more _dev_console_s that provide insights into your running Camel application, which
+can be used together with Camel JBang and also visible in the developer web console.
+
+### Migrating to Camel 4
+
+Support for OSGi (via Apache Karaf) and `camel-cdi` has been removed. 

Review Comment:
   Is it worth mentioning how these technologies will be supported going forward (e.g., that Camel Karaf will continue to evolve as a separate sub-project)?



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] gzurowski commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "gzurowski (via GitHub)" <gi...@apache.org>.
gzurowski commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293039024


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,89 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+TODO: Something about Camel v4 just released
+
+This blog post highlights the noteworthy new features and improvements in Camel v4.
+
+### 1) Major Goals
+
+TODO: SB3, Q3, Javax -> Jakarta, Java 17
+
+### 2) Java 17
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 3) Dependency updates
+
+We have as much as possible upgraded all 3rd party dependencies to their latest releases.

Review Comment:
   ```suggestion
   We have upgraded all 3rd party dependencies to their latest releases where possible.
   ```



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] gzurowski commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "gzurowski (via GitHub)" <gi...@apache.org>.
gzurowski commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293039798


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,89 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+TODO: Something about Camel v4 just released
+
+This blog post highlights the noteworthy new features and improvements in Camel v4.
+
+### 1) Major Goals
+
+TODO: SB3, Q3, Javax -> Jakarta, Java 17
+
+### 2) Java 17
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 3) Dependency updates
+
+We have as much as possible upgraded all 3rd party dependencies to their latest releases.
+
+### 4) Performance optimizations
+
+TODO: Stuff that Otavio worked on
+
+### 5) Camel JBang
+
+TODO: jbang stuff
+
+### 6) Spring Boot native
+
+TODO: Nicolas work on limited support for AOT
+
+### 7) YAML DSL
+
+TODO: Improved YAML DSL
+
+### 8) XML DSL with beans
+
+TODO: Gregorz stuff (preview)
+
+### 9) New components
+
+- camel-aws2-step-functions: Manage and invoke AWS Step functions
+- camel-azure-files: Send and receive files on Azure File Storage
+- camel-dhis2 - Integrate with DHIS2 (health-level)
+- camel-opensearch - Send requests to OpenSearch
+- camel-parquet-avro - Parquet Avro serialization and de-serialization
+- camel-platform-http-main - Platform HTTP for Camel Main runtime
+- camel-yaml-io - YAML DSL route dumper

Review Comment:
   ```suggestion
   - `camel-aws2-step-functions`: Manage and invoke AWS Step functions
   - `camel-azure-files`: Send and receive files on Azure File Storage
   - `camel-dhis2`: Integrate with DHIS2 (health-level)
   - `camel-opensearch`: Send requests to OpenSearch
   - `camel-parquet-avro`: Parquet Avro serialization and de-serialization
   - `camel-platform-http-main`: Platform HTTP for Camel Main runtime
   - `camel-yaml-io`: YAML DSL route dumper
   ```



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] orpiske commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "orpiske (via GitHub)" <gi...@apache.org>.
orpiske commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293270679


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,185 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added
+
+- `camel config` - to set custom user configuration
+- `camel log` - to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace` - to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send` - to send messages to an existing running Camel integration
+- `camel get route-dump` - to dump routes in XML or YAML format
+
+The maven resolver that Camel JBang uses has been migrated to latest, and Camel JBang will now report more accurately
+whether a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose`
+flag to output more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+In general there has been many improvements to Camel JBang making this a great way to try Camel, and as well as
+a companion tool you can use during traditional Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL to be more aligned in feature parity related
+to configuring beans. For example in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in
+the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to make migration from legacy
+OSGi Blueprint (and Spring XML files, eg `<beans>`) to modern Camel DSL.
+
+### 9) New components
+
+- `camel-aws2-step-functions`: Manage and invoke AWS Step functions
+- `camel-azure-files`: Send and receive files on Azure File Storage
+- `camel-dhis2`: Integrate with DHIS2 (health-level)
+- `camel-opensearch`: Send requests to OpenSearch
+- `camel-parquet-avro`: Parquet Avro serialization and de-serialization
+- `camel-platform-http-main`: Platform HTTP for Camel Main runtime
+- `camel-yaml-io`: YAML DSL route dumper
+
+### 10) Miscellaneous improvements
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSon payloads then the body can be logged in pretty format with:
+
+    .log("${prettyBody}")
+
+And in XML
+
+    <log message="${prettyBody}"/>
+
+And in YAML
+
+    - log: "${prettyBody}"
+
+
+TODO: Other bits and pieces
+
+### 11) Migrating to Camel 4
+
+We have of course cleaned up the code base, such as removing all deprecated APIs and components. 
+We have also adjusted some APIs in regard to configuring `CamelContext` with custom settings.
+
+In terms of backward compatibility then Camel 4 is mostly compatible for regular Camel applications.
+However, if you are using some of the more advanced features and other plugins in Camel then migration is needed.
+Also, custom components must be migrated and recompiled.
+All details can be seen in the [migration guide](/manual/camel-4-migration-guide.html).
+
+Good luck with your migration if you decide to continue your Camel journey. And for new users to Camel then good luck getting onboard.
+
+### 12) Roadmap for remainder of 2023
+
+We will continue working on Camel 4.x and do non-LTS releases, leading up to the next LTS release by end of this year.
+The major goals for this is Java 21 support, Spring Boot 3.2, and to catch up with newer Quarkus releases.
+
+The following release scheduled, is subject for change.
+
+| Release | Date | Description |
+|---------|------|-------------|
+| 4.1     | Oct  | Non-LTS     |
+| 4.2     | Dec  | LTS         |
+
+An ongoing effort is also to keep stabilizing our CI builds, to ensure commits do not introduce regressions.
+At this moment then the CI builds are occasionally have a few test errors that are related to flaky tests, that
+we keep fixing, to ensure the CI reports are trustworthy.

Review Comment:
   I am thinking if we should also comment about the (best-effort) tests we are doing on `Power` and `s390x`. We did receive many contributions from folks interested in those architecture and I think it would be nice to mention that.



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] lhein commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "lhein (via GitHub)" <gi...@apache.org>.
lhein commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293284589


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,190 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,

Review Comment:
   were put instead of was put



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] github-actions[bot] commented on pull request #1053: Camel 4 whats new. WIP

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#issuecomment-1678767360

   🚀 Preview is available at https://pr-1053--camel.netlify.app


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] davsclaus commented on pull request #1053: Camel 4 whats new. WIP

Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus commented on PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#issuecomment-1676786557

   Thanks @gzurowski 


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] gzurowski commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "gzurowski (via GitHub)" <gi...@apache.org>.
gzurowski commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1294368252


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,218 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,orpiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+After 10 months of development, with 3 milestones, and 2 RC releases, we are releasing Apache Camel v4 
+today as LTS release. The Camel `4.0.x` is a LTS release, and we will support it for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time when we switched `main` branch to
+be Camel v4 based. Since then, we focused our effort primarily on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs,
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. We plan to support Java 21 on next LTS released by the end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements).
+
+### 4) Camel Spring Boot
+
+We tested Camel 4 with Spring Boot 3.1.2, the latest release available.
+
+The `camel-platform-http-starter` is now using the embedded HTTP server directly from Spring Boot, instead of
+using Servlet APIs as previously.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users who just want to run Camel as a standalone application, we have `camel-main` which is constantly being improved.
+The core in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+The inclusion of an embedded HTTP server is now made easy with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+We made a lot of improvements to Camel JBang. The `camel` CLI can now easily run with different Camel versions, for example:
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when, for example, you need to trouble-shoot why _something_ started failed. For instance, in occasions when
+it works on version X but not on version Y, now you can quickly try to find out which version in between that started failing.
+
+You can also specify that `camel` CLI should use a specific Camel version by default. For example, if you have a newer version of
+Camel JBang installed, but must develop and use an older release:
+
+    camel version set 3.20.6
+
+We added the following new commands:
+
+- `camel config`: you can use to set custom user configuration
+- `camel log`: you can use to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace`: you can use to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send`: you can use to send messages to an existing running Camel integration
+- `camel get route-dump`: you can use to dump routes in XML or YAML format
+
+We migrated the maven resolver that Camel JBang uses to the latest version, and Camel JBang will now report more accurately whether
+a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose` flag to output
+more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+We made many improvements to Camel JBang, making it a great way to experiment with Camel and a useful companion tool for traditional 
+Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL, so that they have feature parity related to configuring beans. For example,
+in XML DSL (`camel-xml-io`) you can now declare beans and Camel routes in the same XML file with `<camel>` as the root tag:
+
+```xml
+<camel>
+
+    <bean name="greeter" type="com.foo.Greeter">
+        <properties>
+            <property key="message" value="Hello World" />
+        </properties>
+    </bean>
+
+    <route id="my-route">
+        <from uri="direct:start"/>
+        <bean ref="greeter"/>
+        <to uri="mock:finish"/>
+    </route>
+
+</camel>
+```
+
+Then Camel handles the dependency injection, among the `<beans>`. 
+
+You can also use Spring dependency injection (which is more advanced), by inlining Spring `<beans>` tag with the spring namespace.
+See more in the documentation for `camel-xml-io-dsl` module.
+
+There is more work to be done, and we are planning to see if we can also use this to simplify migrating from legacy OSGi Blueprint 
+(and Spring XML files, eg `<beans>`) to the modern Camel DSL.
+
+### 9) New components
+
+- `camel-aws2-step-functions`: Manage and invoke AWS Step functions
+- `camel-azure-files`: Send and receive files on Azure File Storage
+- `camel-dhis2`: Integrate with DHIS2 (health-level)
+- `camel-observation`: Observability using Micrometer Observation
+- `camel-opensearch`: Send requests to OpenSearch
+- `camel-parquet-avro`: Parquet Avro serialization and de-serialization
+- `camel-platform-http-main`: Platform HTTP for Camel Main runtime
+- `camel-yaml-io`: YAML DSL route dumper
+- `camel-zeebe`: Integration with Camunda Zeebe
+
+### 10) Miscellaneous improvements
+
+The Camel maven plugins has been made compatible with Apache Maven 4.
+
+Camel 4 now requires JUnit 5 for unit tests, with the test components that have -junit5 as suffix.
+
+If you work with XML or JSON payloads, then you can log the body in pretty format with:
+
+    .log("${prettyBody}")
+
+And in XML:
+
+    <log message="${prettyBody}"/>
+
+And in YAML:
+
+    - log: "${prettyBody}"
+
+We have added more _dev_console_s that provide insights into your running Camel application, which
+can be used together with Camel JBang and also visible in the developer web console.
+
+### Migrating to Camel 4
+
+Support for OSGi (via Apache Karaf) and `camel-cdi` has been removed. 
+
+Camel 4 is primary supporting Spring Boot, Quarkus, and standalone Camel with `camel-main`.
+Other runtimes is not officially supported. For users that must use Camel 4 as a framework on top of other runtimes,
+then you can ask for guidance and help in the Camel community. 
+
+We have, of course, cleaned up the code base. For instance, we removed all the deprecated APIs and components. 
+
+Some components that are not `jakarta` API compatible has been removed, until they have new releases,
+that works with `jakarta` APIs. The removed components are listed in the migration guide.
+
+We have also adjusted some APIs used to configure the `CamelContext` with custom settings.
+
+In terms of backward compatibility, then Camel 4 is mostly compatible with regular Camel applications.
+
+However, if you are using some of the more advanced features and other plugins in Camel, then migrating the code 
+to the new version might be needed.
+
+Additionally, custom components must be migrated and recompiled.
+
+You can learn about all details can in the [migration guide](/manual/camel-4-migration-guide.html).
+
+Good luck with your migration if you decide to continue your Camel journey. And for new users to Camel then good luck getting onboard.
+
+### Roadmap for Camel 4 for remainger of 2023
+
+We will continue working on Camel 4.x and do non-LTS releases, leading up to the next LTS release by end of this year.
+
+The major goals for this year are to support Java 21, Spring Boot 3.2, and to catch up with newer Quarkus releases.
+
+The following releases are currently scheduled (subject for change) for this year:
+
+| Release | Date | Description |
+|---------|------|-------------|
+| 4.1     | Oct  | Non-LTS     |
+| 4.2     | Dec  | LTS         |
+
+An ongoing effort is also to keep stabilizing our CI builds, to ensure commits do not introduce regressions.
+At this moment, the CI builds are occasionally have a few test errors that are related to flaky tests, that we keep fixing to 
+ensure the CI reports are trustworthy.
+
+Many people helped improve the Camel build and tests for high-end servers like Power and s390x during Camel 4's development. Users
+and organizations building and leveraging Apache Camel on those platforms should have a smoother experience with Camel 4. This 
+continues as an ongoing effort and we expect and even better experience for those platforms in subsequent releases.
+
+We will continue to look for areas where we can improve the performance of Camel. At this point, we have identified that we can 
+improve performance in the Camel type converter systems, and we plan to refactor for Camel 4.1 onwards.
+
+And of course all the usual new features and improvements coming in from community users and contributors.
+
+### Roadmap for Camel 3 releases
+
+Our focus has shifted to primary work on Camel 4 onwards. We will continue to fix important bugs, CVEs and whatnot for the
+supported LTS releases of Camel 3. The last Camel 3.x release is Camel 3.22 LTS that is planned for end of this year.
+This means we will only do patch releases for Camel 3.22 LTS in 2024, and by end of 2024, then all of Camel 3 is EOL. 
+
+The Camel 3.22 release will be a _small release_ with only limited new functionality.
+
+Users are encourage to start new development, when possible, on Camel 4.

Review Comment:
   ```suggestion
   Users are encouraged to start new development on Camel 4.
   ```



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] gzurowski commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "gzurowski (via GitHub)" <gi...@apache.org>.
gzurowski commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1294363197


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,218 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,orpiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+After 10 months of development, with 3 milestones, and 2 RC releases, we are releasing Apache Camel v4 
+today as LTS release. The Camel `4.0.x` is a LTS release, and we will support it for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time when we switched `main` branch to
+be Camel v4 based. Since then, we focused our effort primarily on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs,
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. We plan to support Java 21 on next LTS released by the end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements).
+
+### 4) Camel Spring Boot
+
+We tested Camel 4 with Spring Boot 3.1.2, the latest release available.
+
+The `camel-platform-http-starter` is now using the embedded HTTP server directly from Spring Boot, instead of
+using Servlet APIs as previously.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users who just want to run Camel as a standalone application, we have `camel-main` which is constantly being improved.
+The core in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+The inclusion of an embedded HTTP server is now made easy with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+We made a lot of improvements to Camel JBang. The `camel` CLI can now easily run with different Camel versions, for example:
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when, for example, you need to trouble-shoot why _something_ started failed. For instance, in occasions when
+it works on version X but not on version Y, now you can quickly try to find out which version in between that started failing.
+
+You can also specify that `camel` CLI should use a specific Camel version by default. For example, if you have a newer version of
+Camel JBang installed, but must develop and use an older release:
+
+    camel version set 3.20.6
+
+We added the following new commands:
+
+- `camel config`: you can use to set custom user configuration
+- `camel log`: you can use to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace`: you can use to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send`: you can use to send messages to an existing running Camel integration
+- `camel get route-dump`: you can use to dump routes in XML or YAML format
+
+We migrated the maven resolver that Camel JBang uses to the latest version, and Camel JBang will now report more accurately whether
+a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose` flag to output
+more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+We made many improvements to Camel JBang, making it a great way to experiment with Camel and a useful companion tool for traditional 
+Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL, so that they have feature parity related to configuring beans. For example,

Review Comment:
   ```suggestion
   We have been working on unifying the YAML, XML and Java DSL, so that they have feature parity related to configuring beans. For example,
   ```



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] davsclaus merged pull request #1053: Camel 4 whats new. WIP

Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus merged PR #1053:
URL: https://github.com/apache/camel-website/pull/1053


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] github-actions[bot] commented on pull request #1053: Camel 4 whats new. WIP

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#issuecomment-1676927102

   🚀 Preview is available at https://pr-1053--camel.netlify.app


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] lhein commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "lhein (via GitHub)" <gi...@apache.org>.
lhein commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293285651


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,190 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,

Review Comment:
   started failing or started to fail instead of started failed.



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-website] lhein commented on a diff in pull request #1053: Camel 4 whats new. WIP

Posted by "lhein (via GitHub)" <gi...@apache.org>.
lhein commented on code in PR #1053:
URL: https://github.com/apache/camel-website/pull/1053#discussion_r1293290900


##########
content/blog/2023/08/camel4-whatsnew/index.md:
##########
@@ -0,0 +1,190 @@
+---
+title: "Apache Camel 4 What's New (top 10)"
+date: 2023-08-15
+authors: [davsclaus,gzurowski,opiske]
+categories: ["Releases"]
+preview: Top 10 of what's new in Apache Camel version 4
+---
+
+After 10 months of development, with 3 milestone, and 2 RC releases, then Apache Camel v4 is released
+today as LTS release. The Camel `4.0.x` is a LTS release that is supported for 1 year.
+
+This blog post highlights some noteworthy new features and improvements in Camel v4.
+
+The features are based on work since January 2023, which was the time, where we switched `main` branch
+to be Camel v4 based, and our effort was focused primary on Camel v4.
+
+### 1) Major Goals
+
+The need for Camel 4 is mainly driven by Java open source projects migrating from `javax` to `jakarta` APIs
+and to keep up with popular runtimes such as Spring Boot and Quarkus.
+
+1. Migrate from `javax` -> `jakarta` (JEE 10)
+2. Java 17 as minimum
+3. Spring Boot 3
+4. Quarkus 3
+
+Camel 4 requires Java 17. Support for Java 21 is planned for next LTS released by end of this year. 
+
+### 2) Dependency updates
+
+We have upgraded all 3rd party dependencies to their latest releases where possible.
+
+### 3) Performance optimizations
+
+We have improved the performance of the internal Camel routing engine and framework. 
+
+You can find more details in this blog post [camel 4 performance improvements](/blog/2023/05/camel-4-performance-improvements.html).
+
+### 4) Camel Spring Boot
+
+Camel 4 is at the time of release, tested with the latest Spring Boot 3.1.2 release.
+
+This release also comes with our first basic (and very limited) support for Spring Boot native (AOT compilation).
+See more in the [aot-basic](https://github.com/apache/camel-spring-boot-examples/tree/main/aot-basic) example.
+
+### 5) Camel Quarkus
+
+The Camel Quarkus project is working on a new release with Camel 4 support, expected later this month.
+Stay tuned for their release announcements.
+
+### 6) Camel Main
+
+For users that just want to run standalone Camel, then we have `camel-main` that are constantly being improved.
+The foundation in `camel-main` is reused by Camel Spring Boot, Camel Quarkus, and Camel JBang as well.
+
+For Camel 4 we have made it possible to easily include an embedded HTTP server with the new `camel-platform-http-main` module.
+See more in the [camel-main](https://github.com/apache/camel-examples/tree/main/examples/main) example.
+
+### 7) Camel JBang
+
+A lot of improvements was put into `camel-jbang`. The `camel` CLI is now able to easily run with different Camel versions,
+for example
+
+    camel run foo.yaml --camel-version=3.21.0
+    camel run foo.yaml --camel-version=3.20.6
+
+This is very handy when you for example need to trouble-shoot why _something_ started failed. It works on X but not on Y,
+and now you can quickly try and find out which version in between that started failing.
+
+You can also specify that `camel` CLI should by default use a specific Camel version, for example if you have a newer version
+of Camel JBang installed but must develop and use an older release.
+
+    camel version set 3.20.6
+
+The following new commands has been added
+
+- `camel config` - to set custom user configuration
+- `camel log` - to show logs of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel trace` - to show message tracing of your running Camel integrations (can show logs for 1 or more Camel apps)
+- `camel cmd send` - to send messages to an existing running Camel integration
+- `camel get route-dump` - to dump routes in XML or YAML format
+
+The maven resolver that Camel JBang uses has been migrated to latest, and Camel JBang will now report more accurately
+whether a dependency was downloaded or resolved from a local maven repository. The `camel run` command also has a `--verbose`
+flag to output more details in dependency resolution that can help during troubleshooting.
+
+The `camel-main` runtime now supports exporting with Kubernetes manifest and build support, to make it easier to build
+container images that are ready to run on Kubernetes.
+
+In general there has been many improvements to Camel JBang making this a great way to try Camel, and as well as
+a companion tool you can use during traditional Camel development.
+
+### 8) XML DSL with beans
+
+We have been working on to unify the YAML, XML and Java DSL to be more aligned in feature parity related

Review Comment:
   We have been working on unifying ...



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org