You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/12/15 10:15:23 UTC
[camel-website] 02/02: Draft blog post for Camel v4 roadmap
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 <cl...@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.