All Versions
146
Latest Version
Avg Release Cycle
9 days
Latest Release
7 days ago

Changelog History
Page 1

  • v1.4.1

    November 23, 2020

    ๐Ÿ› Bug fixes

    • ๐Ÿฑ #9082: Fix gemspec to include assets directory. (@javierav)
  • v1.4.0

    November 23, 2020

    ๐Ÿ†• New features

    • ๐Ÿ’… #7737: Add new Style/RedundantArgument cop. (@tejasbubane)
    • #9064: Add EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs and EmptyLineBetweenModuleDefs config options for Layout/EmptyLineBetweenDefs cop. (@tejasbubane)
    • #9043: Add --stderr to write all output to stderr except for the autocorrected source. (@knu)

    ๐Ÿ› Bug fixes

    • ๐Ÿ‘• #9067: Fix an incorrect auto-correct for Lint::AmbiguousRegexpLiteral when passing in a regexp to a method with no receiver. (@amatsuda)
    • #9060: Fix an error for Layout/SpaceAroundMethodCallOperator when using __ENCODING__. (@koic)
    • #7338: Handle assignment with []= in MultilineMethodCallIndentation. (@jonas054)
    • #7726: Fix MultilineMethodCallIndentation indentation inside square brackets. (@jonas054)
    • #8857: Improve how Exclude properties are generated by --auto-gen-config. (@jonas054)

    ๐Ÿ”„ Changes

    • ๐Ÿ“š #8788: Change Style/Documentation to not trigger offense with only macros. (@tejasbubane)
    • #8993: Allow ExcludedMethods config of Metrics/MethodLength cop to contain regex. (@tejasbubane)
    • 0๏ธโƒฃ #9073: Enable Layout/LineLength's auto-correct by default. (@bbatsov)
    • #9079: Improve the gemspec to load only the necessary files without the git utility. (@piotrmurach)
    • โšก๏ธ #9059: Update Lint/UnmodifiedReduceAccumulator to accept blocks which return in the form accumulator[element]. (@dvandersluis)
    • #9072: Lint/MissingSuper: exclude method_missing and respond_to_missing?. (@marcandre)
    • #9074: Allow specifying a pull request ID when calling rake changelog:*.(@marcandre)
  • v1.3.1

    November 16, 2020

    ๐Ÿ› Bug fixes

    • ๐Ÿ’Ž #9037: Fix required_ruby_version issue when using Gem::Requirement. (@cetinajero)
    • #9039: Fix stack level too deep error if target directory contains **. (@unasuke)
    • #6962: Limit Layout/ClassStructure constant order autocorrect to literal constants. (@tejasbubane)
    • ๐Ÿ’… #9032: Fix an error for Style/DocumentDynamicEvalDefinition when using eval-type method with interpolated string that is not heredoc without comment doc. (@koic)
    • #9049: Have Lint/ToEnumArguments accept __callee__. (@marcandre)
    • ๐Ÿ’… #9050: Fix a false positive for Style/NegatedIfElseCondition when if with !! condition. (@koic)
    • #9041: Fix a false positive for Naming/VariableNumber when using integer symbols. (@koic)

    ๐Ÿ”„ Changes

    • ๐Ÿš€ #9045: Have cut_release handle "config/default" and generate cops doc. (@marcandre)
    • ๐Ÿ‘• #9036: Allow enums method by default for Lint/ConstantDefinitionInBlock. (@koic)
    • #9035: Only complain about SafeYAML if it causes issues. (@marcandre)
  • v1.3.0

    November 12, 2020

    ๐Ÿ†• New features

    • ๐Ÿ’Ž #8761: Read required_ruby_version from gemspec file if it exists. (@HeroProtagonist)
    • ๐Ÿ‘• #9001: Add new Lint/EmptyClass cop. (@fatkodima)
    • ๐Ÿ‘• #9025: Add AllowedMethods option to Lint/ConstantDefinitionInBlock. (@koic)
    • ๐Ÿ’… #9014: Support auto-correction for Style/IfInsideElse. (@koic)
    • ๐Ÿ’… #8483: Add new Style/StaticClass cop. (@fatkodima)
    • ๐Ÿ’… #9020: Add new Style/NilLambda cop to check for lambdas that always return nil. (@dvandersluis)
    • ๐Ÿ‘• #8404: Add new Lint/DuplicateBranch cop. (@fatkodima)

    ๐Ÿ› Bug fixes

    • ๐Ÿ’… #8499: Fix Style/IfUnlessModifier and Style/WhileUntilModifier to prevent an offense if there are both first-line comment and code after end block. (@dsavochkin)
    • ๐Ÿ’… #8996: Fix a false positive for Style/MultipleComparison when comparing two sides of the disjunction is unrelated. (@koic)
    • ๐Ÿ‘• #8975: Fix an infinite loop when autocorrecting Layout/TrailingWhitespace + Lint/LiteralInInterpolation. (@fatkodima)
    • ๐Ÿ’… #8998: Fix an error for Style/NegatedIfElseCondition when using negated condition and if branch body is empty. (@koic)
    • ๐Ÿ’… #9008: Mark Style/InfiniteLoop as unsafe. (@marcandre)

    ๐Ÿ”„ Changes

    • โšก๏ธ #8978: Update Layout/LineLength autocorrection to be able to handle method calls with long argument lists. (@dvandersluis)
    • โšก๏ธ #9015: Update Lint/EmptyBlock to allow for empty lambdas. (@dvandersluis)
    • ๐Ÿ’… #9022: Add NOTE to keywords of Style/CommentAnnotation. (@koic)
    • ๐Ÿ‘• #9011: Mark autocorrection for Lint/Loop as unsafe. (@dvandersluis)
    • ๐Ÿ’… #9026: Update Style/DocumentDynamicEvalDefinition to detect comment blocks that document the evaluation. (@dvandersluis)
    • ๐Ÿšš #9004: Remove obsolete gem SafeYAML compatibility. (@marcandre)
    • ๐Ÿ’… #9023: Mark unsafe for Style/CollectionCompact. (@koic)
    • #9012: Allow AllowedIdentifiers to be specified for Naming/VariableNumber. (@dvandersluis)
  • v1.2.0

    November 05, 2020

    ๐Ÿ†• New features

    • ๐Ÿ‘ #8983: Support auto-correction for Naming/HeredocDelimiterCase. (@koic)
    • #8004: Add new GitHubActionsFormatter formatter. (@lautis)
    • ๐Ÿ’… #8175: Add new AllowedCompactTypes option for Style/RaiseArgs. (@pdobb)
    • ๐Ÿ’… #8566: Add new Style/CollectionCompact cop. (@fatkodima)
    • #8925: Add --display-time option for displaying elapsed time of rubocop command. (@joshuapinter)
    • ๐Ÿ’… #8967: Add new Style/NegatedIfElseCondition cop. (@fatkodima)
    • ๐Ÿ’… #8984: Support auto-correction for Style/DoubleNegation. (@koic)
    • ๐Ÿ‘• #8992: Support auto-correction for Lint/ElseLayout. (@koic)
    • ๐Ÿ‘• #8988: Support auto-correction for Lint/UselessSetterCall. (@koic)
    • ๐Ÿ‘ #8982: Support auto-correction for Naming/BinaryOperatorParameterName. (@koic)

    ๐Ÿ› Bug fixes

    • ๐Ÿ’… #8989: Fix multibyte support in the regexp node handler that led Style/RedundantRegexpEscape to malfunction and corrupt a program in auto-correction. (@knu)
    • #8912: Fix Layout/ElseAlignment for rescue/else/ensure inside do/end blocks with assignment. (@miry)
    • ๐Ÿ‘• #8971: Fix a false alarm for # rubocop:disable Lint/EmptyBlock inline comment with Lint/RedundantCopDisableDirective. (@koic)
    • ๐Ÿ’… #8976: Fix an incorrect auto-correct for Style/KeywordParametersOrder when when kwoptarg is before kwarg and argument parentheses omitted. (@koic)
    • #8084: Fix a bug in how Layout/SpaceAroundBlockParameters handles block parameters with a trailing comma. (@bquorning)
    • ๐Ÿ’… #8966: Fix Layout/SpaceInsideParens to enforce no spaces in empty parens for all styles. (@joshuapinter)

    ๐Ÿ”„ Changes

    • ๐Ÿ‘ #5717: Support defined?-based memoization for Naming/MemoizedInstanceVariableName cop. (@fatkodima)
    • #8964: Extend Naming/VariableNumber cop to handle method names and symbols. (@fatkodima)
  • v1.1.0

    October 29, 2020

    ๐Ÿ†• New features

    • ๐Ÿ‘• #8896: Add new Lint/DuplicateRegexpCharacterClassElement cop. (@owst)
    • ๐Ÿ‘• #8895: Add new Lint/EmptyBlock cop. (@fatkodima)
    • ๐Ÿ’… #8934: Add new Style/SwapValues cop. (@fatkodima)
    • ๐Ÿ’… #7549: Add new Style/ArgumentsForwarding cop. (@koic)
    • ๐Ÿ‘• #8859: Add new Lint/UnmodifiedReduceAccumulator cop. (@dvandersluis)
    • ๐Ÿ’… #8951: Support auto-correction for Style/MultipleComparison. (@koic)
    • ๐Ÿ‘• #8953: Add AllowMethodComparison option for Lint/MultipleComparison. (@koic)
    • #8960: Add Regexp::Expression#loc and #expression to replace parsed_tree_expr_loc. (@marcandre)
    • #8930: Add rake tasks for alternative way to specify Changelog entries. (@marcandre)
    • ๐Ÿ’… #8940: Add new Style/DocumentDynamicEvalDefinition cop. (@fatkodima)
    • ๐Ÿ‘• #7753: Add new Lint/ToEnumArguments cop. (@fatkodima)

    ๐Ÿ› Bug fixes

    • ๐Ÿ‘• #8921: Prevent Lint/LiteralInInterpolation from removing necessary interpolation in %W[] and %I[] literals. (@knu)
    • ๐Ÿ‘• #8708: Fix bad regexp recognition in Lint/OutOfRangeRegexpRef when there are multiple regexps. (@dvandersluis)
    • ๐Ÿ— #8945: Fix changelog task to build a correct changelog item when Fix #123 is encountered. (@dvandersluis)
    • #8914: Fix autocorrection for Layout/TrailingWhitespace in heredocs. (@marcandre)
    • ๐Ÿ’… #8913: Fix an incorrect auto-correct for Style/RedundantRegexpCharacterClass due to quantifier. (@ysakasin)
    • #8917: Fix rubocop comment directives handling of cops with multiple levels in department name. (@fatkodima)
    • #8918: Fix a false positives for Bundler/DuplicatedGem when a gem conditionally duplicated within if-elsif or case-when statements. (@fatkodima)
    • #8933: Fix an error for Layout/EmptyLinesAroundAccessModifier when the first line is a comment. (@matthieugendreau)
    • ๐Ÿ’… #8954: Fix autocorrection for Style/RedundantRegexpCharacterClass with %r. (@ysakasin)

    ๐Ÿ”„ Changes

    • ๐Ÿ‘• #8920: Remove Capybara's save_screenshot from Lint/Debugger. (@ybiquitous)
    • #8919: Require RuboCop AST 1.0.1 or higher. (@koic)
    • ๐Ÿ’… #8939: Accept comparisons of multiple method calls for Style/MultipleComparison. (@koic)
    • ๐Ÿ‘• #8950: Add IgnoredMethods and IgnoredClasses to Lint/NumberConversion. (@dvandersluis)
  • v1.0.0

    October 21, 2020

    The first stable RuboCop release ever is finally here! You can read more about this special release here.

    ๐Ÿ†• New features

    • ๐Ÿ’… #7944: Add MaxUnannotatedPlaceholdersAllowed option to Style/FormatStringToken cop. (@Tietew)
    • ๐Ÿ’… #8379: Handle redundant parentheses around an interpolated expression for Style/RedundantParentheses cop. (@fatkodima)

    ๐Ÿ› Bug fixes

    • ๐Ÿ’… #8892: Fix an error for Style/StringConcatenation when correcting nested concatenable parts. (@fatkodima)
    • ๐Ÿ’… #8781: Fix handling of comments in Style/SafeNavigation autocorrection. (@dvandersluis)
    • #8907: Fix an incorrect auto-correct for Layout/ClassStructure when heredoc constant is defined after public method. (@koic)
    • #8889: Cops can use new after_<type> callbacks (only for nodes that may have children nodes, like :send and unlike :sym). (@marcandre)
    • #8906: Fix a false positive for Layout/SpaceAroundOperators when upward alignment. (@koic)
    • ๐Ÿ’… #8585: Fix false positive in Style/RedundantSelf cop with nested self access. (@marcotc)

    ๐Ÿ”„ Changes

    • #8882: (Potentially breaking) RuboCop assumes that Cop classes do not define new on_<type> methods at runtime (e.g. via extend in initialize). (@marcandre)
    • #7966: (Breaking) Enable all pending cops for RuboCop 1.0. (@koic)
    • #8490: (Breaking) Change logic for cop department name computation. Cops inside deep namespaces (5 or more levels deep) now belong to departments with names that are calculated by joining module names starting from the third one with slashes as separators. For example, cop Rubocop::Cop::Foo::Bar::Baz now belongs to Foo/Bar department (previously it was Bar). (@dsavochkin)
    • 0๏ธโƒฃ #8692: Default changed to disallow Layout/TrailingWhitespace in heredoc. (@marcandre)
    • ๐Ÿ”’ #8894: Make Security/Open aware of URI.open. (@koic)
    • #8901: Fix false positive for Naming/BinaryOperatorParameterName when defining =~. (@zajn)
    • #8908: Show extension cop versions when using --verbose-version option. (@koic)
  • v0.93.1

    October 12, 2020

    ๐Ÿ› Bug fixes

    • ๐Ÿ’… #8782: Fix incorrect autocorrection for Style/TernaryParentheses with defined?. (@dvandersluis)
    • ๐Ÿ‘• #8867: Rework Lint/RedundantSafeNavigation to be more safe. (@fatkodima)
    • ๐Ÿ’… #8864: Fix false positive for Style/RedundantBegin with a postfix while or until. (@dvandersluis)
    • ๐Ÿ’… #8869: Fix a false positive for Style/RedundantBegin when using begin for or assignment and method call. (@koic)
    • ๐Ÿ‘• #8862: Fix an error for Lint/AmbiguousRegexpLiteral when using regexp without method calls in nested structure. (@koic)
    • #8872: Fix an error for Metrics/ClassLength when multiple assignments to constants. (@koic)
    • ๐Ÿ’… #8871: Fix a false positive for Style/RedundantBegin when using begin for method argument or part of conditions. (@koic)
    • ๐Ÿ’… #8875: Fix an incorrect auto-correct for Style/ClassEqualityComparison when comparing class name. (@koic)
    • ๐Ÿ’… #8880: Fix an error for Style/ClassLength when overlapping constant assignments. (@koic)
  • v0.93.0

    October 08, 2020

    ๐Ÿ†• New features

    • ๐Ÿ‘• #8796: Add new Lint/HashCompareByIdentity cop. (@fatkodima)
    • ๐Ÿ’… #8833: Add new Style/ClassEqualityComparison cop. (@fatkodima)
    • ๐Ÿ‘• #8668: Add new Lint/RedundantSafeNavigation cop. (@fatkodima)
    • #8842: Add notification about cache being used to debug mode. (@hatkyinc2)
    • ๐Ÿ’… #8822: Make Style/RedundantBegin aware of begin without rescue or ensure. (@koic)

    ๐Ÿ› Bug fixes

    • ๐Ÿ’… #8810: Fix multiple offense detection for Style/RaiseArgs. (@pbernays)
    • ๐Ÿ‘• #8151: Fix a false positive for Lint/BooleanSymbol when used within %i[...]. (@fatkodima)
    • ๐Ÿ’… #8809: Fix multiple offense detection for Style/For. (@pbernays)
    • 0๏ธโƒฃ #8801: Fix Layout/SpaceAroundEqualsInParameterDefault only registered once in a line. (@rdunlop)
    • ๐Ÿ’… #8514: Correct multiple Style/MethodDefParentheses per file. (@rdunlop)
    • ๐Ÿ’… #8825: Fix crash in Style/ExplicitBlockArgument when code is called outside of a method. (@ghiculescu)
    • #8718: Fix undefined methods of pseudo location. (@ybiquitous)
    • ๐Ÿ’… #8354: Detect regexp named captures in Style/CaseLikeIf cop. (@dsavochkin)
    • ๐Ÿ’… #8821: Fix an incorrect autocorrect for Style/NestedTernaryOperator when using a nested ternary operator expression with no parentheses on the outside. (@koic)
    • ๐Ÿ’… #8834: Fix a false positive for Style/ParenthesesAsGroupedExpression when method argument parentheses are omitted and hash argument key is enclosed in parentheses. (@koic)
    • ๐Ÿ’… #8830: Fix bad autocorrect of Style/StringConcatenation when string includes double quotes. (@tleish)
    • ๐Ÿ’… #8807: Fix a false positive for Style/RedundantCondition when using assignment by hash key access. (@koic)
    • ๐Ÿ’… #8848: Fix a false positive for Style/CombinableLoops when using the same method with different arguments. (@dvandersluis)
    • ๐Ÿ‘• #8843: Fix an incorrect autocorrect for Lint/AmbiguousRegexpLiteral when sending method to regexp literal receiver. (@koic)
    • #8842: Save actual status to cache, except corrected. (@hatkyinc2)
    • ๐Ÿ’… #8835: Fix an incorrect autocorrect for Style/RedundantInterpolation when using string interpolation for non-operator methods. (@koic)
    • ๐Ÿ‘• #7495: Example for Lint/AmbiguousBlockAssociation cop. (@AllanSiqueira)
    • ๐Ÿ’… #8855: Fix an error for Layout/EmptyLinesAroundAccessModifier and Style/AccessModifierDeclarations when using only access modifier. (@koic)

    ๐Ÿ”„ Changes

    • #8803: (Breaking) RegexpNode#parsed_tree now processes regexps including interpolation (by blanking the interpolation before parsing, rather than skipping). (@owst)
    • ๐Ÿ’… #8625: Improve Style/RedundantRegexpCharacterClass and Style/RedundantRegexpEscape by using regexp_parser gem. (@owst)
    • #8646: Faster find of all files in TargetFinder class which improves initial startup speed. (@tleish)
    • #8102: Consider class length instead of block length for Struct.new. (@tejasbubane)
    • ๐Ÿ’Ž #7408: Make Gemspec/RequiredRubyVersion cop aware of Gem::Requirement. (@tejasbubane)
  • v0.92.0

    September 25, 2020

    ๐Ÿ†• New features

    ๐Ÿ› Bug fixes

    • #8774: Fix a false positive for Layout/ArrayAlignment with parallel assignment. (@dvandersluis)

    ๐Ÿ”„ Changes

    • โšก๏ธ #8785: Update TargetRubyVersion 2.8 to 3.0 (experimental). (@koic)
    • #8650: Faster find of hidden files in TargetFinder class which improves rubocop initial startup speed. (@tleish)
    • ๐Ÿ’… #8783: Disable Style/ArrayCoercion cop by default. (@koic)