version 1.9.4.1: | |
* Fix a problem that occurs in Tomcat. When TouchCollector | |
initializes, it calls ProjectData.initialize() which (with | |
Tomcat only) eventually calls TouchCollector. However, | |
TouchCollector's static members have not been initialized. | |
Added a test that highlights this problem. (Thanks to Jack Cobb | |
for suggesting the fix). | |
* Runs on Java 5. (Fix for Bug 2962599). | |
version 1.9.4: | |
* Cobertura is now up to 10x faster. Aggregates changes in | |
temporary TouchCollector class (thread-safe, but lock-free) and after that | |
applies it on real model (ProjectData) as a batch operation. (Piotr Tabor) | |
* Fixed "Some packages are included more then once" bug (#2875576) that | |
caused some counts on the HTML report to be incorrect. (Charlie Squires) | |
* Fixed "Inner classes not counted in coverage report total" bug (#2943320) | |
(Charlie Squires) | |
version 1.9.3: | |
* Update to the latest Javancss (32.53) to fix some complexity calculation | |
problems. Bug #2824425. (John Lewis) | |
* Non-Java source files (like Groovy) no longer show the JavaNCSS warnings | |
during cobertura-report. Fix of bug #2819844. | |
* Support the case where multiple classloaders each load the Cobertura | |
classes. (Ed Randall) | |
* Fixed bug added with 1.9.2 where a NullPointerException is thrown | |
if ProjectData.saveGlobalProjectData() is called before any instrumented | |
code is executed. | |
version 1.9.2: | |
* Cobertura is now thread safe. | |
* Fix for FileLocker exception when writing coverage data | |
(java.lang.IllegalStateException: Shutdown in progress) that started | |
to appear with Java 6 update 14. (Chris van Es) | |
* Fix for bug "Unix scripts behave oddly due to DOS format - ID: 2788621" | |
version 1.9.1.1: | |
* Just a copy of 1.9.1 with a corrected Maven POM file (cobertura-runtime.pom). | |
A new version has to be created to get it uploaded to the central Maven repo. | |
version 1.9.1: | |
* Complexity calculation now works with Java 5 language | |
features such as Annotations. (Tri Bao Ho) | |
* Removed the bold font from the source-view for uncovered lines to | |
improve the alignment. (Jiri Mares) | |
* Support Ant <dirset>s. (Matt Cordes, John Lewis) | |
* Support the antlib mechanism for defining and importing | |
ant tasks. (Richard Atkins) | |
* Reports now support source encoded in something than UTF-8. (Jiri Mares) | |
* Report generation performance improvement. (Ignat Zapolsky) | |
* Report generation will look in zip and jar files if the | |
source java file is not found. (Charlie Squires, John Lewis) | |
* cobertura-check with linerate=0, branchrate=0, | |
packagebranchrate=0, packagelinerate=0, totalbranchrate=0, | |
totallinerate=0 will no longer default all the values to | |
50 as before. Therefore, cobertura-check will always pass. | |
Note that this still means that <cobertura-check /> (with | |
no attributes) will still default to 50 for all rates. (Charlie | |
Squires) (Bug 2152919) | |
* New coberturaFlush.war is created. Deploy it to a | |
web server and invoke http://<HOST>:<PORT>/coberturaFlush/flushCobertura | |
for a convenient way of flushing the cobertura data to the | |
datafile without stopping the web server. (Amit Nithianandan) | |
* XML report now shows total lines-covered, lines-valid, | |
branches-covered, branches-valid, and complexity. (Julian Gamble) | |
* New report option called "summaryXml" will create | |
a small summary XML report that does not have all the | |
details on the classes - just the overall totals. This | |
is for large projects where the full XML report gets so | |
big it impairs continuous build processes. (Julian Gamble and Dan Godfrey) | |
* Migrated from asm-2.2.1 to asm-3.0. (Jiri Mares) | |
* The percentage coverage of 199 out of 200 lines has been 100%. | |
No more! Now it is 99%. (Jiri Mares) | |
* Spelling error corrected in main.css file - changed magin to | |
margin. (Dennis Lundberg) | |
version 1.9: | |
* Much improved branch coverage. Information on whether | |
the true as well as the false of an if statement is | |
collected. Also, information on the branches of a | |
switch statement (including the default) is collected. | |
(Jiri Mares) | |
* Assume Java source files are saved as UTF-8 instead of | |
the computer's default encoding. | |
* Write all HTML and XML reports in UTF-8 instead of the | |
computer's default encoding (Naoki Iwami). | |
* Fix a bug where the Cobertura ant tasks would not work | |
correctly in Microsoft Windows when Cobertura was | |
installed on a different drive than the drive from which | |
you're running ant (Srivathsan Varadarajan). | |
* Added a "maxmemory" attribute to the instrument, merge | |
and report ant tasks (Matt Cordes). | |
* Improve support for Maven and similar environments where | |
control over system properties is difficult such as | |
app servers, IoC containers, IDEs, etc. Setting the | |
datafile location is difficult in these environments. | |
To correct this, a cobertura.properties file | |
located in the classpath is used to properly set the | |
net.sourceforge.cobertura.datafile property. | |
(Joakim Erdfelt) | |
version 1.8 (2006-04-10) | |
* Ability to have multiple <ignore/> regular expressions | |
in the instrument task (Alexei Yudichev). | |
* Ability to specify a minimum branch coverage rate and | |
line coverage rate for each package when using | |
cobertura-check. | |
* Show the number of lines and branches covered and the | |
total number of lines and branches in the HTML report. | |
* Support for instrumenting classes written in Groovy. | |
* Lock the data file before trying to write to it. This | |
allows multiple JVMs (or multiple class loaders within | |
a single JVM) to write to the same coverage data file | |
with no problems (John Lewis). | |
* Ability to instrument classes on a given classpath | |
instead of specifying filesets (John Lewis). | |
* Ability to specify which classes will be instrumented | |
using regular expressions (John Lewis). | |
* Archives within archives will be instrumented if you | |
specify an includeClassname regular expression (John | |
Lewis). | |
* If instrumenting an archive, remove any signatures | |
and checksums, since they will no longer be valid (John | |
Lewis). | |
* Removed the Class-Path line from cobertura.jar. You may | |
need to modify your Cobertura taskdef to include the jars | |
in Cobertura's 'lib' directory. See our Ant task web | |
page for an example. | |
* Reorganized libs into a flatter directory structure--you | |
may need to update your ant scripts. | |
* Upgraded from asm 2.1 to asm 2.2.1. No code changes were | |
needed. | |
* Copied portions of classes from JavaNCSS into Cobertura | |
so that we don't need to include the entire JavaNCSS and | |
CCL jars. | |
version 1.7 (2005-12-06) | |
* log4j is no longer used by the Cobertura classes that are | |
accessed by instrumented Java code. This means you will | |
not need to add log4j to your project's classpath in order | |
to use Cobertura (but log4j is still required when | |
instrumenting and reporting). | |
* Upgraded from asm 2.0 to asm 2.1. No code changes were | |
needed. | |
* Improved the merge task. It should work correctly now | |
(with help from Björn Beskow). | |
* Fixed the ability to specify a data file in the merge task. | |
* Changed the command-line interface to the merge task and | |
added a helper batch/shell script. | |
* Added better error checking to the merge task. | |
* Fixed a bug where an empty or incomplete coverage data | |
file would be written when you test classes inside Tomcat, | |
and you stop Tomcat using the shutdown.bat or shutdown.sh | |
scripts. This would result in an EOFException when running | |
cobertura-report. | |
* Added support for classes compiled with AspectJ. | |
* Cobertura now produces valid XHTML 1.0 reports. | |
version 1.6 (2005-08-22) | |
* Can now use multiple filesets in the cobertura-instrument | |
task (Thanks to Grzegorz Lukasik). | |
* Can now use multiple filesets in the cobertura-report task | |
(Thanks to Jeremy Thomerson, Grzegorz Lukasik and James Seigel). | |
* No longer using the Java version of GNU GetOpt | |
* Fixed a bug where the total number of classes displayed in | |
the HTML report included anonymous classes when it should | |
not have. | |
version 1.5 (2005-08-05) | |
* Shortened the header shown when running Cobertura (Thanks | |
to Jarkko Viinamäki). | |
* Don't save the data file twice after instrumenting. | |
* Print a warning when running cobertura-report with a | |
data file that does not contain information from the | |
instrument step. | |
* When instrumenting, you can now specify a zip, jar, war, | |
ear or sar file and Cobertura will instrument any classes | |
inside of the archive. You must explicity give the name | |
of the archive when instrumenting--giving the name of the | |
directory containing the archive will not work (Thanks to | |
Grzegorz Lukasik). | |
* Fixed a bug where the class list in the HTML reports did | |
not show multiple classes with the same name, but in | |
different packages. | |
* Add a timestamp and version number to all HTML reports. | |
* Add a timestamp and version number to all XML reports. | |
* Add the combined line-rate and branch-rate for all | |
packages to all XML reports. | |
* Fixed the merge task (Thanks to Mark Sinke). | |
* The check task now supports checking against a project's | |
total branch and line coverage rates (Thanks to Nathan | |
Wilson). | |
* The check ant task now allows you to fail the ant build, | |
if desired (Thanks to Nathan Wilson). | |
* The check task can set an ant property to "true" on | |
failure (Thanks to Alex Ruiz). | |
* Changed some of the parameters for the check task. See | |
the online documentation for usage information. | |
* The command line Windows batch scripts work better. | |
version 1.4 (2005-05-30) | |
* Fixed a bug that sometimes resulted in a | |
StringIndexOutOfBoundsException when running cobertura-report | |
(Thanks to Grzegorz Lukasik). | |
* Fixed a bug where classes without coverage data ("N/A") were | |
not always sorted correctly in the HTML report (Thanks to | |
Olivier Parent). | |
* Fixed a bug where the code complexity column would not always | |
sort correctly in locales that use a comma to split the decimal | |
part of the number (Thanks to Olivier Parent). | |
* Show "N/A" in the branch column of the HTML report for classes | |
and packages that do not have any branches. | |
version 1.3 (2005-05-20) | |
* Increased speed of HTML reports by filtering the files read | |
in to determine cyclomatic complexity numbers on. | |
* In the lower left pane of the HTML reports, classes are now | |
sorted only by their class name (instead of by their package | |
name plus class name). | |
* Changed the format of the XML reports to something that | |
is hopefully easier to use and more natural. This | |
unfortunately breaks backward compatability. | |
* We're using a DTD for the XML reports now. See | |
http://cobertura.sourceforge.net/xml/coverage-01.dtd | |
* Added the ability to specify the location of the coverage | |
data files from the ant tasks and the command line. | |
* More user-friendly error checking and reporting. | |
version 1.2 (2005-03-16) | |
* Fix a bug that caused the XML reports to be invalid XML | |
(they were missing the </package> tag). | |
* Use Java 1.4 pattern matching and remove Jakarta ORO. | |
version 1.1 (2005-03-08) | |
* Fix a bug in the syntax highlighting code of the HTML report | |
generation. Previously, the highlighting for single quotes | |
containing "\\" would not end correctly. | |
* Check the third party jars into CVS using the correct CVS | |
substition flag (binary, not ASCII). | |
* Temporary files created by the instrument ant task and merge | |
ant task are now deleted after the ant task finishes. | |
* Switch the instrumentation classes to use ASM instead of | |
Apache BCEL. There are three benefits to this: | |
1. BCEL was throwing exceptions with some source code compiled | |
with JDK 1.5--ASM works fine. | |
2. ASM is licensed under the revised BSD license, which | |
is compatable with the GPL, which allows us to remove | |
the questionable exception for BCEL. | |
3. Instrumentation is about 5 times faster with ASM than BCEL. | |
* Modify the HTML reports so that classes without line number | |
information will appear as "Not Applicable." This includes | |
skeleton classes, stub classes, interfaces, or anything not | |
compiled with debug=true. | |
* Fix bug #1151777 with a patch from Jeremy Thomerson. | |
Previously we were not escaping some characters correctly in the | |
generated XML coverage report (specificially < and >). | |
* Set the class-path in the cobertura.jar manifest file correctly. | |
* Fill feature request #1151779 with a patch from Jeremy Thomerson. | |
This changes the structure of the XML report so that <classes> are | |
enclosed inside <packages>. | |
version 1.0 (2005-02-12) | |
* Forked jcoverage 1.0.5 (although the version in the source says 1.0.4). | |
All original code is copyright 2003 jcoverage ltd. Kurt Guenther | |
highlighted a bug in the branch coverage, was was fixed. | |
* Applied a patch from Joakim Erdfelt to fix a bug where jcoverage | |
would fail to instrument classes if you attempted to instrument a | |
very large number of classes (in the hundreds). | |
* Rewrote the HTML reporting and included code complexity in the output. |