Release Notes - SonarJava - Version 7.7
Bug
- [SONARJAVA-4010] - NPE in JSymbol.hashCode()
- [SONARJAVA-4023] - The Java analyzer should populate the classpath with all the JARs provided by the SDK
New Feature
- [SONARJAVA-3770] - Implement rule S6217: Omit permitted types when subclasses are in the same file as their superclass
Task
- [SONARJAVA-3863] - Drop deprecated method "MethodSymbol.overriddenSymbol()"
- [SONARJAVA-4124] - Update license headers for 2022
- [SONARJAVA-4125] - Update rules metadata
Improvement
- [SONARJAVA-4057] - Do not generate FP when rules don't have semantic
- [SONARJAVA-4086] - Preview feature problems should not be logged under unresolved types
- [SONARJAVA-4101] - Update ECJ to 3.28.0
- [SONARJAVA-4103] - Rules S1905 - Highlight also the parenthesis of the reported issue
- [SONARJAVA-4104] - Rule S1197 Highlight the variable additionally to the []
- [SONARJAVA-4114] - Support classpath entries with comma
- [SONARJAVA-4115] - Custom rules plugin examples should shade dependencies and use latest packaging module
- [SONARJAVA-4118] - Introduce Java 17's Sealed Classes as final feature
- [SONARJAVA-4119] - Correctly parse Pattern-matching for switch from Java 17
- [SONARJAVA-4120] - Logs about preview features should not suggest "-enable-preview"
False-Positive
- [SONARJAVA-4060] - FP in S3252 when owner type is unknown
- [SONARJAVA-4070] - S1874(CallToDeprecatedMethodCheck) should ignore incomplete method signature
- [SONARJAVA-4074] - S5845: FP when using lombok.val
- [SONARJAVA-4090] - FP in S6206 when the constructor and the class have not the same visibility
- [SONARJAVA-4100] - Abstract classes should be excluded from S5790
- [SONARJAVA-4102] - S6204 should not raise an issue when removeIf is called on the list
- [SONARJAVA-4116] - Remove rule S2912 (IndexOfStartPositionCheck)
- [SONARJAVA-4117] - Support "@SuperBuilder" from Lombok
- [SONARJAVA-4122] - S3329 should not raise an issue for Cipher.DECRYPT_MODE
- [SONARJAVA-4123] - FP on S2384: Collections.emptyList() should be considered as immutable.
Documentation
- [SONARJAVA-4066] - Update custom rules 101 metadata documentation and template
False Negative
- [SONARJAVA-4055] - S4544 should raise on Interface in addition to Class
- [SONARJAVA-4058] - S5838 should support subtypes of Collections
- [SONARJAVA-4063] - FN in S3688 (disallowed classes) in case of Reflection
- [SONARJAVA-4108] - FN in S2189 : infinite do/while loops should be reported
- [SONARJAVA-4111] - FN on S1862 when equality parameters are inverted