From:
BJ Hargrave <hargrave@xxxxxxxxxx>
Date: Wednesday, May 25, 2022 at 08:55
To: microprofile@xxxxxxxxxxxxxxxx <microprofile@xxxxxxxxxxxxxxxx>
Subject: [VOTE] Java language/target version changes
The following item, having already been discussed on the group mail list, is now up for vote. All in the community are welcome to vote but only the votes of committers are counted towards the vote
result. The voting will conclude at end-of-day Wednesday June 1, 2022. Please use this mail thread only for voting. I will start a separate mail thread for any discussion about this vote.
"Updating the base Java language/target version (e.g., Java 8 to Java 11) of a MicroProfile specification is up to each individual specification. In general, a specification should only raise the
language/target version when using a new language feature (e.g., Records) in the specification's API. Exceptions can be discussed and agreed by vote. Known non-exceptions include change of language version in non-dependent specifications including the umbrella/platform
specification; change of language version in dependent specifications where older versions of the dependent specification are still supported; change of language version in any implementation. Also, when the language/target version is changed, this does not
require a major version bump of the specification as such a change alone does not require any application binaries using the API to change."
The basic goal here is to "compile low, run high" which means that we want to compile the API to target the lowest Java version required by the API and then all users and implementors of the API
can then run on higher Java versions if desired.