Hi

This is a proposal for a plan for Apache Camel 4 and how this can affect
Camel 3.

Summary

=======

The overall scope is that the leap from Camel 3 to 4 is a lot less than
going from Camel 2 to 3.

And that we have a timebox approach where we aim for a 6 month period of
work.

The need for Camel v4 is mainly driven by Java open source projects
migrating to jakarta APIs,

and to keep up with popular runtimes a la Spring Boot and Quarkus, and to
jump to the next major Java version.

Goals

=====

a) Primary Goals

1) Migrate from javax -> jakarta (JEE 10)

2) Java 17 as base line

3) Spring Framework 6

4) Spring Boot 3

5) Quarkus 3

b) Release Goals

6) Release only what is ready (JEE10 / Java17 etc)

    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)  Release camel-karaf independently (like we do for other Camel projects)

c) Major Goals

9) Support Java 17 features such as records, multiline strings, and what
else

10) EIP model without JAXB dependency

11) Endpoint URI parsing (do not use java.net.URI)

12) Deprecate message.getIn()

      use getMessage() instead

13) Deprecate camel-cdi

14) Deprecate/Remove MDC logging (complex and buggy and does not fit modern
app development)

d) Minor Goals

15) Remove MEP InOptionalOut (not in use)

16) Remove JUnit 4 support


Timeline

=======

The timelines are ESTIMATES and the number of releases can vary depending
on need and how far we are in the process

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

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

Dec 2023: Camel 3.22 LTS (last Camel v3 release, supported until Dec 2024)
???

Jun 2024: Camel 3.23 LTS (last Camel v3 release, supported until Dec 2025)
????

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.

Reply via email to