Release notes - SonarJava - 8.10
New Feature
SONARJAVA-5317 S7178: Injecting data into static fields is not supported by Spring
SONARJAVA-5318 S7180: @Cache\*
annotations should only be applied on concrete classes
SONARJAVA-5319 S7184: @Scheduled
annotation should only be applied to no-arg methods
SONARJAVA-5320 S7186: Methods returning "Page" or "Slice" must take "Pageable" as an input parameter
SONARJAVA-5321 S7179: @Cacheable
and @CachePut
should not be combined
SONARJAVA-5322 S7177: @DirtiesContext
should be properly configured
SONARJAVA-5323 S7183: @InitBinder
methods should have void return type
SONARJAVA-5325 S7185: @eventlistener
methods should have one parameter
SONARJAVA-5328 S7190: Methods annotated with @BeforeTransaction
or @AfterTransaction
must respect the contract
False Positive
SONARJAVA-4876 FP in rule S2386 when collection was created with `Stream.toList()`
SONARJAVA-4954 FP in S5838: Don't report when there may be ambiguity
SONARJAVA-5128 S3553 should not report on spring @Autowired
methods
SONARJAVA-5146 S5411 raises false positive within method map of Optional
SONARJAVA-5147 FP S1905 when the type cast expression is used to call "getClass()"
SONARJAVA-5256 FP in rule S2699 on BDDAssertion
SONARJAVA-5262 FP on S2187 with JUnit5 Cucumber runner
SONARJAVA-5273 FP for S125 for Apache 2.0 license header
SONARJAVA-5336 FP in automatic analysis on S1068 with @Getter
on a class
Bug
SONARJAVA-5304 Wrong issue message for S6201 when cast happens in function call
Task
SONARJAVA-5254 Update RSPEC before 8.10 release
SONARJAVA-5259 S5855: Secondary issue locations in `RedundantRegexAlternativesCheckSample` are not checked
SONARJAVA-5270 Prepare for next development iteration 8.10.0-SNAPSHOT
SONARJAVA-5272 Increase CI memory to support new SQS version and prevent OOMKilled
SONARJAVA-5296 Report Java version via addTelemetryProperty().
SONARJAVA-5297 Refactor JavaVersionImpl.fromStrings()
SONARJAVA-5299 Upgrade SonarLintTest ITs to use sonarlint-plugin-api 10.13
SONARJAVA-5303 Fix flaky Windows QA build
SONARJAVA-5309 Replace deprecated Qualifiers API
SONARJAVA-5332 Update README
SONARJAVA-5335 Add IssuableSubscriptionVisitor#reportIssue(startTree, endTree, msg, flow, cost) API
SONARJAVA-5342 Update spotbugs rules
Improvement
SONARJAVA-5324 S6856 : @PathVariable
must have path template placeholder
SONARJAVA-5327 S6809: add support for @Cacheable
Documentation
SONARJAVA-5158 S1598: Improve rule issue message
SONARJAVA-5333 DOC Fix xml link in CUSTOM_RULES_101.md
False Negative
SONARJAVA-5041 S5786 should raise an issue on JUnit5 annotated lifecycle methods with a public modifier