OpenClover 4.5.0 Release Notes

2023-10-04
We're happy to share with you OpenClover 4.5!

Changes

Features

Support for Java 17 (experimental)

We are thrilled to announce support for Java 17. This is thanks to amazing contributions by mhagnumdw and SATO Yusuke.
 
This is an experimental version. While support for nearly all new language syntax features has been added, except case expressions, there might still be some corner cases undiscovered. We kindly ask you to report any bugs with code instrumentation and compilation in our issue tracker. Also, OpenClover does not automatically instrument module-info.java files, so you might need to add imports manually.
 
We expect to drop support for Java 7 in a next release.

Annotations on data types

Long-awaited support for annotations on data types is here too! Huge "thank you!" for SATO Yusuke. OpenClover will no longer fail on annotations put in places like these:
class A<@Annotation1 T>
class A implements @Annotation2 Serializable
int @Annotation3 [][] intArray
int intArray @Annotation4 [][]
obj instanceof @Annotation5 String
new @Annotation6 HashMap<>()
new int @Annotation7[2][2]
void a() throws @Annotation8 Exception

Other

Repository migrations

We migrated all our Mercurial repositories hosted on Bitbucket to Git repositories hosted on GitHub. We moved our issue tracker as well. You can find everything on https://github.com/openclover now.

Build system migration

We migrated from Ant to Maven.

End of life for Grails and Hudson plugins

We will no longer develop Grails Clover Plugin. It integrated with Grails 2.x only and this release line is no longer maintained. As Grails 3.0 and newer use Gradle, please try to use the Gradle Clover Plugin instead. Similarly, the Hudson CI is dead since long time, so we will no longer publish new releases of the Hudson Clover Plugin. We recommend migration to Jenkins or Bamboo instead.

Java 1.6 and older is unsupported

OpenClover requires at least Java 1.7 to run. You can still use "1.3-1.6" source level flag, but it will be treated as 1.7.

Groovy 2.0.0 and older is unsupported

Minimum Groovy version is 2.0.1.

Upgrading from OpenClover 4.4.x

Clover for Ant

Simply download new Clover-for-Ant zip file and use the clover.jar from it.

Clover for Eclipse

Download new update site ZIP and install in your Eclipse.

Clover for IDEA

Download new plugin JAR and install in your IDEA.

Clover Maven Plugin

Bump version number to 4.5.0 for 'org.openclover:clover-maven-plugin' and 'org.openclover:clover' in your pom.xml files.

Jenkins Clover Plugin

Upgrade to the latest 4.12.0 plugin version.

Changelog

2023.10.04 OpenClover 4.5.0