1*7e63c127SSorin Basca<?xml version="1.0" encoding="UTF-8" ?> 2*7e63c127SSorin Basca<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3*7e63c127SSorin Basca<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> 4*7e63c127SSorin Basca<head> 5*7e63c127SSorin Basca <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6*7e63c127SSorin Basca <link rel="stylesheet" href="resources/doc.css" charset="UTF-8" type="text/css" /> 7*7e63c127SSorin Basca <link rel="shortcut icon" href="resources/report.gif" type="image/gif" /> 8*7e63c127SSorin Basca <title>JaCoCo - Change History</title> 9*7e63c127SSorin Basca</head> 10*7e63c127SSorin Basca<body> 11*7e63c127SSorin Basca 12*7e63c127SSorin Basca<div class="breadcrumb"> 13*7e63c127SSorin Basca <a href="../index.html" class="el_report">JaCoCo</a> > 14*7e63c127SSorin Basca <a href="index.html" class="el_group">Documentation</a> > 15*7e63c127SSorin Basca <span class="el_source">Change History</span> 16*7e63c127SSorin Basca</div> 17*7e63c127SSorin Basca<div id="content"> 18*7e63c127SSorin Basca 19*7e63c127SSorin Basca<h1>Change History</h1> 20*7e63c127SSorin Basca 21*7e63c127SSorin Basca<h2>Release 0.8.7 (2020/05/04)</h2> 22*7e63c127SSorin Basca 23*7e63c127SSorin Basca<h3>New Features</h3> 24*7e63c127SSorin Basca<ul> 25*7e63c127SSorin Basca <li>JaCoCo now officially supports Java 15 and 16 26*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1094">#1094</a>, 27*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/1097">#1097</a>, 28*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/1176">#1176</a>).</li> 29*7e63c127SSorin Basca <li>Experimental support for Java 17 class files 30*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1132">#1132</a>).</li> 31*7e63c127SSorin Basca <li>New <code>formats</code> parameter for Maven report goals to specify the 32*7e63c127SSorin Basca generated report formats. Contributed by troosan. 33*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1175">#1175</a>).</li> 34*7e63c127SSorin Basca <li>Branch added by the Kotlin compiler version 1.4.0 and above for "unsafe" cast 35*7e63c127SSorin Basca operator is filtered out during generation of report 36*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1143">#1143</a>, 37*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/1178">#1178</a>).</li> 38*7e63c127SSorin Basca <li><code>synthetic</code> methods added by the Kotlin compiler version 1.5.0 and 39*7e63c127SSorin Basca above for <code>private</code> suspending functions are filtered out 40*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1174">#1174</a>).</li> 41*7e63c127SSorin Basca <li>Branches added by the Kotlin compiler version 1.4.20 and above for suspending 42*7e63c127SSorin Basca lambdas are filtered out during generation of report 43*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1149">#1149</a>).</li> 44*7e63c127SSorin Basca <li>Branches added by the Kotlin compiler version 1.5.0 and above for functions 45*7e63c127SSorin Basca with default arguments are filtered out during generation of report 46*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1162">#1162</a>).</li> 47*7e63c127SSorin Basca <li>Branch added by the Kotlin compiler version 1.5.0 and above for reading from 48*7e63c127SSorin Basca <code>lateinit</code> property is filtered out during generation of report 49*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1166">#1166</a>).</li> 50*7e63c127SSorin Basca <li>Additional bytecode generated by the Kotlin compiler version 1.5.0 and above 51*7e63c127SSorin Basca for <code>when</code> expressions on <code>kotlin.String</code> values 52*7e63c127SSorin Basca is filtered out during generation of report 53*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1172">#1172</a>).</li> 54*7e63c127SSorin Basca <li>Improved filtering of bytecode generated by Kotlin compiler versions below 55*7e63c127SSorin Basca 1.5.0 for <code>when</code> expressions on <code>kotlin.String</code> values 56*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1156">#1156</a>).</li> 57*7e63c127SSorin Basca</ul> 58*7e63c127SSorin Basca 59*7e63c127SSorin Basca<h3>Fixed bugs</h3> 60*7e63c127SSorin Basca<ul> 61*7e63c127SSorin Basca <li>Fixed parsing of SMAP generated by Kotlin compiler version 1.5.0 and above 62*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1164">#1164</a>).</li> 63*7e63c127SSorin Basca</ul> 64*7e63c127SSorin Basca 65*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 66*7e63c127SSorin Basca<ul> 67*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 9.1 68*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1094">#1094</a>, 69*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/1097">#1097</a>, 70*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/1153">#1153</a>).</li> 71*7e63c127SSorin Basca <li>Maven plug-in has no dependency on <code>maven-reporting-impl</code> any more 72*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1121">#1121</a>).</li> 73*7e63c127SSorin Basca</ul> 74*7e63c127SSorin Basca 75*7e63c127SSorin Basca<h2>Release 0.8.6 (2020/09/15)</h2> 76*7e63c127SSorin Basca 77*7e63c127SSorin Basca<h3>New Features</h3> 78*7e63c127SSorin Basca<ul> 79*7e63c127SSorin Basca <li>JaCoCo now officially supports Java 14.</li> 80*7e63c127SSorin Basca <li>Experimental support for Java 15 class files 81*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/992">#992</a>).</li> 82*7e63c127SSorin Basca <li>Experimental support for Java 16 class files 83*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1059">#1059</a>).</li> 84*7e63c127SSorin Basca <li>Methods <code>toString</code>, <code>hashCode</code> and <code>equals</code> 85*7e63c127SSorin Basca generated by compiler for records are filtered out during generation of report 86*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/990">#990</a>).</li> 87*7e63c127SSorin Basca <li>Bridge methods are filtered out during generation of report 88*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1010">#1010</a>).</li> 89*7e63c127SSorin Basca <li>Methods generated by Kotlin compiler for non-overridden non-abstract methods 90*7e63c127SSorin Basca of interfaces are filtered out during generation of report 91*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1012">#1012</a>).</li> 92*7e63c127SSorin Basca <li>Branches added by the Kotlin compiler version 1.3.60 for suspending functions 93*7e63c127SSorin Basca with tail call optimization are filtered out during generation of report 94*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1016">#1016</a>).</li> 95*7e63c127SSorin Basca</ul> 96*7e63c127SSorin Basca 97*7e63c127SSorin Basca<h3>Fixed bugs</h3> 98*7e63c127SSorin Basca<ul> 99*7e63c127SSorin Basca <li>Compression method of zip entries is now preserved when instrumenting archives. 100*7e63c127SSorin Basca This allows to use JaCoCo with frameworks that expect uncompressed entries 101*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1018">#1018</a>).</li> 102*7e63c127SSorin Basca</ul> 103*7e63c127SSorin Basca 104*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 105*7e63c127SSorin Basca<ul> 106*7e63c127SSorin Basca <li>Support for Pack200 was removed in JDK 14. JaCoCo will now throw a detailed 107*7e63c127SSorin Basca exception when Pack200 archives are processed with the latest JDKs 108*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/984">#984</a>).</li> 109*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 8.0.1 110*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/1032">#1032</a>, 111*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/1043">#1043</a>).</li> 112*7e63c127SSorin Basca</ul> 113*7e63c127SSorin Basca 114*7e63c127SSorin Basca<h3>API Changes</h3> 115*7e63c127SSorin Basca<ul> 116*7e63c127SSorin Basca <li><code>URLStreamHandlerRuntime</code> removed 117*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/471">#471</a>).</li> 118*7e63c127SSorin Basca</ul> 119*7e63c127SSorin Basca 120*7e63c127SSorin Basca<h2>Release 0.8.5 (2019/10/11)</h2> 121*7e63c127SSorin Basca 122*7e63c127SSorin Basca<h3>New Features</h3> 123*7e63c127SSorin Basca<ul> 124*7e63c127SSorin Basca <li>JaCoCo now officially supports Java 13</li> 125*7e63c127SSorin Basca <li>Experimental support for Java 14 class files 126*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/897">#897</a>).</li> 127*7e63c127SSorin Basca <li>Branches added by the Kotlin compiler for <code>open</code> functions with 128*7e63c127SSorin Basca default arguments are filtered out during generation of report 129*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/887">#887</a>).</li> 130*7e63c127SSorin Basca</ul> 131*7e63c127SSorin Basca 132*7e63c127SSorin Basca<h3>Fixed bugs</h3> 133*7e63c127SSorin Basca<ul> 134*7e63c127SSorin Basca <li><code>synthetic</code> constructors that contain values of default arguments 135*7e63c127SSorin Basca in Kotlin should not be ignored 136*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/888">#888</a>).</li> 137*7e63c127SSorin Basca <li>Instrumentation should update indexes of local variables in annotations 138*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/894">#894</a>).</li> 139*7e63c127SSorin Basca <li>Branches added by the Kotlin compiler for functions with default arguments 140*7e63c127SSorin Basca and containing arguments of type <code>long</code> or <code>double</code> 141*7e63c127SSorin Basca should be filtered out during generation of report 142*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/908">#908</a>).</li> 143*7e63c127SSorin Basca <li><code>synthetic</code> methods that contain bodies of anonymous functions 144*7e63c127SSorin Basca in Scala should not be ignored 145*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/912">#912</a>).</li> 146*7e63c127SSorin Basca <li>To avoid failures with invalid class files report generation now checks 147*7e63c127SSorin Basca that source references are actually files 148*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/941">#941</a>).</li> 149*7e63c127SSorin Basca <li><code>NullPointerException</code> during filtering 150*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/942">#942</a>, 151*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/944">#944</a>).</li> 152*7e63c127SSorin Basca</ul> 153*7e63c127SSorin Basca 154*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 155*7e63c127SSorin Basca<ul> 156*7e63c127SSorin Basca <li>JaCoCo now distributed under the terms and conditions of the 157*7e63c127SSorin Basca Eclipse Public License Version 2.0 158*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/943">#943</a>).</li> 159*7e63c127SSorin Basca <li>Prevent startup when JaCoCo runtime cannot be initialized to avoid 160*7e63c127SSorin Basca subsequent faults 161*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/910">#910</a>).</li> 162*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 7.2 163*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/947">#947</a>).</li> 164*7e63c127SSorin Basca</ul> 165*7e63c127SSorin Basca 166*7e63c127SSorin Basca<h3>API Changes</h3> 167*7e63c127SSorin Basca<ul> 168*7e63c127SSorin Basca <li>The coverage check API and tools (Ant, Maven) now report an error, when 169*7e63c127SSorin Basca a coverage ratio limit is configured outside the range [0,1] to avoid 170*7e63c127SSorin Basca common configuration mistakes 171*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/783">#783</a>).</li> 172*7e63c127SSorin Basca <li>Unsupported class file versions are now consistently reported as exceptions 173*7e63c127SSorin Basca by all methods of <code>Analyzer</code> and <code>Instrumenter</code> and 174*7e63c127SSorin Basca thus also during report generation and offline instrumentation 175*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/952">#952</a>).</li> 176*7e63c127SSorin Basca</ul> 177*7e63c127SSorin Basca 178*7e63c127SSorin Basca<h2>Release 0.8.4 (2019/05/08)</h2> 179*7e63c127SSorin Basca 180*7e63c127SSorin Basca<h3>New Features</h3> 181*7e63c127SSorin Basca<ul> 182*7e63c127SSorin Basca <li>JaCoCo now officially supports Java 12</li> 183*7e63c127SSorin Basca <li>Instrumentation does not add synthetic field to Java 11+ class files, 184*7e63c127SSorin Basca however still adds synthetic method 185*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/845">#845</a>).</li> 186*7e63c127SSorin Basca <li>Branches added by the Kotlin compiler version 1.3.30 for suspending lambdas 187*7e63c127SSorin Basca and functions are filtered out during generation of report 188*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/849">#849</a>).</li> 189*7e63c127SSorin Basca</ul> 190*7e63c127SSorin Basca 191*7e63c127SSorin Basca<h3>Fixed bugs</h3> 192*7e63c127SSorin Basca<ul> 193*7e63c127SSorin Basca <li>Fixed incorrect update of frames caused by bug in ASM library in case of 194*7e63c127SSorin Basca arrays with more than 7 dimensions 195*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/839">#839</a>).</li> 196*7e63c127SSorin Basca <li>Fixed regression, which was introduced in 0.8.3 - 197*7e63c127SSorin Basca <code>module-info.class</code> should be excluded from analysis to not cause 198*7e63c127SSorin Basca <code>IllegalStateException</code> 199*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/859">#859</a>).</li> 200*7e63c127SSorin Basca</ul> 201*7e63c127SSorin Basca 202*7e63c127SSorin Basca<h3>API Changes</h3> 203*7e63c127SSorin Basca<ul> 204*7e63c127SSorin Basca <li>Methods <code>Instrumenter.instrument(org.objectweb.asm.ClassReader)</code> 205*7e63c127SSorin Basca and <code>Analyzer.analyzeClass(org.objectweb.asm.ClassReader)</code> 206*7e63c127SSorin Basca were removed 207*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/850">#850</a>).</li> 208*7e63c127SSorin Basca</ul> 209*7e63c127SSorin Basca 210*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 211*7e63c127SSorin Basca<ul> 212*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 7.1 213*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/851">#851</a>).</li> 214*7e63c127SSorin Basca</ul> 215*7e63c127SSorin Basca 216*7e63c127SSorin Basca<h2>Release 0.8.3 (2019/01/23)</h2> 217*7e63c127SSorin Basca 218*7e63c127SSorin Basca<h3>New Features</h3> 219*7e63c127SSorin Basca<ul> 220*7e63c127SSorin Basca <li>jacoco-maven-plugin now requires at least Maven 3.0 221*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/821">#821</a>).</li> 222*7e63c127SSorin Basca <li>JaCoCo now officially supports Java 11 223*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/760">#760</a>).</li> 224*7e63c127SSorin Basca <li>Experimental support for Java 13 class files 225*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/835">#835</a>).</li> 226*7e63c127SSorin Basca <li>Branch added by the Kotlin compiler for "unsafe" cast operator is filtered 227*7e63c127SSorin Basca out during generation of report 228*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/761">#761</a>).</li> 229*7e63c127SSorin Basca <li>Branch added by the Kotlin compiler for not-null assertion operator is 230*7e63c127SSorin Basca filtered out during generation of report 231*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/815">#815</a>).</li> 232*7e63c127SSorin Basca <li>Instructions inlined by Kotlin compiler are filtered out during generation 233*7e63c127SSorin Basca of report 234*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/764">#764</a>).</li> 235*7e63c127SSorin Basca <li>Branches added by the Kotlin compiler for suspending lambdas and functions 236*7e63c127SSorin Basca are filtered out during generation of report 237*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/802">#802</a>, 238*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/803">#803</a>, 239*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/809">#809</a>).</li> 240*7e63c127SSorin Basca <li>Classes and methods annotated by annotation whose retention policy is 241*7e63c127SSorin Basca <code>runtime</code> or <code>class</code> and whose simple name contains 242*7e63c127SSorin Basca "Generated" (previously equality was required) are filtered out during 243*7e63c127SSorin Basca generation of report 244*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/822">#822</a>).</li> 245*7e63c127SSorin Basca <li>HTML report shows message when source file can't be found 246*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/801">#801</a>).</li> 247*7e63c127SSorin Basca <li>HTML report shows message when class has no debug information 248*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/818">#818</a>).</li> 249*7e63c127SSorin Basca <li>HTML report shows message when analyzed class does not match executed 250*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/819">#819</a>).</li> 251*7e63c127SSorin Basca <li>HTML report shows message when no class files specified and when 252*7e63c127SSorin Basca none of the analyzed classes contain code relevant for code coverage 253*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/833">#833</a>).</li> 254*7e63c127SSorin Basca <li>Empty class and sourcefile nodes are preserved and available in XML report 255*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/817">#817</a>).</li> 256*7e63c127SSorin Basca <li>Agent avoids conflicts with other agents when running on Java 9+ 257*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/829">#829</a>).</li> 258*7e63c127SSorin Basca</ul> 259*7e63c127SSorin Basca 260*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 261*7e63c127SSorin Basca<ul> 262*7e63c127SSorin Basca <li><code>synthetic</code> methods that contain values of default arguments 263*7e63c127SSorin Basca in Kotlin should not be ignored 264*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/774">#774</a>).</li> 265*7e63c127SSorin Basca <li><code>synthetic</code> methods that represent <code>suspend</code> 266*7e63c127SSorin Basca functions in Kotlin should not be ignored 267*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/804">#804</a>).</li> 268*7e63c127SSorin Basca <li>Removed misleading parameters <code>includes</code> and 269*7e63c127SSorin Basca <code>excludes</code> from <code>dump</code>, <code>merge</code> and 270*7e63c127SSorin Basca <code>restore-instrumented-classes</code> goals of jacoco-maven-plugin, 271*7e63c127SSorin Basca because they have no effect 272*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/827">#827</a>).</li> 273*7e63c127SSorin Basca</ul> 274*7e63c127SSorin Basca 275*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 276*7e63c127SSorin Basca<ul> 277*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 7.0 278*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/760">#760</a>).</li> 279*7e63c127SSorin Basca</ul> 280*7e63c127SSorin Basca 281*7e63c127SSorin Basca<h2>Release 0.8.2 (2018/08/21)</h2> 282*7e63c127SSorin Basca 283*7e63c127SSorin Basca<h3>New Features</h3> 284*7e63c127SSorin Basca<ul> 285*7e63c127SSorin Basca <li>Experimental support for Java 11 and Java 12 class files, including 286*7e63c127SSorin Basca JEP 12 "preview features" 287*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/719">#719</a>, 288*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/738">#738</a>, 289*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/743">#743</a>).</li> 290*7e63c127SSorin Basca <li>Branches and instructions generated by javac 11 for try-with-resources 291*7e63c127SSorin Basca statement are filtered out 292*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/669">#669</a>).</li> 293*7e63c127SSorin Basca <li>Synthetic classes are filtered out during generation of report 294*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/668">#668</a>).</li> 295*7e63c127SSorin Basca <li>Part of bytecode generated by ECJ for <code>switch</code> statements on 296*7e63c127SSorin Basca <code>java.lang.String</code> values is filtered out during generation of 297*7e63c127SSorin Basca report 298*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/735">#735</a>, 299*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/741">#741</a>, 300*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/746">#746</a>).</li> 301*7e63c127SSorin Basca <li>Methods added by the Kotlin compiler that do not have line numbers are 302*7e63c127SSorin Basca filtered out during generation of report. Idea and implementation by 303*7e63c127SSorin Basca Nikolay Krasko 304*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/689">#689</a>).</li> 305*7e63c127SSorin Basca <li>Branch added by the Kotlin compiler for reading from <code>lateinit</code> 306*7e63c127SSorin Basca property is filtered out during generation of report. Implementation by 307*7e63c127SSorin Basca Fabian Mastenbroek 308*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/707">#707</a>).</li> 309*7e63c127SSorin Basca <li>Bytecode generated by Kotlin compiler for implicit <code>else</code> of 310*7e63c127SSorin Basca <code>when</code> expressions that list all cases of <code>enum</code> or 311*7e63c127SSorin Basca <code>sealed class</code> is filtered out during generation of report 312*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/721">#721</a>, 313*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/729">#729</a>, 314*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/749">#749</a>).</li> 315*7e63c127SSorin Basca <li>Additional bytecode generated by Kotlin compiler for <code>when</code> 316*7e63c127SSorin Basca expressions on <code>kotlin.String</code> values is filtered out during 317*7e63c127SSorin Basca generation of report 318*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/737">#737</a>, 319*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/746">#746</a>).</li> 320*7e63c127SSorin Basca <li>Classes and methods annotated with annotation whose retention policy 321*7e63c127SSorin Basca is <code>runtime</code> or <code>class</code> and whose simple name 322*7e63c127SSorin Basca is <code>Generated</code> are filtered out during generation of report 323*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/731">#731</a>).</li> 324*7e63c127SSorin Basca <li>Maven goal <code>report-aggregate</code> now also considers dependencies 325*7e63c127SSorin Basca specified using version range. Idea and implementation by Lukas Krejc 326*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/658">#658</a>).</li> 327*7e63c127SSorin Basca</ul> 328*7e63c127SSorin Basca 329*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 330*7e63c127SSorin Basca<ul> 331*7e63c127SSorin Basca <li>Don't insert stackmap frames into class files with version < 1.6, 332*7e63c127SSorin Basca this fixes regression which was introduced in version 0.6.5 333*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/667">#667</a>).</li> 334*7e63c127SSorin Basca <li>Question mark in filter expressions now correctly matches exactly one character 335*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/672">#672</a>).</li> 336*7e63c127SSorin Basca <li>Part of bytecode that javac generates for <code>switch</code> statement on 337*7e63c127SSorin Basca <code>java.lang.String</code> values with a small number cases is now correctly 338*7e63c127SSorin Basca filtered out during generation of report 339*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/730">#730</a>).</li> 340*7e63c127SSorin Basca</ul> 341*7e63c127SSorin Basca 342*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 343*7e63c127SSorin Basca<ul> 344*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 6.2.1 345*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/706">#706</a>, 346*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/725">#725</a>).</li> 347*7e63c127SSorin Basca <li>Improved error message when already instrumented classes are used for 348*7e63c127SSorin Basca instrumentation or analysis 349*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/703">#703</a>).</li> 350*7e63c127SSorin Basca <li>JaCoCo build now requires at least Maven 3.3.9 and JDK 8 351*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/711">#711</a>).</li> 352*7e63c127SSorin Basca</ul> 353*7e63c127SSorin Basca 354*7e63c127SSorin Basca<h3>API Changes</h3> 355*7e63c127SSorin Basca<ul> 356*7e63c127SSorin Basca <li>The XML report now has an optional attribute <code>sourcefilename</code> 357*7e63c127SSorin Basca on the <code>class</code> element to allow unambiguously relate classes 358*7e63c127SSorin Basca to source files. The JaCoCo DTD version has been updated to 1.1 359*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/702">#702</a>).</li> 360*7e63c127SSorin Basca</ul> 361*7e63c127SSorin Basca 362*7e63c127SSorin Basca<h2>Release 0.8.1 (2018/03/21)</h2> 363*7e63c127SSorin Basca 364*7e63c127SSorin Basca<h3>New Features</h3> 365*7e63c127SSorin Basca<ul> 366*7e63c127SSorin Basca <li>JaCoCo now supports Java 10 367*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/629">#629</a>).</li> 368*7e63c127SSorin Basca <li>Empty constructor without parameters in enum is filtered out during 369*7e63c127SSorin Basca generation of report 370*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/649">#649</a>).</li> 371*7e63c127SSorin Basca</ul> 372*7e63c127SSorin Basca 373*7e63c127SSorin Basca<h2>Release 0.8.0 (2018/01/02)</h2> 374*7e63c127SSorin Basca 375*7e63c127SSorin Basca<h3>New Features</h3> 376*7e63c127SSorin Basca<ul> 377*7e63c127SSorin Basca <li>JaCoCo now officially supports Java 9 378*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>).</li> 379*7e63c127SSorin Basca <li>JaCoCo now comes with a simple command line interface 380*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/525">#525</a>).</li> 381*7e63c127SSorin Basca <li>Limit configuration of Maven <code>check</code> goal and Ant 382*7e63c127SSorin Basca <code>check</code> element now also supports percentage values 383*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/534">#534</a>).</li> 384*7e63c127SSorin Basca <li>Manifests of JAR files now have <code>Automatic-Module-Name</code> for Java 9 385*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/565">#565</a>).</li> 386*7e63c127SSorin Basca <li>Maven aggregated reports will now also include modules of <code>runtime</code> 387*7e63c127SSorin Basca and <code>provided</code> dependencies 388*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/498">#498</a>, 389*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco/issues/572">#572</a>).</li> 390*7e63c127SSorin Basca</ul> 391*7e63c127SSorin Basca 392*7e63c127SSorin Basca<p> 393*7e63c127SSorin Basca During creation of reports various compiler generated artifacts are filtered 394*7e63c127SSorin Basca out, which otherwise require unnecessary and sometimes impossible tricks to 395*7e63c127SSorin Basca not have partial or missed coverage: 396*7e63c127SSorin Basca</p> 397*7e63c127SSorin Basca 398*7e63c127SSorin Basca<ul> 399*7e63c127SSorin Basca <li>Methods <code>valueOf</code> and <code>values</code> of enum types 400*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/491">#491</a>).</li> 401*7e63c127SSorin Basca <li>Private empty no-argument constructors 402*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/529">#529</a>).</li> 403*7e63c127SSorin Basca <li>Methods annotated with <code>@lombok.Generated</code> to better integrate 404*7e63c127SSorin Basca with Lombok >= 1.16.14. Initial analysis and contribution by Rüdiger zu Dohna 405*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/513">#513</a>).</li> 406*7e63c127SSorin Basca <li>Methods annotated with <code>@groovy.transform.Generated</code> to better 407*7e63c127SSorin Basca integrate with Groovy >= 2.5.0. Thanks to Andres Almiray for adding the annotation to Groovy 408*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/610">#610</a>).</li> 409*7e63c127SSorin Basca <li>Part of bytecode for <code>synchronized</code> blocks 410*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/501">#501</a>).</li> 411*7e63c127SSorin Basca <li>Part of bytecode for try-with-resources statements 412*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/500">#500</a>).</li> 413*7e63c127SSorin Basca <li>Part of bytecode for <code>finally</code> blocks 414*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/604">#604</a>).</li> 415*7e63c127SSorin Basca <li>Part of bytecode for <code>switch</code> statements on 416*7e63c127SSorin Basca <code>java.lang.String</code> values 417*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/596">#596</a>).</li> 418*7e63c127SSorin Basca</ul> 419*7e63c127SSorin Basca 420*7e63c127SSorin Basca<p> 421*7e63c127SSorin Basca Note: Tools that directly read <code>exec</code> files and embed JaCoCo for 422*7e63c127SSorin Basca this (such as SonarQube or Jenkins) will provide filtering functionality only 423*7e63c127SSorin Basca after they updated to this version of JaCoCo. 424*7e63c127SSorin Basca</p> 425*7e63c127SSorin Basca 426*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 427*7e63c127SSorin Basca<ul> 428*7e63c127SSorin Basca <li>Fixed bug in instrumentation of exception handlers, which was causing damage 429*7e63c127SSorin Basca of structured locking in certain situations and as consequence poor 430*7e63c127SSorin Basca performance of instrumented methods, analysis and fix contributed by Allen Hair 431*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/627">#627</a>).</li> 432*7e63c127SSorin Basca <li><code>dump</code> commands now report error when server unexpectedly 433*7e63c127SSorin Basca closes connection without sending response 434*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/538">#538</a>).</li> 435*7e63c127SSorin Basca <li>Reduced chance of conflict with other agents 436*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/555">#555</a>).</li> 437*7e63c127SSorin Basca <li>Restored Maven <code>help</code> goal that was missing in version 0.7.9 438*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/559">#559</a>).</li> 439*7e63c127SSorin Basca <li><code>NullPointerException</code> during offline instrumentation of 440*7e63c127SSorin Basca <code>module-info.class</code> 441*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>, 442*7e63c127SSorin Basca GitHub <a href="https://github.com/jacoco/jacoco/issues/634">#634</a>).</li> 443*7e63c127SSorin Basca <li>Incorrect update of frames caused by bug in ASM library 444*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>).</li> 445*7e63c127SSorin Basca <li>Loss of <code>InnerClasses</code> attribute caused by bug in ASM library 446*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>).</li> 447*7e63c127SSorin Basca <li><code>NegativeArraySizeException</code> during instrumentation caused by bug 448*7e63c127SSorin Basca in ASM library 449*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>).</li> 450*7e63c127SSorin Basca</ul> 451*7e63c127SSorin Basca 452*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 453*7e63c127SSorin Basca<ul> 454*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 6.0 455*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/600">#600</a>).</li> 456*7e63c127SSorin Basca <li>More information about context is provided when unable to read input during 457*7e63c127SSorin Basca instrumentation 458*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/527">#527</a>).</li> 459*7e63c127SSorin Basca <li>More information about context is provided when unable to read stream during 460*7e63c127SSorin Basca analysis 461*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/541">#541</a>).</li> 462*7e63c127SSorin Basca</ul> 463*7e63c127SSorin Basca 464*7e63c127SSorin Basca<h2>Release 0.7.9 (2017/02/05)</h2> 465*7e63c127SSorin Basca 466*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 467*7e63c127SSorin Basca<ul> 468*7e63c127SSorin Basca <li>"<code>java.lang.ClassFormatError: Short length on BootstrapMethods in class file</code>" 469*7e63c127SSorin Basca caused by bug in ASM library 470*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/462">#462</a>).</li> 471*7e63c127SSorin Basca <li>Do not recompute frames in case of large methods, otherwise 472*7e63c127SSorin Basca <code>java.lang.ClassNotFoundException</code> might be thrown 473*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/177">#177</a>).</li> 474*7e63c127SSorin Basca <li><code>ExecutionDataWriter.FORMAT_VERSION</code> is not a compile-time constant 475*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/474">#474</a>).</li> 476*7e63c127SSorin Basca <li>Maven goal "prepare-agent" should not overwrite existing property value if execution was skipped 477*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/486">#486</a>).</li> 478*7e63c127SSorin Basca</ul> 479*7e63c127SSorin Basca 480*7e63c127SSorin Basca<h3>API Changes</h3> 481*7e63c127SSorin Basca<ul> 482*7e63c127SSorin Basca <li><code>JaCoCo.ASM_API_VERSION</code> removed 483*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/474">#474</a>).</li> 484*7e63c127SSorin Basca</ul> 485*7e63c127SSorin Basca 486*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 487*7e63c127SSorin Basca<ul> 488*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 5.2.</li> 489*7e63c127SSorin Basca <li>OSGi metadata now generated automatically and additionally include 490*7e63c127SSorin Basca <code>uses</code> directives, <code>Require-Capability</code> attribute, 491*7e63c127SSorin Basca and export of all internal packages with <code>x-internal:=true</code> directive 492*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/211">#211</a>).</li> 493*7e63c127SSorin Basca <li>Removed OSGi attributes that were mistakenly added in version 0.6.1 into 494*7e63c127SSorin Basca <code>jacocoant.jar</code> that contains all dependencies 495*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/211">#211</a>).</li> 496*7e63c127SSorin Basca</ul> 497*7e63c127SSorin Basca 498*7e63c127SSorin Basca<h2>Release 0.7.8 (2016/12/09)</h2> 499*7e63c127SSorin Basca 500*7e63c127SSorin Basca<h3>New Features</h3> 501*7e63c127SSorin Basca<ul> 502*7e63c127SSorin Basca <li>User property <code>jacoco.dataFile</code> for parameter <code>dataFile</code> 503*7e63c127SSorin Basca of Maven <code>report</code> goal 504*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/322">#322</a>).</li> 505*7e63c127SSorin Basca</ul> 506*7e63c127SSorin Basca 507*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 508*7e63c127SSorin Basca<ul> 509*7e63c127SSorin Basca <li>Use <code>RoundingMode#FLOOR</code> instead of 510*7e63c127SSorin Basca <code>RoundingMode#HALF_EVEN</code> for percentages in HTML report, so that 511*7e63c127SSorin Basca "99.5" is displayed as "99%", not as "100%" 512*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/452">#452</a>).</li> 513*7e63c127SSorin Basca <li>Do not add useless members into Java 8 interfaces that have only interface 514*7e63c127SSorin Basca initialization and abstract methods 515*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/441">#441</a>).</li> 516*7e63c127SSorin Basca <li>Fix instrumentation to not violate Java Virtual Machine Specification regarding 517*7e63c127SSorin Basca initialization of final fields, otherwise <code>IllegalAccessError</code> 518*7e63c127SSorin Basca will be thrown starting from OpenJDK 9 EA b127 519*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/434">#434</a>).</li> 520*7e63c127SSorin Basca <li>Fix instrumentation of interfaces with default methods to not create incorrect 521*7e63c127SSorin Basca constant pool entries, which lead to <code>IncompatibleClassChangeError</code> 522*7e63c127SSorin Basca starting from OpenJDK 9 EA b122 523*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/428">#428</a>).</li> 524*7e63c127SSorin Basca <li>Add Maven goal <code>report-aggregate</code> to lifecycle-mapping-metadata.xml 525*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/427">#427</a>).</li> 526*7e63c127SSorin Basca</ul> 527*7e63c127SSorin Basca 528*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 529*7e63c127SSorin Basca<ul> 530*7e63c127SSorin Basca <li>Released JaCoCo JARs are not signed any more. Signed versions of JaCoCo are 531*7e63c127SSorin Basca now available from the Eclipse Orbit project 532*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/466">#466</a>).</li> 533*7e63c127SSorin Basca <li>Simplified numbering of versions - JaCoCo JARs in Maven Central repository 534*7e63c127SSorin Basca do not have qualifier any more 535*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/468">#468</a>).</li> 536*7e63c127SSorin Basca</ul> 537*7e63c127SSorin Basca 538*7e63c127SSorin Basca<h2>Release 0.7.7 (2016/06/06)</h2> 539*7e63c127SSorin Basca 540*7e63c127SSorin Basca<h3>New Features</h3> 541*7e63c127SSorin Basca<ul> 542*7e63c127SSorin Basca <li>New Maven goal <code>report-aggregate</code> to create reports for 543*7e63c127SSorin Basca multi-module projects 544*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/388">#388</a>).</li> 545*7e63c127SSorin Basca <li>New parameters <code>title</code> and <code>footer</code> for Maven 546*7e63c127SSorin Basca reporting goals allow customization of generated reports.</li> 547*7e63c127SSorin Basca <li>Renamed "dot" resources in generated HTML reports to become more web 548*7e63c127SSorin Basca hosting friendly 549*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/401">#401</a>).</li> 550*7e63c127SSorin Basca <li>Experimental support for Java 9 class files 551*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/406">#406</a>).</li> 552*7e63c127SSorin Basca</ul> 553*7e63c127SSorin Basca 554*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 555*7e63c127SSorin Basca<ul> 556*7e63c127SSorin Basca <li>Don't suppress EOF errors in case of truncated execution data files 557*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/397">#397</a>).</li> 558*7e63c127SSorin Basca</ul> 559*7e63c127SSorin Basca 560*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 561*7e63c127SSorin Basca<ul> 562*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 5.1.</li> 563*7e63c127SSorin Basca <li>Empty probe arrays are not written to execution data files any more. This 564*7e63c127SSorin Basca reduces exec file size significantly for per-test data dumps. 565*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/387">#387</a>).</li> 566*7e63c127SSorin Basca <li>More information about context is provided when unable to read input during 567*7e63c127SSorin Basca analysis. 568*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/400">#400</a>).</li> 569*7e63c127SSorin Basca <li>Require at least Maven 3.0 for build of JaCoCo.</li> 570*7e63c127SSorin Basca</ul> 571*7e63c127SSorin Basca 572*7e63c127SSorin Basca 573*7e63c127SSorin Basca<h2>Release 0.7.6 (2016/02/18)</h2> 574*7e63c127SSorin Basca 575*7e63c127SSorin Basca<h3>New Features</h3> 576*7e63c127SSorin Basca<ul> 577*7e63c127SSorin Basca <li>New agent option <code>inclnolocationclasses</code> to support execution 578*7e63c127SSorin Basca environments like Android where no source location is provided with classes 579*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/288">#288</a>).</li> 580*7e63c127SSorin Basca <li>Improved error message in case of incompatible execution data files. 581*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/319">#319</a>).</li> 582*7e63c127SSorin Basca <li>Command line agent options now supports comma in file names. Contributed 583*7e63c127SSorin Basca by Jochen Berger. 584*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/358">#358</a>).</li> 585*7e63c127SSorin Basca</ul> 586*7e63c127SSorin Basca 587*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 588*7e63c127SSorin Basca<ul> 589*7e63c127SSorin Basca <li>Fix <code>MBeanClient</code> example 590*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/333">#333</a>).</li> 591*7e63c127SSorin Basca <li>Avoid <code>ConcurrentModificationException</code> during shutdown 592*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/364">#364</a>).</li> 593*7e63c127SSorin Basca</ul> 594*7e63c127SSorin Basca 595*7e63c127SSorin Basca<h3>API Changes</h3> 596*7e63c127SSorin Basca<ul> 597*7e63c127SSorin Basca <li>In case of incompatible execution data formats read from another JaCoCo 598*7e63c127SSorin Basca version <code>ExecutionDataReader.read()</code> now throws a 599*7e63c127SSorin Basca <code>IncompatibleExecDataVersionException</code>.</li> 600*7e63c127SSorin Basca</ul> 601*7e63c127SSorin Basca 602*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 603*7e63c127SSorin Basca<ul> 604*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 5.0.4.</li> 605*7e63c127SSorin Basca</ul> 606*7e63c127SSorin Basca 607*7e63c127SSorin Basca 608*7e63c127SSorin Basca<h2>Release 0.7.5 (2015/05/24)</h2> 609*7e63c127SSorin Basca 610*7e63c127SSorin Basca<h3>New Features</h3> 611*7e63c127SSorin Basca<ul> 612*7e63c127SSorin Basca <li>Better detection of coverage in code blocks with implicit exceptions. 613*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/310">#310</a>).</li> 614*7e63c127SSorin Basca <li>Added lifecycle-mapping-metadata.xml for M2E 615*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/203">#203</a>).</li> 616*7e63c127SSorin Basca <li>Allow locales with country and variant for Ant report task 617*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/289">#289</a>).</li> 618*7e63c127SSorin Basca</ul> 619*7e63c127SSorin Basca 620*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 621*7e63c127SSorin Basca<ul> 622*7e63c127SSorin Basca <li>For the Ant tasks <code>coverage</code> and <code>agent</code> the 623*7e63c127SSorin Basca <code>destfile</code> attribute is now passed as an absolute path also in 624*7e63c127SSorin Basca the default case 625*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/301">#301</a>).</li> 626*7e63c127SSorin Basca</ul> 627*7e63c127SSorin Basca 628*7e63c127SSorin Basca<h3>API Changes</h3> 629*7e63c127SSorin Basca<ul> 630*7e63c127SSorin Basca <li>The exec file version has been updated and is not compatible with previous 631*7e63c127SSorin Basca versions.</li> 632*7e63c127SSorin Basca</ul> 633*7e63c127SSorin Basca 634*7e63c127SSorin Basca<h2>Release 0.7.4 (2015/02/26)</h2> 635*7e63c127SSorin Basca 636*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 637*7e63c127SSorin Basca<ul> 638*7e63c127SSorin Basca <li>Restored exec file compatibility with version 0.7.2 by fixing missing 639*7e63c127SSorin Basca probes in case of try/catch blocks which are jump targets. 640*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/286">#286</a>).</li> 641*7e63c127SSorin Basca</ul> 642*7e63c127SSorin Basca 643*7e63c127SSorin Basca 644*7e63c127SSorin Basca<h2>Release 0.7.3 (2015/02/19)</h2> 645*7e63c127SSorin Basca 646*7e63c127SSorin Basca<h3>New Features</h3> 647*7e63c127SSorin Basca<ul> 648*7e63c127SSorin Basca <li>For offline instrumemtation agent configuration supports system properties 649*7e63c127SSorin Basca replacements. Implementation based on pull request of GitHub user 'debugger' 650*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/262">#262</a>).</li> 651*7e63c127SSorin Basca <li>Exclude dynamically generated classes from instrumentation for better 652*7e63c127SSorin Basca interoperability with JMockit, analysis contributed by Rogério Liesenfeld 653*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/272">#272</a>).</li> 654*7e63c127SSorin Basca</ul> 655*7e63c127SSorin Basca 656*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 657*7e63c127SSorin Basca<ul> 658*7e63c127SSorin Basca <li>Instrumented bytecode now compatible with Android ART runtime, analysis 659*7e63c127SSorin Basca and fix contributed by Allen Hair 660*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/265">#265</a>).</li> 661*7e63c127SSorin Basca</ul> 662*7e63c127SSorin Basca 663*7e63c127SSorin Basca<h2>Release 0.7.2 (2014/09/12)</h2> 664*7e63c127SSorin Basca 665*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 666*7e63c127SSorin Basca<ul> 667*7e63c127SSorin Basca <li>Do not ignore synthetic lambda methods to get code coverage for Java 8 668*7e63c127SSorin Basca lambda expressions 669*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/232">#232</a>).</li> 670*7e63c127SSorin Basca</ul> 671*7e63c127SSorin Basca 672*7e63c127SSorin Basca<h3>New Features</h3> 673*7e63c127SSorin Basca<ul> 674*7e63c127SSorin Basca <li>New configuration option for the JaCoCo agent 675*7e63c127SSorin Basca <code>inclbootstrapclasses</code> to also instrument classes from the 676*7e63c127SSorin Basca bootstrap class loader 677*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/49">#49</a>).</li> 678*7e63c127SSorin Basca <li>Agent uses unique file names to dump class files 679*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/225">#225</a>).</li> 680*7e63c127SSorin Basca</ul> 681*7e63c127SSorin Basca 682*7e63c127SSorin Basca<h2>Release 0.7.1 (2014/05/08)</h2> 683*7e63c127SSorin Basca 684*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 685*7e63c127SSorin Basca<ul> 686*7e63c127SSorin Basca <li>Fixed failure with default methods in Java 8 interfaces 687*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/201">#201</a>).</li> 688*7e63c127SSorin Basca <li>Better interoperability with JMockit, analysis and fix contributed by Rogério 689*7e63c127SSorin Basca Liesenfeld (GitHub <a href="https://github.com/jacoco/jacoco/issues/35">#35</a> 690*7e63c127SSorin Basca and <a href="https://github.com/jacoco/jacoco/issues/54">#54</a>).</li> 691*7e63c127SSorin Basca</ul> 692*7e63c127SSorin Basca 693*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 694*7e63c127SSorin Basca<ul> 695*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 5.0.1 696*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/201">#201</a>).</li> 697*7e63c127SSorin Basca</ul> 698*7e63c127SSorin Basca 699*7e63c127SSorin Basca<h2>Release 0.7.0 (2014/03/18)</h2> 700*7e63c127SSorin Basca 701*7e63c127SSorin Basca<h3>New Features</h3> 702*7e63c127SSorin Basca<ul> 703*7e63c127SSorin Basca <li>JaCoCo now supports Java 8 704*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/74">#74</a>).</li> 705*7e63c127SSorin Basca</ul> 706*7e63c127SSorin Basca 707*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 708*7e63c127SSorin Basca<ul> 709*7e63c127SSorin Basca <li>JaCoCo now depends on ASM 5.0 using asm-debug-all instead of asm-all 710*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/199">#199</a>).</li> 711*7e63c127SSorin Basca</ul> 712*7e63c127SSorin Basca 713*7e63c127SSorin Basca<h2>Release 0.6.5 (2014/03/03)</h2> 714*7e63c127SSorin Basca 715*7e63c127SSorin Basca<h3>New Features</h3> 716*7e63c127SSorin Basca<ul> 717*7e63c127SSorin Basca <li>Warnings are logged during report generation if different versions of 718*7e63c127SSorin Basca classes are used than at runtime (GitHub <a href="https://github.com/jacoco/jacoco/issues/185">#185</a>).</li> 719*7e63c127SSorin Basca <li>Signatures are removed from instrumented JAR files 720*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/186">#186</a>).</li> 721*7e63c127SSorin Basca</ul> 722*7e63c127SSorin Basca 723*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 724*7e63c127SSorin Basca<ul> 725*7e63c127SSorin Basca <li>Skip jacoco instrumentation for mvn modules with package type ear (GitHub <a href="https://github.com/jacoco/jacoco/issues/169">#169</a>).</li> 726*7e63c127SSorin Basca <li>Align skip conditions and messages for Maven goals and give reasons. This 727*7e63c127SSorin Basca includes removal of the specific skip condition for packages e.g. POMs and 728*7e63c127SSorin Basca instead checks existence of <tt>target/classes</tt> in appropriate goals 729*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/171">#171</a>).</li> 730*7e63c127SSorin Basca <li>GitHub #44: (Regression) Agent Mojo should set empty property, if execution was skipped 731*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/192">#192</a>).</li> 732*7e63c127SSorin Basca</ul> 733*7e63c127SSorin Basca 734*7e63c127SSorin Basca<h3>API Changes</h3> 735*7e63c127SSorin Basca<ul> 736*7e63c127SSorin Basca <li>Restrict visibility of methods in abstract classes of jacoco-maven-plugin (GitHub <a href="https://github.com/jacoco/jacoco/issues/175">#175</a>).</li> 737*7e63c127SSorin Basca</ul> 738*7e63c127SSorin Basca 739*7e63c127SSorin Basca<h2>Release 0.6.4 (2013/12/10)</h2> 740*7e63c127SSorin Basca 741*7e63c127SSorin Basca<h3>New Features</h3> 742*7e63c127SSorin Basca<ul> 743*7e63c127SSorin Basca <li>Support for Android <i>Strict Mode</i> (GitHub <a href="https://github.com/jacoco/jacoco/issues/113">#113</a>).</li> 744*7e63c127SSorin Basca <li>New dump Mojo for Maven plug-in (GitHub <a href="https://github.com/jacoco/jacoco/issues/107">#107</a>).</li> 745*7e63c127SSorin Basca <li>New merge Mojo for Maven plug-in, contributed by Mads Mohr Christensen 746*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/126">#126</a>).</li> 747*7e63c127SSorin Basca <li>Additional list of source files for every package in HTML report 748*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/142">#142</a>).</li> 749*7e63c127SSorin Basca <li>Additional report-integration and prepare-agent-integration goals for 750*7e63c127SSorin Basca integration tests. (GitHub <a href="https://github.com/jacoco/jacoco/issues/152">#152</a>, <a href="https://github.com/jacoco/jacoco/issues/161">#161</a>).</li> 751*7e63c127SSorin Basca</ul> 752*7e63c127SSorin Basca 753*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 754*7e63c127SSorin Basca<ul> 755*7e63c127SSorin Basca <li>Multiple executions of Maven goal "prepare-agent" should not lead to 756*7e63c127SSorin Basca incorrect configuration (GitHub <a href="https://github.com/jacoco/jacoco/issues/40">#40</a>).</li> 757*7e63c127SSorin Basca <li>Avoid direct dependency on java.lang.management APIs to allow usage on 758*7e63c127SSorin Basca Android (GitHub <a href="https://github.com/jacoco/jacoco/issues/150">#150</a>).</li> 759*7e63c127SSorin Basca <li>All JaCoCo Maven goals are marked as thread-safe (GitHub <a href="https://github.com/jacoco/jacoco/issues/133">#133</a>).</li> 760*7e63c127SSorin Basca <li>check and merge goal failures in jacoco-maven-plugin with Maven 2.2.1 761*7e63c127SSorin Basca due to incompatible configuration (GitHub <a href="https://github.com/jacoco/jacoco/issues/129">#129</a>).</li> 762*7e63c127SSorin Basca</ul> 763*7e63c127SSorin Basca 764*7e63c127SSorin Basca<h3>API Changes</h3> 765*7e63c127SSorin Basca<ul> 766*7e63c127SSorin Basca <li>New API package <code>org.jacoco.core.tools</code> for shared high-level 767*7e63c127SSorin Basca tools. (GitHub <a href="https://github.com/jacoco/jacoco/issues/159">#159</a>).</li> 768*7e63c127SSorin Basca</ul> 769*7e63c127SSorin Basca 770*7e63c127SSorin Basca<h2>Release 0.6.3 (2013/06/03)</h2> 771*7e63c127SSorin Basca 772*7e63c127SSorin Basca<h3>New Features</h3> 773*7e63c127SSorin Basca<ul> 774*7e63c127SSorin Basca <li>Support for archives in Pack200 format (GitHub <a href="https://github.com/jacoco/jacoco/issues/91">#91</a>).</li> 775*7e63c127SSorin Basca <li>The coverage check has been reworked to allow checks on all counter values 776*7e63c127SSorin Basca on all element types (GitHub <a href="https://github.com/jacoco/jacoco/issues/106">#106</a>).</li> 777*7e63c127SSorin Basca <li>Coverage checks are now also available in Ant (GitHub <a href="https://github.com/jacoco/jacoco/issues/106">#106</a>).</li> 778*7e63c127SSorin Basca</ul> 779*7e63c127SSorin Basca 780*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 781*7e63c127SSorin Basca<ul> 782*7e63c127SSorin Basca <li>Fixed inconsistent stackmap frames when instrumenting class files produced 783*7e63c127SSorin Basca by certain tools like ProGuard (GitHub <a href="https://github.com/jacoco/jacoco/issues/85">#85</a>).</li> 784*7e63c127SSorin Basca</ul> 785*7e63c127SSorin Basca 786*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 787*7e63c127SSorin Basca<ul> 788*7e63c127SSorin Basca <li>More context information when exceptions occur during analysis or 789*7e63c127SSorin Basca instrumentation (GitHub <a href="https://github.com/jacoco/jacoco/issues/104">#104</a>).</li> 790*7e63c127SSorin Basca <li>If analysis is performed on offline instrumented classes - which is an 791*7e63c127SSorin Basca build configuration error - an exception is now thrown (GitHub <a href="https://github.com/jacoco/jacoco/issues/108">#108</a>).</li> 792*7e63c127SSorin Basca</ul> 793*7e63c127SSorin Basca 794*7e63c127SSorin Basca<h3>API Changes</h3> 795*7e63c127SSorin Basca<ul> 796*7e63c127SSorin Basca <li>The configuration of the Maven check goal has been reworked to support 797*7e63c127SSorin Basca checks on any element type (GitHub <a href="https://github.com/jacoco/jacoco/issues/106">#106</a>).</li> 798*7e63c127SSorin Basca <li><code>Analyzer</code> and <code>Instrumenter</code> expect resource name 799*7e63c127SSorin Basca as additional parameter for better error messages (GitHub <a href="https://github.com/jacoco/jacoco/issues/104">#104</a>).</li> 800*7e63c127SSorin Basca</ul> 801*7e63c127SSorin Basca 802*7e63c127SSorin Basca<h2>Release 0.6.2 (2013/02/03)</h2> 803*7e63c127SSorin Basca 804*7e63c127SSorin Basca<h3>New Features</h3> 805*7e63c127SSorin Basca<ul> 806*7e63c127SSorin Basca <li>Support for offline instrumentation (GitHub <a href="https://github.com/jacoco/jacoco/issues/4">#4</a>, <a href="https://github.com/jacoco/jacoco/issues/64">#64</a>).</li> 807*7e63c127SSorin Basca <li>JaCoCo agent exposes runtime API for direct integration with application 808*7e63c127SSorin Basca under test (GitHub <a href="https://github.com/jacoco/jacoco/issues/61">#61</a>).</li> 809*7e63c127SSorin Basca <li>Support for parallel test execution: Different agents can now safely write 810*7e63c127SSorin Basca to the same <code>*.exec</code> file (GitHub <a href="https://github.com/jacoco/jacoco/issues/52">#52</a>).</li> 811*7e63c127SSorin Basca <li>New output mode 'none' can be used when agent is only controlled via JMX 812*7e63c127SSorin Basca or its new runtime API (GitHub <a href="https://github.com/jacoco/jacoco/issues/63">#63</a>).</li> 813*7e63c127SSorin Basca <li>Better error message in case of invalid stackmap frames (GitHub <a href="https://github.com/jacoco/jacoco/issues/73">#73</a>).</li> 814*7e63c127SSorin Basca <li>jacoco-maven-plugin: default phase for goal "report" - "verify" 815*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/72">#72</a>).</li> 816*7e63c127SSorin Basca</ul> 817*7e63c127SSorin Basca 818*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 819*7e63c127SSorin Basca<ul> 820*7e63c127SSorin Basca <li>For every build the corresponding Git commit hash is included as 821*7e63c127SSorin Basca <code>Eclipse-SourceReferences</code> manifest headers (GitHub <a href="https://github.com/jacoco/jacoco/issues/7">#7</a>, <a href="https://github.com/jacoco/jacoco/issues/59">#59</a>).</li> 822*7e63c127SSorin Basca <li>Adjust saturation of red source highlighting in HTML reports to make 823*7e63c127SSorin Basca JaCoCo reports more accessible to red/green blind users.</li> 824*7e63c127SSorin Basca</ul> 825*7e63c127SSorin Basca 826*7e63c127SSorin Basca<h3>API Changes</h3> 827*7e63c127SSorin Basca<ul> 828*7e63c127SSorin Basca <li>The <code>output</code> mode <code>mbean</code> of the agent has been 829*7e63c127SSorin Basca dropped in favor of the new boolean option <code>jmx</code>. This allows 830*7e63c127SSorin Basca to combine JMX access with any other output mode (GitHub <a href="https://github.com/jacoco/jacoco/issues/62">#62</a>).</li> 831*7e63c127SSorin Basca</ul> 832*7e63c127SSorin Basca 833*7e63c127SSorin Basca<h2>Release 0.6.1 (2012/12/23)</h2> 834*7e63c127SSorin Basca 835*7e63c127SSorin Basca<h3>New Features</h3> 836*7e63c127SSorin Basca<ul> 837*7e63c127SSorin Basca <li>Add a coverage check Mojo, contributed by Kyle Lieber (GitHub <a href="https://github.com/jacoco/jacoco/issues/6">#6</a>).</li> 838*7e63c127SSorin Basca</ul> 839*7e63c127SSorin Basca 840*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 841*7e63c127SSorin Basca<ul> 842*7e63c127SSorin Basca <li>jacocoant.jar should not conflict with ASM 3.x (GitHub <a href="https://github.com/jacoco/jacoco/issues/39">#39</a>).</li> 843*7e63c127SSorin Basca <li>Agent Mojo should set empty property, if execution was skipped 844*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/44">#44</a>).</li> 845*7e63c127SSorin Basca</ul> 846*7e63c127SSorin Basca 847*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 848*7e63c127SSorin Basca<ul> 849*7e63c127SSorin Basca <li>Upgrade to ASM 4.1 (GitHub <a href="https://github.com/jacoco/jacoco/issues/37">#37</a>).</li> 850*7e63c127SSorin Basca <li>Log location of merged execution data file in Ant <code>merge</code> task 851*7e63c127SSorin Basca (GitHub <a href="https://github.com/jacoco/jacoco/issues/29">#29</a>).</li> 852*7e63c127SSorin Basca</ul> 853*7e63c127SSorin Basca 854*7e63c127SSorin Basca<h2>Release 0.6.0 (2012/10/06)</h2> 855*7e63c127SSorin Basca 856*7e63c127SSorin Basca<h3>New Features</h3> 857*7e63c127SSorin Basca<ul> 858*7e63c127SSorin Basca <li>Full support for Java 7 including INVOKEDYNAMIC as JaCoCo is now based 859*7e63c127SSorin Basca on ASM 4.0 (GitHub <a href="https://github.com/jacoco/jacoco/issues/5">#5</a>).</li> 860*7e63c127SSorin Basca</ul> 861*7e63c127SSorin Basca 862*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 863*7e63c127SSorin Basca<ul> 864*7e63c127SSorin Basca <li>Maven plugin should skip creation of report if the execution data file is 865*7e63c127SSorin Basca missing. This avoids appearance of stack traces in case when JVM was not 866*7e63c127SSorin Basca forked, e.g. if there are no tests to run (SF #3563431, GitHub <a href="https://github.com/jacoco/jacoco/issues/19">#19</a>).</li> 867*7e63c127SSorin Basca <li>Maven plugin should fail if unable to read execution data file or create 868*7e63c127SSorin Basca report (GitHub <a href="https://github.com/jacoco/jacoco/issues/19">#19</a>).</li> 869*7e63c127SSorin Basca</ul> 870*7e63c127SSorin Basca 871*7e63c127SSorin Basca<h3>API Changes</h3> 872*7e63c127SSorin Basca<ul> 873*7e63c127SSorin Basca <li>Only colon as separator character supported in agent parameters. The 874*7e63c127SSorin Basca deprecated pipe character is no longer supported.</li> 875*7e63c127SSorin Basca</ul> 876*7e63c127SSorin Basca 877*7e63c127SSorin Basca<h2>Release 0.5.10 (2012/08/31)</h2> 878*7e63c127SSorin Basca 879*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 880*7e63c127SSorin Basca<ul> 881*7e63c127SSorin Basca <li>Correct stackmap frames for new <code>long[]</code> arrays (SF #3553210).</li> 882*7e63c127SSorin Basca <li>Properly resolve the <code>fork</code> variable for tasks wrapped by the 883*7e63c127SSorin Basca <code>coverage</code> Ant task (Trac #213).</li> 884*7e63c127SSorin Basca</ul> 885*7e63c127SSorin Basca 886*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 887*7e63c127SSorin Basca<ul> 888*7e63c127SSorin Basca <li>Source tree has been migrated to Git and is now hosted on Github at 889*7e63c127SSorin Basca <a href="https://github.com/jacoco/jacoco">https://github.com/jacoco/jacoco</a>.</li> 890*7e63c127SSorin Basca</ul> 891*7e63c127SSorin Basca 892*7e63c127SSorin Basca<h2>Release 0.5.9 (2012/07/30)</h2> 893*7e63c127SSorin Basca 894*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 895*7e63c127SSorin Basca<ul> 896*7e63c127SSorin Basca <li>Don't produce invalid class files in case of unexpected stackmap frames 897*7e63c127SSorin Basca (SF #3543758).</li> 898*7e63c127SSorin Basca</ul> 899*7e63c127SSorin Basca 900*7e63c127SSorin Basca<h2>Release 0.5.8 (2012/07/11)</h2> 901*7e63c127SSorin Basca 902*7e63c127SSorin Basca<h3>New Features</h3> 903*7e63c127SSorin Basca<ul> 904*7e63c127SSorin Basca <li>Support for parallel Maven builds (Trac #191).</li> 905*7e63c127SSorin Basca <li>New agent option <code>classdumpdir</code> to dump all class files seen 906*7e63c127SSorin Basca by the JaCoCo agent to disk. This option is also available for Ant and 907*7e63c127SSorin Basca Maven (Trac #208).</li> 908*7e63c127SSorin Basca</ul> 909*7e63c127SSorin Basca 910*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 911*7e63c127SSorin Basca<ul> 912*7e63c127SSorin Basca <li>Allow instrumentation of classes with dead code (SF #3538112).</li> 913*7e63c127SSorin Basca <li>Reworked instrumentation strategy to avoid verifier error "Uninitialized 914*7e63c127SSorin Basca object exists on backward branch" with certain Java 7 class files 915*7e63c127SSorin Basca (Trac #154).</li> 916*7e63c127SSorin Basca</ul> 917*7e63c127SSorin Basca 918*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 919*7e63c127SSorin Basca<ul> 920*7e63c127SSorin Basca <li>Documentation now includes Maven example and Maven goal documentation 921*7e63c127SSorin Basca (Trac #201, #202).</li> 922*7e63c127SSorin Basca</ul> 923*7e63c127SSorin Basca 924*7e63c127SSorin Basca<h2>Release 0.5.7 (2012/04/19)</h2> 925*7e63c127SSorin Basca 926*7e63c127SSorin Basca<h3>New Features</h3> 927*7e63c127SSorin Basca<ul> 928*7e63c127SSorin Basca <li>Support for class redefinitions by other agents like JMockit (SF #3509409).</li> 929*7e63c127SSorin Basca <li>Remove class file attributes with invalid code offsets caused by other 930*7e63c127SSorin Basca byte code processing tools to avoid verifier errors (Trac #196).</li> 931*7e63c127SSorin Basca <li>Improved logging for Ant tasks (SF #3518429).</li> 932*7e63c127SSorin Basca</ul> 933*7e63c127SSorin Basca 934*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 935*7e63c127SSorin Basca<ul> 936*7e63c127SSorin Basca <li>In case of failures the agent should log the original exception.</li> 937*7e63c127SSorin Basca</ul> 938*7e63c127SSorin Basca 939*7e63c127SSorin Basca<h2>Release 0.5.6 (2012/01/23)</h2> 940*7e63c127SSorin Basca 941*7e63c127SSorin Basca<h3>New Features</h3> 942*7e63c127SSorin Basca<ul> 943*7e63c127SSorin Basca <li>jacoco-maven-plugin can be used together with maven-site-plugin (Trac #181).</li> 944*7e63c127SSorin Basca <li>The <code>report</code> Ant task now also supports directory resources to 945*7e63c127SSorin Basca specify source folders. This allows reading source files from multiple 946*7e63c127SSorin Basca directories. Contributed by Dominik Stadler (Trac #119).</li> 947*7e63c127SSorin Basca</ul> 948*7e63c127SSorin Basca 949*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 950*7e63c127SSorin Basca<ul> 951*7e63c127SSorin Basca <li>Don't insert stackmap frames for class files before version 1.6.</li> 952*7e63c127SSorin Basca <li>Regression, which was introduced in 0.5.4 - restored compatibility of jacoco-maven-plugin with Maven 2 (Trac #182).</li> 953*7e63c127SSorin Basca</ul> 954*7e63c127SSorin Basca 955*7e63c127SSorin Basca<h2>Release 0.5.5 (2011/12/15)</h2> 956*7e63c127SSorin Basca 957*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 958*7e63c127SSorin Basca<ul> 959*7e63c127SSorin Basca <li>Correct default value for the <code>append</code> property of the 960*7e63c127SSorin Basca <code>dump</code> Ant task is <code>true</code> (Trac #178).</li> 961*7e63c127SSorin Basca <li>Try/catch blocks must not be counted as instructions (Trac #179).</li> 962*7e63c127SSorin Basca</ul> 963*7e63c127SSorin Basca 964*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 965*7e63c127SSorin Basca<ul> 966*7e63c127SSorin Basca <li>Upgrade to ASM 3.3.1.</li> 967*7e63c127SSorin Basca</ul> 968*7e63c127SSorin Basca 969*7e63c127SSorin Basca<h2>Release 0.5.4 (2011/11/11)</h2> 970*7e63c127SSorin Basca 971*7e63c127SSorin Basca<h3>New Features</h3> 972*7e63c127SSorin Basca<ul> 973*7e63c127SSorin Basca <li>Maven plug-in: respect <code>includes</code> and <code>excludes</code> 974*7e63c127SSorin Basca properties in report Mojo (Trac #160). 975*7e63c127SSorin Basca Also note that: 976*7e63c127SSorin Basca<pre class="source lang-xml"> 977*7e63c127SSorin Basca<configuration> 978*7e63c127SSorin Basca <includes>org.foo.*:org.bar.*</includes> 979*7e63c127SSorin Basca <excludes>com.foo.*:com.bar.*</excludes> 980*7e63c127SSorin Basca</configuration> 981*7e63c127SSorin Basca</pre> 982*7e63c127SSorin Basca must be replaced on: 983*7e63c127SSorin Basca<pre class="source lang-xml"> 984*7e63c127SSorin Basca<configuration> 985*7e63c127SSorin Basca <includes> 986*7e63c127SSorin Basca <include>org.foo.*</include> 987*7e63c127SSorin Basca <include>org.bar.*</include> 988*7e63c127SSorin Basca </includes> 989*7e63c127SSorin Basca <excludes> 990*7e63c127SSorin Basca <exclude>com.foo.*</exclude> 991*7e63c127SSorin Basca <exclude>com.bar.*</exclude> 992*7e63c127SSorin Basca </excludes> 993*7e63c127SSorin Basca</configuration> 994*7e63c127SSorin Basca</pre> 995*7e63c127SSorin Basca </li> 996*7e63c127SSorin Basca</ul> 997*7e63c127SSorin Basca 998*7e63c127SSorin Basca<h3>API Changes</h3> 999*7e63c127SSorin Basca<ul> 1000*7e63c127SSorin Basca <li><code>Instrumenter</code> now only requires 1001*7e63c127SSorin Basca <code>IExecutionDataAccessorGenerator</code> instead of 1002*7e63c127SSorin Basca <code>IRuntime</code> (Trac #174).</li> 1003*7e63c127SSorin Basca <li>Removed reference to internal implementation classes from 1004*7e63c127SSorin Basca <code>CoverageBuilder</code> API.</li> 1005*7e63c127SSorin Basca</ul> 1006*7e63c127SSorin Basca 1007*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 1008*7e63c127SSorin Basca<ul> 1009*7e63c127SSorin Basca <li>Release bundles from now on signed again.</li> 1010*7e63c127SSorin Basca <li>Several documentation updates.</li> 1011*7e63c127SSorin Basca</ul> 1012*7e63c127SSorin Basca 1013*7e63c127SSorin Basca<h2>Release 0.5.3 (2011/07/06)</h2> 1014*7e63c127SSorin Basca 1015*7e63c127SSorin Basca<h3>New Features</h3> 1016*7e63c127SSorin Basca<ul> 1017*7e63c127SSorin Basca <li>New Maven plug-in for JaCoCo agent setup and basic reporting (Trac #25).</li> 1018*7e63c127SSorin Basca <li>Additional output mode implementation for JaCoCo agent based on JMX.</li> 1019*7e63c127SSorin Basca</ul> 1020*7e63c127SSorin Basca 1021*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 1022*7e63c127SSorin Basca<ul> 1023*7e63c127SSorin Basca <li>Fixed problem with reporting of nested group structures (Trac #157).</li> 1024*7e63c127SSorin Basca</ul> 1025*7e63c127SSorin Basca 1026*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 1027*7e63c127SSorin Basca<ul> 1028*7e63c127SSorin Basca <li>JaCoCo build based on Maven (Trac #136).</li> 1029*7e63c127SSorin Basca <li>JaCoCo published to Maven repository (Trac #149).</li> 1030*7e63c127SSorin Basca</ul> 1031*7e63c127SSorin Basca 1032*7e63c127SSorin Basca<h2>Release 0.5.2 (2011/05/19)</h2> 1033*7e63c127SSorin Basca 1034*7e63c127SSorin Basca<h3>New Features</h3> 1035*7e63c127SSorin Basca<ul> 1036*7e63c127SSorin Basca <li>JaCoCo reports cyclomatic complexity numbers (Trac #129).</li> 1037*7e63c127SSorin Basca <li>For HTML reports the tab width can be specified on the 1038*7e63c127SSorin Basca <code>sourcefiles</code> attribute of the <code>report</code> Ant task 1039*7e63c127SSorin Basca (Track #152).</li> 1040*7e63c127SSorin Basca</ul> 1041*7e63c127SSorin Basca 1042*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 1043*7e63c127SSorin Basca<ul> 1044*7e63c127SSorin Basca <li>Removed duplicate counters in the root node of XML reports (Trac #155).</li> 1045*7e63c127SSorin Basca <li>Avoid <code>StackOverflowException</code> when analyzing methods with very 1046*7e63c127SSorin Basca long instruction sequences (Trac #156). Many thanks to Jean-Eric Cuendet 1047*7e63c127SSorin Basca for reporting and analyzing this!</li> 1048*7e63c127SSorin Basca</ul> 1049*7e63c127SSorin Basca 1050*7e63c127SSorin Basca<h3>API Changes</h3> 1051*7e63c127SSorin Basca<ul> 1052*7e63c127SSorin Basca <li><code>ICoverageNode</code> API has been extended for cyclomatic 1053*7e63c127SSorin Basca complexity (Trac #129).</li> 1054*7e63c127SSorin Basca <li>XML and CSV report includes new counter type <code>COMPLEXITY</code> 1055*7e63c127SSorin Basca (Trac #129).</li> 1056*7e63c127SSorin Basca <li>New method <code>getTabWidth()</code> in callback interface 1057*7e63c127SSorin Basca <code>ISourceFileLocator</code> instead of 1058*7e63c127SSorin Basca <code>HTMLReportFormatter.setTabWidth()</code> which has been removed. 1059*7e63c127SSorin Basca (Trac #152).</li> 1060*7e63c127SSorin Basca</ul> 1061*7e63c127SSorin Basca 1062*7e63c127SSorin Basca<h2>Release 0.5.1 (2011/03/21)</h2> 1063*7e63c127SSorin Basca 1064*7e63c127SSorin Basca<h3>New Features</h3> 1065*7e63c127SSorin Basca<ul> 1066*7e63c127SSorin Basca <li>Duplicate classes with identical identifiers are now ignored during 1067*7e63c127SSorin Basca analysis.</li> 1068*7e63c127SSorin Basca <li>Added support for TestNG to Ant task Coverage (Track #144).</li> 1069*7e63c127SSorin Basca</ul> 1070*7e63c127SSorin Basca 1071*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 1072*7e63c127SSorin Basca<ul> 1073*7e63c127SSorin Basca <li>Calculate correct stackmap frames for Java 1.6 branches (Trac #139).</li> 1074*7e63c127SSorin Basca <li>Link source files also for classes in default package (Trac #151).</li> 1075*7e63c127SSorin Basca</ul> 1076*7e63c127SSorin Basca 1077*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 1078*7e63c127SSorin Basca<ul> 1079*7e63c127SSorin Basca <li>API documentation cleanup (Track #140).</li> 1080*7e63c127SSorin Basca <li>Removed obsolete examples from documentation (Trac #141).</li> 1081*7e63c127SSorin Basca <li>Added reporting API example (Trac #146).</li> 1082*7e63c127SSorin Basca <li>Reduced file size of HTML report source pages (Trac #148).</li> 1083*7e63c127SSorin Basca</ul> 1084*7e63c127SSorin Basca 1085*7e63c127SSorin Basca<h3>API Changes</h3> 1086*7e63c127SSorin Basca<ul> 1087*7e63c127SSorin Basca <li>Simplified reporting API (Trac #53).</li> 1088*7e63c127SSorin Basca <li>Use colon as separator character in agent parameters (Trac #143).</li> 1089*7e63c127SSorin Basca <li>Now also empty files are accepted as <code>*.exec</code> files (Trac #150).</li> 1090*7e63c127SSorin Basca</ul> 1091*7e63c127SSorin Basca 1092*7e63c127SSorin Basca<h2>Release 0.5.0 (2011/01/19)</h2> 1093*7e63c127SSorin Basca 1094*7e63c127SSorin Basca<h3>New Features</h3> 1095*7e63c127SSorin Basca<ul> 1096*7e63c127SSorin Basca <li>JaCoCo now reports branch coverage (Track #66).</li> 1097*7e63c127SSorin Basca</ul> 1098*7e63c127SSorin Basca 1099*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 1100*7e63c127SSorin Basca<ul> 1101*7e63c127SSorin Basca <li>Only process actual Java class files during analysis (SF #3106102).</li> 1102*7e63c127SSorin Basca <li>Fix broken source links due to sort hash (Track #125).</li> 1103*7e63c127SSorin Basca <li>Fixed invalid OSGi headers in MANIFEST.MF files (Track #127).</li> 1104*7e63c127SSorin Basca <li>Try to avoid interference with Hibernate (SF #3134190).</li> 1105*7e63c127SSorin Basca <li>Provide proper error message in case of duplicate class names in the same 1106*7e63c127SSorin Basca group (SF #3110219).</li> 1107*7e63c127SSorin Basca <li>Allow any number of probes in static interface initializers (SF #3161106).</li> 1108*7e63c127SSorin Basca</ul> 1109*7e63c127SSorin Basca 1110*7e63c127SSorin Basca<h3>API Changes</h3> 1111*7e63c127SSorin Basca<ul> 1112*7e63c127SSorin Basca <li>All analysis specific APIs have been moved to package 1113*7e63c127SSorin Basca <code>org.jacoco.core.analysis</code>.</li> 1114*7e63c127SSorin Basca <li>The <code>IStructureVisitor</code> interface has been replaced by a 1115*7e63c127SSorin Basca simplified version called <code>ICoverageVisitor</code> (Track #132).</li> 1116*7e63c127SSorin Basca <li>All counter creation and update APIs now accept <i>missed items</i> and 1117*7e63c127SSorin Basca <i>covered items</i> as parameters (Track #131).</li> 1118*7e63c127SSorin Basca <li>Instructions are now counted on a per line basis. Therefore some 1119*7e63c127SSorin Basca interfaces in the <code>org.jacoco.core.analysis</code> package have 1120*7e63c127SSorin Basca changed as well as the <code>line</code> element in the XML report 1121*7e63c127SSorin Basca (Track #130).</li> 1122*7e63c127SSorin Basca <li>Several internal implementation classes have removed from the core APIs or 1123*7e63c127SSorin Basca have been replaced by new interfaces (Track #133).</li> 1124*7e63c127SSorin Basca</ul> 1125*7e63c127SSorin Basca 1126*7e63c127SSorin Basca<h2>Release 0.4.1 (2010/10/07)</h2> 1127*7e63c127SSorin Basca 1128*7e63c127SSorin Basca<h3>New Features</h3> 1129*7e63c127SSorin Basca<ul> 1130*7e63c127SSorin Basca <li>New attribute <code>line</code> for <code>method</code> elements in the 1131*7e63c127SSorin Basca XML report containing the first source line number of the method. 1132*7e63c127SSorin Basca (Track #120).</li> 1133*7e63c127SSorin Basca <li>Optional <code>locale</code> attribute for number rendering HTML reports, 1134*7e63c127SSorin Basca also available as an attribute of the <code>html</code> tag of the 1135*7e63c127SSorin Basca <code>report</code> Ant task (Track #122).</li> 1136*7e63c127SSorin Basca <li>Coverage tables in HTML report are now sortable (Track #98).</li> 1137*7e63c127SSorin Basca <li>The <code>report</code> Ant task issues a warning if source files are 1138*7e63c127SSorin Basca provided but class files do not contain debug information to collect line 1139*7e63c127SSorin Basca numbers (SF #3024486).</li> 1140*7e63c127SSorin Basca</ul> 1141*7e63c127SSorin Basca 1142*7e63c127SSorin Basca<h3>Non-functional Changes</h3> 1143*7e63c127SSorin Basca<ul> 1144*7e63c127SSorin Basca <li>Reduced memory footprint for coverage data by 30% (Track #106).</li> 1145*7e63c127SSorin Basca <li>Moved to Eclipse 3.6.x as development environment (Trac #115).</li> 1146*7e63c127SSorin Basca <li>All delivered bundles and JAR files are signed (Trac #118).</li> 1147*7e63c127SSorin Basca</ul> 1148*7e63c127SSorin Basca 1149*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 1150*7e63c127SSorin Basca<ul> 1151*7e63c127SSorin Basca <li>Better error message when multiple JaCoCo agents are specified 1152*7e63c127SSorin Basca (Track #103).</li> 1153*7e63c127SSorin Basca <li>Fixed potential NPE at shutdown when running agent in 1154*7e63c127SSorin Basca <code>tcpserver</code> mode (Track #117).</li> 1155*7e63c127SSorin Basca <li>Agent now fails at startup when execution data file can't be opened 1156*7e63c127SSorin Basca (Track #121).</li> 1157*7e63c127SSorin Basca</ul> 1158*7e63c127SSorin Basca 1159*7e63c127SSorin Basca<h2>Release 0.4.0 (2010/06/04)</h2> 1160*7e63c127SSorin Basca 1161*7e63c127SSorin Basca<h3>New Features</h3> 1162*7e63c127SSorin Basca<ul> 1163*7e63c127SSorin Basca <li>Execution data now includes session information: an arbitrary identifier, 1164*7e63c127SSorin Basca the start time and dump time (Trac #88).</li> 1165*7e63c127SSorin Basca <li>Added session information to XML report (Trac #92).</li> 1166*7e63c127SSorin Basca <li>New "Sessions" page in the HTML report shows information about each 1167*7e63c127SSorin Basca sessions wherein execution data has been collected for the report 1168*7e63c127SSorin Basca (Trac #93). Additionally all classes with execution data available are 1169*7e63c127SSorin Basca listed on this page (Trac #94).</li> 1170*7e63c127SSorin Basca <li>The agent now supports remote dumps via TCP/IP connections (Trac #82).</li> 1171*7e63c127SSorin Basca <li>New Ant task <code>dump</code> to remotely collect coverage data from 1172*7e63c127SSorin Basca agents (Trac #100).</li> 1173*7e63c127SSorin Basca</ul> 1174*7e63c127SSorin Basca 1175*7e63c127SSorin Basca<h3>API Changes</h3> 1176*7e63c127SSorin Basca<ul> 1177*7e63c127SSorin Basca <li>Execution data file header is written and read in any case (Trac #72).</li> 1178*7e63c127SSorin Basca <li>Added <code>dumponexit</code> to agent options (Trac #82).</li> 1179*7e63c127SSorin Basca <li>Added <code>sessionid</code> to agent options (Trac #88).</li> 1180*7e63c127SSorin Basca <li>Added <code>output, address and port</code> to agent options (Trac #82).</li> 1181*7e63c127SSorin Basca <li>Additional and modified methods in <code>IRuntime</code> to produce 1182*7e63c127SSorin Basca session information (Trac #88).</li> 1183*7e63c127SSorin Basca <li>Coverage element type <code>SESSION</code> removed (Trac #95).</li> 1184*7e63c127SSorin Basca <li>Removed several internal APIs from package 1185*7e63c127SSorin Basca <code>org.jacoco.core.instr</code> used for class instrumentation.</li> 1186*7e63c127SSorin Basca <li>Renamed class <code>org.jacoco.report.csv.CsvFormatter</code> to 1187*7e63c127SSorin Basca <code>CSVFormatter</code> (upper case) for consistency with other 1188*7e63c127SSorin Basca formatters.</li> 1189*7e63c127SSorin Basca</ul> 1190*7e63c127SSorin Basca 1191*7e63c127SSorin Basca<h2>Release 0.3.3 (2010/04/19)</h2> 1192*7e63c127SSorin Basca 1193*7e63c127SSorin Basca<h3>New Features</h3> 1194*7e63c127SSorin Basca<ul> 1195*7e63c127SSorin Basca <li>Support for different archives (jar, war, ear etc.) and nested archives 1196*7e63c127SSorin Basca (Trac #78).</li> 1197*7e63c127SSorin Basca <li>XML report with line level coverage information (requested for Sonar).</li> 1198*7e63c127SSorin Basca</ul> 1199*7e63c127SSorin Basca 1200*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 1201*7e63c127SSorin Basca<ul> 1202*7e63c127SSorin Basca <li>Correct stackmap frames for Java 1.6 class files. (Track #81).</li> 1203*7e63c127SSorin Basca <li>Avoid usage of <code>LocalVariableSorter</code> due to ASM bug #314563 1204*7e63c127SSorin Basca (Track #69).</li> 1205*7e63c127SSorin Basca <li>Nested Java/JUnit Ant tasks not being executed when coverage task disabled. (Track #85).</li> 1206*7e63c127SSorin Basca</ul> 1207*7e63c127SSorin Basca 1208*7e63c127SSorin Basca<h2>Release 0.3.2 (2010/04/01)</h2> 1209*7e63c127SSorin Basca 1210*7e63c127SSorin Basca<h3>New Features</h3> 1211*7e63c127SSorin Basca<ul> 1212*7e63c127SSorin Basca <li>New HTML report option to directly create a zip file containing the report 1213*7e63c127SSorin Basca (Trac #12).</li> 1214*7e63c127SSorin Basca <li>Code coverage for static initializers in interfaces (Trac #21).</li> 1215*7e63c127SSorin Basca <li>Better error handling for <code>report</code> Ant task (Trac #71).</li> 1216*7e63c127SSorin Basca <li>Classes without instructions are excluded from reports (Trac #73).</li> 1217*7e63c127SSorin Basca</ul> 1218*7e63c127SSorin Basca 1219*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 1220*7e63c127SSorin Basca<ul> 1221*7e63c127SSorin Basca <li>XML and CSV report output now also works for structures without groups 1222*7e63c127SSorin Basca (Track #76).</li> 1223*7e63c127SSorin Basca</ul> 1224*7e63c127SSorin Basca 1225*7e63c127SSorin Basca<h3>API Changes</h3> 1226*7e63c127SSorin Basca<ul> 1227*7e63c127SSorin Basca <li>Consistent usage of the term "Missed" instead of "NotCovered" in all APIs 1228*7e63c127SSorin Basca (Trac #72).</li> 1229*7e63c127SSorin Basca <li>To support "off-line" instrumentation scenarios it is not required any 1230*7e63c127SSorin Basca more to register instrumented classes with the runtime (Trac #74).</li> 1231*7e63c127SSorin Basca</ul> 1232*7e63c127SSorin Basca 1233*7e63c127SSorin Basca<h2>Release 0.3.1 (2010/02/09)</h2> 1234*7e63c127SSorin Basca 1235*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 1236*7e63c127SSorin Basca<ul> 1237*7e63c127SSorin Basca <li>Ant tasks broken on Linux (Trac #68).</li> 1238*7e63c127SSorin Basca</ul> 1239*7e63c127SSorin Basca 1240*7e63c127SSorin Basca<h2>Release 0.3.0 (2010/02/02)</h2> 1241*7e63c127SSorin Basca 1242*7e63c127SSorin Basca<h3>New Features</h3> 1243*7e63c127SSorin Basca<ul> 1244*7e63c127SSorin Basca <li>Report renders anonymous classes with type information (Trac #46).</li> 1245*7e63c127SSorin Basca <li><code>enabled</code> property added to <code>agent</code> and 1246*7e63c127SSorin Basca <code>coverage</code> Ant tasks (Trac #63).</li> 1247*7e63c127SSorin Basca <li>Ant task <code>merge</code> added (Trac #52).</li> 1248*7e63c127SSorin Basca</ul> 1249*7e63c127SSorin Basca 1250*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 1251*7e63c127SSorin Basca<ul> 1252*7e63c127SSorin Basca <li>New <code>IRuntime</code> implementation enables JaCoCo usage for J2EE 1253*7e63c127SSorin Basca application servers like Glassfish.</li> 1254*7e63c127SSorin Basca</ul> 1255*7e63c127SSorin Basca 1256*7e63c127SSorin Basca<h3>API Changes</h3> 1257*7e63c127SSorin Basca<ul> 1258*7e63c127SSorin Basca <li>Agent option and Ant task parameter <code>file</code> changed to 1259*7e63c127SSorin Basca <code>destfile</code> (Trac #59).</li> 1260*7e63c127SSorin Basca <li>Agent option and Ant task parameter <code>merge</code> changed to 1261*7e63c127SSorin Basca <code>append</code> (Trac #51).</li> 1262*7e63c127SSorin Basca</ul> 1263*7e63c127SSorin Basca 1264*7e63c127SSorin Basca<h2>Release 0.2.0 (2010/01/08)</h2> 1265*7e63c127SSorin Basca 1266*7e63c127SSorin Basca<h3>New Features</h3> 1267*7e63c127SSorin Basca 1268*7e63c127SSorin Basca<ul> 1269*7e63c127SSorin Basca <li>Simplified probe data structure reduces memory usage (Trac #47).</li> 1270*7e63c127SSorin Basca <li>Performance test becomes part of the build.</li> 1271*7e63c127SSorin Basca <li>New bundle <code>org.jacoco.agent</code> that provides the Java agent 1272*7e63c127SSorin Basca as a resource (Trac #50).</li> 1273*7e63c127SSorin Basca</ul> 1274*7e63c127SSorin Basca 1275*7e63c127SSorin Basca<h3>Fixed Bugs</h3> 1276*7e63c127SSorin Basca 1277*7e63c127SSorin Basca<ul> 1278*7e63c127SSorin Basca <li><code>ArrayIndexOutOfBoundsException</code> due to inconsistent processing 1279*7e63c127SSorin Basca while instrumentation and analysis (Trac #44).</li> 1280*7e63c127SSorin Basca</ul> 1281*7e63c127SSorin Basca 1282*7e63c127SSorin Basca<h2>Release 0.1.0 (2009/10/28)</h2> 1283*7e63c127SSorin Basca 1284*7e63c127SSorin Basca<p> 1285*7e63c127SSorin Basca The very first JaCoCo release. 1286*7e63c127SSorin Basca</p> 1287*7e63c127SSorin Basca 1288*7e63c127SSorin Basca</div> 1289*7e63c127SSorin Basca<div class="footer"> 1290*7e63c127SSorin Basca <span class="right"><a href="${jacoco.home.url}">JaCoCo</a> ${qualified.bundle.version}</span> 1291*7e63c127SSorin Basca <a href="license.html">Copyright</a> © ${copyright.years} Mountainminds GmbH & Co. KG and Contributors 1292*7e63c127SSorin Basca</div> 1293*7e63c127SSorin Basca 1294*7e63c127SSorin Basca</body> 1295*7e63c127SSorin Basca</html> 1296