Skip to content

Releases: dotnet/roslynator

v1.4.52

24 Jul 14:17
Compare
Choose a tag to compare

Code Fixes

  • New code fixes for CS0115, CS1106, CS1621, CS1988.

v1.4.51

19 Jul 18:01
Compare
Choose a tag to compare

Refactorings

  • MarkContainingClassAsAbstract (RR0073) has been replaced with code fix.
New Refactorings
  • FormatWhereConstraint (RR0187)
  • ReplaceForEachWithForAndReverseLoop (RR0188)

Code Fixes

New Code Fixes

Code fixes has been added for the following compiler diagnostics:

  • NamespaceAlreadyContainsDefinition (CS0101)
  • TypeAlreadyContainsDefinition (CS0102)
  • TypeOfConditionalExpressionCannotBeDetermined (CS0173)
  • OutParameterMustBeAssignedToBeforeControlLeavesCurrentMethod (CS0177)
  • NewConstraintMustBeLastConstraintSpecified (CS0401)
  • DuplicateConstraintForTypeParameter (CS0405)
  • ConstraintClauseHasAlreadyBeenSpecified (CS0409)
  • ClassOrStructConstraintMustComeBeforeAnyOtherConstraints (CS0449)
  • CannotSpecifyBothConstraintClassAndClassOrStructConstraint (CS0450)
  • NewConstraintCannotBeUsedWithStructConstraint (CS0451)
  • TypeParameterHasSameNameAsTypeParameterFromOuterType (CS0693)
  • StaticTypesCannotBeUsedAsTypeArguments (CS0718)
  • PartialMethodCannotHaveAccessModifiersOrVirtualAbstractOverrideNewSealedOrExternModifiers (CS0750)
  • NoDefiningDeclarationFoundForImplementingDeclarationOfPartialMethod (CS0759)
  • PartialMethodsMustHaveVoidReturnType (CS0766)
  • MethodHasParameterModifierThisWhichIsNotOnFirstParameter (CS1100)
  • ExtensionMethodMustBeStatic (CS1105)
  • ElementsDefinedInNamespaceCannotBeExplicitlyDeclaredAsPrivateProtectedOrProtectedInternal (CS1527)
  • AsyncModifierCanOnlyBeUsedInMethodsThatHaveBody (CS1994)

v1.4.50

05 Jul 11:45
Compare
Choose a tag to compare
  • Add code fixes that fix 80+ compiler diagnostics (like 'CS0001')

Analyzers

  • Following analyzers have been replaced with code fixes:

    • ReplaceReturnStatementWithExpressionStatement (RCS1115)
    • AddBreakStatementToSwitchSection (RCS1116)
    • AddReturnStatementThatReturnsDefaultValue (RCS1117)
    • AddMissingSemicolon (RCS1122)
    • MarkMemberAsStatic (RCS1125)
    • ReplaceReturnWithYieldReturn (RCS1131)
    • AddDocumentationComment (RCS1137)
    • MarkContainingClassAsAbstract (RCS1144)
    • RemoveInapplicableModifier (RCS1147)
    • RemoveUnreachableCode (RCS1148)
    • RemoveImplementationFromAbstractMember (RCS1149)
    • MemberTypeMustMatchOverriddenMemberType (RCS1152)
    • OverridingMemberCannotChangeAccessModifiers (RCS1176)

Refactorings

  • Following refactorings have been replaced with code fixes:

    • AddBooleanComparison (RR0001)
    • ExtractDeclarationFromUsingStatement (RR0042)
    • MarkMemberAsStatic (RR0072)
    • ReplaceCountWithLengthOrLengthWitCount (RR0122)
    • ReplaceStringLiteralWithCharacterLiteral (RR0146)
New Refactorings
  • ChangeAccessibility (RR0186)

v1.4.13

21 Jun 15:56
Compare
Choose a tag to compare

Analyzers

New Analyzers
  • OptimizeStringBuilderAppendCall (RCS1197)
  • AvoidBoxingOfValueType (RCS1198)

v1.4.12

11 Jun 20:21
Compare
Choose a tag to compare

Analyzers

New Analyzers
  • UseRegularStringLiteralInsteadOfVerbatimStringLiteral (RCS1192)
  • OverridingMemberCannotChangeParamsModifier (RCS1193)
  • ImplementExceptionConstructors (RCS1194)
  • UseExclusiveOrOperator (RCS1195)
  • CallExtensionMethodAsInstanceMethod (RCS1196)

Refactorings

New Refactorings
  • UseListInsteadOfYield (RR0183)
  • SplitIfStatement (RR0184)
  • ReplaceObjectCreationWithDefaultValue (RR0185)

v1.4.1

05 Jun 13:14
Compare
Choose a tag to compare

Analyzers

New Analyzers
  • DeclareEnumValueAsCombinationOfNames (RCS1191)
  • MergeStringExpressions (RCS1190)
  • AddOrRemoveRegionName (RCS1189)
  • RemoveRedundantAutoPropertyInitialization (RCS1188)
  • MarkFieldAsConst (RCS1187)
  • UseRegexInstanceInsteadOfStaticMethod (RCS1186)

Refactorings

New Refactorings
  • UseStringBuilderInsteadOfConcatenation (RR0182)
  • InlineConstant (RR0181)

v1.4.0

29 May 08:05
Compare
Choose a tag to compare

Analyzers

  • Delete analyzer MergeLocalDeclarationWithReturnStatement (RCS1054) - Its functionality is incorporated into analyzer InlineLocalVariable (RCS1124).
  • Disable analyzer FormatAccessorList (RCS1024) by default.
  • Disable analyzer FormatEmptyBlock (RCS1023) by default.
  • Modify analyzer RemoveEmptyRegion (RCS1091) - Change default severity from Info to Hidden.
  • Modify analyzer CompositeEnumValueContainsUndefinedFlag (RCS1157) - Change default severity from Warning to Info.
  • Modify analyzer RemoveRedundantParentheses (RCS1032) - Exclude following syntaxes from analyzer:
    • AssignmentExpression.Right
    • ForEachExpression.Expression
    • EqualsValueClause.Value

Refactorings

  • Modify refactoring CheckExpressionForNull (RR0024) - Do not add empty line.

v1.3.11

18 May 04:12
Compare
Choose a tag to compare
  • A lot of bug fixes and improvements.

v1.3.10

24 Apr 14:41
Compare
Choose a tag to compare

Analyzers

  • Improve analyzer RemoveInapplicableModifier (RCS1147) - Analyze local function.
  • Improve analyzer SimplifyMethodChain (RCS1077) - Merge combination of Where and Any.
  • Improve analyzer StaticMemberInGenericTypeShouldUseTypeParameter (RCS1158) - Member must be public, internal or protected internal.
New Analyzers
  • CallDebugFailInsteadOfDebugAssert (RCS1178)
  • UseReturnInsteadOfAssignment (RCS1179)
  • InlineLazyInitialization (RCS1180)
  • ReplaceCommentWithDocumentationComment (RCS1181)
  • RemoveRedundantBaseInterface (RCS1182)
  • FormatInitializerWithSingleExpressionOnSingleLine (RCS1183)
  • FormatConditionalExpression (RCS1184)
  • AvoidSingleLineBlock (RCS1185)

v1.3.0

02 Apr 14:28
Compare
Choose a tag to compare
  • Add support for configuration file.

Analyzers

  • Disable UseVarInsteadOfExplicitTypeWhenTypeIsNotObvious (RCS1176) by default.
  • Disable UseVarInsteadOfExplicitTypeInForEach (RCS1177) by default.