Release notes - SonarJava - 8.40
Feature
SONARJAVA-6721 Extend rule S2442: Intrinsic locks should not be used on "java.util.concurrent" objects
SONARJAVA-6722 Create rule S9142: Expensive compilation or preparation operations should not be performed inside loops
SONARJAVA-6754 Update RSPEC before 8.40 release
SONARJAVA-6767 Create rule S9341: Redundant Spring annotations should be removed
SONARJAVA-6768 Port S7438: Incompatible bit masks should not be used in comparisons
SONARJAVA-6769 Create rule S9342: Archive entries should not be empty
SONARJAVA-6770 Provide a reusable aggressive heuristic to identify Java test files
SONARJAVA-6781 Create rule S9344: Bitwise AND operations with zero should be corrected
SONARJAVA-6782 S9355: use Javadoc syntax for almost-Javadoc comments
SONARJAVA-6787 S9351: "BigDecimal.compareTo()" should be used instead of "equals()" for numerical comparison
SONARJAVA-6789 S9353: disallow unescaped '.' as a regex literal
SONARJAVA-6790 S9350: equals() implementations should not compare mismatched members
False Positive
SONARJAVA-6455 S7467: FP on broken semantics
SONARJAVA-6756 Fix FPs is S8989, NOT_SUPPORTED and readOnly clusters
SONARJAVA-6757 Fix FP in S9149 in the case of Intentional Hiding with Deprecation Annotations
SONARJAVA-6758 Fix FPs in S5673, redundant annotations and controllers without mapping clusters and improve RSPEC
Maintenance
SONARJAVA-6730 Update dependency jdx/mise to v2026.8.0
SONARJAVA-6735 Update SonarSource/sonar-plugin-api monorepo to v13.10.0.4437
SONARJAVA-6746 Update SonarSource/sonar-scanner-engine monorepo to v13.7.0.4455
SONARJAVA-6748 Update dependency org.junit:junit-bom to v6.1.3
SONARJAVA-6749 Update SonarSource/sonar-analyzer-commons monorepo to v2.30.0.5193
SONARJAVA-6753 Update dependency org.sonarsource.orchestrator:sonar-orchestrator-junit4 to v6.4.1.4618
SONARJAVA-6755 Prepare next development iteration 8.40.0
SONARJAVA-6759 Ensure S1244 and S9147 do not overlap
SONARJAVA-6766 Update SonarSource/parent-oss monorepo to v11.9.0.86162
SONARJAVA-6773 Update astral-sh/setup-uv action to v10
SONARJAVA-6792 Use imported tree type names in transactional exception check
SONARJAVA-6793 Update dependency org.apache.tomcat.embed:tomcat-embed-jasper to v9.0.121
SONARJAVA-6794 Update dependency org.sonarsource.orchestrator:sonar-orchestrator-junit4 to v6.4.2.4626
SONARJAVA-6795 Update SonarSource/sonar-plugin-api monorepo to v13.11.0.4459
SONARJAVA-6797 Update jdx/mise-action action to v4.2.5
SONARJAVA-6803 Update astral-sh/setup-uv action to v10.0.1
SONARJAVA-6805 Fix QG: Move regex patterns outside of loop
SONARJAVA-6806 Update SonarSource/sonar-scanner-engine monorepo to v13.8.0.4534
SONARJAVA-6807 Update dependency jdx/mise to v2026.8.6
SONARJAVA-6815 Update rule metadata
SONARJAVA-6816 Fix a javadoc comment
SONARJAVA-6817 Update expected Agentic Way profile count