Skip to content

9.4

Compare
Choose a tag to compare
@SonarTech SonarTech released this 20 Jun 08:30
eefdd88

Release 9.4 brings one new rule for C# and four new rules for VB.NET. It also brings improvements by migrating two more rules to the new symbolic execution engine, fixing false positives, and improving memory allocation.

Thanks to @sharwell for his contribution by reporting 7438.
Thanks to @Corniel for his contribution by implementing new rule S2925 in 7342.

New Rules

  • 7305 - [VB.NET] New rule S3966: Objects should not be disposed more than once
  • 7304 - [VB.NET] New rule S1944: Invalid casts should not be made
  • 7303 - [VB.NET] New rule S4158: Empty collections should not be accessed or iterated
  • 7342 - [C#, VB.NET] New Rule: S2925 Do not use Thread.Sleep() in a test

Improvements

  • 7302 - [C#] Migrate S3966 to the new Symbolic Execution engine
  • 7300 - [C#] Migrate S4158 to the new Symbolic Execution engine
  • 7301 - [C#] Improve S1944: Rule now detects more issues
  • 7322 - [C#] Symbolic Execution: Learn NotNull from ??= for nullable types
  • 7267 - [C#, VB.NET] Symbolic Execution: Add BinaryOperation for literals: division, remainder, xor
  • 7435 - [C#] Improve S4635: Update issue message
  • 7365 - [C#] Improve S2198: Update issue message
  • 7337 - Update RSPEC before 9.4 release

False Positives

  • 4261 - [C#] Fix S4158 FP: When a collection was filled by using delegates
  • 2147 - [C#] Fix S4158 FP: Variable instance mismatch
  • 7308 - [C#] Fix S3655 FP: Recognize ??= for nullable types
  • 6179 - [C#, VB.NET] Fix S4158 FP: When the collection was filled during for loops, was reported to be empty

Performance

  • 7438 - Memory allocation improvement: HasMatchingScope should not allocate a new delegate on every call