# 2025-12-02

This release adds support for IntelliJ IDEA 2025.3 and enhances the Diffblue Cover CLI workflow with improved JaCoCo coverage guidance, earlier reporting during preflight checks, and clearer issue analysis. This release also resolves test generation issues involving conflicting Spring annotations and Java 17 syntax.

***

## IntelliJ Plugin

* **IntelliJ IDEA 2025.3:** Cover now supports IntelliJ IDEA 2025.3. Support for version 2025.1 has been removed.
* **Java 17 Syntax Support:** Resolved an issue where Cover was unable to write tests into test classes containing Java 17 syntax.

## CLI Enhancements

* **Improved Issue Analysis:** The `dcover issues` command now provides enhanced guidance for JaCoCo coverage, including identification of generated classes that distort reports and actionable Maven/Gradle snippets to exclude them. Multiple R005 output codes from the same root cause are now consolidated into single entries for clearer prioritization.
* **Preflight Reporting:** Running `dcover create --preflight` now produces a `report.json` file, allowing immediate analysis with `dcover issues` without a full test generation run.
* **Multi-Module Reporting:** Per-module report generation is now supported when using relative paths with `--report-file`, `--jacoco-diffblue`, and `--jacoco-manual`.

## Spring Framework Support

* **Annotation Conflict Resolution:** Cover now ensures `@ExtendWith(SpringExtension.class)` and `@ExtendWith(MockitoExtension.class)` are not used in the same test file, preventing non-functional tests.

***

## Important Notices

* **IntelliJ IDEA 2025.1 Support:** Support for IntelliJ IDEA 2025.1 has been removed. To use Diffblue Cover plugin version `2025.12.02` onwards, users must upgrade their IDE to IntelliJ version 2025.2 or 2025.3.

***

## Enhancements

* CLI: The `dcover issues` command now identifies generated classes that distort coverage reports and recommends excluding these classes from the JaCoCo configuration to prevent skewed metrics. \[Ref: TG-24070]
* CLI: `E165` warnings now include actionable Maven and Gradle configuration snippets to facilitate excluding generated code from coverage measurements. \[Ref: TG-24039]
* CLI: Running preflight checks via `dcover create --preflight` now produces a `report.json` file, enabling immediate environment issue analysis using `dcover issues` without a full test generation run. \[Ref: TG-24019]
* CLI: `dcover issues` now combines multiple R005 output codes stemming from the same root cause into single entries to create a concise and actionable list of blockers. \[Ref: TG-23918]
* CLI: Diffblue Cover now enables per-module report generation in multi-module projects when using relative paths with `--report-file`, `--jacoco-diffblue`, and `--jacoco-manual`. \[Ref: TG-23869]
* Plugin: Diffblue Cover now supports IntelliJ IDEA 2025.3 and no longer supports version 2025.1. \[Ref: TG-22570]

## Resolved Issues

* Resolved an issue where `dcover issues` would suggest `dcover refactor` even when no refactorings were available. Diffblue Cover now only recommends this solution when applicable. \[Ref: TG-24069]
* Plugin: Resolved an issue where Diffblue Cover was unable to write tests into test classes containing Java 17 syntax. Updated formatting logic ensures tests are now generated and formatted correctly. \[Ref: TG-24037]
* Resolved an issue where Diffblue Cover could write non-functional tests for Spring projects by using conflicting annotations. Diffblue Cover now ensures `@ExtendWith(SpringExtension.class)` and `@ExtendWith(MockitoExtension.class)` are not used in the same test file. \[Ref: TG-24002]
* Plugin: Resolved an issue where Diffblue Cover could create an invalid run configuration, resulting in an E004 error during test generation. \[Ref: TG-23622]

## Known Issues

* Plugin: Diffblue Cover incorrectly displays a menu option to write tests for existing test files. \[Ref: TG-17163]
* Using JDKs other than the supported Open JDK and Oracle JDK may produce unexpected results due to implementation differences. \[Ref: TG-19345]
* Cover may encounter an `F009` (Internal error) caused by a `ClassCircularityError` involving `org/mockito/configuration/MockitoConfiguration` when writing tests with Mockito 5. The recommended workaround is to downgrade to Mockito 4.x. \[Ref: TG-19610]
* Reports: The total line count metric in Reports only includes Java code. Kotlin code is not 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]
* 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]
* Plugin: On some displays, the Test Review subsection title 'Tests for review' is malformed. \[Ref: TG-22805]
* When test formatting settings are changed, the Test Review feature may incorrectly remove the `@ManagedByDiffblue` annotation from tests, particularly in cases involving static import formatting changes. \[Ref: TG-23750]
* Plugin: Using the Test Review feature may create tests that have incompatible dependency injection systems. \[Ref: TG-23935]


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cover-docs-preview.diffblue.com/updates-and-upgrades/release-archive/2025-12-02.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
