# Java/Scala/Kotlin Agent

## 2026 Release Notes

<table><thead><tr><th width="95.546875">Version</th><th width="129.26953125">Date</th><th>Changes</th></tr></thead><tbody><tr><td>4.0.2745</td><td>March 30, 2026</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Enabled <code>sl-test-listener.jar</code> to function as a CD agent when configured with the system property <code>-Dsl.mode=scanAndCoverage</code>. </li><li>Aligned Java agent parameters with conventions used in other technologies (supporting both single-dash <code>-</code> and double-dash <code>--</code>). Maintained full backward compatibility via aliases for parameters and commands.</li><li>Added support for parameter aliases in configuration file <code>sl-config.json</code> .</li><li>Enhanced detection of older versions of the Cucumber runner to prevent integration issues.</li><li>Updated instrumentation to exclude more internal packages, addressing flaky runs caused by missing default configuration on Azul Java.</li></ul></td></tr><tr><td>4.0.2731</td><td>March 4, 2026</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Improved footprint collection: the agent now sends method hits reported before execution resolution.</li></ul></td></tr><tr><td>4.0.2729</td><td>February 24, 2026</td><td><p><strong>Resolved Issues:</strong></p><ul><li>Fixed support for <code>testProjectId</code> — setting the <code>testProjectId</code> header when resolving <code>buildSessionId</code> with <code>labId</code>.</li></ul></td></tr><tr><td>4.0.2727</td><td>February 23, 2026</td><td><p><strong>Resolved Issues:</strong></p><ul><li>Fixed a logging issue during the agent auto-upgrade process.</li><li>Added support for the <code>.slignore</code> file, allowing specified files to be skipped during the scan.</li></ul></td></tr><tr><td>4.0.2721</td><td>February 4, 2026</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Added support for verbose console output across agents and command-line tools.</li><li>Improved integration with TestNG.</li><li>Added support for JUnit 6.</li><li>Added support for the JBehave framework.</li><li>Introduced the <code>sl.prId</code> parameter.</li><li>Updated fallback logic for agents and plugins so that, in case of network issues preventing retrieval of the recommended version, a newer compatible version is suggested instead.</li><li>Added new Maven configuration options: <code>logToConsole</code> and <code>logToFile</code>.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Prevented duplicate scans when a scan for the same build has already been submitted.</li><li>Fixed Maven integration issues related to configuration handling.</li></ul></td></tr></tbody></table>

## 2025 Release Notes

<table><thead><tr><th width="95.25">Version</th><th width="129.444091796875">Date</th><th>Changes</th></tr></thead><tbody><tr><td>4.0.2700</td><td>December 22, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Improved the scheduled task manager to better support parallel test execution.</li></ul></td></tr><tr><td>4.0.2692</td><td>December 19, 2025</td><td><p><strong>Resolved Issues:</strong></p><ul><li>Fixed integration issues between SeaLights and Maven when using customized Surefire and Failsafe plugin configurations, including support for custom <code>executions</code> sections and Maven profiles.</li></ul></td></tr><tr><td>4.0.2688</td><td>December 3, 2025</td><td><p><strong>New Features and Updates:</strong> </p><ul><li>Switched the logging framework from Logback to Tinylog.</li><li>Upgraded the OpenTelemetry version used by the agent. </li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Fixed source file resolution when using a Git repository without SeaLights plugins.</li></ul></td></tr><tr><td>4.0.2682</td><td>November 11, 2025</td><td><p><strong>Resolved Issues:</strong></p><ul><li>Fixed an integration issue in the SBT plugin.</li></ul></td></tr><tr><td>4.0.2681</td><td>October 29, 2025</td><td><p><strong>New Features and Updates:</strong> </p><ul><li>Added diagnostic information reporting to the Cockpit.</li><li>Removed the use of certain external libraries.</li><li>Added support for multiple <code>argLine</code> entries in Maven Surfire and Failsafe configurations.</li><li>Added support for Java 25.</li><li>Upgraded the embedded OpenTelemetry Agent from version 1.26.0 to 1.33.6.  </li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Fixed an issue with TestNG 7 where tests recommended for skipping were reported as skipped but still executed.</li></ul></td></tr><tr><td>4.0.2656</td><td>September 2, 2025</td><td><p><strong>New Features and Updates:</strong> </p><ul><li>Added support for locating <strong>buildSessionId.txt</strong> in the current working directory. </li><li>Introduced support for Karate 1.5.x, including reporting the detected Karate version to the Cockpit.</li><li>Removed unusued dependencies from the source code.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Fixed test execution handling for Unit Tests and corrected footprint submission to the Collector.</li></ul></td></tr><tr><td>4.0.2646</td><td>August 19, 2025</td><td><p><strong>New Features and Updates:</strong> </p><ul><li>Improved clock synchronization with updated default intervals and optimized logging.</li><li>Extended default timeouts for HTTP requests.</li><li>Enhanced parsing options for the Build Scanner CLI; parameters are now case sensitive.</li><li>Enhanced Agent behavior by reducing error logs when request sending is disabled; the Agent now automatically attempts recovery after 60 minutes.</li><li>Upgraded dependent libraries and removed vulnerabilities.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Fixed TIA support for Cucumber 7.27.0.</li><li>Fixed AWS Lambda support by correcting retrieval of active executions.</li></ul></td></tr><tr><td>4.0.2635</td><td>July 7, 2025</td><td><p><strong>New Features and Updates:</strong> </p><ul><li>Added support for parameterized TestNG tests.</li><li>Added ability to customize the parameter identified method for TestNG tests. Use the <code>sl.parameterIdentifierMethod</code> parameter instead of the default <code>toString()</code> behavior.</li><li>Enhanced pull request handling by extending the buildSessionId option with the parameters buildname and branchname.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Fixed compatibility with TestNG 7.x.</li></ul></td></tr><tr><td>4.0.2630</td><td>June 25, 2025</td><td><p><strong>New Features and Updates:</strong> </p><ul><li>Support for the <code>testProjectId</code> parameter, enabling more flexible test project configurations.</li><li>Detection and resolution of Git repository paths.</li><li>Added retry mechanism to ensure successful dispatch of the build completion event.</li></ul></td></tr><tr><td>4.0.2623</td><td>June 18, 2025</td><td><p><strong>New Features and Updates:</strong> </p><ul><li>Added support for multi-component applications (multiple BuildSessionIDs managed in a single JVM process) for shared libraries support.</li></ul></td></tr><tr><td>4.0.2622</td><td>May 29, 2025</td><td><p><strong>New Features and Updates:</strong> </p><ul><li>Added support for using encoded JWT tokens with the Java Agent.</li><li>Introduced a token encryption command in the build scanner utility for enhanced security.</li><li>Added support for executing the test listener  with custom JVM parameters in the Gradle plugin.</li></ul></td></tr><tr><td>4.0.2619</td><td>April 30, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Added support for TestNG and the Quantum framework.</li><li>Enhanced the Java CD Agent to allow passing the token via the  <code>SL_TOKEN</code> environment variable.</li></ul></td></tr><tr><td>4.0.2617</td><td>April 17, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Improved Agent stability by automatically disabling it when an overly broad <code>packagesIncluded</code> configuration is detected. This safeguard applies to the build scanner, test listener, and CD Agent.</li></ul></td></tr><tr><td>4.0.2614</td><td>April 9, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Added feature-level support for Cucumber.</li><li>Enhanced resolution of executions in parallel test stages for more accurate reporting.</li></ul></td></tr><tr><td>4.0.2610</td><td>March 24, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Enhanced SBT integration by allowing developers to define the <code>taskAndTestStages</code> property.</li><li>Introduced the diagnostic header <code>x-sl-agentTechnology</code> for improved traceability.</li><li>Added support for marking test runs as calibration runs using the parameter <code>sl.calibrationLearning=true</code> or the environment variable <code>SL_CALIBRATION_LEARNING=true</code>.</li><li>Optimized memory usage during partial build scans.</li></ul></td></tr><tr><td>4.0.2606</td><td>March 1, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Extended support for <code>pl.pragmatists.JUnitParams</code> to versions 1.0.3 through 1.1.1.</li><li>Updated Logback libraries to address vulnerabilities (CVE-2024-12798, CWE-138).</li><li>Enhanced Maven integration with improved comments handling in pom.xml files. </li><li>Introduced the <code>sl.pomIndentEnabled</code> system property for sl-build-scanner.jar.</li><li>Improved handling of long TIA response times by interrupting requests exceeding 120 seconds.</li></ul></td></tr><tr><td>4.0.2602</td><td>February 10, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Removed vulnerable library <code>com.jcraft:jsch</code>.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Fixed duplicate reporting of skipped Cucumber tests JUnit 5 test discovery.</li></ul></td></tr><tr><td>4.0.2599</td><td>February 3, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Improvement the CD Agent by automating the correction of the  <code>sl.includes</code> and <code>sl.excludes</code> system properties.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Improved support for custom class loaders returning <code>null</code> instead of <code>ClassDefNotFoundException</code> when a class is not found.</li></ul></td></tr><tr><td>4.0.2596</td><td>January 16, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Enhanced integration with the Git CLI to streamline operations.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Resolved an issue that could cause the Java agent to hang.</li><li>Fixed a problem where unit tests failed when loading <code>apache.commons.configuration</code>.</li></ul></td></tr><tr><td>4.0.2593</td><td>January 12, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Added the ability to disable recursive scanning for the CD Agent.</li></ul></td></tr><tr><td>4.0.2581</td><td>January 2, 2025</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Added support for launching the Java Agent using JBoss <code>MODULE_OPTS</code>.</li><li>Enabled compatibility with Bouncy Castle in JBoss environments.</li><li>Optimized memory usage for method-line coverage to reduce runtime footprint.</li></ul></td></tr></tbody></table>

## 2024 Release Notes

<table><thead><tr><th width="95.25">Version</th><th width="129.444091796875">Date</th><th>Changes</th></tr></thead><tbody><tr><td>4.0.2577</td><td>December 3, 2024</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Added the <code>scanInnerJars</code> feature flag to control scanning of embedded Java archives.</li></ul></td></tr><tr><td>4.0.2574</td><td>November 21, 2024</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Added support for parametrized JUnit4 tests with <code>JUnitParamsRunner</code>.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Improved context propagation support for Selenium Java.</li></ul></td></tr><tr><td>4.0.2570</td><td>November 12, 2024</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Upgraded dependent libraries to address security vulnerabilities.</li></ul></td></tr><tr><td>4.0.2565</td><td>October 26, 2024</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Upgraded dependent libraries to address security vulnerabilities.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Improved handling of startup parameters in <code>sap_java_buildpack</code>.</li></ul></td></tr><tr><td>4.0.2556</td><td>October 2, 2024</td><td><p><strong>Resolved Issues:</strong></p><ul><li>Improved graceful Agent shutdown when network connection issues occur.</li><li>Fixed handling of the <code>logEnabled</code> parameter during Maven integration.</li></ul></td></tr><tr><td>4.0.2550</td><td>September 24, 2024</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Added support for inherited JUnit4 and JUnit5 including final test methods.</li></ul></td></tr><tr><td>4.0.2549</td><td>September 16, 2024</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Improved filtering of auto-generated Kotlin code when needed.</li><li>Added <code>scannerTask</code> option to Gradle tasks.</li></ul></td></tr><tr><td>4.0.2539</td><td>July 22, 2024</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Improved Kotlin support.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Fixed an issue where the test listener encountered errors when reading information from a JSON file.</li></ul></td></tr><tr><td>4.0.2531</td><td>June 25, 2024</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Added support for per-line method coverage.</li><li>Added support for configuring the test listener from a JSON file, including <code>token</code>, <code>buildSessionId</code> and <code>collectorUrl</code> (primary for Lambda support).</li><li>Improved code instrumentation compatibility with JMockit.</li><li>Added support for working with the Gradle build cache.</li></ul></td></tr><tr><td>4.0.2505</td><td>May 27, 2024</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Added support for mutation testing on the PiTest framework.</li></ul></td></tr><tr><td>4.0.2499</td><td>April 30, 2024</td><td><p><strong>New Features and Updates:</strong></p><ul><li>Introduced support for CD Agent with single components.</li><li>Improved detection of synthetic and inherited Scala methods to be ignored in build scans.</li><li>Added collector support for the Java Agent.</li></ul><p><strong>Resolved Issues:</strong></p><ul><li>Fixed scanning of classes located inside embedded Java archives.</li></ul></td></tr></tbody></table>
