You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by GitBox <gi...@apache.org> on 2022/12/15 10:50:19 UTC

[GitHub] [camel-website] davsclaus commented on a diff in pull request #943: Camel v4

davsclaus commented on code in PR #943:
URL: https://github.com/apache/camel-website/pull/943#discussion_r1049491000


##########
content/blog/2022/12/camel4roadmap/index.md:
##########
@@ -0,0 +1,74 @@
+---
+title: "Roadmap to Camel v4"
+date: 2022-12-16
+draft: false
+authors: [davsclaus]
+categories: ["Roadmap"]
+preview: "Roadmap to Apache Camel v4 and impact on Camel v3"
+---
+
+Apache Camel v4 is on the way for 1st half in 2023.
+
+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. 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)
+   This means that Camel components that are not ready (yet) will be dropped in a release until they are ready.
+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`)
+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)
+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 _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 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
+
+For Camel 3 then we slow down in releases and provide 2 LTS releases per year.

Review Comment:
   Yeah we can maybe explain this better ala
   
   - non-LTS releases are no longer released (so there are only LTS 6-months apart)
   - most work happens in Camel v4, and only backport when really needed (for example demand for a new AWS component in Camel v3), bug fixes, and what not
   - so a v3 LTS release is a lot smaller than what it would normally include



-- 
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