Releases: dotnet/roslynator
Releases · dotnet/roslynator
v2.9.0
- Switch to Roslyn 3.x libraries
- Add
Directory.Build.props
file - Add open configuration commands to Command Palette (VS Code) (PR)
Bug Fixes
- Fix key duplication/handle camel case names in
omnisharp.json
(PR) - Use prefix unary operator instead of postfix unary operator (RCS1089) (issue)
- Cast of
this
to its interface cannot be null (RCS1202) (issue) - Do not remove braces in switch section if it contains 'using variable' (RCS1031) (issue)
New Analyzers
- RCS1242 (DoNotPassNonReadOnlyStructByReadOnlyReference).
- RCS1243 (DuplicateWordInComment).
- RCS1244 (SimplifyDefaultExpression).
- RCS1245 (SimplifyConditionalExpression2) (issue).
Analyzers
- Disable analyzer RCS1057 by default (issue).
- Merge analyzer RCS1156 with RCS1113 (issue).
x == ""
should be replaced withstring.IsNullOrEmpty(x)
- Improve analyzer RCS1215 (commit).
x == double.NaN
should be replaced withdouble.IsNaN(x)
- Enable RCS1169 and RCS1170 if the type is read-only struct (commit).
- Improve analyzer RCS1077 (commit).
x.OrderBy(y => y).Reverse()
can be simplified tox.OrderByDescending(y => y)
x.SelectMany(y => y).Count()
can be simplified tox.Sum(y => y.Count)
ifx
hasCount
orLength
property
- Improve analyzer RCS1161 - Declare explicit enum value using
<<
operator (commit). - Improve analyzer RCS1036 - remove empty line between documentation comment and declaration (commit).
- Improve analyzer RCS1037 - remove trailing white-space from documentation comment (commit).
- Improve analyzer RCS1143 (commit)
x?.M() ?? default(int?)
can be simplified tox?.M()
ifx
is a nullable struct.
- Improve analyzer RCS1206 (commit)
(x != null) ? x.M() : default(int?)
can be simplified tox?.M()
ifx
is a nullable struct.
v2.3.1
- Last release of package Roslynator.Analyzers (2.3.0) that references Roslyn 2.x (VS 2017)
v2.3.0
- Last release of Roslynator for VS 2017
v2.2.1
- Add set of formatting analyzers (RCS0...).
v2.2.0
Analyzers
- Disable analyzer FormatBinaryOperatorOnNextLine by default.
v2.1.3
Analyzers
-
Publish package Roslynator.CodeAnalysis.Analyzers 1.0.0-beta
-
Add analyzer UseExceptionFilter (RCS1236).
-
Add analyzer UseBitShiftOperator (RCS1237).
-
Add analyzer AvoidNestedConditionalOperators (RCS1238).
-
Add analyzer UseForStatementInsteadOfWhileStatement (RCS1239).
-
Add analyzer UnnecessaryOperator (RCS1240).
-
Add analyzer ImplementNonGenericCounterpart (RCS1241).
Refactorings
- Add refactoring AddParameterToInterfaceMember (RR0213)
v2.1.1
Analyzers
- Add analyzer OptimizeMethodCall (RCS1235).
- Incorporate RCS1150 and RCS1178 into RCS1235.
- Enable by default analyzer FormatEmptyBlock (RCS1023) and change default severity to 'Hidden'.
- Change default severity of analyzer ParameterNameDiffersFromBaseName (RCS1168) to 'Hidden'.
Refactorings
- Add refactoring DuplicateSwitchSection (RR0214)
v2.1.0
- Export/import Visual Studio options.
Analyzers
- Disable analyzer MakeParameterRefReadOnly by default.
Code Fixes
- Add code fixes for CS0191, CS0192, CS1012.
v2.0.2
- First release of Roslynator 2019 (for Visual Studio 2019)
New Features
- Support global suppression of diagnostics.
- Go to Visual Studio Tools > Options > Roslynator > Global Suppressions
Analyzers
- Add analyzer OrderElementsInDocumentationComment (RCS1232)
- Add analyzer UseShortCircuitingOperator (RCS1233)
- Add analyzer DuplicateEnumValue (RCS1234)
Refactorings
- Refactoring ReplaceConditionalExpressionWithIfElse (RR0120) can be applied recursively.
- Add refactoring ChangeTypeAccordingToExpression (RR0022)
- Add refactoring ImplementCustomEnumerator (RR0210)
- Add refactoring ConvertStatementsToIfElse (RR0211)
Code Fixes
- Add code fix for CS0029, CS0131, CS0621, CS3000, CS3001, CS3002, CS3003, CS3005, CS3006, CS3007, CS3008, CS3009, CS3016, CS3024, CS3027.
v2.0.1
Analyzers
- Add analyzer UnnecessaryUsageOfEnumerator (RCS1230)
- Add analyzer MakeParameterRefReadOnly (RCS1231)