Releases: SonarSource/sonar-dotnet
Releases Β· SonarSource/sonar-dotnet
10.22
Hello everyone,
This release brings 4 new rules to help developers transition to C# 14, and a bunch of false positive fixes.
New rules
- NET-3361 - New rule S8381: "scoped" should be escaped when used as a type name in lambda parameters
- NET-3359 - New rule S8368: "extension" identifiers should be escaped to avoid contextual keyword conflicts
- NET-3347 - New rule S8380: Return types named "partial" should be escaped with "@"
- NET-3345 - New rule S8367: Identifiers should not conflict with the "field" keyword in C# 14?
False Positive
- NET-3443 - Fix S1940 FP: for floating point numbers that can be NaN "!(a <= b)" is not the same as "a > b"
- NET-3001 - Fix S3063 FP: Concatenation with identifier
- NET-1569 - Fix S5944 FP: AddressOf(MethodName) in Return statement
- NET-3445 - Fix T0029 FP: Inside target-typed new
- NET-2817 - Fix T0029 FP: Ident for collection expression members
- NET-2024 - Fix T0029 FP: Inside array initializer
- NET-3341 - Fix T0029 FP: After member access
- NET-3462 - Fix T0042 FP: Inside constructors and collection initializers
- NET-3426 - Fix T0042: Raw string in collection initializer
- NET-2888 - Fix T0042 FP: Returned from method
- NET-2874 - Fix T0042 FP: Raw string in ternary
Bugs
Other
10.21
10.20
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
- NET-3246 - Modify Rule S127: Update Description
- NET-3218 - Modify Rule S3265: Add exception for MethodImplAttributes
- NET-3086 - Modify Rule S1116: Add loop exception
Maintenance
- NET-3047 - Update RSPEC before 10.20 release
10.19
10.18
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
- NET-2898 - Fix S2583/S2589 FP: Extension Members
- NET-2877 - Fix S2225 FP: Extension member
- NET-2832 - Fix S3063 FP: NullConditionalOperator
- NET-2825 - Fix S1144 FP: Partial events
- NET-2821 - Fix S3264 FP: Partial events
- NET-2805 - Fix S1144 FP: S1144 Is confused by Debugger Display attribute
- NET-2748 - Fix S3459 FP: NullConditional Assignment
- NET-2716 - Fix S2325 FP: Field Keyword
- NET-2712 - Fix S2953 FP: Extension block member
- NET-2707 - Fix S3877 FP: Equals method without IEquatable
- NET-2684 - Fix S7039 FP/FN: Null-conditional assignment
- NET-2672 - Fix S3928 FP: Extension block
- NET-2671 - Fix S2970 FP: Null Conditional Assignment
- NET-2668 - Fix S3398 FP: On private methods in C#14 extensions classes
- NET-2644 - Fix S1144 FP: Always raises on private methods in extension block
- NET-2621 - Fix S2325 FP: Incorrectly reports on C# 14 extensions
- NET-2620 - Fix S4545 FP: Extension Methods
- NET-2391 - Fix S1121 FP: Extract (null-forgiving) assignment from expression
- NET-1914 - Fix S3264 FP: when using +=
False Negative
10.17
10.16.2
Rotations of binary signing keys
10.16.1
Rotations of binary signing keys
10.16
10.15
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?>toIEnumerable<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