Releases: SonarSource/sonar-dotnet
Releases · SonarSource/sonar-dotnet
10.13
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
dynamicandoutshould not raise - NET-882 - Fix S3257 FP: Don't raise for C# 10 and later when there's explicit delegate creation
Improvements
10.12
This release brings the VB version of S6418 and a few FP and FN fixes.
New Rule
False Positive
False Negative
- NET-1260 - Fix S1215 FN: GC.GetTotalMemory(forceFullCollection: true) should not be called
- NET-1258 - Fix S6678 FN: Lowercase placeholders in interpolated string
- NET-1255 - Fix S3267 FN: Logical operators are not supported
Task
- NET-2060 - Update RSPEC before 11.12 release
10.11
Hello everyone!
In this release we fixed a bunch of false positives and false negatives.
Additionally this version adds support for telemetry in order to gather information on feature usage. Telemetry, requires scanner 10.2.0 or greater.
False Positive
- NET-1522 - Fix S2068 FP: Do not raise on
password:secret - NET-1149 - Fix S3626 FP: Add exception when return statement is preceding local functions
False Negative
- NET-1263 - Fix S1871 FN: Nested if .. else if chain
- NET-1256 - S2068: Remove word boundary(\b) from regex
- NET-1254 - Fix S3878 FN: When params are passed as array through an attribute
- NET-1252 - FN S1168: Support IndexerDeclaration and ConversionOperatorDeclaration
- NET-459 - Fix S1168 FN: Add support for partial indexers
10.10.1
10.10
Hey everyone, this release mostly focuses on internal and technical things.
General
- NET-1444 - Move ProfileRegistrar to org.sonar.plugins.csharpenterprise.api
- NET-1326 - Update RSPEC before 10.10 release
Internal Styling Rules
- NET-1378 - New Rule T0045: Use var
- NET-1359 - New Rule T0043: Avoid primary constructors on normal classes and structs
- NET-1358 - New Rule T0042: Indent raw string literal +4
- NET-1357 - New Rule T0041: Use raw string literals for multiline strings
- NET-1356 - New Rule T0040: Use minimum necessary interpolation characters
- NET-1355 - New Rule T0039: Protected field should start with lower case letter
- NET-1354 - New Rule T0038: Use fields instead of auto-implemented private or protected properties
- NET-1347 - New Rule T0000: Don't use Get prefixes
- NET-1346 - New Rule T0037: Use .Test suffix namespace
- NET-1345 - New rule T0046: Move extension method to dedicated class
- NET-1344 - New Rule T0035: Do not use var for this deconstruction
- NET-1343 - New Rule T0034: Do not embed var into this condition
- NET-1342 - New Rule T0033: Swap the logic to use positive conditions instead
- NET-1341 - New Rule T0032: Move the method body to the next line
- NET-1339 - New Rule T0030: Move the field initializer on the same line
- NET-1338 - New Rule T0029: Indent all arguments +4 further than the invocation line
- NET-1337 - New Rule T0028: Move all arguments on the same line, or wrap all of them
- NET-1336 - New Rule T0027: Move subsequent expressions on separate lines
- NET-1335 - New Rule T0026: Indent member access +4 further than the initial line
- NET-1334 - New Rule T0025: Indent ‘?’ and ‘:’ +4 further than the condition line
- NET-1333 - New Rule T0024: Place multiline ‘?’ and ‘:’ on separate lines
- NET-1332 - New Rule T0022: Indent all parameters with the first one
- NET-1331 - New Rule T0021: Use extension methods for Linq
- NET-1329 - New Rule T0019: Indent operator correctly
- NET-1328 - New Rule T0018: Move the operator to the beginning of the next line
- NET-1327 - New Rule T0015: Move local function at the end of the method
- NET-1237 - New Rule T0044: Don't add Arrange, Act, and Assert(s) comments
- NET-1325 - Improve T0007: Raise on nondeclaring is { } check
10.9
Hello everyone!
This is a mega-hardening release! Enjoy 😄
False Positive
- NET-1309 - Fix S2583 FP: Support overrides in IsImplementingInterfaceMember
- NET-1308 - Fix S2583 FP: Add support for AdressOf operator
- NET-1302 - Fix S4158 FP: Don't raise on GetEnumerator() calls
- NET-1295 - Fix S3236 FP: Exclude Debug.Assert
- NET-1290 - Fix S4158 FP: Support RouteValueDictionary in AspNetCore
- NET-1289 - Fix S4158 FP: Adding methods with well defined sematics
- NET-1288 - Fix S4158 FP: Recognize Add methods with bool return type
- NET-1287 - Fix S4158 FP: Don't raise on SetValue
- NET-1280 - Fix S2342 FP: Flaky reports
- NET-1278 - Fix S3440 FP: Variable assignment and switch expression
- NET-1246 - Fix S1481 FP: Don't report on discard like looking variables
- NET-1242 - Fix S2583/S4158 FP: Support for collections that are initialized with object
- NET-1241 - Fix S2589 FP: Don't track concurrent collections
- NET-1230 - Fix S4158 FP: Immutable collections
- NET-1223 - Fix S3267 FP: ref struct types cannot leave the stack
- NET-1214 - Fix S2259 FP: Foreach loop over empty collection
- NET-1212 - Fix S2259 FP: Learn bool from NotNull constraint and Null value
- NET-1208 - Fix S2589 FP: Rule ignores case guards
- NET-1207 - Fix S3966 FP: disposing element of indexable after declaration pattern
- NET-1203 - Fix S3966 FP: Enumerating a collection of tuples
- NET-1202 - Fix S2259 FP: Foreach nested in try, nested in loop
- NET-1188 - Improve S4158 - Empty Collections should not be Enumerated
- NET-1088 - Fix S3240 FP: Ignore when a conditional block contains a ternary
- NET-800 - Fix S2259 FP: FlowCaptures in loops and try-regions
False Negative
- NET-1299 - Fix S2053 FN: Support Copy methods
- NET-1257 - Fix S4790 FN: New HashData overloads not recognized
- NET-1194 - Fix S4158 FN: Collection Expressions (C# 12)
- NET-357 - Fix S2068 FN: does not consider
launchSettings.jsonfiles - NET-210 - Fix S4158 FN: AddRange with empty collection
Bug
- NET-1267 - Fix S2068 bug: Issue location is out of range in web.config for elements or attributes with an xml namespace
- NET-1184 - Roslyn rule import should map the issue severity to the Software Quality impact in SonarQube Server
Improvement
10.8
10.7
10.6
Improvement
- NET-735 - Remove RoslynProfileExporter
- NET-1031 - Remove deprecated SonarLintProfileExporter
- NET-1038 - Add symbolic-execution tag to our rules
- NET-988 - Remove S1197 from SonarWay for VB.NET
- NET-989 - S3444: Add secondary location message
- NET-982 - S4144: Add secondary location message
- NET-979 - S4663: Add secondary location message
- NET-978 - S1168: Add secondary location message
- NET-977 - S4047: Add secondary location message
- NET-976 - S4457: Add secondary location message
- NET-975 - S1066: Add secondary location message
- NET-974 - S4070: Add secondary location message
- NET-973 - S1110: Add secondary location message
- NET-971 - S2612: Add secondary location message
- NET-970 - S6667: Add secondary location message
- NET-969 - S6931: Add secondary location message
- NET-968 - S6934: Add secondary location message
- NET-967 - S5034: Add secondary location message
- NET-966 - S6607: Add secondary location message
- NET-965 - S4143: Add secondary location message
- NET-961 - S6664: Add secondary location message
- NET-960 - S6677: Add secondary location message
- NET-956 - S6673: Add secondary location message