Hi WildFly developers,

Over the course of 2021 we've been working hard on WildFly, both on improving our EE 8 server and on using WildFly Preview to get ready for the transition to EE 10. A question throughout has been when's the right to shift our primary development efforts toward the EE 10 server.

There have been a number of conversations about this over the last couple months, and it seems clear that now is the time to do this. Producing a time-boxed WildFly 27 in March that is both EE 8 (standard WF) and EE 9+ (WF Preview) is not an effective use of our resources; we'll just end up being slow on EE 10 while not really being able to deliver all that many non-EE 10 related features.

So, instead we're going to target WildFly 27 at EE 10 support in standard WildFly. 27 won't be a quarterly time-boxed release; instead it will be feature boxed, done when we are satisfied with its feature set (primarily EE 10).

I wrote a post with more about this at https://www.wildfly.org/news/2022/01/21/WildFly-2022/ 

I've also started a forum thread for discussions with the WildFly user community:

https://groups.google.com/g/wildfly/c/APYM_GvaHLs

My thought was to use this thread / this list for discussions about the actual development strategy.  And of course Zulip is a good place to chat.

We will be producing a 26.1 in March. The 26.x branch that we used for today's WildFly 26.0.1 will be used for that. That means any features or fixes for 26.1 will need to be applied to main first and then ported to 26.x. (For WildFly Core, it's the 18.x branch that will be used for WildFly 26.1.)

I don't expect anyone to port all features and fixes to 26.x; our focus IMHO should be on main. But 26.1 is a good way to get community bake for new features, and providing bug fixes to our users is always a good thing. In particular we should work to bring in component upgrades that resolve CVEs.

26.1 will be an EE 8 release (9.1+ in Preview) that can run on SE 8. It will be the last such feature release.

Because WF 27 is now feature-boxed we can adjust some of the development practices that we've used in WildFly since we started doing the quarterly time-boxed releases. For example, it is permissible to use non-Final component releases in main, although this should be limited to cases where it's necessary for EE 10 work. I'm sure as this work goes along there will be disruptions in our ability to run / pass TCKs.  The main branch must always be able to compile/build and the testsuites should pass. If there are situations where particular tests won't be able to function for a period we can discuss disabling them, but any such disabling of tests should be accompanied by a priority Blocker JIRA to get them working again.

A key task is the ongoing effort to get native jakarta.* variants of all of our components.

I think in the next week or so we should look hard into changing the build to SE 11 and dropping SE 8 builds and testing. We should also drive to eliminate any barrier to compiling with SE 17, so we can more easily add SE 17 CI jobs. Basically I'd like to replace all the current SE 8 CI jobs with SE 11 ones, and then replace the current SE 11 jobs with SE 17.  I think it's good to get this shift out of the way early so we're not dealing with it as we start bringing in EE 10 impls and moving the code away from javax.*.

Best regards,

--
Brian Stansberry
WildFly Project Lead
He/Him/His