Download Latest Version 8.42.0.47616 source code.zip (11.0 MB)
Email in envelope

Get an email when there's a new version of Code Quality and Security for Java

Home / 8.41.0.47177
Name Modified Size InfoDownloads / Week
Parent folder
8.41.0.47177 source code.tar.gz 2026-08-27 5.3 MB
8.41.0.47177 source code.zip 2026-08-27 11.0 MB
README.md 2026-08-27 4.5 kB
Totals: 3 Items   16.3 MB 0

Release notes - SonarJava - 8.41

Feature

SONARJAVA-4647 java:S120: Update the location where the rule is raising an issue SONARJAVA-6304 Create rule S8218: Instant APIs should only use supported temporal units SONARJAVA-6780 Create rule S9354: "Comparable.compareTo()" and "Comparator.compare()" should not use subtraction on numerical fields SONARJAVA-6783 Create rule S9345: Classes with throwing constructors should be protected against Finalizer attacks SONARJAVA-6786 Create rule S9346: Integer values should not be cast to long for use as timestamps SONARJAVA-6788 Create rule S9361: Duplicate keys or elements should not be passed to immutable collection factory methods SONARJAVA-6818 Update RSPEC before 8.41 release SONARJAVA-6823 Port rule S909: "continue" should not be used in loops SONARJAVA-6824 Create rule S9358: Conditional expressions should not duplicate operations in both branches SONARJAVA-6826 Create rule S9359: Octal escape sequences should not be followed by digits SONARJAVA-6827 Create rule S9357: Anonymous classes on functional interfaces should be lambdas SONARJAVA-6839 Create rule S9362: hashCode() and equals() should use consistent fields SONARJAVA-6840 Create rule S9363: Invalid time-zone IDs should not silently fall back to GMT SONARJAVA-6842 Create rule S9364: Local variables should not span switch case groups SONARJAVA-6843 Create rule S9365: Copy constructors should initialize all fields

False Positive

SONARJAVA-6820 S9355: ignore Eclipse (non-Javadoc) override comments SONARJAVA-6838 S9354: ignore subtraction of operands with a provably bounded range SONARJAVA-6853 S3329: Fix false positive when cipher.init uses a non-final variable initialized to DECRYPT_MODE

Maintenance

SONARJAVA-6819 Prepare next development iteration 8.41.0 SONARJAVA-6828 Add AGENTS.md to provide guidance to agents making changes to rules SONARJAVA-6829 Update dependency com.google.guava:guava to v33.7.0-jre SONARJAVA-6831 Update dependency jdx/mise to v2026.8.8 SONARJAVA-6837 Update dependency com.google.guava:guava to v33.7.1-jre SONARJAVA-6849 Update dependency jdx/mise to v2026.8.9 SONARJAVA-6850 Fix SonarQube QG SONARJAVA-6851 Update dependency org.springframework:spring-expression to v7.0.9 SONARJAVA-6852 Update SonarSource/sonar-scanner-engine monorepo to v13.9.0.4593 SONARJAVA-6858 Update dependency jdx/mise to v2026.8.10 SONARJAVA-6860 Upgrade the minimum Java version to 21 SONARJAVA-6862 Update rule metadata SONARJAVA-6864 Fix all 60 open SonarQube issues on master SONARJAVA-6866 Fix S9358: Move conditional expressions inside operations

Source: README.md, updated 2026-08-27