New features
- #117: Add
--parallel
option for running RuboCop in multiple processes or threads. (@jonas054) - Add auto-correct support to
Style/MixinGrouping
. (@rrosenblum) - #4236: Add new
Rails/ApplicationJob
andRails/ApplicationRecord
cops. (@tjwp) - #4078: Add new
Performance/Caller
cop. (@alpaca-tc) - #4314: Check slow hash accessing in
Array#sort
byPerformance/CompareWithBlock
. (@pocke) - #3438: Add new
Style/FormatStringToken
cop. (@backus) - #4342: Add new
Lint/ScriptPermission
cop. (@yhirano55) - #4145: Add new
Style/YodaCondition
cop. (@smakagon) - #4403: Add public API
Cop.autocorrect_incompatible_with
for specifying other cops that should not autocorrect together. (@backus) - #4354: Add autocorrect to
Style/FormatString
. (@hoshinotsuyoshi) - #4021: Add new
Style/MultipleComparison
cop. (@dabroz) - New
Lint/RescueType
cop. (@rrosenblum)
Changes
- #4262: Add new
MinSize
configuration toStyle/SymbolArray
, consistent with the same configuration inStyle/WordArray
. (@scottmatthewman) - #3400: Remove auto-correct support from Lint/Debugger. (@ilansh)
- #4278: Move all cops dealing with whitespace into a new department called
Layout
. (@jonas054) - #4320: Update
Rails/OutputSafety
to disallow wrappingraw
orhtml_safe
withsafe_join
. (@klesse413) - #4336: Store
rubocop_cache
in safer directories. (@jonas054) - #4361: Use relative path for offense message in
Lint/DuplicateMethods
. (@pocke) - #4385: Include
.jb
file by default. (@pocke)
Bug fixes
- #4265: Require a space before first argument of a method call in
Style/SpaceBeforeFirstArg
cop. (@cjlarose) - #4237: Fix false positive in
Lint/AmbiguousBlockAssociation
cop for lambdas. (@smakagon) - #4242: Add
Capfile
to the list of known Ruby filenames. (@bbatsov) - #4240: Handle
||=
inRails/RelativeDateConstant
. (@bbatsov) - #4241: Prevent
Rails/Blank
andRails/Present
from breaking when there is no explicit receiver. (@rrosenblum) - #4249: Handle multiple assignment in
Rails/RelativeDateConstant
. (@bbatsov) - #4250: Improve a bit the Ruby code detection config. (@bbatsov)
- #4283: Fix
Style/EmptyCaseCondition
autocorrect bug - when firstwhen
branch includes comma-delimited alternatives. (@ilansh) - #4268: Handle end-of-line comments when autocorrecting Style/EmptyLinesAroundAccessModifier. (@vergenzt)
- #4275: Prevent
Style/MethodCallWithArgsParentheses
from blowing up onyield
. (@drenmi) - #3969: Handle multiline method call alignment for arguments to methods. (@jonas054)
- #4304: Allow enabling whole departments when
DisabledByDefault
istrue
. (@jonas054) - #4264: Prevent
Rails/SaveBang
from blowing up when using the assigned variable in a hash. (@drenmi) - #4310: Treat paths containing invalid byte sequences as non-matches. (@mclark)
- #4063: Fix Rails/ReversibleMigration misdetection. (@gprado)
- #4339: Fix false positive in
Security/Eval
cop for multiline string lietral. (@pocke) - #4339: Fix false negative in
Security/Eval
cop forBinding#eval
. (@pocke) - #4327: Prevent
Layout/SpaceInsidePercentLiteralDelimiters
from registering offenses on execute-strings. (@drenmi) - #4371: Prevent
Style/MethodName
from complaining about unary operator definitions. (@drenmi) - #4366: Prevent
Performance/RedundantMerge
from blowing up on double splat arguments. (@drenmi) - #4352: Fix the auto-correct of
Style/AndOr
when Enumerable accessors ([]
) are used. (@rrosenblum) - #4393: Prevent
Style/InverseMethods
from registering an offense for methods that are double negated. (@rrosenblum) - #4394: Prevent some cops from breaking on safe navigation operator. (@drenmi)
- #4260: Prevent
Rails/SkipsModelValidations
from registering an offense forFileUtils.touch
. (@rrosenblum)