Releases: SonarSource/sonar-dotnet
Releases · SonarSource/sonar-dotnet
6.7.1
Bug
- #992 - Fix S3532: default clauses with comments should not be reported
- #1002 - Fix EmptyCollectionsShouldNotBeEnumerated: Rule should not throw InvalidOperationException
- #1003 - Fix S3237: Rule should not throw NullReferenceException when using expression body accessor
- #1006 - Fix S101: Rule should not throw IndexOutOfRangeException
- #1009 - Fix S2933: Code Fix should handle regions
- #1014 - Support symbol highlighting for multi-targetting projects that use conditional compilation
False Positive
- #888 - Fix S1144: False positive on async Main
- #1010 - Fix S2187: rule should not warn on MSTest when using DataTestMethodAttribute
- #1015 - Fix S107: "Methods with too many parameters" should not raise on constructors calling base
- #1024 - Fix S1172: Rule should also ignore the new Main syntax
Improvement
- #1004 - Support syntax highlighting for multi-targetting projects that use conditional compilation
6.7
Bugs
- #934 - Don't fail to parse issues on file names with '['
False Positives
- #318 - Fix S101: Rule should not report an issue on auto-generated members
- #704 - Fix S3168: Rule should not raise FP with UWP event args
- #707 - Fix S4056 and S4058: False positive for string comparisons with StringComparison parameter
- #733 - Update S2325: Rule should exempt MVC / Web Api controller public methods
- #804 - Update S2583: Should not raise issues for boolean constants and literals in conditions
- #929 - Fix S2187: Rule should not raise an issue when class is abstract
Improvements
- #396 - Update S104: "Too many lines in a file" should only count lines of code
- #656 - Update sensors to support projects with linked (shared) files
- #722 - Update S3415: Support other test frameworks
- #752 - Rule S1110: Redundant parenthesis - move the implementation from S3235
- #786 - Update S2187: Rule should handle "TheoryAttribute"
- #836 - Update S2068: Make the rule parameterised
- #910 - Update S2436: Rule should provide another parameter for methods
- #917 - Remove support for deprecated 'sonar.cs.msbuild.testProjectPattern'
- #921 - Change the log level of the autogenerated file messages to DEBUG
- #973 - Update SonarC#: Unit Tests total and skipped numbers are not consistent
- #979 - Update S2187: Rule should handle TestCaseSourceAttribute
- #981 - Update S1607: Rule should handle 'TestCaseSourceAttribute'
- #983 - Update S2699: Rule should handle more test method attributes
- #989 - SonarC# should display a warning when coverage report doesn't cover any file imported in SonarQube
- #991 - Enable analysis on non-Windows OSes
New Features
6.7-RC1
6.6
Bug
- #535 - CSharp sensor should fail if OS is not windows.
- #803 - Fix S3242: Rule should not throw ArgumentException
- #819 - Fix S2325: 'Member should be static' throws NullReferenceException
- #834 - Fix S3242: Rule throws ArgumentException when 2+ params of method have the same name
False Positive
- #640 - Fix S3242: Rule should not report when more general type doesn't have indexer
- #680 - Fix S3242: Rule should not suggest IEnumerable when there are multiple iterations over the collection
- #705 - Fix S3242: Should not suggest base class for arguments when method has an event handler signature
- #782 - Fix S3242: Do not suggest ICollection<KVP<TKey, TValue>>
- #795 - Fix S4004: Rule should not raise a violation when [DataMember] is applied
- #809 - Fix S4070: False positive with combined values
- #813 - Fix S3242: Do not suggest IReadOnlyCollection interface instead of IReadOnlyList if collection items are accessed by index
- #828 - Fix S2758: false positive on conditional operator with interpolated string
- #863 - Fix S3242: Rule should not suggest base type resulting in inconsistent accessibility
Improvement
- #237 - Do not import files detected as autogenerated in SonarQube
- #364 - Improve test sensors to execute them only when the related property is defined
- #428 - Do not skip source files that contains "ExcludeFromCodeCoverage*" attributes
- #839 - Update S1226: "Parameter values should not be ignored" should be a bug
- #840 - Update S1751: "Unconditional jump statements" should be a code smell
- #841 - Update S2234: "Parameters should be passed in correct order" should be a code smell
- #842 - Update S2681: "Multiline blocks should be in curly braces" should be a code smell
- #843 - Update S3010: "Static fields should not be updated in constructors" should be a code smell
- #844 - Update S4158: "Empty collections should not be iterated" should be a bug
- #851 - Fix Cognitive Complexity Metric to detect recursion correctly
- #858 - Update release notes link in vsix manifest and nuget spec
- #862 - Improve test assembly detection logic
- #905 - Improve generated code recognition
New Feature
- #155 - Feed metric 'executable_lines_data' when SQ >= 6.2
External Contributors
- #814 Thanks @Chelaris182
6.6-RC1
6.5
Bug
False Positive
- #708 - Fix S4056: Rule should not recommend to use obsolete methods
- #761 - Fix S1168: Rule should not report when returning null within a lambda
New Feature
- #740 - Rule S4225: Extension methods should not extend "object"
- #741 - Rule S4226: Extensions should be in separate namespaces
- #742 - Rule S4220: Events should have proper arguments
- #746 - Rule S4214: "P/Invoke" methods should not be visible
- #779 - Rule S4260: "ConstructorArgument" parameters should exist
Notes
6.5-RC1
6.4.1
6.4
Bug
- #631 - Fix S2325: Should raise issues for methods and properties with SuppressMessage attribute
- #671 - Update of plugin to v6.3(build 2862) doesn't report any issues in code.
- #690 - Fix S3881: Rule should not fail with 'Syntax node is not within syntax tree'
- #721 - Fix link to GitHub page on sonarlint-website
- #725 - Fix S1121: NullReferenceException when while loop with assignment expression is within a for loop with no condition
- #726 - Fix S2372: do not throw ArgumentNullException on nlog
- #727 - Fix CognitiveComplexity to not throw an exception on Lucene.Net
- #728 - Fix S3877: do not throw ArgumentNullException on ravendb
False Positive
- #538 - Fix S2259: "Null pointer dereference" false positive when fields qualified with 'this' are assigned and then read
- #596 - Fix S3242: Rule should not trigger on interface methods
- #655 - Update S3881: Correct documentation and add more unit tests
- #674 - Rules S3897 and S4035 might be in contradiction
- #682 - Fix S1751: Rule shouldn't raise on exceptions within while loops
- #692 - Fix S3263: Rule should not raise when constant field is used in initialization
- #694 - Fix S2372: Allow some exceptions being raised in properties as per CA1065
- #701 - Fix S3897: Rule should not suggest to implement IEquatable when Equals is not public
Improvement
- #601 - Update S110: Update the rule behavior to not count classes defined into another root namespace
- #623 - Update S2068: Credentials should not be hard-coded
- #684 - Update SonarLint website to mention GitHub repository as a place to file issues
New Feature
- #335 - Update plugin to support NUnit 3 test results
- #581 - Rule S2183: Ints and longs should not be shifted by zero or more than their number of bits-1
- #582 - Rule S1168: Empty arrays and collections should be returned instead of null
- #610 - Rule S4144: Methods should not have identical implementations
- #611 - Rule S4142: Duplicate values should not be passed as arguments
- #626 - Rule S3433: Test methods should have correct signature
- #636 - Rule S4158: Empty collections should not be accessed or iterated
- #662 - Rule S1607: Tests should not be ignored
- #663 - Rule S3415: Assertion arguments should be passed in the correct order
- #664 - Rule S2701: Literal boolean values should not be used in assertions
- #665 - Rule S2699: Tests should include assertions
- #666 - Rule S3431: 'ExpectedExceptionAttribute' should not be used
- #667 - Rule S2187: Test class should contain test methods