Skip to content

9.1

Compare
Choose a tag to compare
@SonarTech SonarTech released this 25 May 15:01
48001c5

Release 9.1 brings a set of rules that help users avoid performance pitfalls.

New Rules

  • 7132 - [C#] New rule S6618: "string.Create" should be used instead of "FormattableString"
  • 7131 - [C#, VB.NET] New rule S6617: "Contains" should be used instead of "Any" for simple equality checks
  • 7129 - [C#, VB.NET] New rule S6613: "First" and "Last" properties of "LinkedList" should be used instead of the "First()" and "Last()" extension methods
  • 7128 - [C#, VB.NET] New rule S6612: The lambda parameter should be used instead of capturing arguments in "ConcurrentDictionary" methods
  • 7127 - [C#, VB.NET] New rule S6610: "StartsWith" and "EndsWith" overloads that take a "char" should be used instead of the ones that take a "string"
  • 7126 - [C#, VB.NET] New rule S6609: "Min/Max" properties of "Set" types should be used instead of the "Enumerable" extension methods
  • 7125 - [C#, VB.NET] New rule S6608: Indexing should be used instead of "Enumerable" methods on types implementing "IList"
  • 7124 - [C#, VB.NET] New rule S6607: The collection should be filtered before sorting by using "Where" before "OrderBy"
  • 7123 - [C#, VB.NET] New rule S6605: Collection-specific "Exists" method should be used instead of the "Any" extension
  • 7122 - [C#, VB.NET] New rule S6603: The collection-specific "TrueForAll" method should be used instead of the "All" extension
  • 7121 - [C#, VB.NET] New rule S6602: "Find" method should be used instead of the "FirstOrDefault" extension

Improvements

  • 7197 - [VB.NET] Improve S2302 Message: Use NameOf for VB.NET
  • 7133 - [C#] Extend S3260 to include file access modifier on types

Bug Fixes

  • 7134 - [C#] Fix AD0001 in S138: NullReferenceException

False Negative

  • 2528 - [C#] FPs and FNs in the Symbolic Execution rules when null coalescing is combined with arithmetic expressions because we do not support constraints on integers