Release Notes - SonarJava - Version 7.0.0.26422
Bug
- [SONARJAVA-3856] - S1643 ClassCastException on parentheses
Task
- [SONARJAVA-3723] - Expose latest peach analysis performance score to Java bubble
- [SONARJAVA-3724] - Compute performance score of upcoming release
- [SONARJAVA-3816] - Update rules metadata
- [SONARJAVA-3818] - Add an example of rules targeting TEST in our custom rules plugin example
- [SONARJAVA-3820] - Add missing remediation functions
- [SONARJAVA-3823] - Move java-checks-testkit's 'InternalJavaCheckVerifier' into internal package
- [SONARJAVA-3825] - Drop deprecated methods from API
- [SONARJAVA-3828] - Drop deprecated rules
- [SONARJAVA-3833] - Update tutorial to add support of new LTS SQ 8.9
Improvement
- [SONARJAVA-3777] - Improve S1128 (Unused imports) rule precision by relying on compiler warnings
- [SONARJAVA-3791] - Use jdk 16 for our builds
- [SONARJAVA-3794] - Improve S1905 (Redundant cast) rule precision by relying on compiler warnings
- [SONARJAVA-3806] - Improve S1656 (Self Assignment) rule precision by relying on compiler warnings
- [SONARJAVA-3807] - Improve S4970 (Unreachable Catch) rule precision by relying on compiler warnings
- [SONARJAVA-3840] - Regex rules should support concatenating pattern objects
- [SONARJAVA-3858] - S5838 should support "length()"/"size()" followed by "isPositive()" simplification
- [SONARJAVA-3859] - Update description for 'sonar.java.file.suffixes'
- [SONARJAVA-3860] - Map ECJ Warnings to syntax trees
- [SONARJAVA-3862] - Rework "MethodTree.isOverriding()" to match the contract in case of unknowns in hierarchy
False-Positive
- [SONARJAVA-3822] - S6073 should not report on method invocation arguments that actually return an argument matcher
- [SONARJAVA-3836] - S5786 should not raise issue on a class visibility if it contains public static method(s)
- [SONARJAVA-3844] - Rules targeting tests should work with incomplete semantic
- [SONARJAVA-3845] - Rules targeting unused elements should work with incomplete semantic
- [SONARJAVA-3846] - Rules targeting returns should work with incomplete semantic
- [SONARJAVA-3847] - Rules targeting parameters should work with incomplete semantic
- [SONARJAVA-3848] - Rules targeting types should work with incomplete semantic
- [SONARJAVA-3849] - Rules targeting control flow should work with incomplete semantic
- [SONARJAVA-3850] - Rules targeting class members should work with incomplete semantic
- [SONARJAVA-3851] - Rules targeting methods calls should work with incomplete semantic
- [SONARJAVA-3852] - Rules targeting methods should work with incomplete semantic
- [SONARJAVA-3857] - FP S131 for a switch on an unknown symbol
False Negative
- [SONARJAVA-3841] - FN in S5998 (regex stackoverflow) for possessive quantifiers