Why from April this year - PlantUML for JRE 1.6 (Java 6) is not compatible anymore ???

0 votes
asked Nov 2 in Bug by Dim

Hi PlantUML team,

I have Java 6 ( JRE 1.6.x ) on my machine. (no JDK, just JRE).

Recently I was trying to download new versions of PlantUML.jar from your repository (files category), and it I was surprised to discover that while version plantuml.1.2021.3.jar (from March this year) is still compatible with Java 6, the next versions (from April this year) plantuml.1.2021.4.jar and later suddenly require Java 7 ,,,

WHY ?????

If there is a good technical reason for this and you must use JDK 7 functionality to compile and and create the PlantUML JAR I can understand (I hope there is good explanation).

However, if this change in the way you compile and create the Jar was done without much thinking (that your customers and developers may still be using Java 6 (JRE 1.6) ), and that practically you can still create new PlantUML Jars with JDK 6, I would request you to fix that as soon as you can, and that new versions from now on will be compatible to run on JRE 1.6 like they used to be till March this year.

Please don't ask me and others to upgrade Java on our machines unless there is real good reason why suddenly PlantUML must be compiled from your side with JDK 7.

Many thanks.

Dim

1 Answer

0 votes
answered Nov 2 by plantuml (262,900 points)

If there is a good technical reason for this and you must use JDK 7 functionality to compile and and create the PlantUML JAR I can understand (I hope there is good explanation).

Yes we now use:

  • Automatic resource management with try-with-resources
  • Catch Multiple Exceptions in catch block
  • Improved type inference for generic instance creation, aka the diamond operator

There is a trade-off between use old and legacy version of Java and take advantage of newer versions.
Usually, we support old versions of Java as long as possible, which does not mean forever.
This usually means at least as long as the extended support is available.

If you have a look at https://en.wikipedia.org/wiki/Java_version_history you will see that Java 6 has been released in December 2006 and that the extended support has ended in December 2018. So it's really outdated.

Really sorry about that.

...