Bug
- [SONARJAVA-735] - FP S1226/parameter reassigned: Annotation on method with same parameter name as method parameter should not raise an issue
- [SONARJAVA-807] - In some corner cases, the "Architectural Constraint" rule can log some issues on line '0' and this is prohibited by the SonarQube platform
- [SONARJAVA-813] - RedundantTypeCastCheck is not releasing excluded nodes
New Feature
- [SONARJAVA-57] - Make it possible to use rule keys as parameters of the Java annotation @SuppressWarnings
- [SONARJAVA-73] - Rule "Unused private fields" should not log violation on fields having the @Getter (Lombok) and @Produces annotations
- [SONARJAVA-498] - Rule: Constructors should only call final methods
- [SONARJAVA-810] - Rule: S2111 "BigDecimal(double)" should not be used
- [SONARJAVA-811] - Rule: Reflection should not be used to check non-runtime annotations
- [SONARJAVA-812] - Semantic: Symbol metadata should be available in symbol table
- [SONARJAVA-814] - Rule: "wait(...)", "notify()" and "notifyAll()" methods should only be called when a lock is obviously held on an object
- [SONARJAVA-815] - Rule: "Iterator.next()" methods should throw "NoSuchElementException"
- [SONARJAVA-816] - Rule: "wait(...)" should be used instead of "Thread.sleep(...)" when a lock is held
- [SONARJAVA-817] - Rule: "Object.wait(...)" and "Condition.await(...)" should always be called inside a "while" loop
- [SONARJAVA-819] - Rule: S2278 DES (Data Encryption Standard) and DESede (3DES) should not be used
- [SONARJAVA-820] - Rule:S2277 Cryptographic RSA algorithms should always incorporate OAEP (Optimal Asymmetric Encryption Padding)
- [SONARJAVA-822] - Rule: Values passed to LDAP queries should be sanitized
- [SONARJAVA-823] - Rule: ".equals()" should not be used to test the values of "Atomic" classes
- [SONARJAVA-824] - Rule: Short-circuit logic should be used in boolean contexts
- [SONARJAVA-825] - Rule: Values passed to OS commands should be sanitized
- [SONARJAVA-828] - Rule: Printf-style format strings should not lead to any runtime unexpected behavior
- [SONARJAVA-831] - Rule: Classes and methods that rely on the default system encoding should not be used
- [SONARJAVA-832] - Rule: "Cloneables" should implement "clone"
- [SONARJAVA-833] - Rule: Modulus results should not be checked for direct equality
- [SONARJAVA-836] - Rule: S2151 "runFinalizersOnExit" should not be called
- [SONARJAVA-837] - Rule: S2127 "Double.longBitsToDouble" should not be used for "int"
- [SONARJAVA-838] - Rule: Synchronisation should not be based on Strings or boxed primitives
Improvement
- [SONARJAVA-763] - FP S1698/== comparison of object : Parametrized method should have unresolved types
- [SONARJAVA-773] - FP: Unused variables should not raise issue for lambdas parameter
- [SONARJAVA-826] - S1481 / "Unused local variables should be removed" should raise issues on variables which are only assigned
- [SONARJAVA-827] - Rule: "hashCode" and "toString" should not be called on array instances
- [SONARJAVA-829] - Semantic: Method resolution should support autoboxing
- [SONARJAVA-835] - Update misra tags
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.