> For the complete documentation index, see [llms.txt](https://cover-docs.diffblue.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cover-docs.diffblue.com/updates-and-upgrades/release-archive/2025-03-02.md).

# 2025-03-02

This release of Cover focuses on enhanced reporting capabilities, improved test generation logic, and usability enhancements to the plugin and CLI.

* **Reports API**: Cover Reports now features a REST API for accessing coverage data, enabling integration with existing tools. See the [export API documentation](https://docs.diffblue.com/features/cover-reports/cover-reports-user/export-api) for more details.
* **Jersey Support**: Cover now supports writing tests for code which uses the Jersey RESTful Web Services library, expanding test generation capabilities to a wider range of applications.
* **Test Generation Logic**: Cover now includes tests created without dependency injection when they demonstrably increase code coverage. It also prioritizes constructor usage over setters for more natural test code.
* **Plugin UI**: Cover now features a redesigned tool panel for the test preparation phase. The updated interface provides clearer insights into preparation steps, including error detection and licensing checks.

## Important Notices

### **CLI: Deprecation of Legacy Cover Reports Authentication Parameters**

As of the `2025.03.02` release, the following authentication options have been marked as **deprecated**:

* `reports.requiredusername`
* `reports.requiredpassword`

Migrating to the new authentication parameters is required to avoid disruption to reporting pipelines. Use `reports.users.upload.username` and `reports.users.upload.password` instead.

## Enhancements

* Reports: Cover Reports now uses `reports.users.upload.username` & `reports.users.upload.password` for upload authentication. Existing `reports.requiredusername` & `reports.requiredpassword` will be removed in a future release. \[Ref: TG-22917]
* CLI: Cover now logs details when `@InTestsMock` and similar mocking advice is applied or cannot be applied. Logs include reasons such as missing frameworks or incompatible class types. \[Ref: TG-22846]
* CLI: Cover’s test generation process now includes tests created without dependency injection. These tests are added only when they demonstrably increase code coverage compared to dependency injection-based tests. \[Ref: TG-22842]
* Plugin: Diffblue Cover now includes an 'Activate License' option in the Status Bar widget and on the 'Diffblue Cover License' details screen. This provides easier access to change license keys. \[Ref: TG-22841]
* Cover now supports Mockito 5.16.0. \[Ref: TG-22836]
* Plugin: Diffblue Cover now features a redesigned tool panel for the test preparation phase. The updated interface provides clearer insights into preparation steps, including error detection and licensing checks. \[Ref: TG-22776]
* Reports: Cover Reports now features a REST API for accessing coverage data. System administrators can leverage this API to integrate Reports with existing tools. \[Ref: TG-22699]
* CLI: Cover now removes `MaintainedByDiffblue` tests failing validation. Previously, only tests in DiffblueTest classes could be removed during validation. Now failing tagged tests in classes that match the `--class-name-template` will also be removed. \[Ref: TG-22604]
* Cover now supports writing tests for code which uses the Jersey RESTful Web Services library. \[Ref: TG-22322]
* CLI & Plugin: Cover now prioritizes constructor usage over setters when generating tests. This results in more natural and representative test code. \[Ref: TG-18736]

## Resolved Issues

* Resolved an issue which, in some circumstances, caused Cover to write tests with `when()` Mockito stubs which were never used. \[Ref: TG-22852]
* Resolved an issue which, in some circumstances, caused Cover to report `Cover Annotations` as 'Not Detected' during environment checks. \[Ref: TG-22840]
* Reports: Resolved an issue which, in some circumstances, could have caused an inconsistent Diffblue test count due to unexpected surefire report files. \[Ref: TG-22740]

## Known Issues

* Plugin: Cover incorrectly provides a menu option to write tests for a test file. \[Ref: TG-17163]
* Cover supports Open JDK and Oracle JDK; results with other JDKs may differ due to the variability in their implementations of Java. \[Ref: TG-19345]
* Reports: Cover only counts Java code towards the total line count metrics. Kotlin code is not currently included. \[Ref: TG-22088]
* Reports: Total lines of code metric can incorrectly count a multi-line comment at the end of a line of code, resulting in fewer than expected lines counted. \[Ref: TG-22089]
* Reports: Following an upgrade, the 'Total Lines of Code' card may show 0 until a new reports bundle has been uploaded. \[Ref: TG-22094]
* In some circumstances, Cover may write more simplistic tests with less meaningful assertions when Spring Boot dependency injection is disabled. \[Ref: TG-22102]
* In some circumstances, Cover will still write Spring Boot tests when Spring Boot dependency injection is disabled. \[Ref: TG-22103]
* Cover may write failing TestNG tests when Spring Boot dependency injection is disabled. \[Ref: TG-22107]
* When using Gradle, Junit 5 tests produced with the `@DisplayName` annotation may cause all the Diffblue tests to be removed from the class in validation \[Ref: TG-22784]
* Plugin: On some displays, the Test Review subsection title "Tests for review" can be malformed. \[Ref: TG-22805]
* Cover does not currently support Java 24. Please switch your JDK version to 21 or lower. \[Ref: TG-22920]
