JaCoCo v0.8.2 Release Notes

Release Date: 2018-08-22 // over 5 years ago
  • ๐Ÿ†• New Features

    • ๐Ÿ‘ Experimental support for Java 11 and Java 12 class files, including JEP 12 "preview features" (GitHub #719, #738, #743).
    • Branches and instructions generated by javac 11 for try-with-resources statement are filtered out (GitHub #669).
    • Synthetic classes are filtered out during generation of report (GitHub #668).
    • Part of bytecode generated by ECJ for switch statements on java.lang.String values is filtered out during generation of report (GitHub #735, #741, #746).
    • Methods added by the Kotlin compiler that do not have line numbers are filtered out during generation of report. Idea and implementation by Nikolay Krasko (GitHub #689).
    • Branch added by the Kotlin compiler for reading from lateinit property is filtered out during generation of report. Implementation by Fabian Mastenbroek (GitHub #707).
    • Bytecode generated by Kotlin compiler for implicit else of when expressions that list all cases of enum or sealed class is filtered out during generation of report (GitHub #721, #729, #749).
    • โž• Additional bytecode generated by Kotlin compiler for when expressions on kotlin.String values is filtered out during generation of report (GitHub #737, #746).
    • Classes and methods annotated with annotation whose retention policy is runtime or class and whose simple name is Generated are filtered out during generation of report (GitHub #731).
    • Maven goal report-aggregate now also considers dependencies specified using version range. Idea and implementation by Lukas Krejc (GitHub #658).

    ๐Ÿ›  Fixed Bugs

    • ๐Ÿ›  Don't insert stackmap frames into class files with version < 1.6, this fixes regression which was introduced in version 0.6.5 (GitHub #667).
    • Question mark in filter expressions now correctly matches exactly one character (GitHub #672).
    • Part of bytecode that javac generates for switch statement on java.lang.String values with a small number cases is now correctly filtered out during generation of report (GitHub #730).

    Non-functional Changes

    • JaCoCo now depends on ASM 6.2.1 (GitHub #706, #725).
    • ๐Ÿ‘Œ Improved error message when already instrumented classes are used for instrumentation or analysis (GitHub #703).
    • ๐Ÿ— JaCoCo build now requires at least Maven 3.3.9 and JDK 8 (GitHub #711).
      API Changes
    • โšก๏ธ The XML report now has an optional attribute sourcefilename on the class element to allow unambiguously relate classes to source files. The JaCoCo DTD version has been updated to 1.1 (GitHub #702).

    All Resolved Issues