Releases: SonarSource/sonar-dotnet
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.json
files - 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
10.5
10.4
Improvements
In this release, we have added support for test density and metrics at the individual file level. You can now view the number of unit tests, as well as details on skipped tests, failed tests, and test duration, from all supported coverage tools (xUnit, MsTest, and nUnit).
Additionally, we have significantly optimized memory allocation, resulting in memory usage reduction during registration.
False Positive
- NET-868 - Fix S1854 FP: Don't raise when inner finally assignment is used to outer block
- NET-865 - Fix S1172 FP: Parameter used as extension delegate target
- NET-863 - Fix S1172 FP: Don't report on partial method parameters
- NET-862 - Fix S1854 FP: Don't raise in catch when variable is used in following catch
- NET-857 - Fix S3655 FP: Types with implicit conversion operator
- NET-836 - Fix S1854 FP: Value used after catch
False Negative
Task
- NET-763 - Update RSPEC before 10.4 release