See also Clover-for-Eclipse Changelog
Clover-for-Ant Changelog
The complete combined changes are as follows:
Clover-for-Ant 2.4.0
5 November, 2008
Clover 2.4 for Ant is a major release which adds a key new feature, Test Optimization along with numerous improvements and bug fixes.
| Issue key |
Summary |
| CLOV-297 |
Column format of 'bar' is generating short bars |
| CLOV-299 |
Better warning for ant task misconfiguration |
| CLOV-246 |
Clover Maven 2 plugin doesn't work with Maven 2.0.9 |
| CLOV-315 |
Clover check rounds percentages thus when the build should fail when less than 100% coverage, a coverage of 99.5% will pass |
| CLOV-253 |
By default, inner classes of test classes should be considered test classes themselves |
| CLOV-285 |
CoverateRecording may not read all coverage data |
| CLOV-317 |
changing the footer |
| CLOV-322 |
PDFReport fails when no coverage data available. |
| CLOV-216 |
Else filter working incorrectly |
| CLOV-324 |
HREFs corrupt when generating historic files in subdir on windows |
| CLOV-323 |
movers in pdf report corrupt |
| CLOV-326 |
clover2:check fails when the historydir does not exist. |
| CLOV-307 |
Code found in the test directory is showing up in the Classes list in the top view dashboard (aggregated view) |
| CLOV-321 |
Auto-scale historical chart Y-Axis |
| CLOV-319 |
Replace ResourceCollection to keep Clover Ant 1.6.1 compatible |
| CLOV-345 |
Allow @span="2compiles" on Clover tasks |
| CLOV-320 |
Allow custom contexts to be specified on the CloverInstr CLI |
| CLOV-354 |
ANSI color logging |
| CLOV-353 |
Plugin re-ordering classpath |
| CLOV-318 |
Automatically create history directory |
| CLOV-341 |
Add --filter option for XmlReporter command line tool |
| CLOV-329 |
NPE thrown from getJSONSrcFileLines under certain conditions |
| CLOV-300 |
Provide package and project level JSON |
| CLOV-279 |
Ability to check what's excluded from the dashboard |
| CLOV-327 |
Look at historypoint optimizations. |
| CLOV-328 |
Document new srcLevel attribute on the clover-historypoint task |
| CLOV-289 |
Document simple Ant Integration |
| CLOV-360 |
Document new custom column: filteredElements |
| CLOV-359 |
Document performance improvement when includeFailedTestCoverage is set to true. |
| CLOV-352 |
Please document the new columns PercentageCoveredContribution & PercentageUncoveredContribution |
| CLOV-311 |
Merging databases can fail under JDK 1.4 |
| CLOV-344 |
Please document new --filter parameter to XmlReporter |
| CLOV-310 |
Plugin Ignoring Dependency Exclusions building surefire.test.class.path |
| CLOV-301 |
Save historical Clover data in this location automatically:
${user.home}/.cloverhistory
|
| CLOV-306 |
Generate Clover report even when there are no tests |
| CLOV-316 |
Clover jar contains clover.xml twice |
| CLOV-334 |
Relax test detection logic - class is a potential test class if either the class name or superclass name contains "test" |
| CLOV-183 |
Improve look and feel of historical charts |
Clover-for-Ant 2.3.2
15 July, 2008
This is a bug-fix release and minor feature release of Clover for Ant.
Clover-for-Ant 2.3.1
22 May, 2008
This is a very minor release to fix a problem with <clover-report/> under jdk 1.4.
If you do not use jdk 1.4 it is not recommended to upgrade.
Clover-for-Ant 2.3.0
9 May, 2008
This is a release with a number of new features and bug fixes.
Clover-for-Ant 2.2.1
11 April, 2008
This is a minor release which contains a significant bug fix.
Bug Fixes
CLOV-231 - NPE thrown when rendering stacktrace under certain circumstances
Clover-for-Ant 2.2.0
10 April, 2008
This is a major release which contains useful new features, improvements and numerous bug fixes.
Clover 2.2 adds:
New Features
CLOV-141 - New histograms and a scatter plot added to the Dashboard
CLOV-178 - <clover-check> can fail if coverage is less than previous
CLOV-168 - Stacktrace navigation added to reports
CLOV-169 - Source reports have better cross referencing
Improvements
CLOV-89 - Percentage of Filtered Code displayed in reports
CLOV-174 - Clover command line option to ignore contexts when generating coverage reports
CLOV-202 - Source line numbers are now hyperlinked
CLOV-205 - <columns/> element is now an Ant Type - i.e. can be referenced via refid
CLOV-180 - <testsources/> element added to <clover-check/>
Bug Fixes
CLOV-163 - NullPointerException when <chart> tag is missing title attribute
CLOV-164 - Historical reports "loading coverage database from: null"
CLOV-189 - Incorrect test totals for sub-classed tests
CLOV-196 - Incorrect data is being extracted from history points
CLOV-201 - Context filter names cannot have spaces in them
CLOV-204 - NullXXX recording files created in the run directory
CLOV-217 - Turning off test rewriting causes a compilation failure
CLOV-218 - Clover instrument goal fails when using a valid evaluation license
CLOV-220 - NullPointerException when path to clover.db doesn't include directory
CLOV-222 - Fix expanded test link, popup positioning
CLOV-225 - Test Result Summary page (test-summary.vm) is being overwritten for multiple test runs
Clover-for-Ant 2.1.0
14 February, 2008
This is a major release with several new features and significant improvements in the performance of Clover at report time.
Clover 2.1 adds Per-Package Coverage Clouds, Per-Test Coverage for merged databases and many improvements to Historical Reports.
New Features
CLOV-149 - New JSON report format.
CLOV-28 - Implemented merging of per test coverage data.
CLOV-64 - Display test results of merged databases.
CLOV-69 - New Per-Package Coverage Clouds.
CLOV-121 - Support TestNG and JUnit 4 expected exceptions.
CLOV-117 - Capture annotation information for use with Test Detector and friends.
CLOV-105 - More attributes added to XML reports.
CLOV-68 - New custom columns added to historical reports.
CLOV-80 - New column type added, supporting simple expression language for metrics.
CLOV-65 - Improved charts.
CLOV-136 - Support multiple movers in historical reports.
CLOV-111 - Allow nested booleans to wrap <testmethod/> elements.
Improvements
CLOV-143 - Aggregation of complexity at class level and above no longer excludes 1 for each method.
Bug Fixes
CLOV-151 - Incorrect instrumented code created when using generics in return type.
CLOV-153 - Regression: CloverInstr breaks on default package and non-existent destdir.
CLOV-135 - Invalid Javascript when generating <APP_CLASS>.js for app classes covered by tests not present in the model.
CLOV-129 - <clover-setup enabled="false"> is not respected in some situations.
CLOV-115 - Clover 2.x doesn't report when Definite Assignment rules prevent instrumentation.
CLOV-94 - Clover incorrectly reports failing Instinct specifications when they expect an exception.
CLOV-140 - Sometimes CoverageRecorder flushing doesn't flush contents of OS file buffers soon enough.
- Note: the 'includes' attribute on the <historical><coverage> and <historical><metrics> elements from Clover 2.0 has been replaced by the <columns> element.
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.0a3
22 December, 2006
New Features
- [CCD-325] - preliminary implementation of Dashboard summary report.
Improvements
- [CCD-306] - report how many test methods were detected.
- [CCD-346] - <clover-historypoint> should warn when overwriting an existing history point.
- [CCD-359] - Quick Wins should include complexity in weighting.
- [CCD-360] - Make instrumentation more consistent between task, CLI and Compiler Adapter.
- [CCD-362] - support <sourcepath> again in <clover-report>, HtmlReporter.
Bugs Fixed
- [CCD-348] - HTML reports - minor inconsistencies.
- [CCD-354] - Clover license check fails in some non-English locales.
- [CCD-356] - [html reports] percentage bar doesn't render correctly with some localised percent values.
- [CCD-363] - <clover-instr> doesn't handle srcdir==destdir gracefully.
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-check should support package globs.
- [CCD-254] - historical reports don't need initstring set.
- [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 try statements.
- [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.