SDMetrics home page
The Software Design Metrics tool for the UML

Java Platform Update for SDMetrics 2.4

January 4, 2020, Jürgen Wüst. Category: Announcements

Over the past eight years, SDMetrics V2.3 has received just a few maintenance releases with adjustments to new XMI versions, modern high resolution displays, and some small functional enhancements to the XMI parser. During these eight years, the SDMetrics implementation also stuck with Java 1.6 as its development platform. The extended support for Java 1.6 ended in 2018. It is therefore safe to say that Java 1.6 is pretty much obsolete in 2020. Time to move on.

The Java platform has seen many changes in the past few years, both on technical and political levels.

  • Java 9 introduced a module system that breaks backwards compatibility with earlier JREs somewhat, and deprecated parts of the Java SE API for removal. That removal happened with Java 11.
  • Java 9 also introduced a biannual release cycle.
  • Oracle has changed the licensing policy of its JVMs, restricting royalty-free use for commercial purposes. Alternative builds of the Java Platform, based on the work of the OpenJDK community, have gained importance.

Given all that, I have decided to release a new version 2.4 of SDMetrics. This version contains no functional enhancements or bugfixes (as there currently are no known bugs). The only change is that SDMetrics is now based on Java 8. The implementation has been overhauled to use new language features and APIs of Java 7 and 8 where appropriate.

Moving to Java 8 instead of a more recent version is a conservative choice. Java 8 is still widely used, and continues to be supported by projects such as AdoptOpenJDK for several years to come. At the same time, the implementation of SDMetrics is future-proof for now, as it does not rely on any Java SE API that is deprecated in Java 9/10/11/12/13 and runs fine on these versions, too.