Please also refer to the Clover-for-Eclipse Changelog and Clover-for-IDEA Changelog.
The changes for the latest version are as follows:
This is a feature release with dedicated support for the Spock framework and JUnit4 Parameterized Tests.
See Clover 3.3 Release Notes for more details.
See also change log for Clover-for-Maven2&3, Clover-for-Eclipse, Clover-for-IDEA, Clover-for-Grails.
This release contains fixes for Java 8 language support and solves compatibility issues with the latest Grails 2.3.
See also change log for Clover-for-Maven2&3, Clover-for-Eclipse, Clover-for-IDEA, Clover-for-Grails.
This is a bug fix release which fixes compatibility issues with IDEA 13 and Eclipse.
See also change log for Clover-for-Maven2&3, Clover-for-Eclipse, Clover-for-IDEA, Clover-for-Grails.
This is a major release with support for Java8. See Clover 3.2 Release Notes.
See also change log for Clover-for-Maven2&3, Clover-for-Eclipse, Clover-for-IDEA, Clover-for-Grails.
This bug fix release contains a fix in the com.cenqua.clover:clover core artifact for Clover-for-Bamboo.
CLOV-1326 - Getting issue details... STATUS
This is a bug fix release which addresses issues found in 3.1.11 and earlier versions of Clover-for-Ant.
1) The main improvement implemented in this release is related with an IDEA12 "external build" feature - see Clover-for-IDEA change log.
2) The <clover-report> task supports the <columns> option for PDF report. Thanks to this you can customize list of metrics to be displayed in a PDF report.
3) We have prepared a new Clover in 10 minutes tutorial for Ant.
See also change log for Clover-for-Maven2&3, Clover-for-Eclipse, Clover-for-IDEA, Clover-for-Grails.
This is a bug fix release which addresses issues found in 3.1.10 and earlier versions of Clover-for-Ant.
1) Class names of Clover's Ant types have been changed from "com.cenqua.*" to "com.atlassian.*". As cloverlib.xml and cloverjunitlib.xml files from clover.jar have been updated accordingly, migration shall be transparent, unless your build scripts refers to a given class name directly. New class names are as follows:
2) Clover property clover.offrails.coverage is no longer used. Instead of this, define <profile coverageRecorder="GROWABLE"> - see below.
3) The Clover-for-Maven1, Clover-for-Maven2&3 have been migrated from studio.plugins.atlassian.com to bitbucket.org (CLOV-1197). Also Clover-for-Grails code is hosted on Bitbucket.
1) It is possible to disable Clover for instrumented code at runtime. If you define:
-Dclover.enable=false
property, then coverage data will not be recorded. This option can be useful in case you'd like to disable coverage recording for some subset of tests, without building code twice (i.e. with and without Clover instrumentation).
2) It is possible to define multiple runtime profiles for Clover and select one of them at runtime by a following property:
-Dclover.profile=<profile name>
Thanks to this you can run instrumented application in several configurations, without need to rebuild the code. Currently supported options are: <distributedCoverage> tag and coverageRecorder="type" attribute. In future more options will be added. Read <profiles> for more details.
3) It is possible to choose among three Clover's coverage recorder types:
More details: Coverage Recorders.
4) The com.cenqua.clover.SnapshotPrinter tool is able to print content of the test optimization snapshot in the JSON format.
See also change log for Clover-for-Maven2&3, Clover-for-Eclipse, Clover-for-IDEA, Clover-for-Grails.
This is a bug fix release which addresses issues found in 3.1.8 and earlier versions of Clover-for-Ant.
1) Two new metrics have been implemented for method context filter:
These two metrics calculate method statements/complexity including the code of all anonymous inline classes declared inside the method. Thanks to this it is possible to distinguish between trivial single-statement methods like:
int getNumber() { return this.number; }
and single-statement methods which actually return more complex data, like:
ActionListener getListener() { return new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("statement #1"); System.out.println("statement #2"); System.out.println("statement #3"); } }; }
In the code sample above, the getListener() method has only one statement: "return new ActionListener()". If you would use a method context filter with maxStatements attribute, like:
<methodContext name="trivial" regexp=".*" maxStatements="1">
then the whole method would be filtered-out (because it contains one "return" statement). If you would use new maxAggregatedStatements, for instance:
<methodContext name="trivial" regexp=".*" maxAggregatedStatements="1">
then the getListener() method would not be filtered out (because it contains 4 statements in total - 1 "return" statement from the method itself and 3 "System.out.println()" statements from anonymous class).
2) The <testsources> tag from <clover-setup> task is now passed to <groovyc> Ant task. Thanks to this you can define custom test detection rules for Groovy code. See clover-setup task for more details.
See also change log for Clover-for-Maven, Clover-for-Eclipse, Clover-for-IDEA.
This is a bug fix release which addresses issues found in 3.1.7 and earlier versions of Clover-for-Ant.
1) Fixed bug which was causing java.lang.IncompatibleClassChangeError in case when Groovy 2.x compiler was called from Ant.
2) Clover can now intercept the GrailsTestCompiler from Grails 2.x (which is being used for compilation of unit tests).
3) It is possible to upgrade third party libraries bundled in Clover using the new utility.
4) It is possible to define location/name of the dynamically created grover*.jar artifact (used for compilation of Groovy code, by default in java.io.tmpdir) or to disable its creation at all.
5) Fixed bug causing that only a subset of coverage files was used for calculation of coverage in case when application was executed in IBM JRE.
See also change log for Clover-for-Maven, Clover-for-Eclipse, Clover-for-IDEA.
This is a bug fix release which addresses issues found in 3.1.6 and earlier versions of Clover-for-Ant.
Improved behaviour of <clover-report includeFailedCoverage="false"/>. When includeFailedCoverage parameter is set to false, it will not only ignore failed coverage when calculating Total Coverage percentage, but also reflect it in syntax highlighter:
(Please note that in case of partially covered source line, the whole line is marked red; it's a limitation of our Velocity template).
We're happy to announce that we've extended manual:
and prepared two completely new manuals:
This is a bug fix release which addresses issues found in 3.1.5 and earlier versions of Clover-for-Ant.
Clover 3.1.5 is a bug fix release addressing issues found in Clover 3.1.4.
Clover 3.1.4 is a bug fix release addressing issues found in Clover 3.1.3.
Clover 3.1.3 is a bug fix release addressing issues found in Clover 3.1.2.
Clover 3.1.2 is a bug fix release addressing issues found in Clover 3.1.0. Clover 3.1.0 introduced support for Java 1.7 language features.
Clover 3.1.0 is a release that introduces support for Java 1.7 language features and fixes various bugs.