8.56
Release 8.56 is here and it brings a whole lot of improvements. We implemented S3900 and S3655 for VB.NET and at the same time, we also got improvements to the C# versions of S3900, S3655, S2222, and S2259. Special kudos to @Corniel who contributed new rule S5856 and several other enhancements.
New Rules
- 6797 - [VB.NET] New Rule S3900 for VB.NET: Arguments of public methods should be validated against Nothing
- 6795 - [VB.NET] New Rule S3655 for VB.NET: Empty nullable value should not be accessed
- 6691 - [C#, VB.NET] New Rule S5856: Regex literals should be valid by @Corniel
Improvements (S3900, S3655, S2222, and S2259)
- 6794 - [C#] Improve S3655: Support C# 9 and C# 10 syntax
- 6793 - [C#] Improve S3900: Support C# 9 and C# 10 syntax
- 6997 - [C#] Fix S3900: FN and FP
- 7060 - [C#] Fix S3900 FP: Don't raise if parameter is captured
- 2775 - [C#] Fix S3900 FP:
is
is not considered as null-check - 2670 - [C#] Fix S3900 FP: with string.IsNullOrEmpty
- 7004 - [C#] Fix S3900: Change parameter dereference check to top-down
- 6682 - [C#] Fix S3655 FP: HasValue checked with Pattern matching
- 4250 - [C#] Fix S2259 FP: Lifted operator results in null value in value type comparison
- 6994 - [C#, VB.NET] Fix S2222: Branch on
createdNew
parameter on Mutex constructor - 6840 - [C#, VB.NET] Fix S2259 FP/FN: Do not raise on Nullable members
- 6241 - [C#, VB.NET] Fix S2259 FP:
is null
check on generic type - 6930 - [C#, VB.NET] Fix S2259 FN: Auto-Properties don't learn ObjectConstraint
- 6898 - [C#, VB.NET] Fix S2259 FN: Raise on fields and events
- 7048 - [VB.NET] Fix S2259 FP:
ValidatedNotNullAttribute
in extension method - 7047 - [VB.NET] Fix S3900 FP: Recognize VB extensions
- 6991 - [VB.NET] Fix S3655 FN: VB implicit conversions
Other improvements
- 6899 - Update RSPEC
- 6910 - Fix S2094 FP: Allow to have empty classes, used as generic parameter
- 6878 - [C#] Fix S1168 FP: Does not respect nullable annotations by @Corniel
- 6890 - [C#, VB.NET] Fix S1123 FN: The explanation should not be null or whitespace by @Corniel