1
|
version 1.9.4.1:
|
2
|
* Fix a problem that occurs in Tomcat. When TouchCollector
|
3
|
initializes, it calls ProjectData.initialize() which (with
|
4
|
Tomcat only) eventually calls TouchCollector. However,
|
5
|
TouchCollector's static members have not been initialized.
|
6
|
Added a test that highlights this problem. (Thanks to Jack Cobb
|
7
|
for suggesting the fix).
|
8
|
* Runs on Java 5. (Fix for Bug 2962599).
|
9
|
|
10
|
|
11
|
version 1.9.4:
|
12
|
* Cobertura is now up to 10x faster. Aggregates changes in
|
13
|
temporary TouchCollector class (thread-safe, but lock-free) and after that
|
14
|
applies it on real model (ProjectData) as a batch operation. (Piotr Tabor)
|
15
|
* Fixed "Some packages are included more then once" bug (#2875576) that
|
16
|
caused some counts on the HTML report to be incorrect. (Charlie Squires)
|
17
|
* Fixed "Inner classes not counted in coverage report total" bug (#2943320)
|
18
|
(Charlie Squires)
|
19
|
|
20
|
version 1.9.3:
|
21
|
* Update to the latest Javancss (32.53) to fix some complexity calculation
|
22
|
problems. Bug #2824425. (John Lewis)
|
23
|
* Non-Java source files (like Groovy) no longer show the JavaNCSS warnings
|
24
|
during cobertura-report. Fix of bug #2819844.
|
25
|
* Support the case where multiple classloaders each load the Cobertura
|
26
|
classes. (Ed Randall)
|
27
|
* Fixed bug added with 1.9.2 where a NullPointerException is thrown
|
28
|
if ProjectData.saveGlobalProjectData() is called before any instrumented
|
29
|
code is executed.
|
30
|
|
31
|
version 1.9.2:
|
32
|
* Cobertura is now thread safe.
|
33
|
* Fix for FileLocker exception when writing coverage data
|
34
|
(java.lang.IllegalStateException: Shutdown in progress) that started
|
35
|
to appear with Java 6 update 14. (Chris van Es)
|
36
|
* Fix for bug "Unix scripts behave oddly due to DOS format - ID: 2788621"
|
37
|
|
38
|
version 1.9.1.1:
|
39
|
* Just a copy of 1.9.1 with a corrected Maven POM file (cobertura-runtime.pom).
|
40
|
A new version has to be created to get it uploaded to the central Maven repo.
|
41
|
|
42
|
version 1.9.1:
|
43
|
* Complexity calculation now works with Java 5 language
|
44
|
features such as Annotations. (Tri Bao Ho)
|
45
|
* Removed the bold font from the source-view for uncovered lines to
|
46
|
improve the alignment. (Jiri Mares)
|
47
|
* Support Ant <dirset>s. (Matt Cordes, John Lewis)
|
48
|
* Support the antlib mechanism for defining and importing
|
49
|
ant tasks. (Richard Atkins)
|
50
|
* Reports now support source encoded in something than UTF-8. (Jiri Mares)
|
51
|
* Report generation performance improvement. (Ignat Zapolsky)
|
52
|
* Report generation will look in zip and jar files if the
|
53
|
source java file is not found. (Charlie Squires, John Lewis)
|
54
|
* cobertura-check with linerate=0, branchrate=0,
|
55
|
packagebranchrate=0, packagelinerate=0, totalbranchrate=0,
|
56
|
totallinerate=0 will no longer default all the values to
|
57
|
50 as before. Therefore, cobertura-check will always pass.
|
58
|
Note that this still means that <cobertura-check /> (with
|
59
|
no attributes) will still default to 50 for all rates. (Charlie
|
60
|
Squires) (Bug 2152919)
|
61
|
* New coberturaFlush.war is created. Deploy it to a
|
62
|
web server and invoke http://<HOST>:<PORT>/coberturaFlush/flushCobertura
|
63
|
for a convenient way of flushing the cobertura data to the
|
64
|
datafile without stopping the web server. (Amit Nithianandan)
|
65
|
* XML report now shows total lines-covered, lines-valid,
|
66
|
branches-covered, branches-valid, and complexity. (Julian Gamble)
|
67
|
* New report option called "summaryXml" will create
|
68
|
a small summary XML report that does not have all the
|
69
|
details on the classes - just the overall totals. This
|
70
|
is for large projects where the full XML report gets so
|
71
|
big it impairs continuous build processes. (Julian Gamble and Dan Godfrey)
|
72
|
* Migrated from asm-2.2.1 to asm-3.0. (Jiri Mares)
|
73
|
* The percentage coverage of 199 out of 200 lines has been 100%.
|
74
|
No more! Now it is 99%. (Jiri Mares)
|
75
|
* Spelling error corrected in main.css file - changed magin to
|
76
|
margin. (Dennis Lundberg)
|
77
|
|
78
|
version 1.9:
|
79
|
* Much improved branch coverage. Information on whether
|
80
|
the true as well as the false of an if statement is
|
81
|
collected. Also, information on the branches of a
|
82
|
switch statement (including the default) is collected.
|
83
|
(Jiri Mares)
|
84
|
* Assume Java source files are saved as UTF-8 instead of
|
85
|
the computer's default encoding.
|
86
|
* Write all HTML and XML reports in UTF-8 instead of the
|
87
|
computer's default encoding (Naoki Iwami).
|
88
|
* Fix a bug where the Cobertura ant tasks would not work
|
89
|
correctly in Microsoft Windows when Cobertura was
|
90
|
installed on a different drive than the drive from which
|
91
|
you're running ant (Srivathsan Varadarajan).
|
92
|
* Added a "maxmemory" attribute to the instrument, merge
|
93
|
and report ant tasks (Matt Cordes).
|
94
|
* Improve support for Maven and similar environments where
|
95
|
control over system properties is difficult such as
|
96
|
app servers, IoC containers, IDEs, etc. Setting the
|
97
|
datafile location is difficult in these environments.
|
98
|
To correct this, a cobertura.properties file
|
99
|
located in the classpath is used to properly set the
|
100
|
net.sourceforge.cobertura.datafile property.
|
101
|
(Joakim Erdfelt)
|
102
|
|
103
|
version 1.8 (2006-04-10)
|
104
|
* Ability to have multiple <ignore/> regular expressions
|
105
|
in the instrument task (Alexei Yudichev).
|
106
|
* Ability to specify a minimum branch coverage rate and
|
107
|
line coverage rate for each package when using
|
108
|
cobertura-check.
|
109
|
* Show the number of lines and branches covered and the
|
110
|
total number of lines and branches in the HTML report.
|
111
|
* Support for instrumenting classes written in Groovy.
|
112
|
* Lock the data file before trying to write to it. This
|
113
|
allows multiple JVMs (or multiple class loaders within
|
114
|
a single JVM) to write to the same coverage data file
|
115
|
with no problems (John Lewis).
|
116
|
* Ability to instrument classes on a given classpath
|
117
|
instead of specifying filesets (John Lewis).
|
118
|
* Ability to specify which classes will be instrumented
|
119
|
using regular expressions (John Lewis).
|
120
|
* Archives within archives will be instrumented if you
|
121
|
specify an includeClassname regular expression (John
|
122
|
Lewis).
|
123
|
* If instrumenting an archive, remove any signatures
|
124
|
and checksums, since they will no longer be valid (John
|
125
|
Lewis).
|
126
|
* Removed the Class-Path line from cobertura.jar. You may
|
127
|
need to modify your Cobertura taskdef to include the jars
|
128
|
in Cobertura's 'lib' directory. See our Ant task web
|
129
|
page for an example.
|
130
|
* Reorganized libs into a flatter directory structure--you
|
131
|
may need to update your ant scripts.
|
132
|
* Upgraded from asm 2.1 to asm 2.2.1. No code changes were
|
133
|
needed.
|
134
|
* Copied portions of classes from JavaNCSS into Cobertura
|
135
|
so that we don't need to include the entire JavaNCSS and
|
136
|
CCL jars.
|
137
|
|
138
|
version 1.7 (2005-12-06)
|
139
|
* log4j is no longer used by the Cobertura classes that are
|
140
|
accessed by instrumented Java code. This means you will
|
141
|
not need to add log4j to your project's classpath in order
|
142
|
to use Cobertura (but log4j is still required when
|
143
|
instrumenting and reporting).
|
144
|
* Upgraded from asm 2.0 to asm 2.1. No code changes were
|
145
|
needed.
|
146
|
* Improved the merge task. It should work correctly now
|
147
|
(with help from Björn Beskow).
|
148
|
* Fixed the ability to specify a data file in the merge task.
|
149
|
* Changed the command-line interface to the merge task and
|
150
|
added a helper batch/shell script.
|
151
|
* Added better error checking to the merge task.
|
152
|
* Fixed a bug where an empty or incomplete coverage data
|
153
|
file would be written when you test classes inside Tomcat,
|
154
|
and you stop Tomcat using the shutdown.bat or shutdown.sh
|
155
|
scripts. This would result in an EOFException when running
|
156
|
cobertura-report.
|
157
|
* Added support for classes compiled with AspectJ.
|
158
|
* Cobertura now produces valid XHTML 1.0 reports.
|
159
|
|
160
|
version 1.6 (2005-08-22)
|
161
|
* Can now use multiple filesets in the cobertura-instrument
|
162
|
task (Thanks to Grzegorz Lukasik).
|
163
|
* Can now use multiple filesets in the cobertura-report task
|
164
|
(Thanks to Jeremy Thomerson, Grzegorz Lukasik and James Seigel).
|
165
|
* No longer using the Java version of GNU GetOpt
|
166
|
* Fixed a bug where the total number of classes displayed in
|
167
|
the HTML report included anonymous classes when it should
|
168
|
not have.
|
169
|
|
170
|
version 1.5 (2005-08-05)
|
171
|
* Shortened the header shown when running Cobertura (Thanks
|
172
|
to Jarkko Viinamäki).
|
173
|
* Don't save the data file twice after instrumenting.
|
174
|
* Print a warning when running cobertura-report with a
|
175
|
data file that does not contain information from the
|
176
|
instrument step.
|
177
|
* When instrumenting, you can now specify a zip, jar, war,
|
178
|
ear or sar file and Cobertura will instrument any classes
|
179
|
inside of the archive. You must explicity give the name
|
180
|
of the archive when instrumenting--giving the name of the
|
181
|
directory containing the archive will not work (Thanks to
|
182
|
Grzegorz Lukasik).
|
183
|
* Fixed a bug where the class list in the HTML reports did
|
184
|
not show multiple classes with the same name, but in
|
185
|
different packages.
|
186
|
* Add a timestamp and version number to all HTML reports.
|
187
|
* Add a timestamp and version number to all XML reports.
|
188
|
* Add the combined line-rate and branch-rate for all
|
189
|
packages to all XML reports.
|
190
|
* Fixed the merge task (Thanks to Mark Sinke).
|
191
|
* The check task now supports checking against a project's
|
192
|
total branch and line coverage rates (Thanks to Nathan
|
193
|
Wilson).
|
194
|
* The check ant task now allows you to fail the ant build,
|
195
|
if desired (Thanks to Nathan Wilson).
|
196
|
* The check task can set an ant property to "true" on
|
197
|
failure (Thanks to Alex Ruiz).
|
198
|
* Changed some of the parameters for the check task. See
|
199
|
the online documentation for usage information.
|
200
|
* The command line Windows batch scripts work better.
|
201
|
|
202
|
version 1.4 (2005-05-30)
|
203
|
* Fixed a bug that sometimes resulted in a
|
204
|
StringIndexOutOfBoundsException when running cobertura-report
|
205
|
(Thanks to Grzegorz Lukasik).
|
206
|
* Fixed a bug where classes without coverage data ("N/A") were
|
207
|
not always sorted correctly in the HTML report (Thanks to
|
208
|
Olivier Parent).
|
209
|
* Fixed a bug where the code complexity column would not always
|
210
|
sort correctly in locales that use a comma to split the decimal
|
211
|
part of the number (Thanks to Olivier Parent).
|
212
|
* Show "N/A" in the branch column of the HTML report for classes
|
213
|
and packages that do not have any branches.
|
214
|
|
215
|
version 1.3 (2005-05-20)
|
216
|
* Increased speed of HTML reports by filtering the files read
|
217
|
in to determine cyclomatic complexity numbers on.
|
218
|
* In the lower left pane of the HTML reports, classes are now
|
219
|
sorted only by their class name (instead of by their package
|
220
|
name plus class name).
|
221
|
* Changed the format of the XML reports to something that
|
222
|
is hopefully easier to use and more natural. This
|
223
|
unfortunately breaks backward compatability.
|
224
|
* We're using a DTD for the XML reports now. See
|
225
|
http://cobertura.sourceforge.net/xml/coverage-01.dtd
|
226
|
* Added the ability to specify the location of the coverage
|
227
|
data files from the ant tasks and the command line.
|
228
|
* More user-friendly error checking and reporting.
|
229
|
|
230
|
version 1.2 (2005-03-16)
|
231
|
* Fix a bug that caused the XML reports to be invalid XML
|
232
|
(they were missing the </package> tag).
|
233
|
* Use Java 1.4 pattern matching and remove Jakarta ORO.
|
234
|
|
235
|
version 1.1 (2005-03-08)
|
236
|
* Fix a bug in the syntax highlighting code of the HTML report
|
237
|
generation. Previously, the highlighting for single quotes
|
238
|
containing "\\" would not end correctly.
|
239
|
* Check the third party jars into CVS using the correct CVS
|
240
|
substition flag (binary, not ASCII).
|
241
|
* Temporary files created by the instrument ant task and merge
|
242
|
ant task are now deleted after the ant task finishes.
|
243
|
* Switch the instrumentation classes to use ASM instead of
|
244
|
Apache BCEL. There are three benefits to this:
|
245
|
1. BCEL was throwing exceptions with some source code compiled
|
246
|
with JDK 1.5--ASM works fine.
|
247
|
2. ASM is licensed under the revised BSD license, which
|
248
|
is compatable with the GPL, which allows us to remove
|
249
|
the questionable exception for BCEL.
|
250
|
3. Instrumentation is about 5 times faster with ASM than BCEL.
|
251
|
* Modify the HTML reports so that classes without line number
|
252
|
information will appear as "Not Applicable." This includes
|
253
|
skeleton classes, stub classes, interfaces, or anything not
|
254
|
compiled with debug=true.
|
255
|
* Fix bug #1151777 with a patch from Jeremy Thomerson.
|
256
|
Previously we were not escaping some characters correctly in the
|
257
|
generated XML coverage report (specificially < and >).
|
258
|
* Set the class-path in the cobertura.jar manifest file correctly.
|
259
|
* Fill feature request #1151779 with a patch from Jeremy Thomerson.
|
260
|
This changes the structure of the XML report so that <classes> are
|
261
|
enclosed inside <packages>.
|
262
|
|
263
|
version 1.0 (2005-02-12)
|
264
|
* Forked jcoverage 1.0.5 (although the version in the source says 1.0.4).
|
265
|
All original code is copyright 2003 jcoverage ltd. Kurt Guenther
|
266
|
highlighted a bug in the branch coverage, was was fixed.
|
267
|
* Applied a patch from Joakim Erdfelt to fix a bug where jcoverage
|
268
|
would fail to instrument classes if you attempted to instrument a
|
269
|
very large number of classes (in the hundreds).
|
270
|
* Rewrote the HTML reporting and included code complexity in the output.
|