github SonarSource/sonar-java 8.45.0.59462

8 hours ago

Release notes - SonarJava - 8.45

Feature

SONARJAVA-4606 S7158: Simplify checks for empty/not-empty and blank/not-blank strings
SONARJAVA-6410 Create SpringContextModel and related classes: big feature come to life. Includes creating new rule S9352 and improving existing rule S4605, as well as sending telemetry.
SONARJAVA-6419 Change existing Visitor for S4605 to work for cross-module case
SONARJAVA-6421 Implement new rule S9352 "Use @qualifier or @primary to resolve autowiring ambiguity" for cross-module case
SONARJAVA-7006 Record telemetry about Spring usage
SONARJAVA-7043 Create rule S9412: "Collections.sort()" should not be used
SONARJAVA-7070 Create rule S9413: Redundant "String.format" should be removed when native formatting is available
SONARJAVA-7097 Remove S9397 from SonarWay
SONARJAVA-7151 Add S1314 in SonarWay
SONARJAVA-7152 Add S1695 to SonarWay "NullPointerException" should not be thrown manually
SONARJAVA-7153 Create rule S9427: Java assert statements should not be used in test code
SONARJAVA-7154 Create rule S9428: MessageDigest instances should not be stored as fields
SONARJAVA-7155 Create rule S9433: Literals should not be converted to strings using empty string concatenation
SONARJAVA-7161 Create rule S9434: Qualified "this" should not be used when the unqualified form is enough
SONARJAVA-7162 Create rule S9435: Ternary operator conditions should not be negated
SONARJAVA-7163 Create rule S9436: Classes should not declare more than one logger
SONARJAVA-7164 Create rule S9437: "getInstance()" methods should not return a new instance on every call
SONARJAVA-7167 Create rule S9438: Private fields that are never reassigned after construction should be declared "final"
SONARJAVA-7170 Create rule S9439: Array initializers should use the shorthand form instead of an explicit "new" array creation
SONARJAVA-7182 Replace the streams that cause most allocations in Sonar Java with loops
SONARJAVA-7189 Avoid allocating capturing lambdas in JSema on cache hits

False Positive

SONARJAVA-6438 S4790: do not raise when a weak-hash digest is fed bytes read from a file-like source
SONARJAVA-7073 S2077: Don't flag SQL built with Class#getName()/getSimpleName()/getCanonicalName()/getTypeName() as dynamically formatted
SONARJAVA-7213 S5128 FP: @Valid on an overridden interface method parameter is ignored

False Negative

SONARJAVA-6461 S2245 heuristic: identifier tokenizer misses digit-suffixed crypto acronyms
SONARJAVA-7188 FN java:S7158: length() == 0x0 not detected, only decimal length() == 0

Maintenance

SONARJAVA-6365 Explore better testing solutions
SONARJAVA-6899 Onboard sonar-java onto the PVF
SONARJAVA-6976 Clear check state after file analysis
SONARJAVA-7061 Update SonarSource/sonar-scanner-engine monorepo to v13.14.0.6149
SONARJAVA-7062 Update dependency jdx/mise to v2026.9.12
SONARJAVA-7063 Update SonarSource/parent-oss monorepo to v12
SONARJAVA-7066 Update dependency de.thetaphi:forbiddenapis to v3.11
SONARJAVA-7067 Update astral-sh/setup-uv action to v10.2.0
SONARJAVA-7068 Update dependency org.slf4j:slf4j-api to v2.0.20
SONARJAVA-7078 Update dependency org.sonarsource.parent:parent to v88
SONARJAVA-7082 Update dependency com.sonarsource.scanner.integrationtester:sonar-scanner-integration-tester to v1.2.0.1354
SONARJAVA-7084 Update mockito/mockito monorepo to v5.24.0
SONARJAVA-7086 Update SonarSource/parent-oss monorepo to v12.0.1.87460
SONARJAVA-7088 Filter unskippable scanners in incremental analysis by dependency version
SONARJAVA-7089 Do not throw exception on cache misses in checks
SONARJAVA-7092 Update dependency jdx/mise to v2026.9.13
SONARJAVA-7093 Update qos-ch/logback monorepo to v1.6.4
SONARJAVA-7096 Fix the QG: replace Collections.sort with List.sort
SONARJAVA-7098 Update SonarSource/parent-oss monorepo to v12.0.2.87499
SONARJAVA-7100 Update dependency jdx/mise to v2026.9.14
SONARJAVA-7101 Update dependency org.apache.commons:commons-lang3 to v3.21.0
SONARJAVA-7102 Update SonarSource/sonar-plugin-api monorepo to v14.1.0.5543
SONARJAVA-7114 Drop pluginApiMinVersion
SONARJAVA-7115 Update dependency jdx/mise to v2026.9.15
SONARJAVA-7116 Update dependency com.sonarsource.scanner.integrationtester:sonar-scanner-integration-tester to v1.3.0.1396
SONARJAVA-7121 Update dependency jdx/mise to v2026.9.16
SONARJAVA-7124 Update jdx/mise-action action to v5
SONARJAVA-7125 Update dependency com.google.guava:guava to v33.7.2-jre
SONARJAVA-7128 Update dependency jdx/mise to v2026.9.17
SONARJAVA-7129 Update SonarSource/sonar-scanner-engine monorepo to v13.15.0.6376
SONARJAVA-7130 Update SonarSource/sonarqube monorepo to v26.10.0.132816
SONARJAVA-7131 Update dependency jdx/mise to v2026.9.18
SONARJAVA-7133 Update qos-ch/logback monorepo to v1.6.5
SONARJAVA-7135 Update jdx/mise-action action to v5.0.1
SONARJAVA-7141 Update dependency jdx/mise to v2026.10.0
SONARJAVA-7144 Update jdx/mise-action action to v5.1.0
SONARJAVA-7146 Add mandatory rule delivery workflow to the new-rule skill
SONARJAVA-7147 Update SonarSource/parent-oss monorepo to v12.1.0.87730
SONARJAVA-7149 Update jdx/mise-action action to v5.1.1
SONARJAVA-7168 Update SonarSource/sonarqube monorepo to v26.10.0.133078
SONARJAVA-7169 Update actions/upload-artifact action to v7.0.2
SONARJAVA-7172 Update dependency org.apache.tomcat.embed:tomcat-embed-jasper to v9.0.123
SONARJAVA-7179 Update dependency com.tngtech.archunit:archunit-junit5 to v1.5.1
SONARJAVA-7180 Tighten new-rule skill on samples, tests and implementation
SONARJAVA-7181 Fix the quality gate
SONARJAVA-7184 Update SonarSource/parent-oss monorepo to v12.1.1.87771
SONARJAVA-7185 Update SonarSource/sonar-plugin-api monorepo to v14.2.0.5584
SONARJAVA-7186 Set contents rights to 'write' in the unified dogfooding workflow
SONARJAVA-7190 Update dependency org.sonarsource.orchestrator:sonar-orchestrator-junit4 to v6.4.4.4797
SONARJAVA-7191 Update astral-sh/setup-uv action to v10.3.0
SONARJAVA-7198 Update dependency com.sonarsource.scanner.integrationtester:sonar-scanner-integration-tester to v1.4.0.1402
SONARJAVA-7201 Update jdx/mise-action action to v5.1.2
SONARJAVA-7214 Update SonarSource/sonar-scanner-engine monorepo to v13.16.0.6705
SONARJAVA-7216 Update dependency com.sonarsource.scanner.integrationtester:sonar-scanner-integration-tester to v1.5.0.1412
SONARJAVA-7217 Update jdx/mise-action action to v5.2.0
SONARJAVA-7220 Fix the quality gate
SONARJAVA-7221 Replace lambda with a method reference
SONARJAVA-7222 Fix S9434 and S9435 issues
SONARJAVA-7223 Invert negated ternary conditions in OctalValuesCheck permission bits

Don't miss a new sonar-java release

NewReleases is sending notifications on new releases.