All Versions
151
Latest Version
Avg Release Cycle
7 days
Latest Release
1029 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v1.1.0 Changes
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 forLint/MultipleComparison
. (@koic) - #8960: Add
Regexp::Expression#loc
and#expression
to replaceparsed_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 withinif-elsif
orcase-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
fromLint/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
andIgnoredClasses
toLint/NumberConversion
. (@dvandersluis)
- ๐ #8896: Add new
-
v1.0.0 Changes
October 21, 2020The first stable RuboCop release ever is finally here! You can read more about this special release here.
๐ New features
- ๐
#7944: Add
MaxUnannotatedPlaceholdersAllowed
option toStyle/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 nestedself
access. (@marcotc)
๐ Changes
- #8882: (Potentially breaking) RuboCop assumes that Cop classes do not define new
on_<type>
methods at runtime (e.g. viaextend
ininitialize
). (@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 toFoo/Bar
department (previously it wasBar
). (@dsavochkin) - 0๏ธโฃ #8692: Default changed to disallow
Layout/TrailingWhitespace
in heredoc. (@marcandre) - ๐ #8894: Make
Security/Open
aware ofURI.open
. (@koic) - #8901: Fix false positive for
Naming/BinaryOperatorParameterName
when defining=~
. (@zajn) - #8908: Show extension cop versions when using
--verbose-version
option. (@koic)
- ๐
#7944: Add
-
v0.93.1 Changes
October 12, 2020๐ Bug fixes
- ๐
#8782: Fix incorrect autocorrection for
Style/TernaryParentheses
withdefined?
. (@dvandersluis) - ๐ #8867: Rework
Lint/RedundantSafeNavigation
to be more safe. (@fatkodima) - ๐
#8864: Fix false positive for
Style/RedundantBegin
with a postfixwhile
oruntil
. (@dvandersluis) - ๐
#8869: Fix a false positive for
Style/RedundantBegin
when usingbegin
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 usingbegin
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)
- ๐
#8782: Fix incorrect autocorrection for
-
v0.93.0 Changes
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 ofbegin
withoutrescue
orensure
. (@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
andStyle/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
andStyle/RedundantRegexpEscape
by usingregexp_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 ofGem::Requirement
. (@tejasbubane)
- ๐ #8796: Add new
-
v0.92.0 Changes
September 25, 2020๐ New features
- ๐ป #8778: Add command line option
--regenerate-todo
. (@dvandersluis) - ๐
#8790: Add
AllowedMethods
option toStyle/OptionalBooleanParameter
cop. (@fatkodima) - ๐
#8738: Add autocorrection to
Style/DateTime
. (@dvandersluis)
๐ Bug fixes
- #8774: Fix a false positive for
Layout/ArrayAlignment
with parallel assignment. (@dvandersluis)
๐ Changes
- ๐ป #8778: Add command line option
-
v0.91.1 Changes
September 23, 2020๐ Bug fixes
- ๐ #8720: Fix an error for
Lint/IdentityComparison
when callingobject_id
method without receiver in LHS or RHS. (@koic) - ๐
#8767: Fix a false positive for
Style/RedundantReturn
when a rescue has an else clause. (@fatkodima) - #8710: Fix a false positive for
Layout/RescueEnsureAlignment
whenLayout/BeginEndAlignment
cop is not enabled status. (@koic) - #8726: Fix a false positive for
Naming/VariableNumber
when naming multibyte character variable name. (@koic) - ๐ #8730: Fix an error for
Lint/UselessTimes
when there is a blank line in the method definition. (@koic) - ๐
#8740: Fix a false positive for
Style/HashAsLastArrayItem
when the hash is in an implicit array. (@dvandersluis) - ๐ #8739: Fix an error for
Lint/UselessTimes
when using empty block argument. (@koic) - #8742: Fix some assignment counts for
Metrics/AbcSize
. (@marcandre) - ๐
#8750: Fix an incorrect auto-correct for
Style/MultilineWhenThen
when line break for multiple condidate values ofwhen
statement. (@koic) - ๐
#8754: Fix an error for
Style/RandomWithOffset
when using a range with non-integer bounds. (@eugeneius) - #8756: Fix an infinite loop error for
Layout/EmptyLinesAroundAccessModifier
withLayout/EmptyLinesAroundBlockBody
when using access modifier with block argument. (@koic) - ๐ #8372: Fix
Lint/RedundantCopEnableDirective
autocorrection to not leave orphaned empty# rubocop:enable
comments. (@dvandersluis) - ๐ #8372: Fix
Lint/RedundantCopDisableDirective
autocorrection. (@dvandersluis) - #8764: Fix
Layout/CaseIndentation
not showing the cop name in output messages. (@dvandersluis) - ๐
#8771: Fix an error for
Style/OneLineConditional
when usingif-then-elsif-then-end
. (@koic) - ๐
#8576: Fix
Style/IfUnlessModifier
to ignore cop disable comment directives when considering conversion to the modifier form. (@dsavochkin)
๐ Changes
- #8489: Exclude method
respond_to_missing?
fromOptionalBooleanParameter
cop. (@em-gazelle) - ๐
#7914:
Style/SafeNavigation
marked as having unsafe auto-correction. (@marcandre) - ๐
#8749: Disable
Style/IpAddresses
by default inGemfile
and gemspec files. (@dvandersluis)
- ๐ #8720: Fix an error for
-
v0.91.0 Changes
September 15, 2020๐ New features
- New option
--cache-root
and support for theRUBOCOP_CACHE_ROOT
environment variable. Both can be used to override theAllCops: CacheRootDirectory
config, especially in a CI setting. (@sascha-wolf) - #8582: Add new
Layout/BeginEndAlignment
cop. (@koic) - ๐ #8699: Add new
Lint/IdentityComparison
cop. (@koic) - โ Add new
Lint/UselessTimes
cop. (@dvandersluis) - ๐ #8707: Add new
Lint/ConstantDefinitionInBlock
cop. (@eugeneius)
๐ Bug fixes
- ๐ #8627: Fix a false positive for
Lint/DuplicateRequire
when same feature argument but different require method. (@koic) - #8674: Fix an error for
Layout/EmptyLineAfterMultilineCondition
when conditional is at the top level. (@fatkodima) - ๐
#8658: Fix a false positive for
Style/RedundantSelfAssignment
when calling coercion methods. (@fatkodima) - ๐ #8669: Fix an offense creation for
Lint/EmptyFile
. (@fatkodima) - ๐ #8607: Fix a false positive for
Lint/UnreachableLoop
when conditional branch includes continue statement preceding break statement. (@fatkodima) - ๐
#8572: Fix a false positive for
Style/RedundantParentheses
when parentheses are used like method argument parentheses. (@koic) - ๐
#8630: Fix some false positives for
Style/HashTransformKeys
andStyle/HashTransformValues
when the receiver is an array. (@eugeneius) - #8653: Fix a false positive for
Layout/DefEndAlignment
when using refinements andprivate def
. (@koic) - ๐
#8655: Fix a false positive for
Style/ClassAndModuleChildren
when using cbase class name. (@koic) - ๐
#8654: Fix a false positive for
Style/SafeNavigation
when checkingfoo&.empty?
in a conditional. (@koic) - ๐
#8660: Fix a false positive for
Style/ClassAndModuleChildren
when using cbase module name. (@koic) - #8664: Fix a false positive for
Naming/BinaryOperatorParameterName
when naming multibyte character method name. (@koic) - #8604: Fix a false positive for
Bundler/DuplicatedGem
when gem is duplciated in condition. (@tejasbubane) - ๐
#8671: Fix an error for
Style/ExplicitBlockArgument
when using safe navigation method call. (@koic) - ๐
#8681: Fix an error for
Style/HashAsLastArrayItem
withno_braces
for empty hash. (@fsateler) - #8682: Fix a positive for
Style/HashTransformKeys
andStyle/HashTransformValues
when theeach_with_object
hash is used in the transformed key or value. (@eugeneius) - ๐
#8688: Mark
Style/GlobalStdStream
as unsafe autocorrection. (@marcandre) - ๐
#8642: Fix a false negative for
Style/SpaceInsideHashLiteralBraces
when a correct empty hash precedes the incorrect hash. (@dvandersluis) - #8683: Make naming cops work with non-ascii characters. (@tejasbubane)
- ๐ #8626: Fix false negatives for
Lint/UselessMethodDefinition
. (@marcandre) - ๐ป #8698: Fix cache to avoid encoding exception. (@marcandre)
- ๐ #8704: Fix an error for
Lint/AmbiguousOperator
when using safe navigation operator with a unary operator. (@koic) - ๐
#8661: Fix an incorrect auto-correct for
Style/MultilineTernaryOperator
when returning a multiline ternary operator expression. (@koic) - ๐
#8526: Fix a false positive for
Style/CaseEquality
cop when the receiver is not a camel cased constant. (@koic) - ๐ #8673: Fix the JSON parse error when specifying
--format=json
and--stdin
options. (@koic)
๐ Changes
- ๐
#8470: Do not autocorrect
Style/StringConcatenation
when parts of the expression are too complex. (@dvandersluis) - ๐ #8561: Fix
Lint/UselessMethodDefinition
to not register an offense when method definition includes optional arguments. (@fatkodima) - ๐
#8617: Fix
Style/HashAsLastArrayItem
to not register an offense when all items in an array are hashes. (@dvandersluis) - ๐ #8500: Add
in?
to AllowedMethods forLint/SafeNavigationChain
cop. (@tejasbubane) - ๐ #8629: Fix the cache being reusable in CI by using crc32 to calculate file hashes rather than
mtime
, which changes each CI build. (@dvandersluis) - ๐
#8663: Fix multiple autocorrection bugs with
Style/ClassMethodsDefinitions
. (@dvandersluis) - #8621: Add helpful Infinite Loop error message. (@iSarCasm)
- New option
-
v0.90.0 Changes
September 01, 2020๐ New features
- ๐
#8451: Add new
Style/RedundantSelfAssignment
cop. (@fatkodima) - #8384: Add new
Layout/EmptyLineAfterMultilineCondition
cop. (@fatkodima) - ๐
#8390: Add new
Style/SoleNestedConditional
cop. (@fatkodima) - ๐
#8562: Add new
Style/KeywordParametersOrder
cop. (@fatkodima) - ๐
#8486: Add new
Style/CombinableLoops
cop. (@fatkodima) - ๐
#8381: Add new
Style/ClassMethodsDefinitions
cop. (@fatkodima) - ๐ #8474: Add new
Lint/DuplicateRequire
cop. (@fatkodima) - ๐ #8472: Add new
Lint/UselessMethodDefinition
cop. (@fatkodima) - ๐ #8531: Add new
Lint/EmptyFile
cop. (@fatkodima) - โ Add new
Lint/TrailingCommaInAttributeDeclaration
cop. (@drenmi) - #8578: Add
:restore_registry
context andstub_cop_class
helper class. (@marcandre) - ๐ #8579: Add
Cop.documentation_url
. (@marcandre) - ๐ #8510: Add
RegexpNode#each_capture
andparsed_tree
. (@marcandre) - โก๏ธ #8365: Cops defining
on_send
can be optimized by defining the constantRESTRICT_ON_SEND
with a list of acceptable method names. (@marcandre)
๐ Bug fixes
- ๐
#8508: Fix a false positive for
Style/CaseLikeIf
when conditional contains comparison with a class. MarkStyle/CaseLikeIf
as not safe. (@fatkodima) - #8618: Fix an infinite loop error for
Layout/EmptyLineBetweenDefs
. (@fatkodima) - ๐ #8534: Fix
Lint/BinaryOperatorWithIdenticalOperands
for binary operators used as unary operators. (@marcandre) - #8537: Allow a trailing comment as a description comment for
Bundler/GemComment
. (@pocke) - ๐
#8507: Fix
Style/RescueModifier
to handle parentheses around rescue modifiers. (@dsavochkin) - ๐
#8527: Prevent an incorrect auto-correction for
Style/CaseEquality
cop when comparing with===
against a regular expression receiver. (@koic) - #8524: Fix
Layout/EmptyLinesAroundClassBody
andLayout/EmptyLinesAroundModuleBody
to correctly handle an access modifier as a first child. (@dsavochkin) - ๐ #8518: Fix
Lint/ConstantResolution
cop reporting offense formodule
andclass
definitions. (@tejasbubane) - ๐
#8158: Fix
Style/MultilineWhenThen
cop to correctly handle cases with multiline body. (@dsavochkin) - ๐
#7705: Fix
Style/OneLineConditional
cop to handle if/then/elsif/then/else/end cases. AddAlwaysCorrectToMultiline
config option to this cop to always convert offenses to the multi-line form (false by default). (@Lykos, @dsavochkin) - #8590: Fix an error when auto-correcting encoding mismatch file. (@koic)
- ๐
#8321: Enable auto-correction for
Layout/{Def}EndAlignment
,Lint/EmptyEnsure
,Style/ClassAndModuleChildren
. (@marcandre) - ๐
#8583: Fix
Style/RedundantRegexpEscape
false positive for line continuations. (@owst) - ๐
#8593: Fix
Style/RedundantRegexpCharacterClass
false positive for interpolated multi-line expressions. (@owst) - ๐
#8624: Fix an error with the
Style/CaseLikeIf
cop where it does not properly handle overridden equality methods with no arguments. (@Skipants)
๐ Changes
- โ #8413: Pending cops warning now contains snippet that can be directly copied into
.rubocop.yml
as well as a notice aboutNewCops: enable
config option. (@colszowka) - #8362: Add numbers of correctable offenses to summary. (@nguyenquangminh0711)
- ๐ #8513: Clarify the ruby warning mentioned in the
Lint/ShadowingOuterLocalVariable
documentation. (@chocolateboy) - ๐
#8517: Make
Style/HashTransformKeys
andStyle/HashTransformValues
aware ofto_h
with block. (@eugeneius) - ๐ #8529: Mark
Lint/FrozenStringLiteralComment
asSafe
, but with unsafe auto-correction. (@marcandre) - ๐ #8602: Fix usage of
to_enum(:scan, regexp)
to work on TruffleRuby. (@jaimerave)
- ๐
#8451: Add new
-
v0.90.0-antora
September 01, 2020 -
v0.89.1 Changes
August 10, 2020๐ Bug fixes
- ๐ #8463: Fix false positives for
Lint/OutOfRangeRegexpRef
when a regexp is defined and matched in separate steps. (@eugeneius) - #8464: Handle regexps matched with
when
,grep
,gsub
,gsub!
,sub
,sub!
,[]
,slice
,slice!
,scan
,index
,rindex
,partition
,rpartition
,start_with?
, andend_with?
inLint/OutOfRangeRegexpRef
. (@eugeneius) - ๐ #8466: Fix a false positive for
Lint/UriRegexp
when usingregexp
method without receiver. (@koic) - ๐ #8478: Relax
Lint/BinaryOperatorWithIdenticalOperands
for mathematical operations. (@marcandre) - ๐ #8480: Tweak callback list of
Lint/MissingSuper
. (@marcandre) - ๐
#8481: Fix autocorrect for elements with newlines in
Style/SymbolArray
andStyle/WordArray
. (@biinari) - ๐
#8475: Fix a false positive for
Style/HashAsLastArrayItem
when there are duplicate hashes in the array. (@wcmonty) - ๐
#8497: Fix
Style/IfUnlessModifier
to add parentheses when converting if-end condition inside a parenthesized method argument list. (@dsavochkin)
๐ Changes
- ๐ #8463: Fix false positives for