Marc R. Hoffmann | e571f3f | 2012-05-13 12:18:02 +0000 | [diff] [blame] | 1 | <?xml version="1.0" encoding="UTF-8" ?> |
Evgeny Mandrikov | 82a92ca | 2012-01-15 20:25:48 +0000 | [diff] [blame] | 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| 3 | <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> |
| 4 | <head> |
Marc R. Hoffmann | e571f3f | 2012-05-13 12:18:02 +0000 | [diff] [blame] | 5 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
| 6 | <link rel="stylesheet" href=".resources/doc.css" charset="UTF-8" type="text/css" /> |
Evgeny Mandrikov | 82a92ca | 2012-01-15 20:25:48 +0000 | [diff] [blame] | 7 | <link rel="shortcut icon" href=".resources/report.gif" type="image/gif" /> |
| 8 | <title>JaCoCo - Change History</title> |
| 9 | </head> |
| 10 | <body> |
| 11 | |
| 12 | <div class="breadcrumb"> |
| 13 | <a href="../index.html" class="el_report">JaCoCo</a> > |
| 14 | <a href="index.html" class="el_group">Documentation</a> > |
| 15 | <span class="el_source">Change History</span> |
| 16 | </div> |
| 17 | <div id="content"> |
| 18 | |
| 19 | <h1>Change History</h1> |
| 20 | |
Evgeny Mandrikov | e16acdd | 2013-02-03 01:22:10 +0100 | [diff] [blame] | 21 | <h2>Trunk Build @qualified.bundle.version@ (@build.date@)</h2> |
| 22 | |
Marc R. Hoffmann | 1b1935e | 2013-03-01 19:55:43 +0100 | [diff] [blame^] | 23 | <h3>Fixed Bugs</h3> |
| 24 | <ul> |
| 25 | <li>Fixed inconsistent stackmap frames when instrumenting class files produced |
| 26 | by certain tools like ProGuard (GitHub #85).</li> |
| 27 | </ul> |
| 28 | |
Evgeny Mandrikov | 6fd4f3a | 2013-02-03 01:09:10 +0100 | [diff] [blame] | 29 | <h2>Release 0.6.2 (2013/02/03)</h2> |
Evgeny Mandrikov | a6a45e8 | 2012-12-23 22:24:47 +0100 | [diff] [blame] | 30 | |
Evgeny Mandrikov | 4a77e40 | 2012-12-26 12:03:58 +0100 | [diff] [blame] | 31 | <h3>New Features</h3> |
Marc R. Hoffmann | 47990a4 | 2012-12-28 13:54:23 +0100 | [diff] [blame] | 32 | <ul> |
Evgeny Mandrikov | e6f41d4 | 2013-01-11 15:37:36 +0100 | [diff] [blame] | 33 | <li>Support for offline instrumentation (GitHub #4, #64).</li> |
Marc Hoffmann | 60147ad | 2013-01-08 18:57:10 +0100 | [diff] [blame] | 34 | <li>JaCoCo agent exposes runtime API for direct integration with application |
| 35 | under test (GitHub #61).</li> |
Marc R. Hoffmann | 1a7ab6f | 2013-01-08 22:21:25 +0100 | [diff] [blame] | 36 | <li>Support for parallel test execution: Different agents can now safely write |
| 37 | to the same <code>*.exec</code> file (GitHub #52).</li> |
Evgeny Mandrikov | 446f197 | 2013-01-09 18:17:11 +0100 | [diff] [blame] | 38 | <li>New output mode 'none' can be used when agent is only controlled via JMX |
| 39 | or its new runtime API (GitHub #63).</li> |
Marc R. Hoffmann | e10fc8b | 2013-01-18 16:28:52 +0100 | [diff] [blame] | 40 | <li>Better error message in case of invalid stackmap frames (GitHub #73).</li> |
Evgeny Mandrikov | 700361b | 2013-02-02 20:02:24 +0100 | [diff] [blame] | 41 | <li>jacoco-maven-plugin: default phase for goal "report" - "verify" |
Evgeny Mandrikov | 741c894 | 2013-01-21 20:41:30 +0100 | [diff] [blame] | 42 | (GitHub #72).</li> |
Marc R. Hoffmann | 47990a4 | 2012-12-28 13:54:23 +0100 | [diff] [blame] | 43 | </ul> |
Evgeny Mandrikov | 4a77e40 | 2012-12-26 12:03:58 +0100 | [diff] [blame] | 44 | |
Evgeny Mandrikov | 4a77e40 | 2012-12-26 12:03:58 +0100 | [diff] [blame] | 45 | <h3>Non-functional Changes</h3> |
| 46 | <ul> |
| 47 | <li>For every build the corresponding Git commit hash is included as |
| 48 | <code>Eclipse-SourceReferences</code> manifest headers (GitHub #7, #59).</li> |
| 49 | </ul> |
| 50 | |
Marc R. Hoffmann | e2930e7 | 2013-01-08 21:18:35 +0100 | [diff] [blame] | 51 | <h3>API Changes</h3> |
| 52 | <ul> |
| 53 | <li>The <code>output</code> mode <code>mbean</code> of the agent has been |
| 54 | dropped in favor of the new boolean option <code>jmx</code>. This allows |
| 55 | to combine JMX access with any other output mode (GitHub #62).</li> |
| 56 | </ul> |
| 57 | |
Evgeny Mandrikov | 0bb8d2d | 2012-12-23 20:33:58 +0100 | [diff] [blame] | 58 | <h2>Release 0.6.1 (2012/12/23)</h2> |
Evgeny Mandrikov | 7764fe5 | 2012-10-06 23:44:26 +0400 | [diff] [blame] | 59 | |
Evgeny Mandrikov | 2ea884b | 2012-11-10 13:47:51 +0100 | [diff] [blame] | 60 | <h3>New Features</h3> |
| 61 | <ul> |
Evgeny Mandrikov | ca86383 | 2012-11-22 00:12:12 +0100 | [diff] [blame] | 62 | <li>Add a coverage check Mojo, contributed by Kyle Lieber (GitHub #6).</li> |
Evgeny Mandrikov | 2ea884b | 2012-11-10 13:47:51 +0100 | [diff] [blame] | 63 | </ul> |
| 64 | |
Evgeny Mandrikov | eb0cfdf | 2012-11-10 18:00:41 +0100 | [diff] [blame] | 65 | <h3>Fixed Bugs</h3> |
| 66 | <ul> |
Marc R. Hoffmann | fcc0a0f | 2012-11-10 20:37:05 +0100 | [diff] [blame] | 67 | <li>jacocoant.jar should not conflict with ASM 3.x (GitHub #39).</li> |
Evgeny Mandrikov | ca86383 | 2012-11-22 00:12:12 +0100 | [diff] [blame] | 68 | <li>Agent Mojo should set empty property, if execution was skipped |
| 69 | (GitHub #44).</li> |
Evgeny Mandrikov | eb0cfdf | 2012-11-10 18:00:41 +0100 | [diff] [blame] | 70 | </ul> |
| 71 | |
Marc R. Hoffmann | 1e1df5b | 2012-11-02 22:58:50 +0100 | [diff] [blame] | 72 | <h3>Non-functional Changes</h3> |
| 73 | <ul> |
Marc R. Hoffmann | cd5deec | 2012-11-09 14:59:22 +0100 | [diff] [blame] | 74 | <li>Upgrade to ASM 4.1 (GitHub #37).</li> |
Marc R. Hoffmann | fcc0a0f | 2012-11-10 20:37:05 +0100 | [diff] [blame] | 75 | <li>Log location of merged execution data file in Ant <code>merge</code> task |
| 76 | (GitHub #29).</li> |
Marc R. Hoffmann | 1e1df5b | 2012-11-02 22:58:50 +0100 | [diff] [blame] | 77 | </ul> |
| 78 | |
Evgeny Mandrikov | 76f62ca | 2012-10-06 23:01:20 +0400 | [diff] [blame] | 79 | <h2>Release 0.6.0 (2012/10/06)</h2> |
Evgeny Mandrikov | 13d966c | 2012-08-31 12:39:14 +0600 | [diff] [blame] | 80 | |
Marc R. Hoffmann | f22657e | 2012-09-20 21:45:49 +0200 | [diff] [blame] | 81 | <h3>New Features</h3> |
| 82 | <ul> |
| 83 | <li>Full support for Java 7 including INVOKEDYNAMIC as JaCoCo is now based |
Marc R. Hoffmann | 8bcab03 | 2012-09-20 22:28:29 +0200 | [diff] [blame] | 84 | on ASM 4.0 (GitHub #5).</li> |
Marc R. Hoffmann | f22657e | 2012-09-20 21:45:49 +0200 | [diff] [blame] | 85 | </ul> |
| 86 | |
Abraham Lin | 47c3fbb | 2012-09-13 23:27:32 +0600 | [diff] [blame] | 87 | <h3>Fixed Bugs</h3> |
| 88 | <ul> |
| 89 | <li>Maven plugin should skip creation of report if the execution data file is |
Marc R. Hoffmann | 8bcab03 | 2012-09-20 22:28:29 +0200 | [diff] [blame] | 90 | missing. This avoids appearance of stack traces in case when JVM was not |
| 91 | forked, e.g. if there are no tests to run (SF #3563431, GitHub #19).</li> |
| 92 | <li>Maven plugin should fail if unable to read execution data file or create |
| 93 | report (GitHub #19).</li> |
Abraham Lin | 47c3fbb | 2012-09-13 23:27:32 +0600 | [diff] [blame] | 94 | </ul> |
| 95 | |
Marc R. Hoffmann | 8bcab03 | 2012-09-20 22:28:29 +0200 | [diff] [blame] | 96 | <h3>API Changes</h3> |
| 97 | <ul> |
| 98 | <li>Only colon as separator character supported in agent parameters. The |
| 99 | deprecated pipe character is no longer supported.</li> |
| 100 | </ul> |
| 101 | |
Evgeny Mandrikov | d3dd13c | 2012-08-31 12:32:50 +0600 | [diff] [blame] | 102 | <h2>Release 0.5.10 (2012/08/31)</h2> |
Evgeny Mandrikov | 9e1a22e | 2012-07-30 07:35:07 +0000 | [diff] [blame] | 103 | |
Marc R. Hoffmann | ababcec | 2012-08-16 19:07:26 +0000 | [diff] [blame] | 104 | <h3>Fixed Bugs</h3> |
| 105 | <ul> |
Marc R. Hoffmann | 632e70b | 2012-08-24 14:49:19 +0000 | [diff] [blame] | 106 | <li>Correct stackmap frames for new <code>long[]</code> arrays (SF #3553210).</li> |
| 107 | <li>Properly resolve the <code>fork</code> variable for tasks wrapped by the |
| 108 | <code>coverage</code> Ant task (Trac #213).</li> |
Marc R. Hoffmann | ababcec | 2012-08-16 19:07:26 +0000 | [diff] [blame] | 109 | </ul> |
| 110 | |
Marc R. Hoffmann | bb80b76 | 2012-08-29 23:57:58 +0200 | [diff] [blame] | 111 | <h3>Non-functional Changes</h3> |
| 112 | <ul> |
| 113 | <li>Source tree has been migrated to Git and is now hosted on Github at |
| 114 | <a href="https://github.com/jacoco/jacoco">https://github.com/jacoco/jacoco</a>.</li> |
| 115 | </ul> |
| 116 | |
Evgeny Mandrikov | 7fa63e7 | 2012-07-30 07:26:38 +0000 | [diff] [blame] | 117 | <h2>Release 0.5.9 (2012/07/30)</h2> |
Evgeny Mandrikov | 19e5caa | 2012-07-11 12:29:04 +0000 | [diff] [blame] | 118 | |
Marc R. Hoffmann | 049e604 | 2012-07-21 19:02:27 +0000 | [diff] [blame] | 119 | <h3>Fixed Bugs</h3> |
| 120 | <ul> |
| 121 | <li>Don't produce invalid class files in case of unexpected stackmap frames |
| 122 | (SF #3543758).</li> |
| 123 | </ul> |
| 124 | |
Evgeny Mandrikov | 5552b67 | 2012-07-11 12:23:15 +0000 | [diff] [blame] | 125 | <h2>Release 0.5.8 (2012/07/11)</h2> |
Marc R. Hoffmann | 871836b | 2012-05-12 12:28:13 +0000 | [diff] [blame] | 126 | |
Marc R. Hoffmann | cf41fc1 | 2012-06-30 00:15:43 +0000 | [diff] [blame] | 127 | <h3>New Features</h3> |
| 128 | <ul> |
| 129 | <li>Support for parallel Maven builds (Trac #191).</li> |
| 130 | <li>New agent option <code>classdumpdir</code> to dump all class files seen |
| 131 | by the JaCoCo agent to disk. This option is also available for Ant and |
| 132 | Maven (Trac #208).</li> |
| 133 | </ul> |
| 134 | |
Marc R. Hoffmann | 9308f8a | 2012-07-04 19:00:06 +0000 | [diff] [blame] | 135 | <h3>Fixed Bugs</h3> |
| 136 | <ul> |
| 137 | <li>Allow instrumentation of classes with dead code (SF #3538112).</li> |
Marc R. Hoffmann | 65c1715 | 2012-07-09 10:37:23 +0000 | [diff] [blame] | 138 | <li>Reworked instrumentation strategy to avoid verifier error "Uninitialized |
| 139 | object exists on backward branch" with certain Java 7 class files |
| 140 | (Trac #154).</li> |
Marc R. Hoffmann | 9308f8a | 2012-07-04 19:00:06 +0000 | [diff] [blame] | 141 | </ul> |
| 142 | |
Marc R. Hoffmann | 7830927 | 2012-05-02 19:25:44 +0000 | [diff] [blame] | 143 | <h3>Non-functional Changes</h3> |
| 144 | <ul> |
Marc R. Hoffmann | 871836b | 2012-05-12 12:28:13 +0000 | [diff] [blame] | 145 | <li>Documentation now includes Maven example and Maven goal documentation |
| 146 | (Trac #201, #202).</li> |
Marc R. Hoffmann | 7830927 | 2012-05-02 19:25:44 +0000 | [diff] [blame] | 147 | </ul> |
| 148 | |
Evgeny Mandrikov | 976a90f | 2012-04-19 03:40:42 +0000 | [diff] [blame] | 149 | <h2>Release 0.5.7 (2012/04/19)</h2> |
Evgeny Mandrikov | 022e3af | 2012-01-23 23:39:12 +0000 | [diff] [blame] | 150 | |
Marc R. Hoffmann | 2a363b8 | 2012-03-31 10:00:06 +0000 | [diff] [blame] | 151 | <h3>New Features</h3> |
| 152 | <ul> |
| 153 | <li>Support for class redefinitions by other agents like JMockit (SF #3509409).</li> |
Marc R. Hoffmann | c17f2b0 | 2012-04-07 09:05:00 +0000 | [diff] [blame] | 154 | <li>Remove class file attributes with invalid code offsets caused by other |
Marc R. Hoffmann | c32282c | 2012-04-18 21:04:59 +0000 | [diff] [blame] | 155 | byte code processing tools to avoid verifier errors (Trac #196).</li> |
| 156 | <li>Improved logging for Ant tasks (SF #3518429).</li> |
Marc R. Hoffmann | 2a363b8 | 2012-03-31 10:00:06 +0000 | [diff] [blame] | 157 | </ul> |
| 158 | |
Marc R. Hoffmann | ce117fd | 2012-03-29 12:55:41 +0000 | [diff] [blame] | 159 | <h3>Fixed Bugs</h3> |
| 160 | <ul> |
| 161 | <li>In case of failures the agent should log the original exception.</li> |
| 162 | </ul> |
| 163 | |
Evgeny Mandrikov | 99487a1 | 2012-01-23 23:33:12 +0000 | [diff] [blame] | 164 | <h2>Release 0.5.6 (2012/01/23)</h2> |
Evgeny Mandrikov | 82a92ca | 2012-01-15 20:25:48 +0000 | [diff] [blame] | 165 | |
| 166 | <h3>New Features</h3> |
| 167 | <ul> |
| 168 | <li>jacoco-maven-plugin can be used together with maven-site-plugin (Trac #181).</li> |
Marc R. Hoffmann | 8b5d6a3 | 2012-01-18 20:24:45 +0000 | [diff] [blame] | 169 | <li>The <code>report</code> Ant task now also supports directory resources to |
| 170 | specify source folders. This allows reading source files from multiple |
| 171 | directories. Contributed by Dominik Stadler (Trac #119).</li> |
Evgeny Mandrikov | 82a92ca | 2012-01-15 20:25:48 +0000 | [diff] [blame] | 172 | </ul> |
| 173 | |
| 174 | <h3>Fixed Bugs</h3> |
| 175 | <ul> |
| 176 | <li>Don't insert stackmap frames for class files before version 1.6.</li> |
| 177 | <li>Regression, which was introduced in 0.5.4 - restored compatibility of jacoco-maven-plugin with Maven 2 (Trac #182).</li> |
| 178 | </ul> |
| 179 | |
| 180 | <h2>Release 0.5.5 (2011/12/15)</h2> |
| 181 | |
| 182 | <h3>Fixed Bugs</h3> |
| 183 | <ul> |
| 184 | <li>Correct default value for the <code>append</code> property of the |
| 185 | <code>dump</code> Ant task is <code>true</code> (Trac #178).</li> |
| 186 | <li>Try/catch blocks must not be counted as instructions (Trac #179).</li> |
| 187 | </ul> |
| 188 | |
| 189 | <h3>Non-functional Changes</h3> |
| 190 | <ul> |
| 191 | <li>Upgrade to ASM 3.3.1.</li> |
| 192 | </ul> |
| 193 | |
| 194 | <h2>Release 0.5.4 (2011/11/11)</h2> |
| 195 | |
| 196 | <h3>New Features</h3> |
| 197 | <ul> |
| 198 | <li>Maven plug-in: respect <code>includes</code> and <code>excludes</code> |
Evgeny Mandrikov | 8e7d699 | 2011-11-11 20:26:38 +0000 | [diff] [blame] | 199 | properties in report Mojo (Trac #160). |
Evgeny Mandrikov | 8e7d699 | 2011-11-11 20:26:38 +0000 | [diff] [blame] | 200 | Also note that: |
| 201 | <pre class="source lang-xml"> |
| 202 | <configuration> |
| 203 | <includes>org.foo.*:org.bar.*</includes> |
| 204 | <excludes>com.foo.*:com.bar.*</excludes> |
| 205 | </configuration> |
| 206 | </pre> |
| 207 | must be replaced on: |
| 208 | <pre class="source lang-xml"> |
| 209 | <configuration> |
| 210 | <includes> |
| 211 | <include>org.foo.*</include> |
| 212 | <include>org.bar.*</include> |
| 213 | </includes> |
| 214 | <excludes> |
| 215 | <exclude>com.foo.*</exclude> |
| 216 | <exclude>com.bar.*</exclude> |
| 217 | </excludes> |
| 218 | </configuration> |
| 219 | </pre> |
Evgeny Mandrikov | 82a92ca | 2012-01-15 20:25:48 +0000 | [diff] [blame] | 220 | </li> |
| 221 | </ul> |
| 222 | |
| 223 | <h3>API Changes</h3> |
| 224 | <ul> |
| 225 | <li><code>Instrumenter</code> now only requires |
| 226 | <code>IExecutionDataAccessorGenerator</code> instead of |
| 227 | <code>IRuntime</code> (Trac #174).</li> |
| 228 | <li>Removed reference to internal implementation classes from |
| 229 | <code>CoverageBuilder</code> API.</li> |
| 230 | </ul> |
| 231 | |
| 232 | <h3>Non-functional Changes</h3> |
| 233 | <ul> |
| 234 | <li>Release bundles from now on signed again.</li> |
| 235 | <li>Several documentation updates.</li> |
| 236 | </ul> |
| 237 | |
| 238 | <h2>Release 0.5.3 (2011/07/06)</h2> |
| 239 | |
| 240 | <h3>New Features</h3> |
| 241 | <ul> |
| 242 | <li>New Maven plug-in for JaCoCo agent setup and basic reporting (Trac #25).</li> |
| 243 | <li>Additional output mode implementation for JaCoCo agent based on JMX.</li> |
| 244 | </ul> |
| 245 | |
| 246 | <h3>Fixed Bugs</h3> |
| 247 | <ul> |
| 248 | <li>Fixed problem with reporting of nested group structures (Trac #157).</li> |
| 249 | </ul> |
| 250 | |
| 251 | <h3>Non-functional Changes</h3> |
| 252 | <ul> |
| 253 | <li>JaCoCo build based on Maven (Trac #136).</li> |
| 254 | <li>JaCoCo published to Maven repository (Trac #149).</li> |
| 255 | </ul> |
| 256 | |
| 257 | <h2>Release 0.5.2 (2011/05/19)</h2> |
| 258 | |
| 259 | <h3>New Features</h3> |
| 260 | <ul> |
| 261 | <li>JaCoCo reports cyclomatic complexity numbers (Trac #129).</li> |
| 262 | <li>For HTML reports the tab width can be specified on the |
| 263 | <code>sourcefiles</code> attribute of the <code>report</code> Ant task |
| 264 | (Track #152).</li> |
| 265 | </ul> |
| 266 | |
| 267 | <h3>Fixed Bugs</h3> |
| 268 | <ul> |
| 269 | <li>Removed duplicate counters in the root node of XML reports (Trac #155).</li> |
| 270 | <li>Avoid <code>StackOverflowException</code> when analyzing methods with very |
| 271 | long instruction sequences (Trac #156). Many thanks to Jean-Eric Cuendet |
| 272 | for reporting and analyzing this!</li> |
| 273 | </ul> |
| 274 | |
| 275 | <h3>API Changes</h3> |
| 276 | <ul> |
| 277 | <li><code>ICoverageNode</code> API has been extended for cyclomatic |
| 278 | complexity (Trac #129).</li> |
| 279 | <li>XML and CSV report includes new counter type <code>COMPLEXITY</code> |
| 280 | (Trac #129).</li> |
| 281 | <li>New method <code>getTabWidth()</code> in callback interface |
| 282 | <code>ISourceFileLocator</code> instead of |
| 283 | <code>HTMLReportFormatter.setTabWidth()</code> which has been removed. |
| 284 | (Trac #152).</li> |
| 285 | </ul> |
| 286 | |
| 287 | <h2>Release 0.5.1 (2011/03/21)</h2> |
| 288 | |
| 289 | <h3>New Features</h3> |
| 290 | <ul> |
| 291 | <li>Duplicate classes with identical identifiers are now ignored during |
| 292 | analysis.</li> |
| 293 | <li>Added support for TestNG to Ant task Coverage (Track #144).</li> |
| 294 | </ul> |
| 295 | |
| 296 | <h3>Fixed Bugs</h3> |
| 297 | <ul> |
| 298 | <li>Calculate correct stackmap frames for Java 1.6 branches (Trac #139).</li> |
| 299 | <li>Link source files also for classes in default package (Trac #151).</li> |
| 300 | </ul> |
| 301 | |
| 302 | <h3>Non-functional Changes</h3> |
| 303 | <ul> |
| 304 | <li>API documentation cleanup (Track #140).</li> |
| 305 | <li>Removed obsolete examples from documentation (Trac #141).</li> |
| 306 | <li>Added reporting API example (Trac #146).</li> |
| 307 | <li>Reduced file size of HTML report source pages (Trac #148).</li> |
| 308 | </ul> |
| 309 | |
| 310 | <h3>API Changes</h3> |
| 311 | <ul> |
| 312 | <li>Simplified reporting API (Trac #53).</li> |
| 313 | <li>Use colon as separator character in agent parameters (Trac #143).</li> |
| 314 | <li>Now also empty files are accepted as <code>*.exec</code> files (Trac #150).</li> |
| 315 | </ul> |
| 316 | |
| 317 | <h2>Release 0.5.0 (2011/01/19)</h2> |
| 318 | |
| 319 | <h3>New Features</h3> |
| 320 | <ul> |
| 321 | <li>JaCoCo now reports branch coverage (Track #66).</li> |
| 322 | </ul> |
| 323 | |
| 324 | <h3>Fixed Bugs</h3> |
| 325 | <ul> |
| 326 | <li>Only process actual Java class files during analysis (SF #3106102).</li> |
| 327 | <li>Fix broken source links due to sort hash (Track #125).</li> |
| 328 | <li>Fixed invalid OSGi headers in MANIFEST.MF files (Track #127).</li> |
| 329 | <li>Try to avoid interference with Hibernate (SF #3134190).</li> |
| 330 | <li>Provide proper error message in case of duplicate class names in the same |
| 331 | group (SF #3110219).</li> |
| 332 | <li>Allow any number of probes in static interface initializers (SF #3161106).</li> |
| 333 | </ul> |
| 334 | |
| 335 | <h3>API Changes</h3> |
| 336 | <ul> |
| 337 | <li>All analysis specific APIs have been moved to package |
| 338 | <code>org.jacoco.core.analysis</code>.</li> |
| 339 | <li>The <code>IStructureVisitor</code> interface has been replaced by a |
| 340 | simplified version called <code>ICoverageVisitor</code> (Track #132).</li> |
| 341 | <li>All counter creation and update APIs now accept <i>missed items</i> and |
| 342 | <i>covered items</i> as parameters (Track #131).</li> |
| 343 | <li>Instructions are now counted on a per line basis. Therefore some |
| 344 | interfaces in the <code>org.jacoco.core.analysis</code> package have |
| 345 | changed as well as the <code>line</code> element in the XML report |
| 346 | (Track #130).</li> |
| 347 | <li>Several internal implementation classes have removed from the core APIs or |
| 348 | have been replaced by new interfaces (Track #133).</li> |
| 349 | </ul> |
| 350 | |
| 351 | <h2>Release 0.4.1 (2010/10/07)</h2> |
| 352 | |
| 353 | <h3>New Features</h3> |
| 354 | <ul> |
| 355 | <li>New attribute <code>line</code> for <code>method</code> elements in the |
| 356 | XML report containing the first source line number of the method. |
| 357 | (Track #120).</li> |
| 358 | <li>Optional <code>locale</code> attribute for number rendering HTML reports, |
| 359 | also available as an attribute of the <code>html</code> tag of the |
| 360 | <code>report</code> Ant task (Track #122).</li> |
| 361 | <li>Coverage tables in HTML report are now sortable (Track #98).</li> |
| 362 | <li>The <code>report</code> Ant task issues a warning if source files are |
| 363 | provided but class files do not contain debug information to collect line |
| 364 | numbers (SF #3024486).</li> |
| 365 | </ul> |
| 366 | |
| 367 | <h3>Non-functional Changes</h3> |
| 368 | <ul> |
| 369 | <li>Reduced memory footprint for coverage data by 30% (Track #106).</li> |
| 370 | <li>Moved to Eclipse 3.6.x as development environment (Trac #115).</li> |
| 371 | <li>All delivered bundles and JAR files are signed (Trac #118).</li> |
| 372 | </ul> |
| 373 | |
| 374 | <h3>Fixed Bugs</h3> |
| 375 | <ul> |
| 376 | <li>Better error message when multiple JaCoCo agents are specified |
| 377 | (Track #103).</li> |
| 378 | <li>Fixed potential NPE at shutdown when running agent in |
| 379 | <code>tcpserver</code> mode (Track #117).</li> |
| 380 | <li>Agent now fails at startup when execution data file can't be opened |
| 381 | (Track #121).</li> |
| 382 | </ul> |
| 383 | |
| 384 | <h2>Release 0.4.0 (2010/06/04)</h2> |
| 385 | |
| 386 | <h3>New Features</h3> |
| 387 | <ul> |
| 388 | <li>Execution data now includes session information: an arbitrary identifier, |
| 389 | the start time and dump time (Trac #88).</li> |
| 390 | <li>Added session information to XML report (Trac #92).</li> |
| 391 | <li>New "Sessions" page in the HTML report shows information about each |
| 392 | sessions wherein execution data has been collected for the report |
| 393 | (Trac #93). Additionally all classes with execution data available are |
| 394 | listed on this page (Trac #94).</li> |
| 395 | <li>The agent now supports remote dumps via TCP/IP connections (Trac #82).</li> |
| 396 | <li>New Ant task <code>dump</code> to remotely collect coverage data from |
| 397 | agents (Trac #100).</li> |
| 398 | </ul> |
| 399 | |
| 400 | <h3>API Changes</h3> |
| 401 | <ul> |
| 402 | <li>Execution data file header is written and read in any case (Trac #72).</li> |
| 403 | <li>Added <code>dumponexit</code> to agent options (Trac #82).</li> |
| 404 | <li>Added <code>sessionid</code> to agent options (Trac #88).</li> |
| 405 | <li>Added <code>output, address and port</code> to agent options (Trac #82).</li> |
| 406 | <li>Additional and modified methods in <code>IRuntime</code> to produce |
| 407 | session information (Trac #88).</li> |
| 408 | <li>Coverage element type <code>SESSION</code> removed (Trac #95).</li> |
| 409 | <li>Removed several internal APIs from package |
| 410 | <code>org.jacoco.core.instr</code> used for class instrumentation.</li> |
| 411 | <li>Renamed class <code>org.jacoco.report.csv.CsvFormatter</code> to |
| 412 | <code>CSVFormatter</code> (upper case) for consistency with other |
| 413 | formatters.</li> |
| 414 | </ul> |
| 415 | |
| 416 | <h2>Release 0.3.3 (2010/04/19)</h2> |
| 417 | |
| 418 | <h3>New Features</h3> |
| 419 | <ul> |
| 420 | <li>Support for different archives (jar, war, ear etc.) and nested archives |
| 421 | (Trac #78).</li> |
| 422 | <li>XML report with line level coverage information (requested for Sonar).</li> |
| 423 | </ul> |
| 424 | |
| 425 | <h3>Fixed Bugs</h3> |
| 426 | <ul> |
| 427 | <li>Correct stackmap frames for Java 1.6 class files. (Track #81).</li> |
| 428 | <li>Avoid usage of <code>LocalVariableSorter</code> due to ASM bug #314563 |
| 429 | (Track #69).</li> |
| 430 | <li>Nested Java/JUnit Ant tasks not being executed when coverage task disabled. (Track #85).</li> |
| 431 | </ul> |
| 432 | |
| 433 | <h2>Release 0.3.2 (2010/04/01)</h2> |
| 434 | |
| 435 | <h3>New Features</h3> |
| 436 | <ul> |
| 437 | <li>New HTML report option to directly create a zip file containing the report |
| 438 | (Trac #12).</li> |
| 439 | <li>Code coverage for static initializers in interfaces (Trac #21).</li> |
| 440 | <li>Better error handling for <code>report</code> Ant task (Trac #71).</li> |
| 441 | <li>Classes without instructions are excluded from reports (Trac #73).</li> |
| 442 | </ul> |
| 443 | |
| 444 | <h3>Fixed Bugs</h3> |
| 445 | <ul> |
| 446 | <li>XML and CSV report output now also works for structures without groups |
| 447 | (Track #76).</li> |
| 448 | </ul> |
| 449 | |
| 450 | <h3>API Changes</h3> |
| 451 | <ul> |
| 452 | <li>Consistent usage of the term "Missed" instead of "NotCovered" in all APIs |
| 453 | (Trac #72).</li> |
| 454 | <li>To support "off-line" instrumentation scenarios it is not required any |
| 455 | more to register instrumented classes with the runtime (Trac #74).</li> |
| 456 | </ul> |
| 457 | |
| 458 | <h2>Release 0.3.1 (2010/02/09)</h2> |
| 459 | |
| 460 | <h3>Fixed Bugs</h3> |
| 461 | <ul> |
| 462 | <li>Ant tasks broken on Linux (Trac #68).</li> |
| 463 | </ul> |
| 464 | |
| 465 | <h2>Release 0.3.0 (2010/02/02)</h2> |
| 466 | |
| 467 | <h3>New Features</h3> |
| 468 | <ul> |
| 469 | <li>Report renders anonymous classes with type information (Trac #46).</li> |
| 470 | <li><code>enabled</code> property added to <code>agent</code> and |
| 471 | <code>coverage</code> Ant tasks (Trac #63).</li> |
| 472 | <li>Ant task <code>merge</code> added (Trac #52).</li> |
| 473 | </ul> |
| 474 | |
| 475 | <h3>Fixed Bugs</h3> |
| 476 | <ul> |
| 477 | <li>New <code>IRuntime</code> implementation enables JaCoCo usage for J2EE |
| 478 | application servers like Glassfish.</li> |
| 479 | </ul> |
| 480 | |
| 481 | <h3>API Changes</h3> |
| 482 | <ul> |
| 483 | <li>Agent option and Ant task parameter <code>file</code> changed to |
| 484 | <code>destfile</code> (Trac #59).</li> |
| 485 | <li>Agent option and Ant task parameter <code>merge</code> changed to |
| 486 | <code>append</code> (Trac #51).</li> |
| 487 | </ul> |
| 488 | |
| 489 | <h2>Release 0.2.0 (2010/01/08)</h2> |
| 490 | |
| 491 | <h3>New Features</h3> |
| 492 | |
| 493 | <ul> |
| 494 | <li>Simplified probe data structure reduces memory usage (Trac #47).</li> |
| 495 | <li>Performance test becomes part of the build.</li> |
| 496 | <li>New bundle <code>org.jacoco.agent</code> that provides the Java agent |
| 497 | as a resource (Trac #50).</li> |
| 498 | </ul> |
| 499 | |
| 500 | <h3>Fixed Bugs</h3> |
| 501 | |
| 502 | <ul> |
| 503 | <li><code>ArrayIndexOutOfBoundsException</code> due to inconsistent processing |
| 504 | while instrumentation and analysis (Trac #44).</li> |
| 505 | </ul> |
| 506 | |
Evgeny Mandrikov | 82a92ca | 2012-01-15 20:25:48 +0000 | [diff] [blame] | 507 | <h2>Release 0.1.0 (2009/10/28)</h2> |
| 508 | |
| 509 | <p> |
| 510 | The very first JaCoCo release. |
| 511 | </p> |
| 512 | |
| 513 | </div> |
| 514 | <div class="footer"> |
| 515 | <span class="right"><a href="@jacoco.home.url@">JaCoCo</a> @qualified.bundle.version@</span> |
| 516 | <a href="license.html">Copyright</a> © @copyright.years@ Mountainminds GmbH & Co. KG and Contributors |
| 517 | </div> |
| 518 | |
| 519 | </body> |
| 520 | </html> |