Skip to content

Releases: SonarSource/sonar-dotnet

6.6-RC1

31 Oct 16:24
36a94e2
Compare
Choose a tag to compare
6.6-RC1 Pre-release
Pre-release

6.5

19 Oct 14:19
Compare
Choose a tag to compare
6.5

Bug

  • #792 - Fix S3928: Rule throws NullReferenceException

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

17 Oct 14:05
Compare
Choose a tag to compare
6.5-RC1 Pre-release
Pre-release

6.4.1

22 Sep 09:07
Compare
Choose a tag to compare

Bug

  • #791 - Fix SonarC#: Parameterized rules are not read properly

Notes

6.4

31 Aug 13:56
Compare
Choose a tag to compare
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

25 Aug 12:47
Compare
Choose a tag to compare
6.4-RC1 Pre-release
Pre-release

6.3

04 Aug 14:02
Compare
Choose a tag to compare
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

02 Aug 12:10
Compare
Choose a tag to compare
6.3-RC1 Pre-release
Pre-release

6.2

02 Aug 07:51
Compare
Choose a tag to compare
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

Notes

6.2-RC1

14 Jul 08:52
Compare
Choose a tag to compare
6.2-RC1 Pre-release
Pre-release