See also Clover-for-Eclipse Changelog
Clover-for-Ant Changelog
The complete combined changes are as follows:
Clover for Ant 2.0.2
1 November 2007
Bugs
CLOV-50 - Instrumenter no longer fails on enum with single semicolon in body
CLOV-71 - Improved handling of annotations on instrumented test methods
CLOV-73 - Correctly instrument tests with return values
Improvements
CLOV-74 - New "returntype" attribute added to the <testmethod/> element in <testsources>
CLOV-77 - Allow java.lang qualified names to be turned off during instrumentation
CLOV-87 - Reduced memory footprint when loading the Clover database
Clover for Ant 2.0.1
19 October 2007
Bug
CLOV-59 - NPE was thrown from Logger during shutdown hook under certain circumstances
Improvements
CLOV-57 - Added a namespace to <html/> elements in HTML reports
CLOV-55 - Improved memory usage during instrumentation
Tasks
CLOV-44 - Added Clover 1 command line tools to Clover 2 docs
CLOV-47 - Added a clover.sh to run the Command Line Tools with Clover2 on the tutorial
Clover 2.0.0 for Ant
17 October 2007
Atlassian is very pleased to announce the release of Clover 2.0.0.
If you are upgrading from a previous version of Clover2, please note there is no longer a need to supply the location of your test result XML files. Clover2 now detects and records the test results for you.
Other changes in this release include:
Bugs
CLOV-29 - Fixed memory leak in clover-report
Improvements
CLOV-46 - testresults element and testresultsdir attribute are now deprecated
CLOV-37 - Detect and report classpath problems early
CLOV-42 - Improve default property context filter
CLOV-48 - New test spec elements - for finer detection of test cases
Known Issues
CLOV-55 - occasional excess memory used during instrumentation. work-around by increasing jvm memory settings.
CLOV-28 - merged databases do not yet include per-test coverage data.
Changes in 2.0b2
21 September, 2007
This is a minor release of Clover2 for Ant and contains mainly report time performance based improvements.
It is important to note that the <clover-report/> and <clover-html-report/> tasks will use 2 threads as of this release when rendering the report. This value can be changed by specifying the numThreads attribute. Threading can also be disabled by specifying a numThreads value of 0.
Internal testing has shown a report time performance improvement of up to 50% and running clover-report under JDK 1.5 took 2/3 the time of JDK 1.4.2.
Improvements
- [CCD-456] - Make HTML reporter use concurrrent rendering.
- [CCD-453] - Expose source coverage data via JSON - to make source page rendering times faster
Changes in 2.0b1
29 August, 2007
This is the first public beta release of Clover2. The major new features of this release are context filters and clover-merge. Source code excluded by a context filter is now highlighted grey and project, package and file level statistics may be viewed with filtering either on or off. <clover-merge> has some limitations that will be implemented in future releases. Otherwise, this release is feature complete.
New Features
- [CCD-289] - Added clover-merge functionality. Limitations: no custom context filters, no per-test coverage reporting.
- [CCD-292] - Re-added contexts to Clover2
- [CCD-404] - provided option to exclude coverage from failed tests - includeFailedTestCoverage attribute
- [CCD-77] - highlight code regions that have been filtered - tooltip to display enabled filters. Allow to toggle between filtered and unfiltered metrics.
- [CCD-237] - ///CLOVER:OFF is now a context
- [CCD-238] - methodContext definitions may now include maxComplexity
Improvements
- [CCD-427] - Warn when <testsources/> are not a subset of <fileset/>
- [CCD-432] - Improve Performance of clover-report task
- [CCD-434] - Handle TESTS-TestSuite.xml test result files
- [CCD-449] - Set Browser Title for more context info when browsing HTML reports
- [CCD-460] - http://www.cenqua.com/clover changed to http://www.atlassian.com/software/clover
Bugs Fixed
- [CCD-425] - stopped tabs from wrapping in bottom left frame.
- [CCD-392] - StatementInfo start column falls 1 character short
- [CCD-409] - fixed NPE when loading recording file
- [CCD-417] - minor css problems in historical html reports
- [CCD-424] - Instrumentation on ENUM with an Anonymous class in constructor causes javac error
- [CCD-428] - clover-historypoint task now supports nested <testsources/> element
- [CCD-429] - only show Application (and not Test) Packages in top left pane
- [CCD-442] - preserve=true is now respected on CloverSetUpTask
- [CCD-444] - fixed NPE during clover-report task execution (TN#106799)
- [CCD-450] - auto-link correctly to XML and PDF reports
- [CCD-451] - Ensure that history report and histortypoint are using correct model and observe the includeFailedTestCoverage flag
- [CCD-452] - Fixed NPE in CloverCompilerAdapter when disabled="true"
- [CCD-463] - included filtering to clover-check task
- [CCD-331] - recorder incorrectly being added to empty java classes
Changes in 2.0a5
5 May, 2007
New Features
- [CCD-395] - coverage on test classes is now reported separately to coverage of application classes. You can also optionally nominate filesets that define your test classes. See the new {{<testsources/>}}nested element. This also applies to Clover history points. This means that Clover history points are once again compatible with Clover 1.x history points for those that excluded test source metrics. Note that the history point XML has changed to introduce the test source metrics in a separate high-level node.
- [CCD-389] - coverage generated solely by a failed test is now marked orange.
- [CCD-390] - unique coverage a test contributes is now reported on the test results page. Source code that is only hit by a single test is highlighted dark green when that test is selected.
Improvements
- [CCD-408] - language level for instrumentation now defaults to the JDK version detected at runtime.
- [CCD-397,CCD-313] - Reports now render better in IE7 and Safari.
- [CCD-398] - reporters now report the database they are reporting on during report creation.
- [CCD-401] - header colours for test result pages more distinguishable.
- [CCD-411] - HTML reports are now XHTML1 (transitional) compliant.
- [CCD-420] - improve bottom-left panel and make it more consistent.
- [CCD-416] - click-thru to source line includes visual cue.
Bugs Fixed
- [CCD-419] - AIOOBE if the report-time source is significantly different from the instrumentation-time source.
- [CCD-400] - NPE in ANT when Clover is run from NetBeans.
- [CCD-126] - fixed <clover-log>'s logging.
- [CCD-407] - fixed problem where rapid sequential flushing might lead to missed recordings.
- [CCD-415] - fixed lexer handling of \u0000 in source.
- [CCD-418] - TestCase detection breaks when non-test inner class present.
- [CCD-421] - fixed links to mover classes on Historical report.
- [CCD-386] - IOE in some cases if initstring specified manually.
Changes in 2.0a4
28 February, 2007
As of this release we've simplified the way Clover integrates with Ant builds. The clover.jar file no longer needs to reside in the ant/lib (or ~/.ant/lib) directory, and there is no longer any need to use the <extendclasspath> task if you were previously. Instead, to make Clover available to your build, simply declare
<taskdef resource="cloverlib.xml" classpath="/path/to/clover.jar"/>
New Features
- [CCD-13] - 'Least Tested Methods' report on the dashboard.
Improvements
- [CCD-371] - cenquatasks.jar is no longer needed - use:
<taskdef resource="cloverlib.xml" classpath="/path/to/clover.jar"/>to load Clover 2. - [CCD-365] - new attribute "projectName" on
<clover-report>task to overwrite report title. - [CCD-366] - allow report "home" page to be specified: one of "dashboard, overview, aggregate, testresults, quickwins, projectrisks".
- [CCD-368] - add duplicate task name
<clover-instrument/>. - [CCD-370] - support filesets in
<clover-report/>again. - [CCD-385] - support interval based flush policies again.
- [CCD-372] - detect testNG @Test class-level annotation.
- [CCD-373] - optimised HTML report performance and size.
Bugs Fixed
- [CCD-384] - relative="true" attribute not being respected during instrumentation.
Changes in 2.0a2
9 December, 2006
New Features
- [CCD-353] - new
<clover-instr>task.
Bugs
- [CCD-355] - instrumentation results in IOException on Windows.
Changes in 2.0a1
6 December, 2006
This is the first release of Clover 2.x. This initial release addresses the following Clover 1.x feature requests and bug reports:
New Features
- [CCD-7] - show coverage by testcase.
- [CCD-64] - report coverage by method.
- [CCD-95] - should be able to choose which columns to show in HTML reports.
- [CCD-158] - add cyclomatic complexity measurement to Clover.
- [CCD-258] - html reports should be client-side sortable.
- [CCD-269] - new column Formats "wideBar".
- [CCD-276] - New
<clover-html-report/>and<clover-pdf-report/>tasks.
Improvements
- [CCD-55] - respect deprecated annotation.
- [CCD-72] - should be able to link historical & current HTML report to each other.
- [CCD-89] - allow secondary sort order to be specified.
- [CCD-180] - provide runtime logging controls.
- [CCD-223] - Clover's database fragments excessively over time, leading to larger in-memory coverage arrays.
- [CCD-233] - need an aggregate package report.
- [CCD-253] -
clover-checkshould support package globs. - [CCD-254] - historical reports don't need
initstringset. - [CCD-265] - need a runtime property to disable registration of shutdownhook.
- [CCD-288] - historical reports - movers classes should be linked to current report if possible.
- [CCD-327] - put inline help into HTML reports.
- [CCD-340] - improve Java source rendering styles.
Bugs
- [CCD-250] - jdk1.5 with -Xlint and -Werror reports Clover's fallthrough switch instr as error.
- [CCD-257] - allow recording-time control of which threadgroup Clover-created threads get created in.
- [CCD-267] - double counting
trystatements. - [CCD-308] - javadoc tags not rendered correctly.
- [CCD-311] - Clover breaks on JDK1.5 hexadecimal floats.
- [CCD-350] - annotation definition containing superfluous semi causes parse error.