Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.diffblue.com/llms.txt

Use this file to discover all available pages before exploring further.

v1.2.1
May 12, 2026

Python mutation testing on Windows (experimental), with reliability fixes

New features

  • Python mutation testing on Windows (experimental). The test-quality-report workflow now runs mutation testing on Windows for Python projects. On Linux and macOS, Python 3.7–3.12 projects now use mutmut 2.x, which is more stable than mutmut 3.x.

Improvements

  • Per-user telemetry attribution for offline licenses. When you use an offline license, workflow telemetry now attributes usage to your git user.email instead of the license holder’s email. If you have not configured user.email, the license email is used as a fallback.

Fixes

  • Workflow failure when git identity is not configured. If user.name or user.email is not set in git, workflows no longer fail with an unclear error. The workflow now proceeds and displays a warning with the commands to configure your git identity.
  • Unclear error when python3-venv is missing. On Linux, if python3-venv is not installed, the workflow now fails immediately with an actionable message — for example, python3.12-venv is not installed. Run: sudo apt install python3.12-venv. Previously the workflow failed late at “Measure coverage” with no useful guidance.
  • Python mutation score incorrectly reported as 0. If a previous run left a stale .mutmut-cache file in your project, mutation testing completed immediately with a score of 0. The workflow now removes any stale cache before running.
  • Missing error details when all modules fail planning. When all modules are excluded during planning, the CLI now shows the reason each module was excluded. Previously only a count was shown.
  • Ant projects were rejected during planning. Projects using Ant with JaCoCo coverage configured are no longer excluded during planning. Previously these projects produced 0 modules analyzed with no explanation.
v1.2.0
May 8, 2026

Test Quality Agent, failing test removal, and workflow improvements

New features

  • Diffblue Test Quality Agent. You can now run the test-quality-report workflow for Java projects. This workflow measures test coverage, mutation score, and test strength across your project, and generates an HTML report breaking down the metrics per module and per class.

Improvements

  • Failing tests are automatically removed. The test generation workflow now validates generated tests by running them. If any tests generated by Diffblue Agents fail validation, the CLI automatically removes those tests before making the final commit, and refunds your license credits for those lines.
  • Filter validation. The CLI validates --filter arguments before starting a workflow and displays an error message if the filter is invalid.
  • Simple class names in --filter. You can now use simple class names with --filter; the CLI automatically converts them to their fully qualified form.
  • Multiple comma-separated values for --filter. You can pass multiple class or package filters using --filter (for example, diffblue-agents run regression-unit-tests --filter com.example.owner,com.example.vet). If you use PowerShell, quote the value to prevent shell splitting.
  • View all workflows without a license. The workflows command displays all workflows, regardless of your license state. Workflows you cannot access appear dimmed with a reason. The license command also shows which agents are enabled on your license.
  • Support for versioned Python interpreters. You can now use versioned interpreters like python3.12 and python3.11 alongside python3.
  • Arrow key navigation in CLI text inputs. You can now navigate NPS and license activation prompts using your arrow keys.

Fixes

  • Python coverage measurement excludes doctest plugins. The workflow now excludes doctest plugins from coverage measurement. This fixes inaccurate coverage baselines for projects using doctests.
  • Windows path handling in LLM commands. Fixes an issue where commands containing backslashes in Windows file paths failed to execute.
  • Crash after switching AI coding agents. Fixes a crash that occurred if you switched AI coding agents while a workflow was running.
  • Duplicate license activation on double-submit. The CLI disables the license activation input after submission. This prevents duplicate activations.
v1.1.0
April 8, 2026

One-line install, user approval, environment setup workflow, and Python improvements

New features

  • One-line install scripts. Install Diffblue Agents with a single command on macOS, Linux, and Windows. The script downloads the latest release, extracts it, and adds it to your PATH. See installation for details.
  • Approval prompt before test generation. After resource estimates are calculated, the CLI displays the expected cost and asks for confirmation before proceeding. Use --auto-approve to skip the prompt in CI or automated workflows.
  • regression-unit-tests-prepare-project workflow. Environment validation and setup now runs as its own workflow, separate from test generation. Run regression-unit-tests-prepare-project to verify your project environment without starting test generation. See prepare project for details.

Improvements

  • Automatic Python test dependency detection. During environment setup, the agent scans existing test files for patterns (e.g. @pytest.mark.asyncio) and automatically installs missing test dependencies before test generation starts.
  • Actionable error messages. Common failures (out of tokens, timeouts, license errors) now show specific remediation steps instead of generic error messages.
  • Environment setup changes visible in CLI. Installed packages and configuration changes made during environment setup are now displayed in the CLI output.
  • Improved JDK detection. Java version resolution now checks PATH and the original JAVA_HOME in addition to standard locations, reducing failures on machines with complex Java setups.
  • Faster coverage checks. Redundant coverage verification is now skipped when building projects, reducing test generation time.
  • Generated Python files copied to source. Dynamically generated files (e.g. _version.py) are now copied from the virtual environment back to the source tree, fixing issues with Python packages that generate version files during build.

Fixes

  • Windows command line length limit for git operations. Resolved “command too long” errors on Windows when committing or reverting large changesets.
  • Duplicate license activation prompt. The license activation prompt no longer appears twice during the automatic installation flow.
  • CLI error after install completes. Resolved a UI error that could appear after installation finishes.
  • Long workflow names no longer break CLI layout. The “Executing” label now wraps correctly for workflows with long names.
  • Python venv symlinks on macOS. Python virtual environment setup no longer fails on macOS due to broken symlinks after worktree copy.
  • Paths with spaces on Windows. The server launcher now correctly handles installation paths that contain spaces on Windows.
  • Special characters in filenames. Git file tracking now handles repositories with special characters in filenames.
v1.0.2
April 2, 2026

Parallel progress display fix

Fixes

  • Parallel progress display. Worker sub-tasks that lacked user-visible messages no longer clutter the CLI task list during parallel test generation.
v1.0.1
March 30, 2026

Module filtering, proxy support, and Python reliability

New features

  • --module flag for filtering test generation. Limit test generation to specific modules in multi-module projects with --module apps/server,apps/cli.

Improvements

  • Corporate proxy support. Configure a corporate proxy (diffblue.agents.proxy.host, diffblue.agents.proxy.port) for environments that route traffic through a proxy. Proxy support extends to both license validation and telemetry.
  • Automatic server restart on license change. The server now detects when the license file has changed and automatically restarts with the new configuration.
  • Lines covered column in summary. The test generation summary now includes a “Lines Covered” column showing coverage counts (e.g. “160/200”).

Fixes

  • JVM memory exhaustion with parallel agents. Fixed out-of-memory errors when running multiple agents in parallel by automatically calculating appropriate JVM heap limits based on available system memory.
  • Python virtual environment reliability. Fixed multiple issues with Python virtual environment path repair when copying between worktrees, including stale .pth files, direct_url.json paths, and Windows-specific path handling.
  • Non-source files excluded from callable discovery. Files that are not valid source code (e.g. font files, text files in source directories) are now filtered out during callable discovery, preventing lexer crashes.
  • Undefined work unit count in planning summary. Fixed a display issue when work unit counts were undefined in the planning summary view.
  • Raw mode errors in non-interactive environments. The CLI no longer errors when run in non-interactive environments such as CI/CD pipelines.
v1.0.0
March 24, 2026

General availability

Diffblue Agents v1.0.0 is the first general availability release. It provides AI-powered regression unit test generation and planning workflows for Java and Python projects, with support for Maven, Gradle, and pytest.