Releases: SonarSource/sonar-dotnet
Releases · SonarSource/sonar-dotnet
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
Notes
6.4-RC1
6.3
Bug
- #416 - Fix S3881: Rule should not fail on partial classes
- #526 - Fix S101: "Class Name" infinite loop when class name contains non-Latin Characters
- #576 - Fix S100: infinite loop when class name contains non-Latin Characters
- #587 - Fix S3966: Rule should not throw cast exception
- #589 - Fix S3925: Call to 'base.GetObjectData' is not properly detected
False Positive
- #174 - Update S101: A special case should be made for two-letter acronyms in which both letters are capitalized
- #547 - Fix S3346: Rule raises FP on peach
- #571 - Fix S2275: Rule should not trigger on space before alignment
- #590 - Fix S1751: Rule should not raise on "retry on exception" pattern
Improvement
- #320 - Update S100: Support custom dictionaries for adding names that will not raise issues
- #565 - POC for analyzer running on Linux
- #566 - Automate website release process
- #591 - Update S3966: Rule should detect multiple call of Dispose on this
- #600 - Update S2275: Rule should detect too big values for ArgumentIndex and Alignment
- #607 - Update S3962: Ignore public static readonly fields
- #608 - Update S112: Report if exceptions are actually thrown, not just created
New Feature
- #254 - Rule S3985: Unused private classes should be removed
- #541 - Rule S2114: Collections should not be passed as arguments to their own methods
- #570 - Symbolic Execution Engine supports multiple constraints per Symbolic Value
- #583 - Rule S1696: 'NullReferenceException' should not be caught
- #584 - Rule S3693: Exception constructors should not throw exceptions
- #585 - Rule S3717: Track use of "NotImplementedException"
6.3-RC1
6.2
False Positive
- #504 - Fix S2386: Rule should not report when readonly field is initialized with null
- #530 - Fix S3881: "Implement IDisposable correctly" should allow calling GC.SuppressFinalize(this) even when there is no destructor
- #550 - Fix S3908: Rule should not report issues on classes that implement interfaces
Improvement
- #516 - Update S927: C#: parameter names should match base declaration and other partial definitions
- #519 - Rule S110: "filteredClasses" documentation should describe which delimiter to use or provide specific examples
New Feature
- #164 - Rule S3900: Arguments of public methods should be validated against null
- #209 - Rule S3966: Objects should not be disposed more than once
- #497 - Rule S4070: Non-flags enums should not be marked with "FlagsAttribute"
- #498 - Rule S4049: Properties should be preferred
- #499 - Rule S4050: Operators should be overloaded consistently
- #500 - Rule S4052: Types should not extend outdated base types
- #501 - Rule S4060: Non-abstract attributes should be sealed
- #502 - Rule S4061: "params" should be use instead of "varargs"
- #503 - Rule S4047: Generics should be used when appropriate
- #506 - Rule S3956: "Generic.List" instances should not be part of public APIs
- #507 - Rule S1075: URIs should not be hardcoded
- #508 - Rule S4069: Operator overloads should have named alternatives
- #509 - Rule S4058: Overloads with a "StringComparison" parameter should be used
- #510 - Rule S4059: Property names should not match get methods
- #511 - Rule S4057: Locales should be set for data types
- #512 - Rule S4055: Literals should not be passed as localized parameters
- #513 - Rule S4056: Overloads with a "CultureInfo" or an "IFormatProvider" parameter should be used
- #514 - Rule S3242: Method parameters should be declared with base types
- #515 - Rule S1200: Classes should not be coupled to too many other classes (Single Responsibility Principle)
- #517 - Rule S3649: User-provided values should be sanitized before use in SQL statements