Release Notes - SonarJava - Version 7.3
Sub-task
- [SONARJAVA-3909] - Add quick fixes for S1481 (UnusedLocalVariableCheck)
- [SONARJAVA-3910] - Add quick fixes for S2293 (DiamondOperatorCheck)
- [SONARJAVA-3911] - Add quick fixes for S1155 (CollectionIsEmptyCheck)
- [SONARJAVA-3913] - Add quick fixes for S1130 (RedundantThrowsDeclarationCheck)
- [SONARJAVA-3915] - Add quick fixes for S1124 (ModifiersOrderCheck)
- [SONARJAVA-3916] - Add quick fixes for S1128 (UselessImportCheck)
- [SONARJAVA-3917] - Add quick fixes for S1161 (OverrideAnnotationCheck)
- [SONARJAVA-3918] - Add quick fixes for S1186 (EmptyMethodsCheck)
- [SONARJAVA-3919] - Add quick fixes for S5786 (JUnit5DefaultPackageClassAndMethodCheck)
- [SONARJAVA-3921] - Add quick fixes for S1905 (RedundantTypeCastCheck)
- [SONARJAVA-3922] - Add quick fixes for S3415 (AssertionArgumentOrderCheck)
- [SONARJAVA-3923] - Add quick fixes for S1068 (UnusedPrivateFieldCheck)
- [SONARJAVA-3925] - Add quick fixes for S1197 (ArrayDesignatorOnVariableCheck)
- [SONARJAVA-3926] - Add quick fixes for S1125 (BooleanLiteralCheck)
- [SONARJAVA-3927] - Add quick fixes for S3252 (StaticMemberAccessCheck)
- [SONARJAVA-3928] - Add quick fixes for S1319 (CollectionImplementationReferencedCheck)
- [SONARJAVA-3929] - Add quick fixes for S1172 (UnusedMethodParameterCheck)
- [SONARJAVA-3930] - Add quick fixes for S1612 (ReplaceLambdaByMethodRefCheck)
- [SONARJAVA-3931] - Add quick fixes for S1168 (ReturnEmptyArrayNotNullCheck)
- [SONARJAVA-3933] - Add quick fixes for S5411 (BoxedBooleanExpressionsCheck)
- [SONARJAVA-3934] - Add quick fixes for S1144 (UnusedPrivateMethodCheck)
- [SONARJAVA-3939] - Add quick fixes for S1116 (EmptyStatementUsageCheck)
- [SONARJAVA-3940] - Add quick fixes for S1858 (StringToStringCheck)
- [SONARJAVA-3941] - Add quick fixes for S1659 (OneDeclarationPerLineCheck)
- [SONARJAVA-3942] - Add quick fixes for S2209 (StaticMembersAccessCheck)
- [SONARJAVA-3943] - Add quick fixes for S5838 (AssertJChainSimplificationCheck)
- [SONARJAVA-3944] - Add quick fixes for S2325 (StaticMethodCheck)
- [SONARJAVA-3945] - Add quick fixes for S1107 (RightCurlyBraceSameLineAsNextBlockCheck)
- [SONARJAVA-3946] - Add quick fixes for S1488 (ImmediatelyReturnedVariableCheck)
- [SONARJAVA-3948] - Add quick fixes for S2153 (ImmediateReverseBoxingCheck)
- [SONARJAVA-3949] - Add quick fixes for S2446 (NotifyCheck)
- [SONARJAVA-3950] - Add quick fixes for S2200 (CompareToResultTestCheck)
- [SONARJAVA-3951] - Add quick fixes for S5164 (ThreadLocalCleanupCheck)
- [SONARJAVA-3952] - Add quick fixes for S2111 (BigDecimalDoubleConstructorCheck)
- [SONARJAVA-3955] - Add quick fixes for S4973 (CompareStringsBoxedTypesWithEqualsCheck)
- [SONARJAVA-3958] - Add quick fixes for S3984 (UnusedThrowableCheck)
- [SONARJAVA-3960] - Extends CheckVerifier to support testing of Quick-fixes
- [SONARJAVA-3961] - Add quick fixes for S3986 (DateFormatWeekYearCheck)
- [SONARJAVA-3962] - Add quick fixes for S3020 (ToArrayCheck)
- [SONARJAVA-3998] - Add quick fixes for S1195 (ArrayDesignatorAfterTypeCheck)
Bug
- [SONARJAVA-3969] - CheckVerifier expect too many issues when a //Noncompliant comment is placed after a multi-variable declaration
- [SONARJAVA-3990] - S1120 should not crash on code containing line breaking control characters
- [SONARJAVA-3993] - S6073 should not produce a NullPointerException when trying to read the body of an abstract method
- [SONARJAVA-4003] - Fix Deadlock on ProgressMonitor
New Feature
- [SONARJAVA-3854] - Rule S5329: Collection constructors should not be used as java.util.function.Function
- [SONARJAVA-3906] - Quick fixes for CODE SMELLS requiring trivial changes without compilation impact
- [SONARJAVA-3936] - Quick fixes for BUGS requiring trivial changes without compilation impact
Task
- [SONARJAVA-4004] - Extend QuickFixHelper with nextVariable and previousVariable
- [SONARJAVA-4005] - Update rules metadata
- [SONARJAVA-4006] - Update SonarLint core version to use the new version of the API
Improvement
- [SONARJAVA-3864] - Missing arguments in Deprecated annotation should be reported in its own rule
- [SONARJAVA-3867] - S2479 Add a flag to allow tabs in string literals
- [SONARJAVA-3881] - Change message of S3655 to mention isEmpty and improve rule description
- [SONARJAVA-3907] - Add support for SonarLint quick fixes in the Java analyzer
- [SONARJAVA-3947] - Typo in S6216 issue description
- [SONARJAVA-3965] - Provide a new extensible API for issue reporting
- [SONARJAVA-3989] - Remove overlap between S2638 and S4454 with "nonnull" argument of "equals" method
- [SONARJAVA-4001] - Compute the end position of multi-line token only once
- [SONARJAVA-4002] - S1659 should report only one issue per line
False-Positive
- [SONARJAVA-3905] - FP in S1123 when additional javadoc is present
- [SONARJAVA-3964] - S1612 should not suggest method reference casting when the type is a primitive
- [SONARJAVA-3967] - S2127 should not report an issue when the symbol is unknown
- [SONARJAVA-3986] - FP in S2583 with Java 16 pattern matching
- [SONARJAVA-3991] - S6212 should not suggest using "var" when the initializer is an array initializers
- [SONARJAVA-3996] - FP S2200(CompareToResultTestCheck) for unusual zero literal
- [SONARJAVA-4009] - FP in S2129 with anonymous classes
False Negative
- [SONARJAVA-4000] - S1168 (ReturnEmptyArrayNotNullCheck) should also cover Maps