#645
Added ability to supplement coverage values from external binary reports#673
Implemented ability to specify instrumentation include filter
#678
Added USAGE attribute to all Kover configurations#666
Replaced JaCoCo ant-calls with programmatic calls of JaCoCo's classes
- Made class KoverSettingsGradlePlugin from aggregated plugin public
- Implemented verification in Kover Aggregated Plugin
#677
Implemented merging of binary reports in Kover CLI and Kover Features
- Fixed JVM agent arguments parsing to support include filter
#660
Fixed mistake in JVM agent docs
#658
Fixed documentation about Maven plugin
- Added support for Android projects in Kover Aggregation Plugin
#51
Implemented Kover Maven Plugin
Implemented prototype of Kover Aggregation Plugin - an alternative to the existing Kover Gradle Plugin, it makes it easier to set up a configuration and collect coverage reactively, depending on the compilation and test tasks running.
This is not a production-ready plugin, it is in an incubation state.
Please refer to the GitHub issue and documentation for details.
#621
Fixed coverage evaluation for enum in K2#633
Fix issue with identical cache keys between projects#613
Fixed JaCoCo error: Can't add different class with same name#601
Fixed support of Compose functions#646
Fixed reusing of configuration cache#628
Fixed coverage evaluation of try-finally and try-with-resources for Java code
- Disable caching on kover artifact tasks
#600
Apply recommendations for improving DSL- Added DSL to copy one report variant
#610
FixedKoverCriticalException
with a certain order of applying of plugins
This release introduces DSL rework to simplify the work with Android build variants, adds the possibility of lazy configuration, allows for the creation of custom report variants, and expands the ability of reports filtering.
It is incompatible with the previous version, and we provide best-effort migration assistance as well as the migration guide.
#461
Implemented DSL revision 4#410
Add possibility of lazy configuration of Kover extensions#462
Redesign the concept of default reports#463
Add the ability to create custom report variants#338
Create an interface for Kover tasks#66
Added support for the publishing plugin to Gradle Plugin Portal#466
Implemented multi-project shortcuts#339
Implemented warn on verification error#572
Added DslMarker to Kover public interfaces#570
Added overload for functions of KoverVariantCreateConfig#590
Expose reportDir property in KoverHtmlReport interface#587
Added property variantName to KoverReport interface#584
Added project filter for reports#274
Allow for classes to be Included by annotation#454
Added a report filter by parent class or interface
#557
Changed log level for print coverage task#520
Fixed error: Kover requires extension with name 'androidComponents'
#567
Used compile dependency to Kover Features in Kover Gradle Plugin
#531
Added explanations about applying of the plugin#486
Increased the readability of the Kover documentation
#464
Repacked the intellij-agent artifact to kover-jvm-agent
#583
Excluded from report companion objects with only constants#548
Fixed coverage drop in case of using different classloaders for same class
#590
Expose reportDir property in KoverHtmlReport interface#587
Added property variantName to KoverReport interface#584
Added project filter for reports#274
Allow for classes to be Included by annotation#454
Added a report filter by parent class or interface
#486
Increased the readability of the Kover documentation for 0.8.0
#583
Excluded from report companion objects with only constants#548
Fixed coverage drop in case of using different classloaders for same class
#339
Implemented warn on verification error#572
Added DslMarker to Kover public interfaces#570
Added overload for functions of KoverVariantCreateConfig
#557
Changed log level for print coverage task#338
Extended org.gradle.api.Task in KoverReport interface
#567
Used compile dependency to Kover Features in Kover Gradle Plugin
#461
Implemented DSL revision 4#410
Add possibility of lazy configuration of Kover extensions#462
Redesign the concept of default reports#463
Add the ability to create custom report variants#338
Create an interface for Kover tasks#66
Added support for the publishing plugin to Gradle Plugin Portal#466
Implemented multiproject shortcuts
#520
Fixed error: Kover requires extension with name 'androidComponents'
#531
Added explanations about applying of the plugin
#464
Repacked the intellij-agent artifact to kover-jvm-agent
#527
Added the ability to specify a header for an XML report
#510
FixedStream closed
error when generating Kover HTML report#513
Fixed breaking configuration cache#517
Fixed incorrect marking of first function line when parameters with default value are used#530
Fixed the presence of classes instrumented with Robolectric in Jacoco reports#543
Fixed package exclusion in reports for JaCoCo
#534
Created Kover features artifact to invoke the capabilities of Kover programmatically
#503
Introduced Offline Runtime API for saving binary report
#478
Added Kover dependency check#451
Skip Kotlin object if it is containing only constants#459
Fixed applying of the root verification rules#489
Fixed adding data to an already existing binary report file
#441
Added support for Android dynamic feature plugins
#440
Replaced absolute paths in the Kover artifact with relative ones#446
Disabled writing of FreeMarker logs to stdout when generating an HTML report#470
Update HTML report path to be clickable#385
Exclude nested functions in function excluded by annotation#303
Optional function parameters should not be considered a "branch"#436
Fixed random koverHtmlReport fails with "Stream closed" or "zip file closed"
- Upgraded Gradle version to
8.2.1
#437
Added functional test on Gradle nested classes validation error
- Added ability to specify verification rules in the root of reports config
#423
Implemented task of generating binary report
#405
Fixed lookup for tests if unit tests are disabled in Android config#415
Fixed usage of Kover Gradle Plugin in buildSrc directory#431
Fixed excluding of companion object by annotation from report
- Added API for getting coverage inside a running application, instrumented offline
#362
Removed the dependency on the order of applying of the plugin#229
Added task to print coverage to logs#394
Added DSL accessors for Kover Default report tasks#400
Added descriptions for Kover report tasks#409
Added ability to generate reports even if there are no tests in the project- Upgraded default JaCoCo version to
0.8.10
#413
Fixed issues with cache miss of build cache at the time of project relocation
- Fixed docs typo:
dependency {}
->dependencies {}
- Moved Kover Gradle Plugin to the separate subproject
- Migrated from buildSrc to composite build
- Added support of the version catalog
- IntelliJ coverage dependency versions upgraded to
1.0.724
- Added a filter for source sets (#376)
- Fixed up-to-date checks for Kover tasks (#371)
- Updated documentation on filtering by annotations (#370)
- Improved Kover documentation (#282)
- Fix broken migration link in CHANGELOG.md
- Fix documentation for KoverReportExtension
- Fixed Kover Plugin ID for legacy plugin application
- Implemented Worker API for use with Kover toolset
- Updated Gradle and Kotlin versions
- IntelliJ coverage dependency versions upgraded to
1.0.721
This release introduce API rework in order to support configuration cache, project isolation model, Android Gradle plugin. It is incompatible with the previous version, and we provide best-effort migration assistance as well as migration guide
- Implemented improved Kover DSL (#284)
- Added Gradle project isolation support (#144)
- Introduced API for Coverage Tools (#195)
- Added support of Android build variants (#18)
- Implemented support filtering of source sets for Kotlin JVM and Kotlin compilations for Kotlin multiplatform (#245)
- Added customizable header in HTML report for Kover and JaCoCo report generator (#194)
- Added advanced support of Android projects, flavors and flavor dimensions (#316, #319)
- Introduced Kover Tool artifacts for CLI and runtime for offline instrumentation (#322)
- Added support charset for HTML report
- Added dokka docs
- Added binary compatibility validator (#305)
- IntelliJ coverage dependency versions upgraded to 1.0.716
- Fixed
Cannot run Project.afterEvaluate
(#221) - Fixed missing report path in logs for cached HTML task (#283)
- Disabled artifact generation when calling the
assemble
task (#353) - Fixed variant level filters for reports (#366)
- Added support charset for html report
- Disabled artifact generation when calling the
assemble
task (#353) - Fixed variant level filters for reports (#366)
- IntelliJ coverage dependency versions upgraded to 1.0.716
- Added advanced support of Android projects, flavors and flavor dimensions (#316, #319)
- Introduced Kover Tool artifacts for CLI and runtime for offline instrumentation (#322)
- Added dokka docs
- Added binary compatibility validator (#305)
This is a preview version of new major release with the API rework in order to support configuration cache, project isolation model, Android Gradle plugin and source-set level granularity of configuration. This release is incompatible with the previous version, and we provide best-effort migration assistance as well as migration guide
- Implemented improved Kover DSL (#284)
- Added Gradle project isolation support (#144)
- Introduced API for Coverage Tools (#195)
- Added support of Android build variants (#18)
- Implemented support filtering of source sets for Kotlin JVM and Kotlin compilations for Kotlin multiplatform (#245)
- Added customizable header in HTML report for Kover and JaCoCo report generator (#194)
- Minimal and default Kover Tool versions upgraded to 1.0.709
- Fixed
Cannot run Project.afterEvaluate
(#221) - Fixed missing report path in logs for cached HTML task (#283)
- Implemented filtering of reports by annotation (#121)
- Minimal and default agent versions upgraded to
1.0.683
- Added filtering out projects without a build file (#222)
- Added JaCoCo reports filtering (#220)
- Fixed coverage for function reference (#148)
- Fixed incorrect multiplatform lookup adapter (#193)
- Fixed
ArrayIndexOutOfBoundsException
during class instrumentation (#166)
- Upgraded Gradle version to
7.5.1
- Rewritten functional tests infrastructure
- Added example projects
- XML and HTML report generation moved to Kover Aggregator
- Added contribution guide
- Added section
Building and contributing
into Table of contents - Fix migration to
0.6.0
documentation
Note that this is a full changelog relative to 0.6.0
version. Changelog relative to 0.6.0-Beta
can be found at the end of the changelog.
In this version, the plugin API has been completely redesigned. The new API allows you to configure Kover in a more flexible manner, there is no need to configure Kover or test tasks separately.
Please refer to migration guide in order to migrate from previous versions.
- Implemented a new plugin API (#19)
- Added support of instruction and branch counters for verification tasks (#128)
- Ordered report tasks before verification tasks (#209)
- Minimal and default agent versions upgraded to 1.0.680
- Verification task is no longer executed if there are no rules (#168)
- Added instrumentation filtering by common filters (#201)
- Fixed instrumentation counter in IntelliJ verifier (#210, #211, #212)
- Kotlin version upgraded to 1.7.10
- instrumentation config added to the test framework
- added test on instrumentation config
- Updated docs for onCheck properties (#213)
- Ordered report tasks before verification (#209)
- Minimal and default agent versions upgraded to 1.0.680
- Added instrumentation filtering by common filters (#201)
- Fixed instrumentation counter in IntelliJ verifier (#210, #211, #212)
- Updated docs for onCheck properties (#213)
In this version, the plugin API has been fully redesigned. The new API allows you to configure Kover in a more flexible manner, there is no need to configure Kover or test tasks separately.
Refer to migration guide in order to migrate.
This is a beta release, the stability of all features is not guaranteed. The beta version is released to collect feedback on the new API and its usability.
- Implemented a new plugin API (#19)
- Minimal and default agent versions upgraded to 1.0.675
- Added support of instruction and branch counters for verification tasks (#128)
- Verification task is no longer executed if there are no rules (#168)
- Kotlin version upgraded to 1.7.10
- instrumentation config added to the test framework
- added test on instrumentation config
- Added
Gradle
configuration cache support (#142) - Implemented the use of the full path to the project for the exclusion (#151)
- Supported
IntelliJ Verifier
- Upgraded default and minimal
IntelliJ Coverage Engine
version to1.0.668
- Fixed coverage counter for
$DefaultImpls
(#149)
- Added functional tests on verification
- Implemented simple JSON parser and serializer
- Upgraded minimal supported
Gradle
version to6.6
Note that this is a full changelog relative to 0.4.4
version. Changelog relative to 0.5.0-RC2
can be found at the end of the changelog.
- Added reports filtering (#17)
- Disabled running of all test tasks for single-project Kover tasks (#114)
- Implemented aggregated multi-project report (#20, #43)
- Unified coverage agents filters. Now only the characters '*' or '?' are used as wildcards for both IntelliJ and JaCoCo agents. Regular expressions are no longer supported by the IntelliJ agent as filters of instrumented classes. (#21)
- Tasks for verification and reporting for single Gradle project were renamed according to the template like
koverXmlReport
->koverXmlProjectReport
- The
isEnabled
property has been renamed toisDisabled
in extensionsKoverExtension
andKoverTaskExtension
to make their purpose more obvious - The term
module
has been replaced withproject
for compatibility with Gradle terminology - Added the ability to disable the Kover for the specified Gradle project
- Made tasks cache relocatable (#85)
- Improved checks of disabled plugin before running Kover tasks
- Upgraded IntelliJ Engine minimal version to
1.0.647
- Upgraded IntelliJ Engine default version to
1.0.656
- Added support of parallel tests execution (#113)
- Removed checking of parent projects for re-apply of the plugin (#116)
- Added property to exclude Android classes from the instrumentation (#89)
- Kotlin Multiplatform plugin adapter rewritten to use reflection (#100)
- Added the ability to count JVM instructions
- Fixed getting into the report of objects and sealed classes
- Added an excluding from the report of functions marked by
Deprecated
annotation withHIDDEN
andERROR
levels
- Added functional test on branch counter
- Added functional tests on instruction counter
- Improved checks of disabled plugin before running Kover tasks
- Upgraded IntelliJ Engine default version to
1.0.656
- Added support of parallel tests execution (#113)
- Removed checking of parent projects for re-apply of the plugin (#116)
- Added the ability to count JVM instructions
- Fixed getting into the report of objects and sealed classes
- Added an excluding from the report of functions marked by
Deprecated
annotation withHIDDEN
andERROR
levels
- Added functional test on branch counter
- Added functional tests on instruction counter
In this version, the plugin API has been redesigned for more convenient and understandable work with multi-project builds and merged reports. Also added filters for report and verification tasks.
- Added reports filtering (#17)
- Disabled running of all test tasks for single-project Kover tasks (#114)
- Upgraded IntelliJ Engine default version to
1.0.647
This is a release candidate for the next version. In this version, an aggregated report on all projects has been added, and the plugin API has been significantly redesigned. So we ask you to evaluate it and share your feedback on whether the API has become more convenient.
- Implemented aggregated multi-project report (#20, #43)
- Unified coverage agents filters. Now only the characters '*' or '?' are used as wildcards for both IntelliJ and JaCoCo agents. Regular expressions are no longer supported by the IntelliJ agent as filters of instrumented classes. (#21)
- Tasks for verification and reporting for single Gradle project were renamed according to the template like
koverXmlReport
->koverXmlProjectReport
- The
isEnabled
property has been renamed toisDisabled
in extensionsKoverExtension
andKoverTaskExtension
to make their purpose more obvious - The term
module
has been replaced withproject
for compatibility with Gradle terminology - Added the ability to disable the Kover for the specified Gradle project
- Made tasks cache relocatable (#85)
- Upgraded IntelliJ Engine default version to
1.0.640
- Added property to exclude Android classes from the instrumentation (#89)
- Kotlin Multiplatform plugin adapter rewritten to use reflection (#100)
- Fixed escape characters in intellijreport.json (#82)
- Added support for the IntelliJ agent loaded from maven central (#34)
- Implemented the ability to generate a report even if there are no tests in the module (#44)
- Fixed caching of Kover report tasks (#68)
- Upgraded minimal IntelliJ agent version to
1.0.639
(#76)
- Implemented integration tests (#25)
- Fixed generation of HTML reports for classes located in a directory that does not match the package name (#31)
- Removed implicit dependencies from
koverCollectReports
task (#53) - Fixed a crash in report generation if there are several test tasks in the module and one of them does not contain tests (#46)
- Ignore empty private constructors of utility classes (#6)