Release Notes - SonarJava - Version 6.7
Bug
- [SONARJAVA-3244] - S3065: ClassCastException with implicit type casting
- [SONARJAVA-3311] - SE should correctly handle new class in catch
- [SONARJAVA-3381] - Performance Issue when computing the flow of an expression
Task
- [SONARJAVA-3510] - Update rules metadata
- [SONARJAVA-3512] - Deprecate S4784 in favor of S5852
Improvement
- [SONARJAVA-3026] - S3518 Division by zero on floats and double should not mention ArithmeticException
- [SONARJAVA-3069] - Adapt SE engine to Switch Expressions
- [SONARJAVA-3345] - S3518 (division by zero) should handle BigDecimal and BigInteger
- [SONARJAVA-3484] - Change issue type of S2039 and S2386 to Code Smell
- [SONARJAVA-3493] - Remove ASM dependency
- [SONARJAVA-3494] - Rework S2095 (UnclosedResourceCheck) to remove calls to parent() method
False-Positive
- [SONARJAVA-2060] - FP in S2095 : java.sql.Statement will implicitly close created ResultSets
- [SONARJAVA-3043] - S3655 should not raise an issue when a method doing nothing is called between "isPresent" and "get()"
- [SONARJAVA-3157] - FP on Rule S2637 - issue raised on non-initialized fields
- [SONARJAVA-3186] - SE based rules should not raise when exiting on exception with unknown type
- [SONARJAVA-3187] - S2259 FP on null when called Class.isInstance
- [SONARJAVA-3235] - FP on S3655 when the Optional is a class instance field
- [SONARJAVA-3238] - FP on S1948 when class has multiple bounds in parameter type
- [SONARJAVA-3242] - S5164, S1640: FP when variable is called with qualified name
- [SONARJAVA-3451] - FP in S2095: sessions, producers, and consumers of a closed connection with JMS 2.0.
- [SONARJAVA-3466] - FP S5845(AssertionTypesCheck) AssertJ is able to compare date/time and string
- [SONARJAVA-3495] - FP in S2159 when type compared is Unknown
- [SONARJAVA-3499] - FP on S3749 when using javax.persistence.PersistenceContext
- [SONARJAVA-3508] - FP on S4449 when using Preconditions.checkNotNull(arg) with a @nullable argument
False Negative
- [SONARJAVA-2129] - FN on S2095: java.util.Properties.load(InputStream) should not close the stream passed as parameter
- [SONARJAVA-3447] - FN on S2259 when a method is annotated with spring's annotation @nullable
- [SONARJAVA-3503] - FN on S3052 when the initializer is a cast expression