This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-v4 in repository https://gitbox.apache.org/repos/asf/camel-website.git
commit e6244ba78d2d365398094bcf7eb66b9d236bf86a Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu Dec 15 11:12:24 2022 +0100 Draft blog post for Camel v4 roadmap --- content/blog/2022/12/camel4roadmap/index.md | 57 +++++++++++++++++------------ 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/content/blog/2022/12/camel4roadmap/index.md b/content/blog/2022/12/camel4roadmap/index.md index 34ed6e02..37c44e84 100644 --- a/content/blog/2022/12/camel4roadmap/index.md +++ b/content/blog/2022/12/camel4roadmap/index.md @@ -1,6 +1,6 @@ --- title: "Roadmap to Camel v4" -date: 2022-12-09 +date: 2022-12-16 draft: false authors: [davsclaus] categories: ["Roadmap"] @@ -8,56 +8,67 @@ preview: "Roadmap to Apache Camel v4 and impact on Camel v3" --- Apache Camel v4 is on the way for 1st half in 2023. -The overall scope is that the leap from Camel 3 to 4 is a lot less than going from Camel 2 to 3. -The need for Camel v4 is mainly driven by Java open source projects migrating to jakarta APIs, -and to keep up with popular runtimes such as Spring Boot and Quarkus, -and jump to Java 17 as minimum baseline. +The need for Camel v4 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. ## Primary Goals -1. Migrate from javax -> jakarta (JEE 10) -2. ava 17 as base line -3. Spring Framework 4 +1. Migrate from `javax` -> `jakarta` (JEE 10) +2. Java 17 as minimum +3. Spring Framework 6 4. Spring Boot 3 5. Quarkus 3 ## Release Goals -6. Release only what is ready (JEE10 / Java17 etc) +6. Release only what is ready (JEE10 / Java17) This means that Camel components that are not ready (yet) will be dropped in a release until they are ready. -7. Release core + Spring Boot together -8. Move camel-karaf to Apache Karaf as karaf-camel sub-project +7. Release Camel Core + Camel Spring Boot together +8. Move Camel Karaf to Apache Karaf as karaf-camel sub-project ## Major Goals 9. Support Java 17 features such as records, multiline strings, and what else 10. EIP model without JAXB dependency (is possible) -11. Endpoint URI parsing (do not use java.net.URI) +11. Endpoint URI parsing (do not use `java.net.URI`) 12. Deprecate `message.getIn()` use `getMessage()` instead 13. Deprecate/Remove camel-cdi 14. Deprecate/Remove MDC logging (complex and buggy and does not fit modern app development) ## Minor Goals -15. Remove MEP InOptionalOut (not in use) +15. Remove MEP `InOptionalOut` (not in use) 16. Remove JUnit 4 support +## Dropping Java 11 support + +Some users have asked whether Camel v4 can support Java 11. Because Spring Framework 6 is +requiring Java 17, then this is _tricky_ as a number of Camel components rely on Spring. + +Java 21 LTS is to be released in September 2023, meaning that Camel v4 +should be forward-facing and prepare to support Java 21 instead of 11. + +Users that must use Java 11, can use Camel v3 and then later +upgrade to Camel v4 when they are ready to upgrade Java as well. + ## Timeline -The timelines are _estminatees_ and the number of releases can vary depending on need and how far we are in the process +The timelines are _estimates_ and the number of releases can vary depending on need +and how far we are in the process. In other words Camel v4 can be released sooner than +the estimates. - Feb 2023: Camel 4.0 milestone 1 - Mar 2023: Camel 4.0 milestone 2 - Apr 2023: Camel 4.0 RC1 -- May 2023: Camel 4.0 -- Aug 2023: Camel 4.1 LTS +- May 2023: Camel 4.0 LTS (LTS until 4.1 release) +- Aug 2023: Camel 4.1 LTS (LTS until Jun 2024) - Oct 2023: Camel 4.2 - Dec 2023: Camel 4.3 LTS -The plan is to start working on Camel 4 after the next Camel 3 LTS release, e.g. 3.20 which is planned for next month (December 2022). - For Camel 3 then we slow down in releases and provide 2 LTS releases per year. -For example a scheduled could look as follows: -- Dec 2022: Camel 3.20 LTS -- Jun 2023: Camel 3.21 LTS (likely last Camel v3 release, supported until Jun 2024) -- Dec 2023: Camel 3.22 LTS (maybe last Camel v3 release, supported until Dec 2024) (only if high demand in community and committers have time to support this) +This means the Camel v3 schedule is as follows: -Each Camel 3 LTS release will likely also contain less new features and improvements as previously, as our focus and work shifts to Camel v4 instead. +- Dec 2022: Camel 3.20 LTS +- Jun 2023: Camel 3.21 LTS +- Dec 2023: Camel 3.22 LTS (last planned Camel v3 release, supported until Dec 2024) + +Each Camel 3 LTS release will contain less new features and improvements as previously, +because our focus and work shifted to Camel v4.