Skip to content

Releases: SonarSource/sonar-java

8.8.0.37665

17 Dec 13:37
9a0ad8e
Compare
Choose a tag to compare

Release notes - SonarJava - 8.8

False Positive

SONARJAVA-4093 S3252 should not raise issues on access to static members that are declared in inaccessible classes

SONARJAVA-4260 S2699 should not raise issues on RestAssured assertions

SONARJAVA-4263 FP on S2325 when method requires type parameter from parent class

SONARJAVA-4424 FP S2187 expecting TestNG annotated classes to have public test methods

SONARJAVA-4436 FP on rule S2095 when using @lombok.cleanup

SONARJAVA-4446 FP on S2187 for subclasses of test classes

SONARJAVA-4973 S1118 should not raise on classes annotated with `@UtilityClass` when semantic is incomplete

SONARJAVA-5134 FP S2245 - Identification of Commons Lang `RandomStringUtils.secure()` as safe

SONARJAVA-5149 FP S1075 should not raise issues when the an uri is a suffix

SONARJAVA-5185 S2201:FP Optional.orElseThrow has side effect

SONARJAVA-5236 [S6437] passwordParameter not a password

Task

SONARJAVA-5223 Update RSPEC before 8.8 release

SONARJAVA-5225 Prepare next development iteration 8.8

SONARJAVA-5237 Bump orchestrator to version 5.1.0.2254

Improvement

SONARJAVA-5216 S1871 Consider variable identity when testing branch equivalence.

SONARJAVA-5221 QuickFix for S7158 (String.isEmpty() instead of length check).

Sub-task

SONARJAVA-5241 Support .withoutSemantic() mode in FilterVerifier

Documentation

SONARJAVA-5029 S1190: Update Compliant solution comment

SONARJAVA-5036 S3749: Update rule description to add "@resource" from package jakarta.annotation

Bug

SONARJAVA-5239 Remove obsolete Test using deprecated metric "function_complexity_distribution"

8.7.0.37452

29 Nov 14:04
Compare
Choose a tag to compare

Release notes - SonarJava - 8.7

New Feature

SONARJAVA-5181 Implement S7158: String.isEmpty() should be used to test for emptiness

Task

SONARJAVA-5178 Update RSPEC before 8.7 release

SONARJAVA-5183 Prepare for next development iteration 8.7.0-SNAPSHOT

SONARJAVA-5186 Improve Test Code Support Part 3

Improvement

SONARJAVA-4983 Improve debug logging of incremental analysis behavior and custom rules

SONARJAVA-5184 S5411 triggered on generic type parameters

SONARJAVA-5189 Update to SONAR Source-Available License v1.0 (SSALv1)

SONARJAVA-5191 Enable S1612 on All code

SONARJAVA-5192 Enable S1640 on All code

SONARJAVA-5193 Enable S1643 on All code

SONARJAVA-5194 Enable S1656 on All code

SONARJAVA-5195 Enable S1710 on All code

SONARJAVA-5196 Enable S1751 on All code

SONARJAVA-5197 Enable S1849 on All code

SONARJAVA-5198 Enable S1858 on All code

SONARJAVA-5199 Enable S1862 on All code

SONARJAVA-5200 Enable S1871 on All code

SONARJAVA-5201 Enable S1872 on All code

SONARJAVA-5202 Enable S1940 on All code

SONARJAVA-5203 Enable S1994 on All code

SONARJAVA-5204 Enable S2093 on All code

SONARJAVA-5205 Enable S2130 on All code

SONARJAVA-5206 Enable S2133 on All code

SONARJAVA-5207 Enable S2140 on All code

SONARJAVA-5208 Enable S2147 on All code

SONARJAVA-5209 Enable S2153 on All code

SONARJAVA-5210 Enable S2154 on All code

SONARJAVA-5211 Enable S2168 on All code

SONARJAVA-5212 Enable S2178 on All code

SONARJAVA-5213 Enable S2183 on All code

SONARJAVA-5214 Enable S2185 on All code

SONARJAVA-5224 Update checkstyle issue mapping

8.6.0.37351

15 Nov 09:48
98ac462
Compare
Choose a tag to compare

Release notes - SonarJava - 8.6

Bug

SONARJAVA-5015 Improve the tolerance to syntax errors when parsing switch expressions

Documentation

SONARJAVA-5179 Improve Javadoc in MethodMatchers.java

Task

SONARJAVA-5167 Bump org.springframework.security:spring-security-web from 6.2.3 to 6.2.7 in /java-checks-test-sources/spring-3.2

SONARJAVA-5173 Fix broken docs for SQ_10_6.

SONARJAVA-5182 Update rule metadata with new code impacts

8.5.0.37199

15 Oct 10:15
f99ad5a
Compare
Choose a tag to compare

Release notes - SonarJava - 8.5

Documentation

SONARJAVA-5144 Update Custom rules documentation regarding Testing

New Feature

SONARJAVA-4544 Support @org.jspecify.annotations.Nullable and @org.jspecify.annotations.NonNull in existing nullability checks

SONARJAVA-4545 Support @org.jspecify.annotations.NonNull in existing nullability checks

SONARJAVA-4546 Support @org.jspecify.annotations.NullMarked in existing nullability checks up to Package Level

SONARJAVA-4547 Rule S6665: Redundant nullability annotations check

Sub-task

SONARJAVA-5083 Add unit test samples for Java 22 unnamed variables and patterns

SONARJAVA-5084 Identify the rules affected by the unnamed variables and patterns feature (i.e. unused parameter)

SONARJAVA-5085 Review the Java 22 JEP impact on existing rules

Task

SONARJAVA-5148 Update rules metadata

Improvement

SONARJAVA-4462 Add a QuickFix for S6485

SONARJAVA-5138 [Support Java 22] Update Eclipse Compiler for Java 3.39.0

8.4.0.37032

27 Sep 15:14
a4e418b
Compare
Choose a tag to compare

Release notes - SonarJava - 8.4

Bug

SONARJAVA-4262 S1226 should fail its analysis because the CFG builder cannot recover the yield argument

SONARJAVA-4480 Bug in rule S1066 quickfix: preserve conditional logic when collapsing if by using parentheses

SONARJAVA-4950 S6204: IndexOutOfBoundsException when lombok.val is used

SONARJAVA-4961 S6916: Quickfix suggesting to merge single if into existing pattern guard does not take operators precedence into account

SONARJAVA-4963 Line and column positions are wrong after text blocks using '\' line continuations

SONARJAVA-5059 S6901: ClassCastException when certain thread-related methods are called on `this`

SONARJAVA-5080 S1659: Quickfix breaks syntax when multiple arrays are declared

Documentation

SONARJAVA-5020 Clarify documentation about sonar.java.skipUnchanged (need to notify doc team)

False-Positive

SONARJAVA-3829 S2629 should not report when log level is enabled

SONARJAVA-3882 Don't complain about ImmutableSet.of and ImmutableMap.of in S4738

SONARJAVA-3970 Rule S1989 should consider tokens as case sensitive

SONARJAVA-4022 FP S5960 when analyzing package containing ".it."

SONARJAVA-4061 S2226 should ignore fields assigned in `init` method

SONARJAVA-4238 S2924 should not report on non-private rules declared inside of abstract classes

SONARJAVA-4287 S3012 has a false positive when using either auto boxing or auto unboxing

SONARJAVA-5058 S1144: FP when encountering nested class's private method without semantics

SONARJAVA-5079 S6857 FP when SpEL don't have "#{...}"

SONARJAVA-5089 FP in S1312 for interfaces

SONARJAVA-5091 FP in S6813 when Quarkus is used

SONARJAVA-5096 S1764: FP on expressions with side-effects

SONARJAVA-5098 FP in S3457 when using strings involving \\n

SONARJAVA-5099 FP on S1144 if @MethodSource is used without arguments

SONARJAVA-5115 FP in S5803: issue should not be raised when (otherwise = androidx.annotation.VisibleForTesting.PROTECTED) is specified

SONARJAVA-5116 java:S1105 sometimes falsely requests the curly brace to be moved to the previous line

False Negative

SONARJAVA-5120 S1182: Super call that are not directly in the scope of the method are wrongly taken into account

Task

SONARJAVA-5114 Undo deprecation of SE rules

SONARJAVA-5135 Update rules metadata

Improvement

SONARJAVA-5111 S5838 Improve quickfix to suggest "isEmpty()" when assert is called with "size()" and "isEqualTo(0)"

SONARJAVA-5126 S6916 should not raise when there is a default clause

8.3.0.36747

02 Sep 12:49
2615792
Compare
Choose a tag to compare

Release notes - SonarJava - 8.3

Task

SONARJAVA-5102 Remove rules superseded by DBD implementations from Sonar way

8.2.0.36672

12 Aug 12:31
62f9087
Compare
Choose a tag to compare

Release notes - SonarJava - 8.2

New Feature

SONARJAVA-5095 Add STIG metadata support

8.1.0.36477

26 Jun 14:28
6aee51b
Compare
Choose a tag to compare

Release notes - SonarJava - 8.1

Documentation

SONARJAVA-5050 Update rule metadata with correct scope

Task

SONARJAVA-5055 Update Rules Metadata

Improvement

SONARJAVA-5045 Enable batch of rules for test 1/3 part 2

SONARJAVA-5046 Enable batch of rules for test 2/3 part 2

SONARJAVA-5047 Enable batch of rules for test 3/3 part 2

SONARJAVA-5049 Generate CheckList during build time

8.0.1.36337

12 Jun 15:24
Compare
Choose a tag to compare

Release notes - SonarJava - 8.0.1

Task

SONARJAVA-5032 Rename SE plugin

8.0.0.36314

06 Jun 14:49
0d651bf
Compare
Choose a tag to compare

Release notes - SonarJava - 8.0

Task

SONARJAVA-4975 Create custom rules plugin around symbolic execution engine