Hi Claus,

I like the plan and I think we have something doable for Camel 4. IMHO, I
think it's important for us to get ready for several upcoming releases of
projects that are important to our community (Spring Boot 6, Quarkus 3,
Jakarta 10).

In my wish list I also have a few internal refactorings and code cleanups I
would like to squeeze into the core of Camel 4, but they will definitely
follow the patterns of the previous ones. They are not major things, and I
still need to document them in our Jira, but I believe most of them should
be doable in that timeframe.

For me, the plan is a big +1.

Kind regards

On Fri, Nov 25, 2022 at 11:42 AM Claus Ibsen <claus.ib...@gmail.com> wrote:

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


-- 
Otavio R. Piske
http://orpiske.net

Reply via email to