On 21/02/2024 09:02, Rémy Maucherat wrote:
On Wed, Feb 21, 2024 at 1:28 AM Paul Nicolucci <pnicolu...@gmail.com> wrote:

Hi,

At a minimum could the Expression Language be built to Java 17 bytecode?
There is nothing in the Expression Language that requires Java 21.

I have a branch with some initial changes to get that working here:
https://github.com/pnicolucci/tomcat/commit/cae7f1e02eaeaf16a75395d9bcdddc9a02e65580

Some additional manifest updates will be required that I can work on if the
community is open to this option.

Yes, this will be changed back to 17, along with almost everything else.

Overall I believe staying on 21 is not worth it as we would get tons
of requests for 17 support, just like yours.

+1. As much as I don't like it.

Rémy

Thanks,

Paul Nicolucci

On Tue, Feb 20, 2024 at 4:48 PM David Blevins <david.blev...@gmail.com>
wrote:

On Feb 20, 2024, at 8:08 AM, Mark Thomas <ma...@apache.org> wrote:

Looking at the latest version of the Jakarta EE 11 release plan, the
minimum Java version has been dropped to Java 17.

https://jakartaee.github.io/platform/jakartaee11/JakartaEE11ReleasePlan

On that basis I think we have no choice but to reduce the minimum Java
version for Tomcat 11 to Java 17.

Implementations are not required to support Java 17,

That is certainly an interesting interpretation of the statement

<quote>
Java SE 17 will become the minimum runtime supported by compatible implementations of Jakarta EE.
</quote>

it is simply now one
of the allowed options.  We can absolutely continue with java 21 (or any
JDK 17 or up) if we like.

It appears the fudge being employed to meet the "must target Java 21 direction" from the Jakarta EE steering committee is that a compatible implementation has to pass on at least one of Java 17 or Java 21 and each spec must have at least one compatible implementation (not necessarily the same one) that passes on each of Java 17 and Java 21.

As stated elsewhere, this is a recipe for user confusion. The least worst option for Tomcat users is to use Java 17 as the baseline.

The decision was made to allow implementations to certify with 17 support
if they wanted as none of the specs took advantage of Java 21 features,

Some specifications had started to use Java > 17 features. Granted only in a minor way that was relatively easy to work-around but they were being used.

so
there is no real basis to reject their certification requests.

That is not the justification that was used when the issue was raised. The justification was (lack of) market adoption.

 It is still
hoped there will be implementations that take advantage of Java 21 features
and brag publicly about them.

We aren't dropping any functionality by lowering the minimum version. Support for virtual threads, for example, will remain. All my patch does (which I'll commit shortly) is re-introduce the necessary JreCompat classes to enable Tomcat 11 to run on Java 17 onwards and take advantage of the features we want to take advantage of when running on later versions.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to