Skip to content

Releases: Vannevelj/SharpSource

1.24.0

21 Feb 00:04
838ac79
Compare
Choose a tag to compare
  • All analysers will no longer report diagnostics in generated code

1.23.4

05 Jan 00:33
6bd424d
Compare
Choose a tag to compare
  • UnnecessaryEnumerableMaterialization: If the instance is of type IQueryable then the analyzer will no longer trigger

1.23.3

15 May 17:31
49e5566
Compare
Choose a tag to compare
  • GetHashCodeRefersToMutableMember: No longer triggers on init property setters

1.23.2

18 Mar 12:38
95078ff
Compare
Choose a tag to compare
  • AsyncOverloadsAvailable: Will no longer pass through the CancellationToken if it's inside a static local function
  • AsyncOverloadsAvailable: Will correctly identify overloads if the synchronous variant returns a Task-like type

1.23.1

28 Feb 23:17
fb502e4
Compare
Choose a tag to compare
  • StringConcatenatedInLoop: No longer triggers a warning if the string is retrieved through an indexer (e.g. myList[i])
  • DisposeAsyncDisposable: Preserves leading and trailing trivia when the code fix is applied
  • TestMethodWithoutTestAttribute: Will no longer consider methods with Task<T> and ValueTask<T> return types as potential test methods

1.23.0

26 Feb 15:58
aa10f64
Compare
Choose a tag to compare
  • DisposeAsyncDisposable: An object implements IAsyncDisposable and can be disposed of asynchronously in the context it is used.
  • PointlessCollectionToString: ImmutableDictionary is also included
  • TestMethodWithoutTestAttribute: Reduced false negatives by extending the diagnostic to methods that have certain attributes (Xunit.ClassData, Xunit.InlineData, Microsoft.DataRow, NUnit.TestCase, NUnit.TestCaseSource)

1.22.2

25 Feb 16:29
0ecef36
Compare
Choose a tag to compare
  • ComparingStringsWithoutStringComparison: Don't trigger when the same symbol is referenced in both operands
  • SwitchDoesNotHandleAllEnumOptions: When a default clause is present, the analyzer will become an INFO diagnostic rather than a WARN

1.22.1

21 Feb 21:44
9b774a1
Compare
Choose a tag to compare
  • ThreadSleepInAsyncMethod: Fixed a NullReferenceException if symbols weren't loaded

1.22.0

21 Feb 00:05
a9843ce
Compare
Choose a tag to compare
  • StringConcatenatedInLoop: No longer triggers if concatenation is immediately followed by a return or break clause
  • AsyncOverloadsAvailable: Doesn't trigger inside a synchronous local function
  • SynchronousTaskWait: Now also supports anonymous functions
  • ThreadSleepInAsyncMethod: Now also supports anonymous functions

1.21.6

10 Feb 22:30
648fc37
Compare
Choose a tag to compare
  • StructWithoutElementaryMethodsOverridden: Generates an Equals(object? o) method when nullable reference types are enabled
  • EqualsAndGetHashcodeNotImplementedTogether: Generates an Equals(object? o) method when nullable reference types are enabled