Skip to content

Releases: SonarSource/sonar-java

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

7.35.0.36271

04 Jun 14:11
3842ec9
Compare
Choose a tag to compare

Release notes - SonarJava - 7.35

Task

SONARJAVA-4951 Replace InternalCheckVerifier with JavaCheckVerifier

SONARJAVA-4974 Update custom rule documentation with new CheckVerifier API

SONARJAVA-5021 Update Rules Metadata

Improvement

SONARJAVA-4988 Use SonarLintCache component and make it accessible to custom rules via the caching APIs

7.34.0.35958

24 Apr 13:17
a84a68d
Compare
Choose a tag to compare

Release notes - SonarJava - 7.34

Bug

SONARJAVA-4934 On-demand plugin downloading ignore jsp files

False-Positive

SONARJAVA-4520 Rule S3655: False Positive with JUnit assertions

SONARJAVA-4529 FP on rule S3740 when instanceof with variable is used on raw types

SONARJAVA-4699 FP on S3516 when calling a method using objects from "unknown" packages

SONARJAVA-4741 FP on S6857 for special default values in property placeholders

SONARJAVA-4933 FP on S1068 with lombok @DaTa, @Getter, @Setter annotations

SONARJAVA-4937 FP on S1118 when using Lombok generated constructors with private access

SONARJAVA-4943 FP on S1144 if private method is referenced by name in annotations

SONARJAVA-4944 FP on S2699 on SpringBoot sanity test "contextLoads"

Task

SONARJAVA-4936 Allow rules to analyze both main and test code

SONARJAVA-4952 Update Rules Metadata

SONARJAVA-4953 Update External Linters Metadata

SONARJAVA-4956 Update parent pom

Improvement

SONARJAVA-4935 S1192 should not report on individual lines of multi line string literal

SONARJAVA-4939 Enable batch of rules for tests (1/3)

SONARJAVA-4940 Enable batch of rules for tests (2/3)

SONARJAVA-4941 Enable batch of rules for tests (3/3)

SONARJAVA-4942 [S6437] Update list of affected method signatures