Skip to content

Releases: SonarSource/sonar-java

7.27.0.33463

20 Oct 14:25
b4ff76a
Compare
Choose a tag to compare

Release notes - SonarJava - 7.27

Bug

SONARJAVA-4658 JavaSonarWayProfile has unsatisfied dependency "ProfileRegistrar"

New Feature

SONARJAVA-4643 Implement S6804: @Value annotation should inject property or SpEL expression

SONARJAVA-4645 Implement S6806: Model attribute Naming Convention for Spring Expression Language (SpEL)

SONARJAVA-4648 Implement S6810: Async methods should return void or Future

SONARJAVA-4649 Implement S6813: Avoid field dependency injection

SONARJAVA-4652 Implement S6809: @Async annotated methods should not be called via "this"

SONARJAVA-4653 Implement S6814: Optional REST parameters should have an object type

Task

SONARJAVA-4661 Update Rules Metadata

Improvement

SONARJAVA-4651 Extend S2230 with @Async annotation

7.26.0.33315

13 Oct 15:02
1df75bb
Compare
Choose a tag to compare

Release notes - SonarJava - 7.26

Sub-task

SONARJAVA-4383 [jakarta support] Include support of migrated javax packages 2/3

SONARJAVA-4388 [jakarta support] Include support of migrated javax packages 3/3

SONARJAVA-4612 [jakarta support] Include support of migrated javax packages 1/3

Task

SONARJAVA-4657 Update rules metadata

Improvement

SONARJAVA-4377 Update rules related to "javax" library to support also "jakarta" - Part 1/2

7.25.0.32245

04 Oct 07:45
cb676af
Compare
Choose a tag to compare

Release notes - SonarJava - 7.25

False-Positive

SONARJAVA-4592 FP on S3518 when the divisor is a non-zero double

Task

SONARJAVA-4607 Expose JavaVersionAwareVisitor via custom rule API

Improvement

SONARJAVA-4570 S106 "Compliant solution" section should give more details about how to configure a "logger".

SONARJAVA-4593 Rule S5689: Change the message

SONARJAVA-4609 [Custom Rules] CheckRegistrar classes can register check instances, default quality profile and AutoScan

7.24.0.32100

18 Aug 16:33
Compare
Choose a tag to compare

Release notes - SonarJava - 7.24

Documentation

SONARJAVA-4463 Add significant example to S2589

SONARJAVA-4495 LayC: review and update as appropriate SonarWay rules

SONARJAVA-4578 LaYC: review and update as appropriate SonarWay rules (loops and iterators)

False-Positive

SONARJAVA-4478 FP for S1948 on annotation "javax.annotation.Resource"

SONARJAVA-4563 S1258: Add "lombok.Builder" to excluded annotations list

False Negative

SONARJAVA-4503 FN on rule S2140 on random floating point numbers cast to long

Task

SONARJAVA-4585 Update rules metadata

Improvement

SONARJAVA-4509 S2438: Provide an actionable issue message

SONARJAVA-4559 Provide a list of impacted files when displaying DEBUG log of unresolved imports/types

SONARJAVA-4574 Issue message of S106 can be more precise and do not need the `or` section

7.23.0.32023

08 Aug 13:39
Compare
Choose a tag to compare

Release notes - SonarJava - 7.23

Bug

SONARJAVA-4477 S1125 quickfix breaking compilation with instanceof

False-Positive

SONARJAVA-1186 Indentation Check (S1120): Block in case of switch statements are not taken into account

SONARJAVA-4007 FP in S1120 with switch expressions

SONARJAVA-4401 FP on Rule S1120 (indentation checking) regarding switch blocks

SONARJAVA-4411 FP S1075 Regex or Pattern are not hardcoded URI

SONARJAVA-4519 FP on S100 when using OSGI annotation `AttributeDefinition`

SONARJAVA-4527 S6204 Collections.reverse(List) is not considered a modification

SONARJAVA-4530 FP on S110 for javafx package

Task

SONARJAVA-4569 Update rules metadata

Improvement

SONARJAVA-4467 Remove deprecation S2039 for Java

SONARJAVA-4528 Lower log level for error messages in ContentHashCache

SONARJAVA-4551 [S3749] Update issue type from vulnerability to code-smell

SONARJAVA-4556 Add a language to the PMD Sensor descriptor

SONARJAVA-4557 Add missing dependencies to Writing Custom Java Rules 101

7.22.0.31918

25 Jul 09:32
c0bb52b
Compare
Choose a tag to compare

Release notes - SonarJava - 7.22

Documentation

SONARJAVA-4490, SONARJAVA-4493, SONARJAVA-4494, SONARJAVA-4496 New Learn as You Code rule descriptions

SONARJAVA-4514 Update Custom rules documentation regarding SQ LTS

False-Positive

SONARJAVA-4180 S6103 should not raise issues on invocations of methods declared outside the file

SONARJAVA-4516 FP on S5411 when non-nullable object is cast to "Boolean"

Task

SONARJAVA-4444 Upgrade sonar-plugin-api to 9.14.0.375 or greater

SONARJAVA-4555 Update rules metadata

7.21.0.31796

19 Jun 16:26
6bf7412
Compare
Choose a tag to compare

Release notes - SonarJava - 7.21

Documentation

SONARJAVA-4482 LayC: review and update as appropriate SonarWay rules (1 of 15)

SONARJAVA-4483 LayC: review and update as appropriate SonarWay rules (2 of 15)

SONARJAVA-4484 LayC: review and update as appropriate SonarWay rules (3 of 15)

SONARJAVA-4485 LayC: review and update as appropriate SonarWay rules (4 of 15)

SONARJAVA-4486 LayC: review and update as appropriate SonarWay rules (5.1 of 15)

SONARJAVA-4487 LayC: review and update as appropriate SonarWay rules (6 of 15)

SONARJAVA-4488 LayC: review and update as appropriate SonarWay rules (7 of 15)

SONARJAVA-4489 LayC: review and update as appropriate SonarWay rules (8.1 of 15)

SONARJAVA-4491 LayC: review and update as appropriate SonarWay rules (10 of 15)

SONARJAVA-4492 LayC: review and update as appropriate SonarWay rules (11 of 15)

SONARJAVA-4506 Rule S1291 (NoSonar) metadata are not up to date and do not follow LayC format

SONARJAVA-4524 Update rules metadata

False-Positive

SONARJAVA-4107 Rule S100 - Underscore in method is acceptable when using SpringData

SONARJAVA-4476 FP for S2629 on record getter methods

SONARJAVA-4497 FP on S2142 when using union types and rethrowing

SONARJAVA-4501 FP on S1149 when overriding a method and using same symbols of the signature within method body

Task

SONARJAVA-4445 Upgrade sonarlint-plugin-api to version 8.15.0.65216 or greater

Improvement

SONARJAVA-4518 Introduce a new Spring Issue Filter to filter out spring-specific cases

7.20.0.31692

30 May 15:34
b40c64f
Compare
Choose a tag to compare

Release notes - SonarJava - 7.20

Bug

SONARJAVA-4233 Constants accessed with member-select create different SV every time when placed in loops

SONARJAVA-4420 S3518 crashes with IndexOutOfBoundsException for certain inputs

False Negative

SONARJAVA-2126 Unboxing of NULL primitive wrapper raises NPE and should be detected by S2259 (NullDereferenceCheck)

SONARJAVA-4475 FN on S2589 when a constant is outside method scope

Task

SONARJAVA-4498 Upgrade sonar-analyzer-commons 2.5.0.1358

SONARJAVA-4499 Update rules metadata

Improvement

SONARJAVA-4097 Stop method SE at the first unknown method call symbol in Autoscan context

SONARJAVA-4286 Support "ZERO" constraints in (hardcoded) method behaviors

SONARJAVA-4423 Symbolic execution rules metadata should be tagged with "symbolic execution"

SONARJAVA-4442 S3518 DivisionByZeroCheck reports misleading secondary locations

7.19.0.31550

02 May 08:34
652aa20
Compare
Choose a tag to compare

Release notes - SonarJava - 7.19

Breaking change: If you are using Java 19+ preview features, now SonarJava does not enable them automatically, you need to set sonar.java.enablePreview=true explicitly.

False Negative

SONARJAVA-4443 Rule S6437: Add jjwt support

New Feature

SONARJAVA-4369 S6485: Hash-based collections with known capacity should be initialized with the proper related static method

SONARJAVA-4464 Add a new "sonar.java.enablePreview" analysis parameter, disabled by default

Task

SONARJAVA-4468 Update rule metadata

Improvement

SONARJAVA-4378 Update ECJ to 3.33.0

7.18.0.31443

17 Apr 09:55
Compare
Choose a tag to compare

Release notes - SonarJava - 7.18

Bug

SONARJAVA-4396 The Java analyzer distinguishes between changed and unchanged in files in PR context

New Feature

SONARJAVA-4433 S6539: Class depends on an excessive number of classes

SONARJAVA-4434 S6541: Methods should not perform too many tasks (Brain method)

SONARJAVA-4440 S6548: Identify Singleton Design Patterns

Task

SONARJAVA-4455 Update Rules Metadata

Improvement

SONARJAVA-4277 Fix S1142 message wording and secondaries