On Wed, Nov 27, 2019 at 11:15 PM Mark Thomas <ma...@apache.org> wrote:
> Hi, > > Work over at Eclipse is starting on Jakarta EE 9 where the significant > change will be the renaming of javax.* to jakarta.* > > In parallel, I'd like to start implementing those changes in Tomcat. As > I am still unsure of exactly where I want end up (I have a few ideas I > want to experiment with) I plan to do this in a branch of my public fork > and provide a PR for master when I have a firmer idea of what this will > look like. > > In the meantime, I think we need to start discussing - at least in > outline - how we will support Java EE and Jakarta EE going forward. > > Here is a not very well thought out starter. > > Current status > 7.0.x : Continues to support Java EE 6 > 8.5.x : Continues to support Java EE 7 > 9.0.x : Continues to support Java EE 8 > > Step 1 (ASAP) > ============= > No change: > 7.0.x : Continues to support Java EE 6 > 8.5.x : Continues to support Java EE 7 > 9.0.x : Continues to support Java EE 8 > Add: > 9.5.x : Supports Java EE 8 with Tomcat API changes planned for 10.0.x > Make clear to users 9.5.x will EOL as soon as 9.6.x (see later) > is stable > > Step 2 (Jakarta EE 9 - April 2020?) > =================================== > Announce EOL: > 7.0.x : Announce EOL around time of first stable 10.0.x release. > No change: > 8.5.x : Continues to support Java EE 7 > 9.0.x : Continues to support Java EE 8 > 9.5.x : Supports Java EE 8 with Tomcat API changes planned for 10.0.x > Add: > 10.0.x : Identical to 9.5.x but supports Jakarta EE 9 > > Keep 10.0.x and 9.5.x in step part from Java EE / Jakarta EE API > > > Step 3 (Jakarta EE 10) > ====================== > Announce EOL: > 8.5.x : Announce EOL around time of first stable 11.0.x release. > 9.5.x : Announce immediate EOL with first stable 11.0.x release. > No change: > 9.0.x : Continues to support Java EE 8 > 10.0.x : Identical to 9.5.x but supports Jakarta EE 9 > Add > 9.6.x : Supports Java EE 8 and includes Tomcat API changes in 11.0.x > 11.0.x : Supports Jakarta EE 10 > > And so on. > > We eventually end up with: > Tomcat X supporting Jakarta EE X-1 > Tomcat X-1 supporting Jakarta EE X-2 > Tomcat X-2 supporting Jakarta EE X-3 > And Tomcat 9.Y supporting Java EE 8 with the same Tomcat API as Tomcat X > > > What I am trying to do with this plan is maintain the 3 major versions > in parallel but add ongoing support for Java EE 8 tied to the latest > Tomcat major release. > > An alternative would be to maintain 9.0.x for as long as there is demand. > > Thoughts? Alternative approaches? > Well, it sounds pretty good to me but the numbers are off and it's going to be very very confusing. It pretty much has to be: Tomcat X supporting Jakarta EE X Tomcat X-1 supporting Jakarta EE X-1 Tomcat X-2 supporting Jakarta EE X-2 And Tomcat 9.X supporting Java EE 8 with the same Tomcat API as Tomcat X [I understand the rationale for this to be able to achieve very long term support - and I expect the API changes will likely be rather small anyway -, for example 8.5 and 9.0 have diverged too much to keep 8.5 more stable, while if we had a 8.6 "trunk" to simply replace it eventually we could have kept in strict sync with 9.0] The only problem then (but it's a big one) is to accommodate the Tomcat "10" supporting Jakarta EE 9 somewhere. Maybe 9.9 can be used for that but it will still pollute a bit the 9.x message, it could be labelled as a "Jakarta preview" or something maybe. Jakarta EE 9 is a useless release anyway, nobody will use it and that Tomcat could almost be EOLed immediately after a Jakarta EE 10 release. Rémy