Skip to content

Releases: SonarSource/sonar-dotnet

10.20

25 Feb 12:36

Choose a tag to compare

This release brings 9 precision improvements β€” 7 false positive fixes and 2 false negative fixes β€” across rules S1116, S1144, S1210, S1643, S1854, S2365, S3254, S3265, and S127. It also promotes S2068 and S6418 from Security Hotspot to Vulnerability, making them visible directly in the IDE, and removes S3256 from the Sonar Way quality profile.

Changes

  • NET-3227 - Remove S3256 from "Sonar Way" quality profile
  • NET-3208 - S6418: Rule type changed from Security Hotspot to Vulnerability
  • NET-3207 - S2068: Rule type changed from Security Hotspot to Vulnerability
  • NET-3206 - Remove links to rules.sonarsource.com

False Positive

  • NET-3215 - Fix FP on S127: Should only raise on stop condition variables
  • NET-3212 - Fix FP on S3254: Don't raise if the parameter isn't last
  • NET-3053 - Fix FP on S1210: Implementing comparable operators for private types
  • NET-2984 - Fix FP on S3265: BCL enums with [Flags] not recognized due to metadata resolution
  • NET-2976 - Fix FP on S1854: Default value initializations flagged despite exemptions
  • NET-2966 - Fix FP on S1144: Constructors in MEF-exported types
  • NET-2956 - Fix FP on S1116: Empty loop body with side effects in condition

False Negative

  • NET-1261 - Fix FN on S2365: Rule should report on new collection
  • NET-1259 - Fix FN on S1643: Concatenation for parameters, fields and properties are not detected

Rule specification

Maintenance

  • NET-3047 - Update RSPEC before 10.20 release

10.19

30 Jan 10:31

Choose a tag to compare

Documentation

False Positive

  • NET-3004 - Fix S2696 FP: New extension method format triggers FP when accessing static fields

False Negative

Task

  • NET-2948 - Update RSPEC before 10.19 release

Bug

  • NET-1866 - Support future VS versions in NuGet package

10.18

08 Jan 10:19

Choose a tag to compare

This releases focuses on fixing the false-positives that are raised on code making use of the new features in C# 14.ο»Ώ

Improvement

  • NET-2921 - Fix passthrough calculation in ModelBuilder
  • NET-2903 - Remove manual extension methods
  • NET-2895 - Cleanup handling of ParameterList of primary constructors

Task

  • NET-2917 - Update RSPEC before 10.18 release

False Positive

False Negative

10.17

17 Dec 15:31

Choose a tag to compare

False Negative

Task

  • NET-2839 - Update RSPEC before 10.17 release

New Feature

  • NET-2820 - ShimLayer: Implement Factory
  • NET-2789 - ShimLayer Generator: Enums
  • NET-2728 - ShimLayer Generator: SyntaxNodes

Bug

  • NET-2816 - Fix S3603 AD0001: NRE when LocalFunction inside Record constructor in C#7

Improvement

10.16.2

05 Dec 15:35

Choose a tag to compare

Rotations of binary signing keys

10.16.1

03 Dec 09:19

Choose a tag to compare

Rotations of binary signing keys

10.16

26 Nov 07:44

Choose a tag to compare

False Positive

  • NET-1729 - Fix S2114 FP: list.AddRange(list) and list.Concat(list) are sensible

False Negative

  • NET-399 - Fix S4790 FN: Support CryptographicOperations data methods

Bug

10.15

22 Jul 15:24

Choose a tag to compare

False Positive

  • NET-2198 - Fix S1905 FP: Cast of default! expression is required
  • NET-2197 - Fix S1905 FP: stackalloc and Span conversions
  • NET-1641 - Fix S1905 FP: casting IEnumerable<string?> to IEnumerable<string>
  • NET-2157 - Fix S2589 FP: Don't raise an issue after a delegate is invoked
  • NET-2073 - Fix S2699 FP: Add support for FsCheck property tests
  • NET-1537 - Fix S6964 FP: Don't raise on properties annotated with the BindRequiredAttribute

Improvement

  • NET-2112 - Consider ExplodedNodes relevant if a successor would be relevant
  • NET-2183 - SE: Set constraint on operation when learning from IsPattern

False Negative

Task

  • NET-2208 - Update RSpec before release

10.14

16 Jul 13:55

Choose a tag to compare

Hey everyone,

This release mostly focuses on mitigating (NET-2196) a performance regression that was introduced in 10.13.

Improvement

  • NET-2196 - Fix path algorithm for execution flows to mitigate performance regression
  • NET-2177 - Improve how the Symbolic Execution engine handles exception paths
  • NET-2135 - Support xUnit V3
  • NET-2163 - Provide Interface for other plugins to add rules to VB.NET SonarWay profile

False Negative

  • NET-235 - Fix S2053: Adjust required salt length to be 32 bytes

Task

  • NET-2170 - Update RSPEC before 10.14 release

10.13

09 Jul 12:56

Choose a tag to compare

Hello everyone,
ο»Ώ
In this release, we've focused on:

  • False positive fixes
  • Enhancing S2259's secondary locations to provide clearer, step-by-step explanations of null pointer dereferences issues.

False Positives

  • NET-2099 - Fix S3885 FP: Do not raise in ResolutionEventHandler
  • NET-2023 - Fix S3257 FP: Array with target-typed new
  • NET-1646 - Fix S3267 FP: Loops should be simplified with LINQ expressions
  • NET-1588 - Fix S1066 FP: Combination of dynamic and out should not raise
  • NET-882 - Fix S3257 FP: Don't raise for C# 10 and later when there's explicit delegate creation

Improvements

  • NET-2095 - Improve incremental PR analysis path detection
  • SE: S2259 - Improve secondary locations