Update. I said the first choice was: "(a) turn off fatal warnings for Java and Scala compilation when compiling with Java 21."
Turns out, one can do "-Xlint:-options" to suppress warnings about command line options only. So choice (a) becomes: (a) turn off "--release 8 " warnings for Java and Scala compilation when compiling with Java 21. This is a more attractive alternative now. On Tue, Oct 3, 2023 at 10:16 AM Mike Beckerle <mbecke...@apache.org> wrote: > > So Java 21 deprecates, but does not eliminate, Java 8 compatibility. > > You get an unavoidable warning. To support Java 21, a LTS Java release, we > either need to > > (a) turn off fatal warnings for Java and Scala compilation when compiling > with Java 21. > or > (b) we need to set the release compatibility higher. Our choices here are > Java 11, 17, or 21. > or > (c) don't support Java21 officially yet > > I suggest (c) is the right thing, but our next release should be Daffodil > 4.0.0 and it should require Java 11 across the board, eliminating Java 8. > > Java 8 is still in use by some, but is clearly past what anyone wants to > support any more. > > A few comments people can agree or disagree with. > > 1) We should avoid Daffodil releases that require two different sets of > Class files - one for say, Java 8, and one for a more modern JVM. > > 2) Requiring a new JVM beyond Java 8 is a big deal, and motivates a bump > to version 4.0.0 of Daffodil. > > 3) Java 21 is new now, so while we can put in changes to eventually > support it, we are not forced to support it yet. It also requires Scala > 2.12.18 for example, which we're now compiling with. > > 4) In general, I think we've not moved major versions often enough to > signal the incompatibilities. Support for Java 17 required using Scala > 2.12.15 at least, and that was probably enough to motivate a major release > number bump. Certainly the package renaming from Daffodil 3.4.0 to Daffodil > 3.5.0 was a mistake and should have been a bump of major version to 4.0.0 > > 5) We should "in effect" deprecate 3.5.0 and suggest people jump to 4.0.0 > instead, and that means releasing 4.0.0 very soon. 3.5.0 should be our last > release which supports Java 8 JVMs. > > Thoughts? > > Mike Beckerle > Apache Daffodil PMC | daffodil.apache.org > OGF DFDL Workgroup Co-Chair | www.ogf.org/ogf/doku.php/standards/dfdl/dfdl > Owl Cyber Defense | www.owlcyberdefense.com > > >