We support Daffodil on all the Java "long term support" releases, which are currently Java 8, Java 11, and Java 17 (new).
In attempting to regression test a wide variety of DFDL schemas against Daffodil using Java 17 I discovered that most have a build.sbt specifying scala 2.12.11 to be used when testing the schema. Java 17 is not compatible with scala 2.12.11. It requires scala 2.12.15. I have verified that scala 2.12.15 and java 17 are backward compatible with at least Daffodil 3.1.0, 2.6.0, and 2.4.0. So if you have products/applications still using earlier versions, updating your schemas' build.sbt files to specify scala 2.12.15 should not break their tests. So just upgrading all schemas to scala 2.12.15 in build.sbt unconditionally seems appropriate. You can then use any Java LTS version, 8, 11, or 17, for testing them. Note that there is still an annoying warning *from sbt* with Java 17. WARNING: A terminally deprecated method in java.lang.System has been called WARNING: System::setSecurityManager has been called by sbt.TrapExit$ (file:/home/mbeckerle/.sbt/boot/scala-2.12.14/org.scala-sbt/sbt/1.5.5/run_2.12-1.5.5.jar) WARNING: Please consider reporting this to the maintainers of sbt.TrapExit$ WARNING: System::setSecurityManager will be removed in a future release I have tried sbt 1.5.5 (the latest as of today) and it does NOT fix this warning, but it is just a warning.