Skip to content

v3.0.0

Choose a tag to compare

@rafaelfranca rafaelfranca released this 14 Jul 13:47
v3.0.0
1d383dd

Applications upgrading from 2.x should expect a materially different default lint surface. In particular, many layout and style cops that were enabled in 2.x are now disabled, while a focused set of lint and newer style cops is enabled. Run RuboCop with the 3.0.0 configuration before upgrading CI, and review newly reported offenses and any local overrides.

Newly enabled cops

  • Gemspec/AttributeAssignment
  • Gemspec/DevelopmentDependencies
  • Lint/AmbiguousAssignment
  • Lint/ConstantReassignment
  • Lint/CopDirectiveSyntax
  • Lint/DataDefineOverride
  • Lint/DisjunctiveAssignmentInConstructor
  • Lint/DuplicateCaseCondition
  • Lint/DuplicateElsifCondition
  • Lint/DuplicateRegexpCharacterClassElement
  • Lint/DuplicateRequire
  • Lint/DuplicateRescueException
  • Lint/DuplicateSetElement
  • Lint/EmptyExpression
  • Lint/InterpolationCheck
  • Lint/MultipleComparison
  • Lint/NestedPercentLiteral
  • Lint/NoReturnInMemoization
  • Lint/NumericOperationWithConstantResult
  • Lint/OrAssignmentToConstant
  • Lint/RedundantWithIndex
  • Lint/RedundantWithObject
  • Lint/RegexpAsCondition
  • Lint/ReturnInVoidContext
  • Lint/SelfAssignment
  • Lint/SendWithMixinArgument
  • Lint/TrailingCommaInAttributeDeclaration
  • Lint/TripleQuotes
  • Lint/UnreachablePatternBranch
  • Lint/UselessDefaultValueArgument
  • Lint/UselessOr
  • Migration/DepartmentName
  • Naming/BlockParameterName
  • Naming/HeredocDelimiterCase
  • Naming/MethodParameterName
  • Style/AmbiguousEndlessMethodDefinition
  • Style/ArrayCoercion
  • Style/ColonMethodDefinition
  • Style/CombinableDefined
  • Style/DigChain
  • Style/MapJoin
  • Style/ModuleMemberExistenceCheck
  • Style/MutableConstant
  • Style/NegativeArrayIndex
  • Style/ReduceToHash
  • Style/RedundantArrayFlatten
  • Style/RedundantMinMaxBy
  • Style/ReverseFind
  • Style/SelectByKind
  • Style/SelectByRange
  • Style/TallyMethod
  • Style/TrailingBodyOnMethodDefinition
  • Style/TrailingMethodEndStatement

Newly disabled cops

  • Gemspec/OrderedDependencies
  • Layout/ArrayAlignment
  • Layout/AssignmentIndentation
  • Layout/BeginEndAlignment
  • Layout/BlockAlignment
  • Layout/BlockEndNewline
  • Layout/CaseIndentation
  • Layout/ClosingHeredocIndentation
  • Layout/EmptyComment
  • Layout/EmptyLineAfterGuardClause
  • Layout/EmptyLines
  • Layout/EndAlignment
  • Layout/ExtraSpacing
  • Layout/FirstArgumentIndentation
  • Layout/FirstArrayElementIndentation
  • Layout/FirstArrayElementLineBreak
  • Layout/FirstHashElementIndentation
  • Layout/FirstHashElementLineBreak
  • Layout/FirstMethodArgumentLineBreak
  • Layout/FirstParameterIndentation
  • Layout/HashAlignment
  • Layout/HeredocIndentation
  • Layout/LineEndStringConcatenationIndentation
  • Layout/MultilineArrayBraceLayout
  • Layout/MultilineArrayLineBreaks
  • Layout/MultilineHashBraceLayout
  • Layout/MultilineHashKeyLineBreaks
  • Layout/MultilineMethodArgumentLineBreaks
  • Layout/MultilineMethodCallBraceLayout
  • Layout/MultilineMethodCallIndentation
  • Layout/MultilineMethodDefinitionBraceLayout
  • Layout/MultilineOperationIndentation
  • Layout/ParameterAlignment
  • Layout/RescueEnsureAlignment
  • Lint/AmbiguousRegexpLiteral
  • Lint/AssignmentInCondition
  • Lint/FlipFlop
  • Lint/FloatOutOfRange
  • Lint/FormatParameterMismatch
  • Lint/InheritException
  • Lint/ItWithoutArgumentsInBlock
  • Lint/LiteralAssignmentInCondition
  • Lint/Loop
  • Lint/MissingSuper
  • Lint/NoReturnInBeginEndBlocks
  • Lint/NonLocalExitFromIterator
  • Lint/OrderedMagicComments
  • Lint/PercentStringArray
  • Lint/PercentSymbolArray
  • Lint/RandOne
  • Lint/RedundantRegexpQuantifiers
  • Lint/RedundantSplatExpansion
  • Lint/RequireParentheses
  • Lint/RequireRangeParentheses
  • Lint/RequireRelativeSelfPath
  • Lint/RescueException
  • Lint/ShadowedException
  • Lint/SuppressedException
  • Lint/UnderscorePrefixedVariableName
  • Lint/UnifiedInteger
  • Lint/UnreachableCode
  • Lint/UnusedBlockArgument
  • Lint/UselessAccessModifier
  • Lint/UselessAssignment
  • Lint/UselessElseWithoutRescue
  • Lint/UselessRescue
  • Lint/UselessRuby2Keywords
  • Lint/UselessSetterCall
  • Metrics/BlockNesting
  • Metrics/CollectionLiteralLength
  • Metrics/ParameterLists
  • Naming/AccessorMethodName
  • Naming/AsciiIdentifiers
  • Naming/BinaryOperatorParameterName
  • Naming/FileName
  • Security/Eval
  • Security/IoMethods
  • Security/JSONLoad
  • Security/Open
  • Style/Alias
  • Style/ArrayIntersect
  • Style/ArrayJoin
  • Style/BarePercentLiterals
  • Style/BeginBlock
  • Style/BlockDelimiters
  • Style/CaseEquality
  • Style/ClassAndModuleChildren
  • Style/ClassCheck
  • Style/CommandLiteral
  • Style/CommentAnnotation
  • Style/ComparableClamp
  • Style/ConcatArrayLiterals
  • Style/ConditionalAssignment
  • Style/DataInheritance
  • Style/DateTime
  • Style/DirEmpty
  • Style/EachForSimpleLoop
  • Style/EachWithObject
  • Style/EmptyCaseCondition
  • Style/EmptyElse
  • Style/EmptyHeredoc
  • Style/EmptyLiteral
  • Style/EndBlock
  • Style/EvenOdd
  • Style/ExactRegexpMatch
  • Style/ExplicitBlockArgument
  • Style/FileEmpty
  • Style/For
  • Style/FormatString
  • Style/GlobalStdStream
  • Style/IdenticalConditionalBranches
  • Style/IfInsideElse
  • Style/IfUnlessModifierOfIfUnless
  • Style/IfWithBooleanLiteralBranches
  • Style/IfWithSemicolon
  • Style/InPatternThen
  • Style/InfiniteLoop
  • Style/InvertibleUnlessCondition
  • Style/LambdaCall
  • Style/LineEndConcatenation
  • Style/MethodCallWithArgsParentheses
  • Style/MethodCallWithoutArgsParentheses
  • Style/MinMaxComparison
  • Style/MissingRespondToMissing
  • Style/ModuleFunction
  • Style/MultilineIfThen
  • Style/MultilineMemoization
  • Style/MultilineTernaryOperator
  • Style/NegatedIf
  • Style/NegatedWhile
  • Style/NestedFileDirname
  • Style/NestedModifier
  • Style/NestedParenthesizedCalls
  • Style/NestedTernaryOperator
  • Style/NilComparison
  • Style/NonNilCheck
  • Style/Not
  • Style/NumericLiteralPrefix
  • Style/OneLineConditional
  • Style/OperatorMethodCall
  • Style/OptionalArguments
  • Style/ParallelAssignment
  • Style/ParenthesesAroundCondition
  • Style/PercentQLiterals
  • Style/PerlBackrefs
  • Style/PreferredHashMethods
  • Style/Proc
  • Style/QuotedSymbols
  • Style/RaiseArgs
  • Style/RedundantArrayConstructor
  • Style/RedundantCapitalW
  • Style/RedundantConstantBase
  • Style/RedundantCurrentDirectoryInPath
  • Style/RedundantDoubleSplatHashBraces
  • Style/RedundantEach
  • Style/RedundantException
  • Style/RedundantFilterChain
  • Style/RedundantFreeze
  • Style/RedundantHeredocDelimiterQuotes
  • Style/RedundantInterpolation
  • Style/RedundantLineContinuation
  • Style/RedundantParentheses
  • Style/RedundantPercentQ
  • Style/RedundantRegexpArgument
  • Style/RedundantRegexpConstructor
  • Style/RedundantSelf
  • Style/RedundantSortBy
  • Style/RedundantStringEscape
  • Style/RegexpLiteral
  • Style/RescueModifier
  • Style/ReturnNil
  • Style/ReturnNilInPredicateMethodDefinition
  • Style/SafeNavigation
  • Style/Sample
  • Style/SelfAssignment
  • Style/SignalException
  • Style/SingleLineDoEndBlock
  • Style/SingleLineMethods
  • Style/SpecialGlobalVars
  • Style/StabbyLambdaParentheses
  • Style/StringLiterals
  • Style/StringLiteralsInInterpolation
  • Style/Strip
  • Style/SuperWithArgsParentheses
  • Style/SymbolArray
  • Style/SymbolProc
  • Style/TernaryParentheses
  • Style/TrailingCommaInArguments
  • Style/TrailingCommaInArrayLiteral
  • Style/TrailingCommaInHashLiteral
  • Style/TrivialAccessors
  • Style/WhenThen
  • Style/WhileUntilDo
  • Style/WhileUntilModifier
  • Style/WordArray
  • Style/YAMLFileRead
  • `Style/ZeroLengthPredicate``