A summary of data about the Ruby ecosystem.

Recent Releases of https://github.com/rubocop/rubocop

https://github.com/rubocop/rubocop - RuboCop 1.40

New features

  • #11179: Add Style/RedundantConstantBase cop. (@r7kamura)
  • #11205: Add --[no-]auto-gen-enforced-style CLI option. (@ydah)
  • #11235: Add Style/RequireOrder cop. (@r7kamura)
  • #11219: Make Style/SelectByRegexp aware of !~ method. (@koic)
  • #11224: Add new cop Style/ArrayIntersect which replaces (array1 & array2).any? with array1.intersect?(array2), method Array#intersect? was added in ruby 3.1. (@KirIgor)
  • #11211: Add autocorrect for Lint/AssignmentInCondition. (@r7kamura)

Bug fixes

  • #5251: Fix loading of configuration in multi-file edge case. (@NobodysNightmare)
  • #11192: Fix a false positive for Lint/ParenthesesAsGroupedExpression when using a block argument. (@ydah)
  • #11143: Fix RedundantCopDisableDirective errors when encountering several department comments. (@isarcasm)
  • #11230: Fix an incorrect autocorrect for Lint/SafeNavigationChain when using safe navigation with [] operator followed by method chain. (@koic)
  • #11181: Fix pattern to match .tool-versions files that specify multiple runtimes. (@noelblaschke)
  • #11239: Fix an incorrect autocorrect for Style/GuardClause when using heredoc as an argument of raise in branch body. (@koic)
  • #11182: Fix an incorrect autocorrect for EnforcedShorthandSyntax: always of Style/HashSyntax with Style/IfUnlessModifier when using Ruby 3.1. (@koic)
  • #11184: Fix an error for Lint/ShadowingOuterLocalVariable when a block local variable has same name as an outer until scope variable. (@koic)
  • #11198: Fix an error for Lint/EmptyConditionalBody when one using line if/;/end without then boby. (@koic)
  • #11196: Fix a false positive for Style/GuardClause when using raise in then body of if..elsif..end form. (@koic)
  • #11213: Support redundant department disable in scope of Lint/RedundantCopDisableDirective cop. (@isarcasm)
  • #11200: Fix an incorrect autocorrect for Layout/MultilineMethodCallBraceLayout when using method chain for heredoc argument in multiline literal brace layout. (@koic)
  • #11190: Fix an error for Style/IfWithSemicolon when using one line if/;/end without then boby. (@koic)
  • #11244: Fix a false negative for Style/RedundantReturn when dynamic define methods. (@ydah)

Changes

  • #11218: Update severity of Bundler/DuplicatedGem, Bundler/InsecureProtocolSource, Gemspec/DeprecatedAttributeAssignment, Gemspec/DuplicatedAssignment, Gemspec/RequireMFA, Gemspec/RequiredRubyVersion, and Gemspec/RubyVersionGlobalsUsage cops to warning. (@koic)
  • #11222: Make Style/RedundantArgument aware of Array#sum. (@koic)
  • #11070: Add ability to count method calls as one line to code length related Metric cops. (@fatkodima)
  • #11226: Make Lint/Void aware of used lambda and proc in void context. (@koic)
  • #11206: Change Lint/InterpolationCheck from Safe: false to SafeAutoCorrect: false. (@r7kamura)
  • #11212: Make Lint/DeprecatedConstants aware of deprecated Struct::Group and Struct::Passwd classes. (@koic)
  • #11236: Remove respond_to from default value of AllowedMethods for Style/SymbolProc. (@koic)
  • #11185: Make Style/HashSyntax aware of without parentheses call expr follows. (@koic)
  • #11203: Support multiple arguments on Lint/SendWithMixinArgument. (@r7kamura)
  • #11229: Add cc to AllowedNames of MethodParameterName cop. (@tjschuck)
  • #11116: Handle ternaries in Style/SafeNavigation. (@fatkodima)

- Ruby
Published by bbatsov about 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.39

New features

Bug fixes

  • #11150: Improve Style/RedundantRegexpEscape to catch unnecessarily escaped hyphens within a character class. (@si-lens)
  • #11168: Fix an incorrect autocorrect for Style/ClassEqualityComparison when using instance variable comparison in module. (@koic)
  • #11176: Fix a false positive cases for Lint/DuplicateMethods when using duplicate nested method. (@koic)
  • #11164: Suppress "RuboCop server starting..." message with --server --format json. (@koic)
  • #11156: Fix Style/OperatorMethodCall autocorrection when operators are chained. (@gsamokovarov)
  • #11139: Fix a false negative for Style/HashEachMethods when using each with a symbol proc argument. (@ydah)
  • #11161: Fix a false positive for Style/HashAsLastArrayItem when using double splat operator. (@koic)
  • #11151: Fix a false positive for Lint/SuppressedException. (@akihikodaki)
  • #11123: Fix autocorrection bug for Style/StringLiterals when using multiple escape characters. (@si-lens)
  • #11165: Fix a false positive for Style/RedundantEach when any method is used between methods containing each in the method name. (@koic)
  • #11177: Fix a false positive for Style/ObjectThen cop with TargetRubyVersion < 2.6. (@epaew)
  • #11173: Fix an incorrect autocorrect for Style/CollectionCompact when using reject with block pass arg and no parentheses. (@koic)
  • #11137: Fix a false positive for Style/RedundantEach when using a symbol proc argument. (@ydah)
  • #11142: Fix Style/RedundantEach for non-chained each_ calls. (@fatkodima)

Changes

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.38

New features

Bug fixes

  • #11125: Fix an error for Layout/SpaceInsideHashLiteralBraces when using method argument that both key and value are hash literals. (@koic)
  • #11132: Fix clobbering error on Lint/EmptyConditionalBody. (@r7kamura)
  • #11117: Fix a false positive for Style/BlockDelimiters when specifying EnforcedStyle: semantic and using a single line block with {} followed by a safe navigation method call. (@koic)
  • #11120: Fix an incorrect autocorrect for Lint/RedundantRequireStatement when using redundant require with modifier form. (@koic)

Changes

  • #11131: Check newline in empty reference bracket on Layout/SpaceInsideReferenceBrackets. (@r7kamura)
  • #11045: Update the Style/ModuleFunction documentation to suggest class << self as an alternative. (@rdeckard)
  • #11006: Allow multiple elsif for Style/IfWithBooleanLiteralBranches. (@koic)
  • #11113: Report the count of files in the Worst and the Offense Count formatters. (@hosamaly)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.37.1

Bug fixes

  • #11102: Fix an error for Style/AccessModifierDeclarations when using access modifier in a block. (@koic)
  • #11107: Fix a false positive for Style/OperatorMethodCall when a constant receiver uses an operator method. (@koic)
  • #11104: Fix an error for Style/CollectionCompact when using reject method and receiver is a variable. (@koic)
  • #11114: Fix an error for Style/OperatorMethodCall when using obj.!. (@koic)
  • #11088: Fix an error when specifying SuggestExtensions: true. (@koic)
  • #11089: Fix an error for Style/RedundantStringEscape when using character literals (e.g. ?a). (@ydah)
  • #11098: Fix false positive for Style/RedundantStringEscape. (@tdeo)
  • #11095: Fix an error for Style/RedundantStringEscape cop when using ?\n string character literal. (@koic)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.37

New features

  • #11043: Add new Lint/DuplicateMagicComment cop. (@koic)
  • #10409: Add --no-exclude-limit CLI option. (@r7kamura)
  • #10986: Add autocorrect for Style/StaticClass. (@FnControlOption)
  • #11018: Add AllowedMethods and AllowedPatterns for Lint/NestedMethodDefinition. (@koic)
  • #11055: Implement Lint/DuplicateMethods for object singleton class. (@tdeo)
  • #10997: Make rubocop command aware of --server option from .rubocop and RUBOCOP_OPTS. (@koic)
  • #11079: Add new Style/OperatorMethodCall cop. (@koic)
  • #10439: Add new Style/RedundantStringEscape cop. (@owst)

Bug fixes

  • #11034: Fix server mode behavior when using --stderr. (@tdeo)
  • #11028: Fix a false positive for Lint/RequireParentheses when using ternary operator in square bracksts. (@koic)
  • #11051: Preserve comments on Style/AccessModifierDeclarations autocorrection. (@r7kamura)
  • #9116: Support super method in Layout/FirstArgumentIndentation. (@tdeo)
  • #11068: Fix a false positive for Style/RedundantRegexpCharacterClass when using starting with "\0" number. (@koic)
  • #11082: Fix an incorrect autocorrect for Lint/SafeNavigationChain when safe navigation on the right-hand side of the arithmetic operator. (@ydah)
  • #10982: Do not autocorrect parentheses for calls in assignments in conditional branches for Style/MethodCallWithArgsParentheses with omit_parentheses. (@gsamokovarov)
  • #11084: Fix an error for Style/ParallelAssignment when using parallel assignment in singleton method. (@koic)
  • #11078: Fix a false positive for Style/RedundantBegin when using endless method definition for begin with multiple statements. (@koic)
  • #11074: Fix a false positive for Lint/RedundantDirGlobSort when using Dir.glob with multiple arguments. (@koic)
  • #11025: Check comments for disables in RedundantInitialize cop. (@HeroProtagonist)
  • #11003: Fix clobbering exception in EmptyConditionalBody cop when if branch is empty but else is not. (@srcoley)
  • #11026: Fix an error occurred for Style/SymbolArray and Style/WordArray when empty percent array. (@ydah)
  • #11022: Fix an incorrect autocorrect for Style/RedundantCondition when using redundant brackets access condition. (@koic)
  • #11037: Fix a false positive for Style/CollectionCompact when using to_enum.reject or lazy.reject methods with Ruby 3.0 or lower. (@koic)
  • #11017: Fix an autocorrect for Lint/EmptyConditionalBody that causes a SyntaxError when missing if and else body. (@ydah)
  • #11047: Fix an incorrect autocorrect for Style/SafeNavigationChain when using +@ and -@ methods. (@koic)
  • #11015: Fix a false positive for Style/HashSyntax when without parentheses call expr follows after nested method call. (@koic)
  • #11067: Fix a false positive for Lint/DuplicateRegexpCharacterClassElement when using regexp character starts with escaped zero number. (@koic)
  • #11030: Fix an incorrect autocorrect for Lint/UnusedMethodArgument and Style::ExplicitBlockArgument when autocorrection conflicts for &block argument. (@koic)
  • #11069: Fix an incorrect autocorrect for Lint/RedundantCopDisableDirective when disable directive contains free comment. (@koic)
  • #11063: Preserve comments on Style/AccessorGrouping autocorrection. (@r7kamura)
  • #10994: Fix an error when running 3rd party gem that does not require server. (@koic)

Changes

  • #11054: Implement correct behavior for compact mode for Layout/SpaceInsideArrayLiteralBrackets. (@tdeo)
  • #10924: Style/NegatedIfElseCondition also checks negative conditions inside parentheses. (@tsugimoto)
  • #11042: Mark Lint/OrderedMagicComments as unsafe autocorrection. (@koic)
  • #11057: Make Lint/RedundantRequireStatement aware of pp, ruby2_keywords, and fiber. (@koic)
  • #10988: Raise error when both safe and unsafe autocorrect options are specified. (@koic)
  • #11032: Detect empty Hash literal braces containing only newlines and spaces on Layout/SpaceInsideHashLiteralBraces. (@r7kamura)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.36

New features

Bug fixes

  • #10958: Fix an infinite loop for Layout/SpaceInsideBlockBraces when EnforcedStyle is no_space and using multiline block. (@ydah)
  • #10903: Skip forking off extra processes for parallel inspection when only a single file needs to be inspected. (@wjwh)
  • #10919: Fix a huge performance regression between 1.32.0 and 1.33.0. (@ydah)
  • #10951: Fix an autocorrection error for Lint/EmptyConditionalBody when some conditional branch is empty. (@ydah)
  • #10927: Fix a false positive for Style/HashTransformKeys and Style/HashTransformValues when not using transformed block argument. (@koic)
  • #10979: Fix a false positive for Style/RedundantParentheses when using parentheses with pin operator except for variables. (@Tietew)
  • #10962: Fix a false positive for Lint/ShadowingOuterLocalVariable when conditional with if/elsif/else branches. (@ydah)
  • #10969: Fix a false negative for AllowedPatterns of Lint/AmbiguousBlockAssociation when using a method chain. (@jcalvert)
  • #10963: Fix a false positive for Layout/IndentationWidth when using aligned empty else in pattern matching. (@koic)
  • #10975: Fix possible wrong autocorrection in namespace on Style/PerlBackrefs. (@r7kamura)

Changes

  • #10928: Add more autocorrect support on Style/EachForSimpleLoop. (@r7kamura)
  • #10960: Add as to AllowedNames in default configuration for Naming/MethodParameterName cop. (@koic)
  • #10966: Add autocorrect support to Style/AccessModifierDeclarations. (@r7kamura)
  • #10940: Add server mode status to -V option. (@koic)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.35.1

Bug fixes

  • #10926: Make Style/SafeNavigation aware of a redundant nil check. (@koic)
  • #10944: Fix an incorrect autocorrect for Lint/LiteralInInterpolation when using "#{nil}". (@koic)
  • #10921: Fix an error when ERB pre-processing of the configuration file. (@koic)
  • #10936: Fix an error for Lint/NonAtomicFileOperation when using FileTest.exist? as a condition for elsif. (@koic)
  • #10920: Fix an incorrect autocorrect for Style/SoleNestedConditional when using nested conditional and branch contains a comment. (@koic)
  • #10939: Fix an error for Style/Next when line break before condition. (@koic)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.35

New features

  • #9364: Add Style/MagicCommentFormat cop. (@dvandersluis, @mattbearman)
  • #10776: New option (consistent) for EnforcedShorthandSyntax in Style/HashSyntax to avoid mixing shorthand and non-shorthand hash keys in ruby 3.1. (@h-lame)

Bug fixes

  • #10899: Fix an error for Lint/ShadowingOuterLocalVariable when the same variable name as a block variable is used in return value assignment of if. (@koic)
  • #10916: Fix an error when .rubocop.yml is empty. (@koic)
  • #10915: Fix numblock support to Layout/BlockAlignment, Layout/BlockEndNewline, Layout/EmptyLinesAroundAccessModifier, Layout/EmptyLinesAroundBlockBody, Layout/IndentationWidth, Layout/LineLength, Layout/MultilineBlockLayout, Layout/SpaceBeforeBlockBraces, Lint/NextWithoutAccumulator, Lint/NonDeterministicRequireOrder, Lint/RedundantWithIndex, Lint/RedundantWithObject, Lint/UnreachableLoop, Lint/UselessAccessModifier, Lint/Void, Metrics/AbcSize, Metrics/CyclomaticComplexity, Style/CollectionMethods, Style/CombinableLoops, Style/EachWithObject, Style/For, Style/HashEachMethods, Style/InverseMethods, Style/MethodCalledOnDoEndBlock, Style/MultilineBlockChain, Style/Next, Style/ObjectThen, Style/Proc, Style/RedundantBegin, Style/RedundantSelf, Style/RedundantSortBy and Style/TopLevelMethodDefinition. (@gsamokovarov)
  • #10895: Fix incorrect autocomplete in Style/RedundantParentheses when a heredoc is used in an array. (@dvandersluis)
  • #10909: Fix loading behavior on running without bundle exec. (@r7kamura)
  • #10913: Make Style/ArgumentsForwarding aware of anonymous block argument. (@koic)
  • #10911: Fix Style/ClassMethodsDefinitions for non-self receivers. (@sambostock)

Changes

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.34.1

Bug fixes

  • #10893: Fix an error when running rubocop without bundle exec. (@koic)

- Ruby
Published by koic over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.34

New features

Bug fixes

  • #10552: Require RuboCop AST 1.20.0+ to fix a false positive for Lint/OutOfRangeRegexpRef when using fixed-encoding regopt. (@koic)
  • #10512: Fix a false positive for Lint/ShadowingOuterLocalVariable conditional statement and block variable. (@ydah)
  • #10864: min and max results in false positives for Style/SymbolProc similarly to select and reject. (@mollerhoj)
  • #10846: Fix a false negative for Style/DoubleNegation when there is a hash or an array at return location of method. (@nobuyo)
  • #10875: Fix an obsolete option configuration values are duplicated when generating .rubocop_todo.yml. (@ydah)
  • #10877: Fix crash with Layout/BlockEndNewline heredoc detection. (@dvandersluis)
  • #10859: Fix Lint/Debugger to be able to handle method chains correctly. (@dvandersluis)
  • #10883: Fix Style/RedundantParentheses to be able to detect offenses and properly correct when the end parentheses and comma are on their own line. (@dvandersluis)
  • #10881: Fix Style/SoleNestedConditional to properly wrap block and csend nodes when necessary. (@dvandersluis)
  • #10867: Mark autocorrection for Lint/EmptyConditionalBody as unsafe. (@dvandersluis)
  • #10871: Restore RuboCop::ConfigLoader.project_root as deprecated. (@koic)

Changes

  • #10857: Add AllowedPatterns to Style/NumericLiterals. (@dvandersluis)
  • #10648: Allow Style/TernaryParentheses to take priority over Style/RedundantParentheses when parentheses are enforced. (@dvandersluis)
  • #10731: Show tip for suggested extensions that are installed but not loaded in .rubocop.yml. (@nobuyo)
  • #10845: Support Bundler-like namespaced feature on require config. (@r7kamura)
  • #10773: Require Parser 3.1.2.1 or higher. (@dvandersluis)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.33

Bug fixes

  • #10830: Fix an incorrect autocorrect for Layout/FirstArgumentIndentation when specifying EnforcedStyle: with_fixed_indentation of Layout/ArgumentAlignment and EnforcedStyle: consistent of Layout/FirstArgumentIndentation and enabling Layout/FirstMethodArgumentLineBreak. (@koic)
  • #10825: Fix an incorrect autocorrect for Style/ClassAndModuleChildren when using nested one-liner class. (@koic)
  • #10843: Fix a false positive for Style/HashExcept when using reject and calling include? method with symbol array and second block value. (@koic)
  • #10853: Fix an autocorrect for Style/RedundantSort with logical operator. (@ydah)
  • #10842: Make server mode aware of CacheRootDirectory config option value, RUBOCOP_CACHE_ROOT, and XDG_CACHE_HOME environment variables. (@koic)
  • #10833: Fix an incorrect autocorrect for Style/RedundantCondition when branches contains arithmetic operation. (@koic)
  • #10864: Fix a false positive for Style/SymbolProc when using Hash#reject. (@koic)
  • #10771: Make server mode aware of --cache-root command line option. (@koic)
  • #10831: Fix an error when using changed_parameters in obsoletion.yml by external library. (@koic)
  • #10850: Fix Style/ClassEqualityComparison autocorrection within module. (@r7kamura)
  • #10832: Fix an incorrect autocorrect for Layout/BlockEndNewline when multiline block } is not on its own line and using heredoc argument. (@koic)

Changes

  • #10841: Don't hash shared libraries for cache key. (@ChrisBr)
  • #10862: Add autocorrection to Lint/EmptyConditionalBody. (@dvandersluis)
  • #10829: Deprecate IgnoredMethods option in favor of the AllowedMethods and AllowedPatterns options. (@ydah)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.32

New features

  • #10820: Add new Style/EmptyHeredoc cop. (@koic)
  • #10691: Add new Layout/MultilineMethodParameterLineBreaks cop. (@Korri)
  • #10790: Support AllowComments option for Style/EmptyElse. (@ydah)
  • #10792: Add new Lint/RequireRangeParentheses cop. (@koic)
  • #10692: Break long method definitions when auto-correcting. (@Korri)

Bug fixes

  • #10824: Make Lint/DeprecatedClassMethods aware of ENV.clone and ENV.dup. (@koic)
  • #10788: Relax Style/FetchEnvVar to allow ENV[] in LHS of ||. (@j-miyake)
  • #10813: Fix recursive deletion to suppression in Lint/NonAtomicFileOperation. (@ydah)
  • #10791: Fix an incorrect autocorrect for Style/Semicolon when using endless range before semicolon. (@koic)
  • #10781: Fix a suggestions for safer conversions for Lint/NonAtomicFileOperation. (@ydah)
  • #10263: Fix the value of Enabled leaking between configurations. (@jonas054)

Changes

  • #10613: Allow autocorrecting with -P/--parallel and make it the default. (@jonas054)
  • Add EnforcedStyle (leading/trailing) configuration to Layout::LineContinuationLeadingSpace. (@bquorning)
  • #10784: Preserve multiline semantics on Style/SymbolArray and Style/WordArray. (@r7kamura)
  • #10814: Avoid buffering stdout when running in server mode. (@ccutrer)
  • #10817: Add autocorrect support for Style/SafeNavigationChain. (@r7kamura)
  • #10810: Support safe navigation operator on Style/SymbolProc. (@r7kamura)
  • #10803: Require RuboCop AST 1.9.1 or higher. (@koic)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.31.2

Bug fixes

  • #10774: Fix false negatives in Style/DocumentationMethod when a public method is defined after a private one. (@Darhazer)
  • #10764: Fix performance issue for Layout/FirstHashElementIndentation and Layout/FirstArrayElementIndentation. (@j-miyake)
  • #10780: Fix an error when using rubocop:auto_correct deprecated custom rake task. (@koic)
  • #10786: Fix a false positive for Lint/NonAtomicFileOperation when using complex conditional. (@koic)
  • #10785: Fix a false negative for Style/RedundantParentheses when parens around a receiver of a method call with an argument. (@koic)
  • #10026: Fix merging of array parameters in either parent of default config. (@jonas054)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.31.1

Bug fixes

  • #10763: Fix a false positive for Layout/LineContinuationSpacing when using continuation keyword \ after __END__. (@koic)
  • #10755: Fix a false positive for Lint/LiteralAsCondition when using a literal in case-in condition where the match variable is used in in are accepted as a pattern matching. (@koic)
  • #10760: Fix a false positive for Lint/NonAtomicFileOperation when using FileTest.exist? with if condition that has else branch. (@koic)
  • #10745: Require JSON 2.3 or higher to fix an incompatible JSON API error. (@koic)
  • #10754: Fix an incorrect autocorrect for Style/HashExcept when using a non-literal collection receiver for include?. (@koic)
  • #10751: Fix autocorrect for Layout/FirstHashElementIndentation. (@j-miyake)
  • #10750: Recover 7x slow running rubocop. (@koic)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.31

New features

  • #10699: Add new global ActiveSupportExtensionsEnabled option. (@nobuyo)
  • #10245: Add specification_version and rubygems_version to Gemspec/DeprecatedAttributeAssignment. (@kaitielth)
  • #10696: Add new Lint/NonAtomicFileOperation cop. (@ydah)
  • #6420: Add new Layout/LineContinuationLeadingSpace cop. (@bquorning)
  • #6420: Add new Layout/LineContinuationSpacing cop. (@bquorning)
  • #10706: Integrate rubocop-daemon to add server options. (@koic)
  • #10722: Add new Lint/ConstantOverwrittenInRescue cop. (@ydah)

Bug fixes

  • #10700: Update Style/EmptyMethod to not correct if the correction would exceed the configuration for Layout/LineLength. (@dvandersluis)
  • #10698: Enhance Style/HashExcept to support array inclusion checks. (@nobuyo)
  • #10734: Handle ClobberingError in Style/NestedTernaryOperator when there are multiple nested ternaries. (@dvandersluis)
  • #10689: Fix autocorrect for Layout/FirstHashElementIndentation and Layout/FirstArrayElementIndentation. (@j-miyake)
  • Fix rubocop -V not displaying the version information for rubocop-graphql, rubocop-md and rubocop-thread_safety. (@Darhazer)
  • #10711: Fix an error for Style/MultilineTernaryOperator when the false branch is on a separate line. (@koic)
  • #10719: Fix a false positive for Lint/ParenthesesAsGroupedExpression when using safe navigation operator. (@koic)
  • #10736: Fix Layout/SpaceInsideBlockBraces for blocks with numbered arguments. (@gsamokovarov)
  • #10749: Fix Style/BlockDelimiters for blocks with numbered arguments. (@gsamokovarov)
  • #10737: Fix crash in Style/ConditionalAssignment with EnforcedStyle: assign_inside_condition when op-assigning a variable inside a resbody. (@dvandersluis)
  • #7900: Fix Style/FormatStringToken false positive with formatted input and template style enforced, and add autocorrection. (@FnControlOption)

Changes

  • #10730: Change output timing of GitHubActionsFormatter. (@r7kamura)
  • #10709: Deprecate rubocop:auto_correct custom rake task and newly split rubocop:autocorrect and rubocop:autocorrect-all custom rake tasks. (@koic)
  • #9760: Change RangeHelp#range_with_surrounding_space to allow passing the range as a positional argument. (@pirj)
  • #10693: Add ignore case for Style/EmptyLinesAroundAttributeAccessor when there is a comment line on the next line. (@ydah)
  • #10245: (Breaking) integrate Gemspec/DateAssignment into Gemspec/DeprecatedAttributeAssignment. (@kaitielth)
  • #10697: Restore Lint/UselessElseWithoutRescue cop. (@koic)
  • #10740: Make Style/GuardClause a bit more lenient when the replacement would make the code more verbose. (@dvandersluis)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.30.1

Bug fixes

  • #10685: Fix a false positive for Style/StringConcatenation when Mode: conservative and first operand is not string literal. (@koic)
  • #10670: Fix a false positive for Style/FetchEnvVar in the body with assignment method. (@ydah)
  • #10671: Fix an incorrect autocorrect for EnforcedStyle: with_first_argument of Layout/ArgumentAlignment and EnforcedColonStyle: separator of Layout/HashAlignment. (@koic)
  • #10676: Fix --ignore-unrecognized-cops option always showing empty warning even if there was no problem. (@nobuyo)
  • #10674: Fix a false positive for Naming/AccessorMethodName with type of the first argument is other than arg. (@ydah)
  • #10679: Fix a false positive for Style/SafeNavigation when TargetRubyVersion: 2.2 or lower. (@koic)

Changes

  • #10673: Update auto-gen-config's comment re auto-correct for SafeAutoCorrect: false. (@ydah)

- Ruby
Published by bbatsov over 3 years ago

https://github.com/rubocop/rubocop - RuboCop 1.30

New features

  • #10065: Add new Gemspec/DeprecatedAttributeAssignment cop. (@koic)
  • #10608: Add new Style/MapCompactWithConditionalBlock cop. (@nobuyo)
  • #10627: Add command-line option --ignore-unrecognized-cops to ignore any unknown cops or departments in .rubocop.yml. (@nobuyo)
  • #10620: Add Sorbet's typed sigil as a magic comment. (@zachahn)

Bug fixes

  • #10662: Recover Ruby 2.1 code analysis using TargetRubyVersion: 2.1. (@koic)
  • #10396: Fix autocorrect for Layout/IndentationWidth to leave module/class body unchanged to avoid infinite autocorrect loop with Layout/IndentationConsistency when body trails after class/module definition. (@johnny-miyake)
  • #10636: Fix false positive in Style/RedundantCondition when the branches call the same method on different receivers. (@dvandersluis)
  • #10651: Fix autocorrect for Style/For when using array with operator methods as collection. (@nobuyo)
  • #10629: Fix default Ruby version from 2.5 to 2.6. (@koic)
  • #10661: Fix a false negative for Style/SymbolProc when method has no arguments and AllowMethodsWithArguments: true. (@koic)
  • #10631: Fix autocorrect for Style/RedundantBegin. (@johnny-miyake)
  • #10652: Fix a false positive for Style/FetchEnvVar in conditions. (@ydah)
  • #10665: Fix an incorrect autocorrect for EnforcedStyle: with_first_argument of Layout/ArgumentAlignment and EnforcedColonStyle: separator of Layout/HashAlignment. (@koic)
  • #10258: Recover Ruby 2.4 code analysis using TargetRubyVersion: 2.4. (@koic)
  • #10668: Recover Ruby 2.0 code analysis using TargetRubyVersion: 2.0. (@koic)
  • #10644: Recover Ruby 2.2 code analysis using TargetRubyVersion: 2.2. (@koic)
  • #10639: Fix Style/HashSyntax to exclude files that violate it with EnforceHashShorthandSyntax when running auto-gen-config. (@nobuyo)
  • #10633: Fix infinite autocorrection loop in Style/AccessorGrouping when combining multiple of the same accessor. (@dvandersluis)
  • #10618: Fix LineBreakCorrector so that it won't remove a semicolon in the class/module body. (@johnny-miyake)
  • #10646: Fix an incorrect autocorrect for Style/SoleNestedConditional when using unless and && without parens in the outer condition and nested modifier condition. (@koic)
  • #10659: Fix automatically appended path for inherit_from by auto-gen-config is incorrect if specified config file in a subdirectory as an option. (@nobuyo)
  • #10640: Recover Ruby 2.3 code analysis using TargetRubyVersion: 2.3. (@koic)
  • #10657: Fix --auto-gen-config command option ignores specified config file by option. (@nobuyo)

Changes

  • #10095: Change "auto-correct" to "autocorrect" in arguments, documentation, messages, comments, and specs. (@chris-hewitt)
  • #10656: Mark Style/RedundantInterpolation as unsafe autocorrection. (@koic)
  • #10616: Markdown formatter: skip files with no offenses. (@rickselby)

- Ruby
Published by bbatsov almost 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.29.1

Bug fixes

  • #10625: Restore the specification to TargetRubyVersion: 2.5. (@koic)
  • #10569: Fix a false positive for Style/FetchEnvVar when using the same ENV var as if condition in the body. (@koic)
  • #10614: Make Lint/NonDeterministicRequireOrder aware of require_relative. (@koic)
  • #10607: Fix autocorrect for Style/RedundantCondition when there are parenthesized method calls in each branch. (@nobuyo)
  • #10622: Fix a false positive for Style/RaiseArgs when error type class constructor with keyword arguments and message argument. (@koic)
  • #10610: Fix an error for Naming/InclusiveLanguage string with invalid byte sequence in UTF-8. (@ydah)
  • #10605: Fix autocorrect for Style/RedundantCondition if argument for method in else branch is hash without braces. (@nobuyo)

- Ruby
Published by bbatsov almost 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.29

New features

Bug fixes

  • #10586: Fix a false positive for Style/DoubleNegation when using define_method or define_singleton_method. (@ydah)
  • #10579: Fix a false positive for Style/FetchEnvVar when calling a method with safe navigation. (@koic)
  • #10581: Fix a false positive for Style/FetchEnvVar when comparing with ENV['TERM']. (@koic)
  • #10589: Fix autocorrect for Style/RaiseArgs with EnforcedStyle: compact and exception object is assigned to a local variable. (@nobuyo)
  • #10325: Enhance Style/RedundantCondition by considering the case that variable assignments in each branch. (@nobuyo)
  • #10592: Fix infinite loop on Style/MultilineTernaryOperator if using assignment method and condition/branch is multiline. (@nobuyo)
  • #10536: Fix validation for command-line options combination of --display-only-fail-level-offenses and --auto-correct. (@nobuyo)

Changes

  • #10577: (Compatibility) Drop support for Ruby 2.5 and JRuby 9.2 (CRuby 2.5 compatible). (@koic)
  • #10585: Enhance the autocorrect for Style/FetchEnvVar. (@johnny-miyake)
  • #10577: (Breaking) Retire Lint/UselessElseWithoutRescue cop. (@koic)

- Ruby
Published by bbatsov almost 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.28.2

Bug fixes

  • #10566: Fix a false positive for Lint/AmbiguousBlockAssociation when using proc is used as a last argument. (@koic)
  • #10573: Fix a false positive for Layout/SpaceBeforeBrackets when there is a dot before brackets. (@nobuyo)
  • #10563: Fix Style/BlockDelimiters unexpectedly deletes block on moving comment if methods with block are chained. (@nobuyo)
  • #10574: Fix a false positive for Style/SingleArgumentDig when using dig with arguments forwarding. (@ydah)
  • #10565: Fix a false positive and a true negative for Style/FetchEnvVar. (@koic)

- Ruby
Published by bbatsov almost 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.28 (a.k.a. The 10th Anniversary Edition)

New features

Bug fixes

  • #10528: Fix an infinite loop at autocorrect for Layout/CaseIndentation. (@ydah)
  • #10537: Fix an incorrect auto-correct for Style/MultilineTernaryOperator when returning a multiline ternary operator expression with break, next, or method call. (@koic)
  • #10529: Fix autocorrect for Style/SoleNestedConditional causes logical error when using a outer condition of method call by omitting parentheses for method arguments. (@nobuyo)
  • #10530: Fix a false positive for Style/RedundantRegexpCharacterClass when using regexp character class with a character class containing multiple unicode code-points. (@koic)
  • #10518: Fix a false positive for Style/DoubleNegation when inside returned conditional clauses with Ruby 2.7's pattern matching. (@koic)
  • #10510: Fix an error for Style/SingleArgumentDig when using multiple dig in a method chain. (@koic)
  • #10553: Fix crash with trailing tabs in heredocs for Layout/TrailingWhitespace. (@dvandersluis)
  • #10488: Fix autocorrection for Layout/MultilineMethodCallIndentation breaks indentation for nesting of method calls. (@nobuyo)
  • #10543: Fix incorrect code length calculation for few more patterns of hash folding asked. (@nobuyo)
  • #10541: Fix an incorrect autocorrect for Style/SpecialGlobalVars when global variable as Perl name is used multiple times. (@koic)
  • #10514: Fix an error for Lint/EmptyConditionalBody when missing second elsif body. (@koic)
  • #10469: Fix code length calculation when kwargs written in single line. (@nobuyo)

Changes

  • #10555: Deprecate IgnoredPatterns in favour of AllowedPatterns. (@dvandersluis)
  • #10356: Add AllowConsecutiveConditionals option to Style/GuardClause and the option is false by default. (@ydah)
  • #10524: Mark Style/RedundantInitialize as unsafe. (@koic)
  • #10280: Add AllowComments option to Style/SymbolProc and the option is false by default. (@ydah)

- Ruby
Published by bbatsov almost 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.27

New features

  • #10500: Add new Lint/RefinementImportMethods cop. (@koic)
  • #10438: Add new Style/RedundantInitialize cop to check for unnecessary initialize methods. (@dvandersluis)

Bug fixes

  • #10464: Fix an incorrect autocorrect for Lint/IncompatibleIoSelectWithFiberScheduler when using IO.select with read (or write) argument and using return value. (@koic)
  • #10506: Fix an error for Style/RaiseArgs when raise with new method without receiver. (@koic)
  • #10479: Fix a false positive for Lint/ShadowingOuterLocalVariable conditional statement and block variable. (@ydah)
  • #10189: Fix --display-style-guide so it works together with --format offenses. (@jonas054)
  • #10465: Fix false positive for Naming/BlockForwarding when the block argument is assigned. (@dvandersluis)
  • #10491: Improve the handling of comments in Lint/EmptyConditionalBody, Lint/EmptyInPattern and Lint/EmptyWhen when AllowComments is set to true. (@Darhazer)
  • #10504: Fix a false positive for Lint/UnusedMethodArgument when using raise NotImplementedError with optional arguments. (@koic)
  • #10494: Fix a false positive for Style/HashSyntax when return with one line if condition follows (without parentheses). (@koic)
  • #10311: Fix false negative inside do..end for Layout/RedundantLineBreak. (@jonas054)
  • #10468: Fix a false positive for Style/FileWrite when a splat argument is passed to f.write. (@koic)
  • #10474: Fix a false positive for Style/DoubleNegation with EnforcedStyle: allowed_in_returns when inside returned conditional clauses. (@ydah)
  • #10388: Fix an incorrectly adds a disable statement for Layout/SpaceInsideArrayLiteralBrackets with --disable-uncorrectable. (@ydah)
  • #10489: Fix a false positive for Lint/LambdaWithoutLiteralBlock when using lambda with a symbol proc. (@koic)

Changes

  • #10191: Add MaxChainLength option to Style/SafeNavigation and the option is 2 by default. (@ydah)

- Ruby
Published by bbatsov almost 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.26.1

Bug fixes

  • #10375: Fix error for auto-correction of unless/else nested inside each other. (@jonas054)
  • #10457: Make Style/SelectByRegexp aware of ENV const. (@koic)
  • #10462: Fix an incorrect autocorrect for Lint/SymbolConversion when using a quoted symbol key with hash rocket. (@koic)
  • #10456: Fix a false positive for Layout/MultilineMethodCallIndentation when using EnforcedStyle: indented with indented assignment method. (@koic)
  • #10459: Fix a false positive for Layout/LineLength when long URIs in yardoc comments to have titles. (@ydah)
  • #10447: Fix an error for Style/SoleNestedConditional raises exception when inspecting if ... end if .... (@ydah)

- Ruby
Published by bbatsov almost 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.26

New features

  • #10419: Add new Style/NestedFileDirname cop. (@koic)
  • #10433: Support TargetRubyVersion 3.2 (experimental). (@koic)

Bug fixes

  • #10406: Fix a false positive for Lint/InheritException when inheriting a standard lib exception class that is not a subclass of StandardError. (@koic)
  • #10421: Make Style/DefWithParentheses aware of endless method definition. (@koic)
  • #10401: Fix a false positive for Style/HashSyntax when local variable hash key and hash value are the same. (@koic)
  • #10424: Fix a false positive for Security/YamlLoad when using Ruby 3.1+ (Psych 4). (@koic)
  • #10446: Lint/RedundantDirGlobSort unset SafeAutoCorrect. (@friendlyantz)
  • #10403: Fix an error for Style/StringConcatenation when string concatenation with multiline heredoc text. (@koic)
  • #10432: Fix an error when using regexp with non-encoding option. (@koic)
  • #10415: Fix an error for Lint/UselessTimes when using 1.times with method chain. (@koic)

Changes

  • #10408: Mark Lint/InheritException as unsafe auto-correction. (@koic)
  • #10407: Change EnforcedStyle from runtime_error to standard_error for Lint/InheritException. (@koic)
  • #10414: Update auto-gen-config's auto-correction comments to be more clear. (@maxjacobson)
  • #10427: Mark Style/For as unsafe auto-correction. (@issyl0)
  • #10410: Improve help string for --fail-level CLI option. (@tejasbubane)

- Ruby
Published by bbatsov almost 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.25.1

Bug fixes

  • #10359: Fix a false positive and negative for Style/HashSyntax when using hash value omission. (@koic)
  • #10387: Fix an error for Style/RedundantBegin when assigning nested begin blocks. (@koic)
  • #10366: Fix a false positive for Style/MethodCallWithArgsParentheses when setting EnforcedStyle: omit_parentheses and using hash value omission with modifier from. (@koic)
  • #10376: Fix an error for Layout/RescueEnsureAlignment when using .() call with block. (@koic)
  • #10364: Fix an infinite loop error for Layout/HashAlignment when EnforcedStyle: with_fixed_indentation is specified for Layout/ArgumentAlignment. (@koic)
  • #10371: Fix a false negative for Style/HashSyntax when Hash[foo: foo] or {foo: foo} is followed by a next expression. (@koic)
  • #10394: Fix an error for Style/SwapValues when assigning receiver object at def. (@koic)
  • #10379: Fix an error for Layout/EmptyLinesAroundExceptionHandlingKeywords when rescue and end are on the same line. (@koic)

- Ruby
Published by bbatsov about 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.25

New features

  • #10351: Support EnforcedShorthandSyntax: either option for Style/HashSyntax. (@koic)
  • #10339: Support auto-correction for EnforcedStyle: explicit of Naming/BlockForwarding. (@koic)

Bug fixes

  • #10344: Fix a false positive for Style/CollectionCompact when without receiver for bad methods. (@koic)
  • #10353: Use :ambiguous_regexp to detect ambiguous Regexp in Ruby 3. (@danieldiekmeier, @joergschiller)
  • #10336: Fix a false positive for Style/TernaryParentheses when using in keyword pattern matching as a ternary condition. (@koic)
  • #10317: Fix a false positive for Style/MethodCallWithArgsParentheses when using hash value omission. (@koic)
  • #8032: Improve ArgumentAlignment detection and correction for keyword arguments. (@mvz)
  • #10331: Fix cop generator for nested departments. (@fatkodima)
  • #10357: Fix a false positive for Style/HashSyntax when omitting the value. (@berkos)
  • #10335: Fix a false positive for Naming/BlockForwarding when using multiple proc arguments. (@koic)
  • #10350: Fix a false negative for Lint/IncompatibleIoSelectWithFiberScheduler when using IO.select with the first argument only. (@koic)
  • #10358: Fix Style/Sample crash on beginless and endless range shuffle indexes. (@gsamokovarov)
  • #10354: Fix Gemspec/RequiredRubyVersion version matcher when Gem::Requirement.new is used and initialised with multiple requirements. (@nickpellant)

Changes

- Ruby
Published by bbatsov about 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.24.1

Bug fixes

  • #10313: Fix autocorrect Style/MapToHash with multiline code. (@tejasbubane)
  • #10251: Fix an incorrect autocorrect for Gemspec/RequireMFA when .gemspec file contains metadata keys assignments. (@fatkodima)
  • #10329: Fix a false positive for Lint/ParenthesesAsGroupedExpression and an incorrect autocorrect for the cop with Style/TernaryParentheses when using ternary expression as a first argument. (@koic)
  • #10317: Fix a false positive for Style/MethodCallWithArgsParentheses when using hash value omission. (@koic)
  • #10333: Fix an incorrect autocorrect for Naming/BlockForwarding using explicit block forwarding without method definition parentheses. (@koic)
  • #10321: Make Style/MethodDefParentheses aware of Ruby 3.1's anonymous block forwarding. (@koic)
  • #10320: Fix an incorrect autocorrect for Style/FileWrite when using heredoc argument. (@koic)
  • #10319: Require rubocop-ast 1.15.1 to fix a false positive for Style/CombinableLoop when the same method with different arguments and safe navigation. (@koic)

- Ruby
Published by bbatsov about 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.24

New features

  • #10279: Support Ruby 3.1's anonymous block forwarding syntax. (@koic)
  • #10295: Support Ruby 3.1's hash value omission syntax for Layout/HashAlignment. (@koic)
  • #10303: Add AllowedNumbers option to Style/NumericLiterals. (@koic)
  • #10290: Add new Naming/BlockForwarding cop. (@koic)
  • #10289: Add EnforcedShorthandSyntax option to Style/HashSyntax cop to support Ruby 3.1's hash value omission syntax by default. (@koic)
  • #10257: Add new Style/MapToHash cop. (@dvandersluis)
  • #10261: Add new Style/FileRead cop. (@leoarnold)
  • #10291: Support Ruby 3.1's hash value omission syntax for Layout/SpaceAfterColon. (@koic)
  • #10260: Add new Style/FileWrite cop. (@leoarnold)
  • #10307: Support Ruby 2.7's numbered parameter for Metrics/BlockLength, Metrics/ClassLength, Metrics/MethodLength, and Metrics/ModuleLength cops. (@koic)
  • #7671: Add cli option --show-docs-url to print out documentation url for given cops. (@HeroProtagonist)
  • #10308: Make Style/CollectionCompact aware of block pass argument. (@koic)

Bug fixes

  • #10285: Fix an incorrect autocorrect for Style/SoleNestedConditional when using nested if within if foo = bar. (@koic)
  • #10309: Fix a false positive for Bundler/DuplicatedGem when a gem conditionally duplicated within multi-statement bodies. (@fatkodima)
  • #10300: Fix an incorrect autocorrect for Layout/DotPosition and Style/RedundantSelf when auto-correction conflicts. (@koic)
  • #10284: Fix an incorrect autocorrect for Style/RedundantRegexpCharacterClass when regexp containing an unescaped #. (@koic)
  • #10265: Fix Style/IfInsideElse to be able to handle if-then nested inside an else without clobbering. (@dvandersluis)
  • #10297: Fix a false positive for Lint/DeprecatedOpenSSLConstant when building digest using an algorithm string and nested digest constants. (@koic)
  • #10282: Fix an incorrect autocorrect for Style/EmptyCaseCondition when using when ... then in case in a method call. (@koic)
  • #10273: Fix a false positive for InternalAffairs/UndefinedConfig to suppress a false wrong namespace warning. (@koic)
  • #10305: Fix an incorrect autocorrect for Style/HashConversion when using Hash[a || b]. (@koic)
  • #10264: Fix the following incorrect auto-correct for Style/MethodCallWithArgsParentheses with Layout/SpaceBeforeFirstArg. (@koic)
  • #10276: Fix an incorrect autocorrect for Style/RedundantInterpolation when using a method call without parentheses in string interpolation. (@koic)

Changes

  • #10253: Deprecate RuboCop::Cop::EnforceSuperclass module. (@koic)
  • #10248: Make Lint/DeprecatedClassMethods aware of ENV.freeze. (@koic)
  • #10269: Mark Lint/IncompatibleIoSelectWithFiberScheduler as unsafe auto-correction. (@koic)
  • #8586: Add configuration parameter AllowForAlignment in Layout/CommentIndentation. (@jonas054)

- Ruby
Published by bbatsov about 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.23

New features

Bug fixes

  • #10203: Fix Style/FormatStringToken to respect IgnoredMethods with nested structures. (@tejasbubane)
  • #10242: Fix last_column value for JSONFormatter. (@koic)
  • #10229: Fix a false positive for Style/StringLiterals when EnforcedStyle: double_quotes and using single quoted string with backslash. (@koic)
  • #10174: Fix inherit_from_remote should follow remote includes path starting with ./. (@hirasawayuki)
  • #10234: Fix an error for Style/Documentation when using a cbase class. (@koic)
  • #10227: Fix a false positive for Style/ParenthesesAroundCondition when parentheses in multiple expressions separated by semicolon. (@koic)
  • #10230: Fix a false positive for Lint/AmbiguousRange when a range is composed of all literals except basic literals. (@koic)

Changes

  • #10221: Update Naming::FileName to recognize Structs as classes that satisfy the ExpectMatchingDefinition requirement. (@dvandersluis)
  • #10220: Update Naming/FileName to make CheckDefinitionPathHierarchy roots configurable. (@grosser)
  • #10199: Change AllowAdjacentOneLineDefs config parameter of Layout/EmptyLineBetweenDefs to true by default . (@koic)
  • #10236: Make Lint/NumberConversion aware of to_r. (@koic)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.22.3

Bug fixes

  • #10166: Fix a false positive for Style/StringLiterals when using some meta characters (e.g. '\s', '\z') with EnforcedStyle: double_quotes. (@koic)
  • #10216: Fix an incorrect autocorrect for Style/SelectByRegexp when using lvar =~ blockvar in a block. (@koic)
  • #10207: Fix false positive in Layout/DotPosition when the selector is on the same line as the closing bracket of the receiver. (@mvz)

Changes

  • #10209: Make Lint/DeprecatedConstants aware of Net::HTTPServerException. (@koic)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.22.2

Bug fixes

  • #10165: Fix Layout/DotPosition false positives when the selector and receiver are on the same line. (@dvandersluis)
  • #10171: Fix Style/HashTransformKeys and Style/HashTransformValues incorrect auto-correction when inside block body. (@franzliedke)
  • #10180: Fix an error for Style/SelectByRegexp when using match? without a receiver. (@koic)
  • #10193: Fix an error for Layout/EmptyLinesAroundExceptionHandlingKeywords when begin and rescue are on the same line. (@koic)
  • #10185: Fix a false positive for Lint/AmbiguousRange when using self in a range literal. (@koic)
  • #10200: Fix an error when inspecting a directory named *. (@koic)
  • #10149: Fix Bundler/GemComment where it would not detect an offense in some cases when OnlyFor is set to restrictive_version_specifiers. (@Drowze)

Changes

  • #10157: Updated Gemspec/RequiredRubyVersion handle being set to blank values. (@dvandersluis)
  • #10176: Unmark AutoCorrect: false from Security/JSONLoad. (@koic)
  • #10186: Explicit block arg is not counted for Metrics/ParameterLists. (@koic)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.22.1

Bug fixes

  • #10143: Fix an error for Lint/RequireRelativeSelfPath when using a variable as an argument of require_relative. (@koic)
  • #10140: Fix false positive for Layout/DotPosition when a heredoc receives a method on the same line as the start sigil in trailing style. (@dvandersluis)
  • #10148: Fix Style/QuotedSymbols handling escaped characters incorrectly. (@dvandersluis)
  • #10145: Update Style/SelectByRegexp to ignore cases where the receiver appears to be a hash. (@dvandersluis)

- Ruby
Published by koic over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.22

New features

Bug fixes

  • #10110: Update Layout/DotPosition to be able to handle heredocs. (@dvandersluis)
  • #10134: Update Style/MutableConstant to not consider multiline uninterpolated strings as unfrozen in ruby 3.0. (@dvandersluis)
  • #10124: Fix Layout/RedundantLineBreak adding extra space within method chains. (@dvandersluis)
  • #10118: Fix crash with Style/RedundantSort when the block doesn't only contain a single send node. (@dvandersluis)
  • #10135: Fix Style/WordArray to exclude files in --auto-gen-config when percent style is given but brackets are required. (@dvandersluis)
  • #10090: Fix a false negative for Style/ArgumentsForwarding when using only kwrest arg. (@koic)
  • #10099: UpdateStyle/RedundantFreeze to stop considering ENV values as immutable. (@byroot)
  • #10078: Fix Layout/LineLength reported length when ignoring directive comments. (@dvandersluis)
  • #9934: Fix configuration loading to not raise an error for an obsolete ruby version that is subsequently overridden. (@dvandersluis)
  • #10136: Update Lint/AssignmentInCondition to not consider assignments within blocks in conditions. (@dvandersluis)
  • #9588: Fix causing a variable to be shadowed from outside the rescue block in the logic of Naming/RescuedExceptionsVariableName. (@lilisako)
  • #10096: Fix Lint/AmbiguousOperatorPrecedence with and/or operators. (@dvandersluis)
  • #10106: Fix Style/RedundantSelf for pattern matching. (@dvandersluis)
  • #10066: Fix how MinDigits is calculated for Style/NumericLiterals when generating a configuration file. (@dvandersluis)

Changes

  • #10088: Update Lint/BooleanSymbol to be SafeAutoCorrect: false rather than Safe: false. (@dvandersluis)
  • #10122: Update Style/RedundantSort to be unsafe, and revert the special case for size from #10061. (@dvandersluis)
  • #10130: Update Lint/ElseLayout to be able to handle an else with only a single line. (@dvandersluis)
  • #8431: Add Safety section to documentation for all cops that are Safe: false or SafeAutoCorrect: false. (@dvandersluis)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.21

New features

  • #7849: Add new Lint/AmbiguousOperatorPrecedence cop. (@dvandersluis)
  • #9061: Add new Lint/IncompatibleIoSelectWithFiberScheduler cop. (@koic)

Bug fixes

  • #10067: Fix an error for Lint/NumberConversion when using nested number conversion methods. (@koic)
  • #10054: Fix a false positive for Layout/SpaceAroundOperators when match operators between << and +=. (@koic)
  • #10061: Fix a false positive for Style/RedundantSort when using size method in the block. (@koic)
  • #10063: Fix a false positive for Layout/SingleLineBlockChain when method call chained on a new line after a single line block with trailing dot. (@koic)
  • #10064: Fix Style/ExplicitBlockArgument corrector assuming any existing block argument was named block. (@byroot)
  • #10070: Fix a false positive for Style/MutableConstant when using non-interpolated heredoc in Ruby 3.0. (@koic)

Changes

  • #9674: Disable Style/AsciiComments by default. (@dvandersluis)
  • #10051: Improve the messaging for Style/Documentation to be more clear about what class/module needs documentation. (@dvandersluis)
  • #10074: Update Naming/InclusiveLanguage to be disabled by default. (@dvandersluis)
  • #10068: Mark Style/AndOr as unsafe auto-correction. (@koic)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.19.1

Bug fixes

  • #10017: Fixan error for Layout/RescueEnsureAlignment when using zsuper with block. (@koic)
  • #10011: Fix a false positive for Style/RedundantSelfAssignmentBranch when using instance variable, class variable, and global variable. (@koic)
  • #10010: Fix a false positive for Style/DoubleNegation when !! is used at return location and before rescue keyword. (@koic)
  • #10014: Fix Style/Encoding to handle more situations properly. (@dvandersluis)
  • #10016: Fix conflict between Style/SoleNestedConditional and Style/NegatedIf/Style/NegatedUnless. (@dvandersluis)
  • #10024: Fix an incorrect auto-correct for Style/RedundantSelfAssignmentBranch when using multiline if / else conditional assignment. (@koic)
  • #10004: Fix a false positive for Style/RedundantBegin when using one-liner with semicolon. (@koic)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.20

New features

  • #10040: Make Lint/Debugger aware of debug.rb. (@koic)
  • #9580: Add a new cop that enforces which bundler gem file to use. (@gregfletch)

Bug fixes

  • #10033: Fix an incorrect auto-correct for Style/BlockDelimiters when there is a comment after the closing brace and using method chanin. (@koic)
  • #6630: Updated Style/CommentAnnotation to be able to handle multiword keyword phrases. (@dvandersluis)
  • #7836: Update Style/BlockDelimeters to add begin...end when converting a block containing rescue or ensure to braces. (@dvandersluis)
  • #10031: Fix a false positive for Style/HashExcept when comparing with hash value. (@koic)

Changes

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.19

New features

  • #4182: Add Lint/AmbiguousRange cop to check for ranges with ambiguous boundaries. (@dvandersluis)
  • #10000: Parallel static analysis by default. (@koic)
  • #9948: Support Ruby 2.7's pattern matching for Style/ConditionalAssignment cop. (@koic)
  • #9999: Add new Style/RedundantSelfAssignmentBranch cop. (@koic)

Bug fixes

  • #9927: Indent hash values in Layout/LineEndStringConcatenationIndentation. (@jonas054)
  • #9959: Make Style/IdenticalConditionalBranches able to handle ternary ifs. (@dvandersluis)
  • #9946: Avoid slow regexp matches in Style/CommentedKeyword. (@jonas054)
  • #7422: Treat constant assignment like other assignment in Layout/SpaceAroundOperators. (@dvandersluis)
  • #9953: Fix an infinite loop error and a false auto-correction behavior for Layout/EndAlignment when using a conditional statement in a method argument. (@koic)
  • #9958: Prevent an infinite loop when a detected method has fewer arguments than expected. (@dvandersluis)
  • #9977: Update Layout/EmptyLineAfterGuardClause to not register an offense if there is another expression following the guard clause on the same line. (@dvandersluis)
  • #9980: Fix a false positive for Style/IdenticalConditionalBranches when assigning to a variable used in a condition. (@koic)
  • #9975: Parentheses are always required for Style/MethodDefParentheses when a forwarding argument (...) is used. (@dvandersluis)
  • #9984: Fix false negatives involving heredocs for Layout/SpaceBeforeComma, Layout/SpaceBeforeComment, Layout/SpaceBeforeSemicolon and Layout/SpaceInsideParens. (@dvandersluis)
  • #9954: Fix infinite loop error for Layout/HashAlignment when EnforcedStyle: with_fixed_indentation is specified for Layout/ArgumentAlignment. (@koic)
  • #10002: Fix an incorrect auto-correct for Lint/AmbigousRegexpLiteral when using nested method arguments without parentheses. (@koic)
  • #9952 rubocop-rspec#1126: Fix inherit_mode for deeply nested configuration defined in extensions' default configuration. (@pirj)
  • #9957: Add WholeWord configuration to Naming/InclusiveLanguage's FlaggedTerms config. (@dvandersluis)
  • #9970: Don't register an offense when sort method has arguments for Style/RedundantSort cop. (@mtsmfm)
  • #4097: Add require English for special globals. (@biinari)
  • #9955: Fix Style/ExplicitBlockArgument adding a second set of parentheses. (@dvandersluis)
  • #9973: Fix a false positive for Layout/RescueEnsureAlignment when aligned rescue keyword and leading dot. (@koic)
  • #9945: Fix auto-correction of lines in heredocs with only spaces in Layout/TrailingWhitespace. (@jonas054)

Changes

  • #9989: Mark Style/CommentedKeyword as unsafe auto-correction. (@koic)
  • #9964: Make Layout/LeadingCommentSpace aware of #:nodoc. (@koic)
  • #9985: Mark Style/IdenticalConditionalBranches as unsafe auto-correction. (@koic)
  • #9962: Update Style/WordArray to register an offense in percent style if any values contain spaces. (@dvandersluis)
  • #9979: Enable basic autocorrection for Style/Semicolon. (@dvandersluis)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.18.4

New features

  • #9930: Support Ruby 2.7's pattern matching for Lint/DuplicateBranch cop. (@koic)

Bug fixes

  • #9938: Fix an incorrect auto-correct for Layout/LineLength when a heredoc is used as the first element of an array. (@koic)
  • #9940: Fix an incorrect auto-correct for Style/HashTransformValues when value is a hash literal for _.to_h{...}. (@koic)
  • #9752: Improve error message for top level department used in configuration. (@jonas054)
  • #9933: Fix GitHub Actions formatter when running in non-default directory. (@ojab)
  • #9922: Make better auto-corrections in Style/DoubleCopDisableDirective. (@jonas054)
  • #9848: Fix handling of comments in Layout/ClassStructure auto-correct. (@jonas054)
  • #9926: Fix an incorrect auto-correct for Style/SingleLineMethods when method body is enclosed in parentheses. (@koic)
  • #9928: Fix an infinite loop error and a false auto-correction behavior for Layout/EndAlignment when using operator methods and EnforcedStyleAlignWith: variable. (@koic)
  • #9434: Fix false positive for setter calls in Layout/FirstArgumentIndentation. (@jonas054)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.18.3

Bug fixes

  • #9891: Fix --auto-gen-config bug for Style/HashSyntax. (@jonas054)
  • #9905: Fix false positive for single line concatenation in Layout/LineEndStringConcatenationIndentation. (@jonas054)
  • #9907: Fix an incorrect auto-correct for Lint/UselessTimes when using block argument for 1.times. (@koic)
  • #9869: Fix reference to file in configuration override warning. (@jonas054)
  • #9902: Fix an incorrect auto-correct for Style/BlockDelimiters when there is a comment after the closing brace. (@koic)
  • #8469: Add inspection of class << to Layout/SpaceAroundOperators. (@jonas054)
  • #9909: This PR fixes an incorrect auto-correct for Style/SingleLineMethods when using return, break, or next for one line method body in Ruby 3.0. (@koic)
  • #9914: Fix an error for Layout/HashAlignment when using aligned hash argument for proc.(). (@koic)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.18.2

Bug fixes

  • #9894: Handle multiline string literals in Layout/LineEndStringConcatenationIndentation. (@jonas054)
  • #9890: Make colon after comment annotation configurable. (@gregfletch)

- Ruby
Published by koic over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.18.1

Bug fixes

  • #9897: Fix an incorrect auto-correct for Layout/HashAlignment when setting EnforcedStyle: with_fixed_indentation of Layout/ArgumentAlignment and using misaligned keyword arguments. (@koic)

Changes

  • #9895: Set CheckStrings: false and Remove master from FlaggedTerms for Naming/InclusiveLanguage. (@koic)

- Ruby
Published by koic over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.18

New features

  • #9842: Add new Naming/InclusiveLanguage cop. (@tjwp)

Bug fixes

  • #9803: Fix Bundler/GemVersion cop not respecting git tags. (@tejasbubane, @timlkelly)
  • #9882: Fix an incorrect auto-correct for Layout/LineLength when using heredoc as the first method argument and omitting parentheses. (@koic)
  • #7592: Add cop Layout/LineEndStringConcatenationIndentation. (@jonas054)
  • #9880: Fix a false positive for Style/RegexpLiteral when using a regexp starts with a blank as a method argument. (@koic)
  • #9888: Fix a false positive for Layout/ClosingParenthesisIndentation when using keyword arguemnts. (@koic)
  • #9886: Fix indentation in Style/ClassAndModuleChildren. (@markburns)

Changes

  • #9144: Add aggressive and conservative modes of operation for Style/StringConcatenation cop. (@tejasbubane)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.17

New features

  • #9626: Disable all cop department with directive comment. (@AndreiEres)
  • #9827: Add basic auth support to download raw yml config from private repo. (@AirWick219)
  • #9873: Support one-line pattern matching syntax for Layout/SpaceAroundKeyword and Layout/SpaceAroundOperators. (@koic)
  • #9857: Support Ruby 2.7's pattern matching for Layout/IndentationWidth cop. (@koic)
  • #9877: Support Ruby 2.7's in pattern syntax for Lint/LiteralAsCondition. (@koic)
  • #9855: Support Ruby 2.7's pattern matching for Style/IdenticalConditionalBranches cop. (@koic)

Bug fixes

  • #9874: Fix a false positive for Style/RegexpLiteral when using %r regexp literal with EnforcedStyle: omit_parentheses of Style/MethodCallWithArgsParentheses. (@koic)
  • #9876: Fix empty line after guard clause with and return and heredoc. (@AndreiEres)
  • #9861: Fix error in Layout/HashAlignment with an empty hash literal. (@dvandersluis)
  • #9867: Fix an incorrect auto-correct for Layout/DotPosition when using only dot line. (@koic)

- Ruby
Published by koic over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.16.1

Bug fixes

  • #9843: Fix Style/RedundantSelf to allow conditional nodes to use self in the condition when a variable named is shadowed inside. (@dvandersluis)
  • #9845: Fix Style/QuotedSymbols for hash-rocket hashes. (@dvandersluis)
  • #9849: Fix a false negative for Layout/HashAlignment when setting EnforcedStyle: with_fixed_indentation of Layout/ArgumentAlignment and using misaligned keyword arguments. (@koic)
  • #9854: Allow braced numeric blocks in omit_parentheses style of Style/MethodCallWithArgsParentheses. (@gsamokovarov)
  • #9850: Fix missing AllowComments option for Lint/EmptyInPattern. (@koic)

- Ruby
Published by bbatsov over 4 years ago

https://github.com/rubocop/rubocop - RuboCop 1.16

New features

  • #9841: Support guard if and unless syntax keywords of Ruby 2.7's pattern matching for Layout/SpaceAroundKeyword. (@koic)
  • #9812: Support auto-correction for Style/IdenticalConditionalBranches. (@koic)
  • #9833: Add new Style/InPatternThen cop. (@koic)
  • #9840: Adds AllowedReceivers option for Style/HashEachMethods. (@koic)
  • #9818: Support Ruby 2.7's in pattern syntax for Layout/CaseIndentation. (@koic)
  • #9793: Add Style/QuotedSymbols to enforce consistency in quoted symbols. (@dvandersluis)
  • #9825: Add new Lint/EmptyInPattern cop. (@koic)
  • #9834: Add new Style/MultilineInPatternThen cop. (@koic)

Bug fixes

  • #9822: Fix a false directive comment range for Lint/RedundantCopDisableDirective. (@koic)
  • #9819: Fix a false negative for Style/TopLevelMethodDefinition when defining a top-level method after a class definition. (@koic)
  • #9836: Fix incorrect corrections for Layout/HashAlignment when a kwsplat node is on the same line as a pair node with table style. (@dvandersluis)
  • #9805: Fix a false negative for Layout/HashAlignment when set EnforcedStyle: with_fixed_indentation of ArgumentAlignment. (@koic)
  • #9811: Fix an error for Layout/ArgumentAlignment with Layout/FirstHashElementIndentation when setting EnforcedStyle: with_fixed_indentation. (@koic)

Changes

  • #9809: Change Lint/SymbolConversion to only quote with double quotes, since Style/QuotedSymbols can now correct those to the correct quotes as per configuration. (@dvandersluis)

- Ruby
Published by bbatsov almost 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.15

New features

Bug fixes

  • #9749: Fix autocorrection for Layout/LineLength to not move the first argument of an unparenthesized send node to the next line, which changes behaviour. (@dvandersluis)
  • #9799: Fix invalid line splitting by Layout/LineLength for send nodes with heredoc arguments. (@dvandersluis)
  • #9773: Fix Style/EmptyLiteral to not register offenses for String.new when Style/FrozenStringLiteral is enabled. (@dvandersluis)
  • #9771: Change AllowDSLWriters to true by default for Style/TrivialAccessors. (@koic)
  • #9777: Fix an incorrect auto-correct for Style/RedundantBegin when using multi-line if in begin block. (@koic)
  • #9791: Fix a false negative for Layout/IndentationWidth when using ensure in do ... end block. (@koic)
  • #9766: Fix a clobbering error for Style/ClassAndModuleChildren cop with compact style. (@tejasbubane)
  • #9767: Fix Style/ClassAndModuleChildren cop to preserve comments. (@tejasbubane)
  • #9792: Fix false positive for Lint/Void cop with ranges. (@tejasbubane)

Changes

  • #9770: Update Lint/EmptyBlock to handle procs the same way as lambdas. (@dvandersluis)
  • #9776: Update Style/NilLambda to handle procs as well. (@dvandersluis)
  • #9744: The parallel flag will now be automatically ignored when combined with --cache false. Previously, an error was raised and execution stopped. (@rrosenblum)

- Ruby
Published by bbatsov almost 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.14

New features

  • #7669: New cop Bundler/GemVersion requires or forbids specifying gem versions. (@timlkelly)
  • #9758: Support TargetRubyVersion 3.1 (experimental). (@koic)
  • #9377: Add cop Layout/SingleLineBlockChain. (@jonas054)

Bug fixes

  • #9751: Style/StringLiteral doesn't autocorrect global variable interpolation. (@etiennebarrie)
  • #9731: Fix two autocorrection issues for Style/NegatedIfElseCondition. (@dvandersluis)
  • #9740: Fix an incorrect auto-correct for Style/SingleLineMethods when defining setter method. (@koic)
  • #9757: Fix a false positive for Lint/NumberConversion when :to_f is one of multiple method arguments. (@koic)
  • #9761: Fix Style/ClassAndModuleChildren false negative for compact style when a class/module is partially nested. (@dvandersluis)
  • #9748: Prevent infinite loops during symlink traversal. (@Tonkpils)
  • #9762: Update VariableForce to be able to handle case-match nodes. (@dvandersluis)
  • #9729: Fix an error for Style/IfUnlessModifier when variable assignment is used in the branch body of if modifier. (@koic)
  • #9750: Fix an incorrect auto-correct for Style/SoleNestedConditional when when using nested if within unless foo == bar. (@koic)
  • #9751: Style/StringLiteral autocorrects '\\' into "\\". (@etiennebarrie)
  • #9732: Support deprecated Socket.gethostbyaddr and Socket.gethostbyname. (@AndreiEres)
  • #9713: Fix autocorrection for block local variables in Lint/UnusedBlockArgument. (@tejasbubane)
  • #9746: Fix a false positive for Lint/UnreachableLoop when using conditional next in a loop. (@koic)

- Ruby
Published by bbatsov almost 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.13

New features

  • #7977: Add Layout/RedundantLineBreak cop. (@jonas054)
  • #9691: Add configuration parameter InspectBlocks to Layout/RedundantLineBreak. (@jonas054)
  • #9684: Support IgnoredMethods option for Lint/AmbguousBlockAssociation. (@gprado)
  • #9358: Support restrictive_version_specificiers option in Bundler/GemComment cop. (@RobinDaugherty)

Bug fixes

  • #5576: Fix problem with inherited Include parameters. (@jonas054)
  • #9690: Fix an incorrect auto-correct for Style/IfUnlessModifier when using a method with heredoc argument. (@koic)
  • #9681: Fix an incorrect auto-correct for Style/RedundantBegin when using modifier if single statement in begin block. (@koic)
  • #9698: Fix an error for Style/StructInheritance when extending instance of Struct without do ... end and class body is empty and single line definition. (@koic)
  • #9700: Avoid warning about Ruby version mismatch. (@marcandre)
  • #9636: Resolve symlinks when excluding directories. (@ob-stripe)
  • #9707: Fix false positive for Style/MethodCallWithArgsParentheses with omit_parentheses style on an endless defs node. (@dvandersluis)
  • #9689: Treat parens around array items the same for children and deeper descendants. (@dvandersluis)
  • #9676: Fix an error for Style/StringChars when using split without parentheses. (@koic)
  • #9712: Fix an incorrect auto-correct for Style/HashConversion when Hash[] as a method argument without parentheses. (@koic)
  • #9704: Fix an incorrect auto-correct for Style/SingleLineMethods when single line method call without parentheses. (@koic)
  • #9683: Fix an incorrect auto-correct for Style/HashConversion when using zip method without argument in Hash[]. (@koic)
  • #9715: Fix an incorrect auto-correct for EnforcedStyle: require_parentheses of Style/MethodCallWithArgsParentheses with Style/RescueModifier. (@koic)

Changes

  • #7544: Add --no-parallel (-P/--parallel can not be combined with --auto-correct). (@kwerle)
  • #9648: Drop support for Ruby 2.4. (@koic)
  • #9647: The parallel flag will now be automatically ignored when combined with --auto-correct, --auto-gen-config, or -F/--fail-fast. Previously, an error was raised and execution stopped. (@rrosenblum)

- Ruby
Published by bbatsov almost 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.12.1

Bug fixes

  • #9649: Fix when highlights contain multibyte characters. (@osyo-manga)
  • #9646: Fix an incorrect auto-correct for EnforcedStyle: require_parentheses of Style/MethodCallWithArgsParentheses with EnforcedStyle: conditionals of Style/AndOr. (@koic)
  • #9608: Fix a false positive for Layout/EmptyLineAfterGuardClause when using guard clause is after rubocop:enable comment. (@koic)
  • #9637: Allow parentheses for forwarded args in Style/MethodCallWithArgsParentheses's omit_parentheses style to avoid endless range ambiguity. (@gsamokovarov)
  • #9641: Fix Layout/MultilineMethodCallIndentation triggering on method calls that look like operators. (@dvandersluis)
  • #9638: Fix an error for Layout/LineLength when over limit at right hand side of multiple assignment. (@koic)
  • #9639: Fix Style/RedundantBegin removing comments on assignment statement correction. (@marcotc)
  • #9671: Fix an incorrect auto-correct for Lint/AmbiguousOperator with Style/MethodCallWithArgsParentheses. (@koic)
  • #9645: Fix an incorrect auto-correct for Style/SingleLineMethods when using single line class method definition. (@koic)
  • #9644: Fix an error and an incorrect auto-correct for Style/MultilineMethodSignature when line break after opening parenthesis. (@koic)
  • #9672: Fix an incorrect auto-correct for Style/HashConversion when using multi-argument Hash[] as a method argument. (@koic)

- Ruby
Published by bbatsov almost 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.12

New features

  • #9615: Add new Style/StringChars cop. (@koic)
  • #9629: Add AllowParenthesesInStringInterpolation configuration to Style/MethodCallWithArgsParentheses to allow parenthesized calls in string interpolation. (@gsamokovarov)
  • #9219: Allow excluding some constants from Style/Documentation. (@fsateler)
  • Add AllowNil option for Lint/SuppressedException to allow/disallow rescue nil. (@corroded)

Bug fixes

  • #9560: Fix an error for Lint/ClassMethodsDefinitions when defining class methods with class << self with comment only body. (@koic)
  • #9551: Fix a false positive for Style/UnlessLogicalOperators when using || operator and invoked method name includes "or" in the conditional branch. (@koic)
  • #9620: Allow parentheses in operator methods calls for Style/MethodCallWithArgsParentheses EnforcedStyle: omit_parentheses. (@gsamokovarov)
  • #9622: Fixed Style/BisectedAttrAccessor autocorrection to handle multiple bisected attrs in the same macro. (@dvandersluis)
  • #9606: Fix an error for Layout/IndentationConsistency when using access modifier at the top level. (@koic)
  • #9619: Fix infinite loop between Layout/IndentationWidth and Layout/RescueEnsureAlignment autocorrection. (@dvandersluis)
  • #9633: Fix an incorrect auto-correct for Lint/NumberConversion when to_i method in symbol form. (@koic)
  • #9616: Fix an incorrect auto-correct for Style/EvalWithLocation when using #instance_eval with a string argument in parentheses. (@koic)
  • #9429: Fix Style/NegatedIfElseCondition autocorrect to keep comments in correct branch. (@tejasbubane)
  • #9631: Fix an incorrect auto-correct for Style/RedundantReturn when using return with splat argument. (@koic)
  • #9627: Fix an incorrect auto-correct for Style/StructInheritance when extending instance of Struct without do ... end and class body is empty. (@koic)
  • #5953: Fix a false positive for Style/AccessModifierDeclarations when using module_function with symbol. (@koic)
  • #9593: Fix an error when processing a directory is named {}. (@koic)
  • #9599: Fix an error for Style/CaseLikeIf when using include? without a receiver. (@koic)
  • #9582: Fix incorrect auto-correct for Style/ClassEqualityComparison when comparing Module#name for equality. (@koic)
  • #9603: Fix a false positive for Style/SoleNestedConditional when using nested modifier on value assigned in condition. (@koic)
  • #9598: Fix RuboCop::MagicComment#valid_shareable_constant_value?. (@kachick)
  • #9625: Allow parentheses in yield arguments with Style/MethodCallWithArgsParentheses EnforcedStyle: omit_parentheses to fix invalid Ruby auto-correction. (@gsamokovarov)
  • #9558: Fix inconsistency when dealing with URIs that are wrapped in single quotes vs double quotes. (@dvandersluis)
  • #9613: Fix a false positive for Style/RedundantSelf when a self receiver on an lvalue of mlhs arguments. (@koic)
  • #9586: Update Naming/RescuedExceptionsVariableName to not register on inner rescues when nested. (@dvandersluis)

Changes

  • #9487: Mark Naming/MemoizedInstanceVariableName as unsafe. (@marcandre)
  • #9601: Make Style/RedundantBegin aware of redundant begin/end blocks around memoization. (@koic)
  • #9617: Disable suggested extensions when using the --stdin option. (@dvandersluis)

- Ruby
Published by bbatsov almost 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.11

New features

  • #5388: Add new Style/UnlessLogicalOperators cop. (@caalberts)
  • #9525: Add AllowMethodsWithArguments option to Style/SymbolProc. (@koic)

Bug fixes

  • #9520: Fix an incorrect auto-correct for Style/MultipleComparison when comparing a variable with multiple items in if and elsif conditions. (@koic)
  • #9548: Fix a false positive for Style/TrailingBodyOnMethodDefinition when endless method definition body is after newline in opening parenthesis. (@koic)
  • #9541: Fix Style/HashConversion when the correction needs to be wrapped in parens. (@dvandersluis)
  • #9533: Make metrics length cops aware of multi-line kwargs. (@koic)
  • #9523: Fix an error for Style/TrailingMethodEndStatement when endless method definition signature and body are on different lines. (@koic)
  • #9482: Return minimal known ruby version from gemspecs required_ruby_version. (@HeroProtagonist)
  • #9539: Fix an error for Style/RedundantBegin when using body of begin is empty. (@koic)
  • #9542: Fix Layout/FirstArgumentIndentation for operator methods not called as operators. (@dvandersluis, @TSMMark)

Changes

  • #9526: Add AllowSplatArgument option to Style/HashConversion and the option is true by default. (@koic)

- Ruby
Published by bbatsov about 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.10

New features

  • #9478: Add new Style/HashConversion cop. (@zverok)
  • #9496: Add new Gemspec/DateAssignment cop. (@koic)
  • #8724: Add IgnoreModules configuration to Style/ConstantVisibility to not register offense for module definitions. (@tejasbubane)
  • #9403: Add autocorrect for Style/EvalWithLocation cop. (@cteece)

Bug fixes

  • #9500: Update Lint/Debugger so that only specific receivers for debug methods lead to offenses. (@dvandersluis)
  • #9499: Fix a false positive for Layout/SpaceBeforeBrackets when multiple spaces are inserted inside the left bracket. (@koic)
  • #9507: Fix an incorrect auto-correct for Lint/RedundantSplatExpansion when expanding Array.new call on method argument. (@koic)
  • #9490: Fix incorrect auto-correct for Layout/FirstArgumentIndentation when specifying EnforcedStyle: with_fixed_indentation of Layout/ArgumentAlignment and EnforcedStyle: consistent of Layout/FirstArgumentIndentation. (@koic)
  • #9497: Fix an error for Style/ExplicitBlockArgument when yield is inside block of super. (@koic)
  • #9349: Fix a false positive for Lint/MultipleComparison when using &, |, and ^ set operation operators in multiple comparison. (@koic)
  • #9511: Fix a false negative for Lint/ElseLayout when using multiple elsifs. (@koic)
  • #9513: Fix an incorrect auto-correct for Style/HashConversion when using hash argument Hash[]. (@koic)
  • #9492: Fix an incorrect auto-correct for Lint/DeprecatedOpenSSLConstant when using no argument algorithm. (@koic)

Changes

- Ruby
Published by bbatsov about 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.9.1

New features

  • #9459: Add AllowedMethods option to Style/IfWithBooleanLiteralBranches and set nonzero? as default value. (@koic)

Bug fixes

  • #9431: Fix an error for Style/DisableCopsWithinSourceCodeDirective when using leading source comment. (@koic)
  • #9444: Fix error on colorization for offenses with Severity: info. (@tejasbubane)
  • #9448: Fix an error for Style/SoleNestedConditional when using nested unless modifier with a single expression condition. (@koic)
  • #9449: Fix an error for Style/NilComparison when using x == nil as a guard condition'. (@koic)
  • #9440: Fix Lint/SymbolConversion for implicit to_sym without a receiver. (@dvandersluis)
  • #9453: Fix infinite loop error for Layout/FirstParameterIndentation when EnforcedStyle: with_fixed_indentation is specified for Layout/ArgumentAlignment. (@koic)
  • #9466: Don't correct Style/SingleLineMethods using endless methods if the target ruby is < 3.0. (@dvandersluis)
  • #9455: Fix a false positive for Lint/SymbolConversion when hash keys that contain ":". (@koic)
  • #9454: Fix an incorrect auto-correct for Style/IfWithBooleanLiteralBranches when using elsif do_something? with boolean literal branches. (@koic)
  • #9438: Fix a false positive for Layout/SpaceBeforeBrackets when space is used in left bracket. (@koic)
  • #9457: Fix a false positive for Lint/SymbolConversion when hash keys that end with =. (@koic)
  • #9473: Fix an error for Lint/DeprecatedConstants when using __ENCODING__. (@koic)
  • #9452: Fix StyleGuideBaseURL not functioning with nested departments. (@tas50)
  • #9465: Update Metrics/ParameterLists to be able to write MaxOptionalParameters in rubocop_todo.yml. (@dvandersluis)
  • #9433: Fix an error for Style/EvalWithLocation when using eval with block argument. (@koic)

Changes

  • #9437: Improve offense message when there is an allowed range of empty lines. (@dvandersluis)
  • #9476: Mark Style/IfWithBooleanLiteralBranche as unsafe auto-correction. (@koic)

- Ruby
Published by bbatsov about 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.9

New features

Bug fixes

  • #9366: Fix an incorrect auto-correct for Style/SoleNestedConditional when using method arguments without parentheses for outer condition. (@koic)
  • #9372: Fix an error for Style/IfInsideElse when nested if branch code is empty. (@koic)
  • #9374: Fix autocorrection for Layout/LineLength when the first argument to a send node is a overly long hash pair. (@dvandersluis)
  • #9387: Fix incorrect auto-correct for Style/NilComparison when using !x.nil? and EnforcedStyle: comparison. (@koic)
  • #9411: Fix false negatives for Style/EvalWithLocation for Kernel.eval and when given improper arguments. (@dvandersluis)
  • #7766: Fix Naming/RescuedExceptionsVariableName autocorrection when the rescue body returns the exception variable. (@asterite)
  • #7766: Fix Naming/RescuedExceptionsVariableName autocorrection to not change variables if the exception variable has been reassigned. (@dvandersluis)
  • #9389: Fix an infinite loop error for IncludeSemanticChanges: false of Style/NonNilCheck with EnforcedStyle: comparison of Style/NilComparison. (@koic)
  • #9384: Fix a suggestion message when not auto-correctable. (@koic)
  • #9424: Fix an incorrect auto-correct for Style/ClassMethodsDefinitions when defining class methods with class << self and there is no blank line between method definition and attribute accessor. (@koic)
  • #9370: Fix an incorrect auto-correct for Style/SoleNestedConditional when using nested unless modifier multiple conditional. (@koic)
  • #9406: Fix rubocop_todo link injection when YAML doc start sigil exists. (@dduugg)
  • #9229: Fix errors being reported with rubocop -V with an invalid config. (@dvandersluis)
  • #9425: Fix error in Layout/ClassStructure when initializer comes after private attribute macro. (@tejasbubane)

Changes

  • #9415: Change Layout/ClassStructure to detect inline modifiers. (@AndreiEres)
  • #9380: Mark Style/FloatDivision as unsafe. (@koic)
  • #9345: Make Style/AsciiComments allow copyright notice by default. (@koic)
  • #9399: Added AllowedCops configuration to Style/DisableCopsWithinSourceCodeDirective. (@dvandersluis)
  • #9327: Change Layout/EmptyLineAfterMagicComment to accept top-level shareable_constant_values directive. (@tejasbubane)
  • #7902: Change Lint/NumberConversion to detect symbol form of conversion methods. (@tejasbubane)

- Ruby
Published by bbatsov about 5 years ago

https://github.com/rubocop/rubocop -

Bug fixes

  • #9342: Fix an error for Lint/RedundantDirGlobSort when using collection.sort. (@koic)
  • #9304: Do not register an offense for Style/ExplicitBlockArgument when the yield arguments are not an exact match with the block arguments. (@dvandersluis)
  • #8281: Fix Style/WhileUntilModifier handling comments and assignment when correcting to modifier form. (@Darhazer)
  • #8229: Fix faulty calculation in UncommunicativeName. (@ohbarye)
  • #9350: Wrap in parens before replacing unless with if and !. (@magneland)
  • #9356: Fix duplicate extension cop versions when using rubocop -V. (@koic)
  • #9355: Fix Style/SingleLineMethods autocorrection to endless method when the original code had parens. (@dvandersluis)
  • #9346: Fix an incorrect auto-correct for Style/StringConcatenation when concat string include double quotes and interpolation. (@k-karen)

- Ruby
Published by bbatsov about 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.8

New features

Bug fixes

  • #9298: Fix an incorrect auto-correct for Lint/RedundantCopDisableDirective when there is a blank line before inline comment. (@koic)
  • #9233: Fix Style/SoleNestedConditional copying non-relevant comments during auto-correction. (@Darhazer)
  • #9312: Fix Layout/FirstHashElementLineBreak to apply to multi-line hashes with only a single element. (@muirdm)
  • #9316: Fix Style/EmptyLiteral registering wrong offense when using a numbered block for Hash.new, i.e. Hash.new { _1[_2] = [] }. (@agargiulo)
  • #9308: Fix an error for Layout/EmptyLineBetweenDefs when using endless class method. (@koic)
  • #9314: Fix an incorrect auto-correct for Style/RedundantReturn when multiple return values have a parenthesized return value. (@koic)
  • #9335: Fix an incorrect auto-correct for EnforcedStyle: require_parentheses of Style/MethodCallWithArgsParentheses with Style/NestedParenthesizedCalls. (@koic)
  • #9290: Fix a false positive for Layout/SpaceBeforeBrackets when using array literal method argument. (@koic)
  • #9333: Fix an error for Style/IfInsideElse when using a modifier if nested inside an else after elsif. (@koic)
  • #9303: Fix an incorrect auto-correct for Style/RaiseArgs with EnforcedStyle: compact when using exception instantiation argument. (@koic)

Changes

  • #9300: Make Lint/NonDeterministicRequireOrder not to register offense when using Ruby 3.0 or higher. (@koic)
  • #9320: Support unicode-display_width v2. (@dduugg)
  • #9288: Require Parser 3.0.0.0 or higher. (@koic)
  • #9337: Add AllowedIdentifiers to Naming/VariableName. (@dvandersluis)
  • #9295: Update Style/SingleLineMethods to correct to an endless method definition if they are allowed. (@dvandersluis)
  • #9331: Mark Style/MutableConstant as unsafe. (@koic)

- Ruby
Published by bbatsov about 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.7

New features

  • #9260: Support auto-correction for Style/MultilineMethodSignature. (@koic)
  • #9282: Make Style/RedundantFreeze and Style/MutableConstant cops aware of frozen regexp and range literals when using Ruby 3.0. (@koic)
  • #9223: Add new Lint/AmbiguousAssignment cop. (@fatkodima)
  • #9243: Support auto-correction for Style/CommentedKeyword. (@koic)
  • #9283: Add new Style/HashExcept cop. (@koic)
  • #9231: Add new Layout/SpaceBeforeBrackets cop. (@koic)

Bug fixes

  • #9232: Fix Style/SymbolProc registering wrong offense when using a symbol numbered block argument greater than 1, i.e. [[1, 2]].map { _2.succ }. (@tdeo)
  • #9274: Fix error in Metrics/ClassLength when the class only contains comments. (@dvandersluis)
  • #9213: Fix a false positive for Style/RedanduntFreeze when using Array#*. (@koic)
  • #9279: Add support for endless methods to Style/MethodCallWithArgsParentheses. (@dvandersluis)
  • #9245: Fix Lint/AmbiguousRegexpLiteral when given a match_with_lvasgn node. (@dvandersluis)
  • #9276: Add support for endless methods to Style/SingleLineMethods. (@dvandersluis)
  • #9225: Fix Style/LambdaCall ignoring further offenses after opposite style is detected. (@sswander)
  • #9234: Fix the error for Style/KeywordParametersOrder and make it aware of block keyword parameters. (@koic)
  • #8938: Fix some ConfigurableEnforcedStyle cops to output Exclude file lists in --auto-gen-config runs. (@h-lame)
  • #9257: Fix false positive for Style/SymbolProc when the block uses a variable from outside the block. (@dvandersluis)
  • #9251: Fix extracted cop warning when the extension is loaded using --require. (@dvandersluis)
  • #9244: When a cop defined in an extension is explicitly enabled, ensure that it remains enabled. (@dvandersluis)
  • #8046: Fix an error for Layout/HeredocArgumentClosingParenthesis when there is an argument between a heredoc argument and the closing paretheses. (@koic)
  • #9261: Fix an incorrect auto-correct for Style/MultilineWhenThen when one line for multiple condidate values of when statement. (@makicamel)
  • #9258: Fix calculation of cop department for nested departments. (@mvz)
  • #9277: Fix Layout/EmptyLineBetweenDefs error with endless method definitions. (@dvandersluis)
  • #9278: Update Style/MethodDefParentheses to ignore endless method definitions since parentheses are always required. (@dvandersluis)

Changes

  • #9212: Make Style/RedundantArgument aware of String#chomp and String#chomp!. (@koic)
  • #8482: Allow simple math for Lint/BinaryOperatorWithIdenticalOperands cop. (@fatkodima)
  • #9237: Add IgnoredPatterns configuration to Lint/UnreachableLoop to allow for block methods that share a name with an Enumerable method. (@dvandersluis)
  • #9206: Allow extensions to disable cop obsoletions. (@dvandersluis)
  • #9262: Update Style/CollectionMethods to be handle additional arguments and methods that accept a symbol instead of a block. (@dvandersluis)
  • #9235: Allow --only and --except to be able to properly qualify cops added by require. (@dvandersluis)
  • #9205: Update Naming/MemoizedInstanceVariableName to handle dynamically defined methods. (@dvandersluis)
  • #9285: Add AllowPercentLiteralArrayArgument option for Lint/RedundantSplatExpansion to enable the option by default. (@koic)
  • #9208: Use Array#bsearch instead of Array#include? to detect hidden files. (@dark-panda)
  • #9228: Suppress any config warnings for rubocop -V. (@dvandersluis)
  • #9193: Add IgnoreLiteralBranches and IgnoreConstantBranches options to Lint/DuplicateBranch. (@dvandersluis)

- Ruby
Published by bbatsov about 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.6.1

Bug fixes

  • #9196: Fix ConfigObsoletion::ExtractedCop raising errors for loaded features when bundler is not activated. (@dvandersluis)

- Ruby
Published by bbatsov about 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.6

New features

  • #9125: Allow ConfigObsoletion to be extended by other RuboCop libraries. (@dvandersluis)
  • #9182: Support auto-correction for Style/RedundantArgument. (@koic)
  • #9186: Support auto-correction for Style/FloatDivision. (@koic)
  • #9167: Support auto-correct for StyleSingleLineBlockParams. (@koic)

Bug fixes

  • #9177: Remove back-ref related code from Style/SpecialGlobalVars. (@r7kamura)
  • #9160: Fix an incorrect auto-correct for Style/IfUnlessModifier and Style/SoleNestedConditional when auto-correction conflicts for guard condition. (@koic)
  • #9174: Handle send nodes with unparenthesized arguments in Style/SoleNestedConditional. (@dvandersluis)
  • #9184: Layout/EmptyLinesAroundAttributeAccessor fails if the attr_accessor is the last line of the file. (@tas50)

Changes

  • #9171: Add "did you mean" message when failing due to invalid cops in configuration. (@dvandersluis)
  • #8897: Change Style/StringConcatenation to accept line-end concatenation between two strings so that Style/LineEndConcatenation can handle it instead. (@dvandersluis)
  • #9172: Add Style/PerlBackrefs targets and change message more detailed. (@r7kamura)
  • #9187: Update formatters to output [Correctable] for correctable offenses. (@dvandersluis)
  • #9169: Add obsoletion warnings for Performance/* and Rails/* which are in separate gems now. (@dvandersluis)

- Ruby
Published by bbatsov about 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.5.2

Bug fixes

  • #9152: Fix an incorrect auto-correct for Style/SoleNestedConditional when nested || operator modifier condition. (@koic)
  • #9161: Fix a false positive for Layout/HeredocArgumentClosingParenthesis when using subsequence closing parentheses in the same line. (@koic)
  • #9151: Fix SuggestExtensions to not suggest extensions that are installed but not direct dependencies. (@dvandersluis)
  • #8985: Fix Style/StringConcatenation autocorrect generating invalid ruby. (@tejasbubane)
  • #9155: Fix a false positive for Layout/MultilineMethodCallIndentation when multiline method chain has expected indent width and the method is preceded by splat for EnforcedStyle: indented_relative_to_receiver. (@koic)

Changes

- Ruby
Published by bbatsov about 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.5.1

Bug fixes

  • #8684: Fix an error for Lint/InterpolationCheck cop. (@tejasbubane)
  • #9145: Fix issues with SuggestExtensions when bundler is not available, or when there is no gemfile. (@dvandersluis)
  • #9140: Fix an error for Layout/EmptyLinesAroundArguments when multiline style argument for method call without selector. (@koic)
  • #9136: Fix AllowedIdentifiers in Naming/VariableNumber to include variable assignments. (@PhilCoggins)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.5.0

New features

  • #9112: Add new cop Lint/UnexpectedBlockArity. (@dvandersluis)
  • #9010: Metrics/ParameterLists supports MaxOptionalParameters config parameter. (@fatkodima)
  • #9114: Support auto-correction for Style/SoleNestedConditional. (@koic)
  • #8564: Metrics/AbcSize: Add optional discount for repeated "attributes". (@marcandre)

Bug fixes

  • #8820: Fixes IfWithSemicolon autocorrection when elsif is present. (@adrian-rivera, @dvandersluis)
  • #9113: Fix a false positive for Style/MethodCallWithoutArgsParentheses when assigning to a default argument with the same name. (@koic)
  • #9115: Fix a false positive for Style/FirstArgumentIndentation when argument has expected indent width and the method is preceded by splat for EnforcedStyle: consistent_relative_to_receiver. (@koic)
  • #9128: Fix an incorrect auto-correct for Style/ClassAndModuleChildren when namespace is defined as a class in the same file. (@koic)
  • #9105: Fix an incorrect auto-correct for Style/RedundantCondition when using operator method in else. (@koic)
  • #9096: Fix #9095 use merged_config instead of config for pending new cop check. (@ThomasKoppensteiner)
  • #8053: Fix an incorrect auto-correct for Style/AndOr when or precedes and. (@koic)
  • #9097: Fix a false positive for Layout/EmptyLinesAroundArguments when blank line is inserted between method with arguments and receiver. (@koic)

Changes

  • #9122: Added tip message if any gems are loaded that have RuboCop extensions. (@dvandersluis)
  • #9104: Preset some stdlib method names for Naming/VariableNumber. (@koic)
  • #9127: Update Style/SymbolProc to be aware of numblocks. (@dvandersluis)
  • #9102: Upgrade regexp_parser to 2.0. (@knu)
  • #9100: Update ConfigObsoletion so that parameters can be deprecated but still accepted. (@dvandersluis)
  • #9108: Update Lint/UnmodifiedReduceAccumulator to handle numblocks and more than 2 arguments. (@dvandersluis)
  • #9098: Update Metrics/BlockLength and Metrics/MethodLength to use IgnoredMethods instead of ExcludedMethods in configuration. The previous key is retained for backwards compatibility. (@dvandersluis)
  • #9098: Update IgnoredMethods so that every cop that uses it will accept both strings and regexes in the configuration. (@dvandersluis)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.4.2

Bug fixes

  • #9083: Fix Style/RedundantArgument cop raising offense for more than one argument. (@tejasbubane)
  • #9089: Fix an incorrect auto-correct for Style/FormatString when using springf with second argument that uses an operator. (@koic)
  • #7670: Handle offenses inside heredocs for -a --disable-uncorrectable. (@jonas054)
  • #9070: Fix Lint/UnmodifiedReduceAccumulator error when the block does not have enough arguments. (@dvandersluis)

Changes

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.4.1

Bug fixes

- Ruby
Published by koic over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.4.0

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)
  • #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)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.3.1

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)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.3

New features

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)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.2

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)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.1

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)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 1.0

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)
  • #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)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.93.1

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)

- Ruby
Published by koic over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.93

New features

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)
  • #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)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.92

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)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.91.1

Bug fixes

  • #8720: Fix an error for Lint/IdentityComparison when calling object_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 when Layout/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 of when 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 with Layout/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 using if-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? from OptionalBooleanParameter cop. (@em-gazelle)
  • #7914: Style/SafeNavigation marked as having unsafe auto-correction. (@marcandre)
  • #8749: Disable Style/IpAddresses by default in Gemfile and gemspec files. (@dvandersluis)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.91

New features

  • New option --cache-root and support for the RUBOCOP_CACHE_ROOT environment variable. Both can be used to override the AllCops: 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 and Style/HashTransformValues when the receiver is an array. (@eugeneius)
  • #8653: Fix a false positive for Layout/DefEndAlignment when using refinements and private 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 checking foo&.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 with no_braces for empty hash. (@fsateler)
  • #8682: Fix a positive for Style/HashTransformKeys and Style/HashTransformValues when the each_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 for Lint/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)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.90

New features

Bug fixes

  • #8508: Fix a false positive for Style/CaseLikeIf when conditional contains comparison with a class. Mark Style/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 and Layout/EmptyLinesAroundModuleBody to correctly handle an access modifier as a first child. (@dsavochkin)
  • #8518: Fix Lint/ConstantResolution cop reporting offense for module and class 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. Add AlwaysCorrectToMultiline 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 about NewCops: 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 and Style/HashTransformValues aware of to_h with block. (@eugeneius)
  • #8529: Mark Lint/FrozenStringLiteralComment as Safe, but with unsafe auto-correction. (@marcandre)
  • #8602: Fix usage of to_enum(:scan, regexp) to work on TruffleRuby. (@jaimerave)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.89.1

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?, and end_with? in Lint/OutOfRangeRegexpRef. (@eugeneius)
  • #8466: Fix a false positive for Lint/UriRegexp when using regexp 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 and Style/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

  • #8487: Detect < and > as comparison operators in Style/ConditionalAssignment cop. (@biinari)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.89

New features

Bug fixes

  • #8346: Allow parentheses in single-line inheritance with Style/MethodCallWithArgsParentheses EnforcedStyle: omit_parentheses to fix invalid Ruby auto-correction. (@gsamokovarov)
  • #8324: Fix crash for Layout/SpaceAroundMethodCallOperator when using Proc#call shorthand syntax. (@fatkodima)
  • #8332: Fix auto-correct in Style/ConditionalAssignment to preserve constant namespace. (@biinari)
  • #8344: Fix crash for Style/CaseLikeIf when checking against equal? and match? without a receiver. (@fatkodima)
  • #8323: Fix a false positive for Style/HashAsLastArrayItem when hash is not a last array item. (@fatkodima)
  • #8299: Fix an incorrect auto-correct for Style/RedundantCondition when using raise, rescue, or and without argument parentheses in else. (@koic)
  • #8335: Fix incorrect character class detection for nested or POSIX bracket character classes in Style/RedundantRegexpEscape. (@owst)
  • #8347: Fix an incorrect auto-correct for EnforcedStyle: hash_rockets of Style/HashSyntax with Layout/HashAlignment. (@koic)
  • #8375: Fix an infinite loop error for Style/EmptyMethod. (@koic)
  • #8385: Remove auto-correction for Lint/EnsureReturn. (@marcandre)
  • #8391: Mark Style/ArrayCoercion as not safe. (@marcandre)
  • #8406: Improve Style/AccessorGrouping's auto-correction to remove redundant blank lines. (@koic)
  • #8330: Fix a false positive for Style/MissingRespondToMissing when defined method with inline access modifier. (@koic)
  • #8422: Fix an error for Lint/SelfAssignment when using or-assignment for constant. (@koic)
  • #8423: Fix an error for Style/SingleArgumentDig when without a receiver. (@koic)
  • #8424: Fix an error for Lint/IneffectiveAccessModifier when there is begin...end before a method definition. (@koic)
  • #8006: Fix line length calculation for Style/IfUnlessModifier to correctly take into account code before the if condition when considering conversation to a single-line form. (@dsavochkin)
  • #8283: Fix line length calculation for Style/IfUnlessModifier to correctly take into account a comment on the first line when considering conversation to a single-line form. (@dsavochkin)
  • #7957: Fix line length calculation for Style/IfUnlessModifier to correctly take into account code on the last line after the end keyword when considering conversion to a single-line form. (@dsavochkin)
  • #8226: Fix Style/IfUnlessModifier to add parentheses when converting if-end condition inside an array or a hash to a single-line form. (@dsavochkin)
  • #8443: Fix an incorrect auto-correct for Style/StructInheritance when there is a comment before class declaration. (@koic)
  • #8444: Fix an error for Layout/FirstMethodArgumentLineBreak when using kwargs in super. (@koic)

Changes

  • #8376: Style/MethodMissingSuper cop is removed in favor of new Lint/MissingSuper cop. (@fatkodima)
  • #8433: Lint/UselessComparison cop is removed in favor of new Lint/BinaryOperatorWithIdenticalOperands cop. (@fatkodima)
  • #8350: Set default max line length to 120 for Style/MultilineMethodSignature. (@koic)
  • #8338: potentially breaking. Config#for_department now returns only the config specified for that department; the 'Enabled' attribute is no longer calculated. (@marcandre)
  • #8037: (Breaking) Cop Metrics/AbcSize now counts ||=, &&=, multiple assignments, for, yield, iterating blocks. &. now count as conditions too (unless repeated on the same variable). Default bumped from 15 to 17. Consider using rubocop -a --disable-uncorrectable to ease transition. (@marcandre)
  • #8276: Cop Metrics/CyclomaticComplexity not longer counts &. when repeated on the same variable. (@marcandre)
  • #8204: (Breaking) Cop Metrics/PerceivedComplexity now counts else in case statements, &., ||=, &&= and blocks known to iterate. Default bumped from 7 to 8. Consider using rubocop -a --disable-uncorrectable to ease transition. (@marcandre)
  • #8416: Cop Lint/InterpolationCheck marked as unsafe. (@marcandre)
  • #8442: Remove RuboCop::Cop::ParserDiagnostic mixin module. (@koic)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.88

New features

Bug fixes

  • #8232: Fix a false positive for Layout/EmptyLinesAroundAccessModifier when end immediately after access modifier. (@koic)
  • #7777: Fix crash for Layout/MultilineArrayBraceLayout when comment is present after last element. (@shekhar-patil)
  • #7776: Fix crash for Layout/MultilineMethodCallBraceLayout when comment is present before closing braces. (@shekhar-patil)
  • #8282: Fix Style/IfUnlessModifier bad precedence detection. (@tejasbubane)
  • #8289: Fix Style/AccessorGrouping to not register offense for accessor with comment. (@tejasbubane)
  • #8310: Handle major version requirements in Gemspec/RequiredRubyVersion. (@eugeneius)
  • #8315: Fix crash for Style/PercentLiteralDelimiters when the source contains invalid characters. (@eugeneius)
  • #8239: Don't load .rubocop.yml files at all outside of the current project, unless they are personal configuration files and the project has no configuration. (@deivid-rodriguez)

Changes

  • #8021: Rewrite Layout/SpaceAroundMethodCallOperator cop to make it faster. (@fatkodima)
  • #8294: Add of to AllowedNames of MethodParameterName cop. (@AlexWayfer)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.87.1

Bug fixes

  • #8252: Fix a command line option name from --safe-autocorrect to --safe-auto-correct, which is compatible with RuboCop 0.86 and lower. (@koic)
  • #8259: Fix false positives for Style/BisectedAttrAccessor when accessors have different access modifiers. (@fatkodima)
  • #8253: Fix false positives for Style/AccessorGrouping when accessors have different access modifiers. (@fatkodima)
  • #8257: Fix an error for Style/BisectedAttrAccessor when using attr_reader and attr_writer with splat arguments. (@fatkodima)
  • #8239: Don't load .rubocop.yml from personal folders to check for exclusions if given a custom configuration file. (@deivid-rodriguez)
  • #8256: Fix an error for --auto-gen-config when running a cop who do not support auto-correction. (@koic)
  • #8262: Fix Lint/DeprecatedOpenSSLConstant auto-correction of OpenSSL::Cipher to use lower case, as some Linux-based systems do not accept upper cased cipher names. (@bdewater)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.87

New features

  • #7868: Cop::Base is the new recommended base class for cops. (@marcandre)
  • #3983: Add new Style/AccessorGrouping cop. (@fatkodima)
  • #8244: Add new Style/BisectedAttrAccessor cop. (@fatkodima)
  • #7458: Add new AsciiConstants option for Naming/AsciiIdentifiers. (@fatkodima)
  • #7373: Add new Style/RedundantAssignment cop. (@fatkodima)
  • #8213: Permit to specify TargetRubyVersion 2.8 (experimental). (@koic)
  • #8159: Add new CountAsOne option for code length related Metric cops. (@fatkodima)
  • #8164: Support auto-correction for Lint/InterpolationCheck. (@koic)
  • #8223: Support auto-correction for Style/IfUnlessModifierOfIfUnless. (@koic)
  • #8172: Support auto-correction for Lint/SafeNavigationWithEmpty. (@koic)

Bug fixes

  • #8039: Fix false positives for Lint/ParenthesesAsGroupedExpression in when using operators or chain functions. (@CamilleDrapier)
  • #8196: Fix a false positive for Style/RedundantFetchBlock when using with Rails.cache. (@fatkodima)
  • #8195: Fix an error for Style/RedundantFetchBlock when using #fetch with empty block. (@koic)
  • #8193: Fix a false positive for Style/RedundantRegexpCharacterClass when using [\b]. (@owst)
  • #8205: Fix a false positive for Style/RedundantRegexpCharacterClass when using a leading escaped ]. (@owst)
  • #8208: Fix Style/RedundantParentheses with hash literal as first argument to yield. (@karlwithak)
  • #8176: Don't load .rubocop.yml from personal folders to check for exclusions if there's a project configuration. (@deivid-rodriguez)

Changes

  • #7868: (Breaking) Extensive refactoring of internal classes Team, Commissioner, Corrector. Cop::Cop#corrections not completely compatible. See Upgrade Notes. (@marcandre)
  • #8156: (Breaking) rubocop -a / --autocorrect no longer run unsafe corrections; rubocop -A / --autocorrect-all run both safe and unsafe corrections. Options --safe-autocorrect is deprecated. (@marcandre)
  • #8207: (Breaking) Order for gems names now disregards underscores and dashes unless ConsiderPunctuation setting is set to true. (@marcandre)
  • #8211: Style/ClassVars cop now detects class_variable_set. (@biinari)
  • #8245: Detect top-level constants like ::Const in various cops. (@biinari)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.86

New features

  • #8147: Add new Style/RedundantFetchBlock cop. (@fatkodima)
  • #8111: Add auto-correct for Style/StructInheritance. (@tejasbubane)
  • #8113: Let expect_offense templates add variable-length whitespace with _{foo}. (@eugeneius)
  • #8148: Support auto-correction for Style/MultilineTernaryOperator. (@koic)
  • #8151: Support auto-correction for Style/NestedTernaryOperator. (@koic)
  • #8142: Add Lint/ConstantResolution cop. (@robotdana)
  • #8170: Support auto-correction for Lint/RegexpAsCondition. (@koic)
  • #8169: Support auto-correction for Lint/RaiseException. (@koic)

Bug fixes

  • #8132: Fix the problem with Naming/MethodName: EnforcedStyle: camelCase and _ or i variables. (@avrusanov)
  • #8115: Fix false negative for Lint::FormatParameterMismatch when argument contains formatting. (@andrykonchin)
  • #8131: Fix false positive for Style/RedundantRegexpEscape with escaped delimiters. (@owst)
  • #8124: Fix a false positive for Lint/FormatParameterMismatch when using named parameters with escaped %. (@koic)
  • #7979: Fix "uninitialized constant DidYouMean::SpellChecker" exception. (@bquorning)
  • #8098: Fix a false positive for Style/RedundantRegexpCharacterClass when using interpolations. (@owst)
  • #8150: Fix a false positive for Layout/EmptyLinesAroundAttributeAccessor when using attribute accessors in if ... else branches. (@koic)
  • #8179: Fix an infinite correction loop error for Layout/MultilineBlockLayout when missing newline before opening parenthesis ( for block body. (@koic)
  • #8185: Fix a false positive for Style/YodaCondition when interpolation is used on the left hand side. (@koic)

Changes

  • #8146: Use UTC in RuboCop todo file generation. (@mauro-oto)
  • #8149: Cop Metrics/CyclomaticComplexity now counts &., ||=, &&= and blocks known to iterate. Default bumped from 6 to 7. (@marcandre)
  • #8178: Mark unsafe for Lint/RaiseException. (@koic)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.85.1

Bug fixes

  • #8083: Fix an error for Lint/MixedRegexpCaptureTypes cop when using a regular expression that cannot be processed by regexp_parser gem. (@koic)
  • #8081: Fix a false positive for Lint/SuppressedException when empty rescue block in do block. (@koic)
  • #8096: Fix a false positive for Lint/SuppressedException when empty rescue block in defs. (@koic)
  • #8108: Fix infinite loop in Layout/HeredocIndentation auto-correct. (@jonas054)
  • #8042: Fix raising error in Lint::FormatParameterMismatch when it handles invalid format strings and add new offense. (@andrykonchin)

- Ruby
Published by bbatsov over 5 years ago

https://github.com/rubocop/rubocop - RuboCop 0.85

New features

  • #6289: Add new CheckDefinitionPathHierarchy option for Naming/FileName. (@jschneid)
  • #8055: Add new Style/RedundantRegexpCharacterClass cop. (@owst)
  • #8069: New option for expect_offense to help format offense templates. (@marcandre)
  • #7908: Add new Style/RedundantRegexpEscape cop. (@owst)
  • #7978: Add new option OnlyFor to the Bundler/GemComment cop. (@ric2b)
  • #8063: Add new AllowedNames option for Naming/ClassAndModuleCamelCase. (@tejasbubane)
  • #8050: New option --display-only-failed that can be used with --format junit. Speeds up test report processing for large codebases and helps address the sorts of concerns raised at mikian/rubocop-junit-formatter #18. (@burnettk)
  • #7746: Add new Lint/MixedRegexpCaptureTypes cop. (@pocke)

Bug fixes

  • #8008: Fix an error for Lint/SuppressedException when empty rescue block in def. (@koic)
  • #8012: Fix an incorrect autocorrect for Lint/DeprecatedOpenSSLConstant when deprecated OpenSSL constant is used in a block. (@koic)
  • #8017: Fix a false positive for Lint/SuppressedException when empty rescue with comment in def. (@koic)
  • #7990: Fix resolving inherit_gem in remote configs. (@CvX)
  • #8035: Fix a false positive for Lint/DeprecatedOpenSSLConstant when using double quoted string argument. (@koic)
  • #7971: Fix an issue where --disable-uncorrectable would not update uncorrected code with rubocop:todo. (@rrosenblum)
  • #8035: Fix a false positive for Lint/DeprecatedOpenSSLConstant when argument is a variable, method, or consntant. (@koic)

Changes

  • #8056: (Breaking) Remove support for unindent/active_support/powerpack from Layout/HeredocIndentation, so it only recommends using squiggy heredoc. (@bquorning)

- Ruby
Published by bbatsov almost 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.84

New features

  • #7735: NodePattern and AST classes have been moved to the rubocop-ast gem. (@marcandre)
  • #7950: Add new Lint/DeprecatedOpenSSLConstant cop. (@bdewater)
  • #7976: Add AllowAliasSyntax and AllowedMethods options for Layout/EmptyLinesAroundAttributeAccessor. (@koic)
  • #7984: New rake task "check_commit" will run rspec and rubocop on files touched by the last commit. (@marcandre)

Bug fixes

  • #7953: Fix an error for Lint/AmbiguousOperator when a method with no arguments is used in advance. (@koic)
  • #7962: Fix a false positive for Lint/ParenthesesAsGroupedExpression when heredoc has a space between the same string as the method name and (. (@koic)
  • #7967: Style/SlicingWithRange cop now supports any expression as its first index. (@zverok)
  • #7972: Fix an incorrect autocrrect for Style/HashSyntax when using a return value uses return. (@koic)
  • #7886: Fix a bug in AllowComments logic in Lint/SuppressedException. (@jonas054)
  • #7991: Fix an error for Layout/EmptyLinesAroundAttributeAccessor when attribute method is method chained. (@koic)
  • #7993: Fix a false positive for Migration/DepartmentName when a disable comment contains an unexpected character for department name. (@koic)

Changes

  • #7952: (Breaking) Change the max line length of Layout/LineLength to 120 by default. (@koic)
  • #7959: Change enforced style to conditionals for Style/AndOr. (@koic)
  • #7985: Add EnforcedStyle for Style/DoubleNegation cop and allow double nagation in contexts that use boolean as a return value. (@koic)

- Ruby
Published by bbatsov almost 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.83

New features

  • #7951: Include rakefile file by default. (@jethrodaniel)
  • #7921: Add new Style/SlicingWithRange cop. (@zverok)
  • #7895: Include .simplecov file by default. (@robotdana)
  • #7916: Support autocorrection for Lint/AmbiguousRegexpLiteral. (@koic)
  • #7917: Support autocorrection for Lint/UselessAccessModifier. (@koic)
  • #595: Add ERB pre-processing for configuration files. (@jonas054)
  • #7918: Support autocorrection for Lint/AmbiguousOperator. (@koic)
  • #7937: Support autocorrection for Style/IfWithSemicolon. (@koic)
  • #3696: Add AllowComments option to Lint/EmptyWhen cop. (@koic)
  • #7910: Support autocorrection for Lint/ParenthesesAsGroupedExpression. (@koic)
  • #7925: Support autocorrection for Layout/ConditionPosition. (@koic)
  • #7934: Support autocorrection for Lint/EnsureReturn. (@koic)
  • #7922: Add new Layout/EmptyLineAroundAttributeAccessor cop. (@koic)

Bug fixes

  • #7929: Fix Style/FrozenStringLiteralComment to accept frozen_string_literal anywhere in leading comment lines. (@jeffcarbs)
  • #7882: Fix Style/CaseEquality when AllowOnConstant is true and the method receiver is implicit. (@rafaelfranca)
  • #7790: Fix --parallel and --ignore-parent-exclusion combination. (@jonas054)
  • #7881: Fix --parallel and --force-default-config combination. (@jonas054)
  • #7635: Fix a false positive for Style/MultilineWhenThen when then required for a body of when is used. (@koic)
  • #7905: Fix an error when running rubocop --only or rubocop --except options without cop name argument. (@koic)
  • #7903: Fix an incorrect autocorrect for Style/HashTransformKeys and Style/HashTransformValues cops when line break before to_h method. (@diogoosorio, @koic)
  • #7899: Fix an infinite loop error for Layout/SpaceAroundOperators with Layout/ExtraSpacing when using ForceEqualSignAlignment: true. (@koic)
  • #7885: Fix Style/IfUnlessModifier logic when tabs are used for indentation. (@jonas054)
  • #7909: Fix a false positive for Lint/ParenthesesAsGroupedExpression when using an intended grouped parentheses. (@koic)
  • #7913: Fix a false positive for Lint/LiteralAsCondition when using true literal in while and similar cases. (@koic)
  • #7928: Fix a false message for Style/GuardClause when using and or or operators for guard clause in then or else branches. (@koic)
  • #7928: Fix a false positive for Style/GuardClause when assigning the result of a guard condition with else. (@koic)

Changes

  • #7860: Change AllowInHeredoc option of Layout/TrailingWhitespace to true by default. (@koic)
  • #7094: Clarify alignment in Layout/MultilineOperationIndentation. (@jonas054)
  • #4245: (Breaking) Inspect all files given on command line unless --only-recognized-file-types is given. (@jonas054)
  • #7390: (Breaking) Enabling a cop overrides disabling its department. (@jonas054)
  • #7936: Mark Lint/BooleanSymbol as unsafe. (@laurmurclar)
  • #7948: Mark unsafe for Style/OptionalArguments. (@koic)
  • #7931: Remove dependency on the jaro_winkler gem, instead depending on did_you_mean. This may be a breaking change for RuboCop libraries calling NameSimilarity#find_similar_name. (@bquorning)

- Ruby
Published by bbatsov almost 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.82

New features

Bug fixes

  • #7871: Fix an auto-correction bug in Lint/BooleanSymbol. (@knu)
  • #7842: Fix a false positive for Lint/RaiseException when raising Exception with explicit namespace. (@koic)
  • #7834: Fix Lint/UriRegexp to register offense with array arguments. (@tejasbubane)
  • #7841: Fix an error for Style/TrailingCommaInBlockArgs when lambda literal (->) has multiple arguments. (@koic)
  • #7842: Fix a false positive for Lint/RaiseException when Exception without cbase specified under the namespace Gem by adding AllowedImplicitNamespaces option. (@koic)
  • Style/IfUnlessModifier does not infinite-loop when autocorrecting long lines which use if/unless modifiers and have multiple statements separated by semicolons. (@alexdowad)
  • rubocop-hq/rubocop-rails#127: Use ConfigLoader.default_configuration for the default config. (@hanachin)

Changes

  • (Breaking) Renamed Layout/Tab cop to Layout/IndentationStyle. (@DracoAter)
  • #7869: (Breaking) Drop support for Ruby 2.3. (@koic)

- Ruby
Published by bbatsov almost 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.81

New features

  • #7299: Add new Lint/RaiseException cop. (@denys281)
  • #7793: Prefer include? over member? in Style/CollectionMethods. (@dmolesUC)
  • #7654: Support with_fixed_indentation option for Layout/ArrayAlignment cop. (@nikitasakov)
  • #7783: Support Ruby 2.7's numbered parameter for Style/RedundantSort. (@koic)
  • #7795: Make Layout/EmptyLineAfterGuardClause aware of case where and or or is used before keyword that break control (e.g. and return). (@koic)
  • #7786: Support Ruby 2.7's pattern match for Layout/ElseAlignment cop. (@koic)
  • #7784: Support Ruby 2.7's numbered parameter for Lint/SafeNavigationChain. (@koic)
  • #7331: Add forbidden option to Style/ModuleFunction cop. (@weh)
  • #7699: Add new Lint/StructNewOverride cop. (@ybiquitous)
  • #7637: Add new Style/TrailingCommaInBlockArgs cop. (@pawptart)
  • #7809: Add auto-correction for Style/EndBlock cop. (@tejasbubane)
  • #7739: Add IgnoreNotImplementedMethods configuration to Lint/UnusedMethodArgument. (@tejasbubane)
  • #7740: Add AllowModifiersOnSymbols configuration to Style/AccessModifierDeclarations. (@tejasbubane)
  • #7812: Add auto-correction for Lint/BooleanSymbol cop. (@tejasbubane)
  • #7823: Add IgnoredMethods configuration in Metrics/AbcSize, Metrics/CyclomaticComplexity, and Metrics/PerceivedComplexity cops. (@drenmi)
  • #7816: Support Ruby 2.7's numbered parameter for Style/Lambda. (@koic)
  • #7829: Fix an error for Style/OneLineConditional when one of the branches contains next keyword. (@koic)

Bug fixes

  • #7236: Mark Style/InverseMethods auto-correct as incompatible with Style/SymbolProc. (@drenmi)
  • #7144: Fix Style/Documentation constant visibility declaration in namespace. (@AdrienSldy)
  • #7779: Fix a false positive for Style/MultilineMethodCallIndentation when using Ruby 2.7's numbered parameter. (@koic)
  • #7733: Fix rubocop-junit-formatter imcompatibility XML for JUnit formatter. (@koic)
  • #7767: Skip array literals in Style/HashTransformValues and Style/HashTransformKeys. (@tejasbubane)
  • #7791: Fix an error on auto-correction for Layout/BlockEndNewline when } of multiline block without processing is not on its own line. (@koic)
  • #7778: Fix a false positive for Layout/EndAlignment when a non-whitespace is used before the end keyword. (@koic)
  • #7806: Fix an error for Lint/ErbNewArguments cop when inspecting ActionView::Template::Handlers::ERB.new. (@koic)
  • #7814: Fix a false positive for Migrate/DepartmentName cop when inspecting an unexpected disabled comment format. (@koic)
  • #7728: Fix an error for Style/OneLineConditional when one of the branches contains a self keyword. (@koic)
  • #7825: Fix crash for Layout/MultilineMethodCallIndentation with key access to hash. (@tejasbubane)
  • #7831: Fix a false positive for Style/HashEachMethods when receiver is implicit. (@koic)

Changes

  • #7797: Allow unicode-display_width dependency version 1.7.0. (@yuritomanek)
  • #7779: Change AllowComments option of Lint/SuppressedException to true by default. (@koic)
  • #7320: Naming/MethodName now flags attr_reader/attr_writer/attr_accessor/attr. (@denys281)
  • #7813: (Breaking) Remove Lint/EndInMethod cop. (@tejasbubane)

- Ruby
Published by bbatsov almost 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.80.1

Bug fixes

  • #7719: Fix Style/NestedParenthesizedCalls cop for newline. (@tejasbubane)
  • #7709: Fix correction of Style/RedundantCondition when the else branch contains a range. (@rrosenblum)
  • #7682: Fix Style/InverseMethods autofix leaving parenthesis. (@tejasbubane)
  • #7745: Suppress a pending cop warnings when pending cop's department is disabled. (@koic)
  • #7759: Fix an error for Layout/LineLength cop when using lambda syntax that argument is not enclosed in parentheses. (@koic)

Changes

  • #7765: When warning about a pending cop, display the version with the cop added. (@koic)

- Ruby
Published by bbatsov about 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.80

New features

  • #7693: NodePattern: Add ` for descendant search. (@marcandre)
  • #7577: Add AllowGemfileRubyComment configuration on Layout/LeadingCommentSpace. (@cetinajero)
  • #7663: Add new Style/HashTransformKeys and Style/HashTransformValues cops. (@djudd, @eugeneius)
  • #7619: Support autocorrect of legacy cop names for Migration/DepartmentName. (@koic)
  • #7659: Layout/LineLength autocorrect now breaks up long lines with blocks. (@maxh)
  • #7677: Add new Style/HashEachMethods cop for Hash#each_key and Hash#each_value. (@jemmaissroff)
  • Add BracesRequiredMethods parameter to Style/BlockDelimiters to require braces for specific methods such as Sorbet's sig. (@maxh)
  • #7686: Add new JUnitFormatter formatter based on rubocop-junit-formatter gem. (@koic)
  • #7715: Add Steepfile to default Include list. (@ybiquitous)

Bug fixes

  • #7644: Fix patterns with named wildcards in unions. (@marcandre)
  • #7639: Fix logical operator edge case in omit_parentheses style of Style/MethodCallWithArgsParentheses. (@gsamokovarov)
  • #7661: Fix to return correct info from multi-line regexp. (@Tietew)
  • #7655: Fix an error when processing a regexp with a line break at the start of capture parenthesis. (@koic)
  • #7647: Fix an undefined method on_numblock error when using Ruby 2.7's numbered parameters. (@hanachin)
  • #7675: Fix a false negative for Layout/SpaceBeforeFirstArg when a vertical argument positions are aligned. (@koic)
  • #7688: Fix a bug in Style/MethodCallWithArgsParentheses that made --auto-gen-config crash. (@buehmann)
  • #7203: Fix an infinite loop error for Style/TernaryParentheses with Style/RedundantParentheses when using EnforcedStyle: require_parentheses_when_complex. (@koic)
  • #7708: Make it possible to use EOL rubocop:disable comments on comment lines. (@jonas054)
  • #7712: Fix an incorrect autocorrect for Style/OrAssignment when using elsif branch. (@koic)

Changes

  • #7636: Remove console from Lint/Debugger to prevent false positives. (@gsamokovarov)
  • #7641: (Breaking) Remove Style/BracesAroundHashParameters cop. (@pocke)
  • Add the method name to highlight area of Layout/EmptyLineBetweenDefs to help provide more context. (@rrosenblum)
  • #7652: Allow pp to allowed names of Naming/MethodParameterName cop in default config. (@masarakki)
  • #7309: Mark Lint/UselessSetterCall an "not safe" and improve documentation. (@jonas054)
  • #7723: Enable Migration/DepartmentName cop by default. (@koic)

- Ruby
Published by bbatsov about 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.79

New features

Bug fixes

  • #7193: Prevent Style/PercentLiteralDelimiters from changing %i literals that contain escaped delimiters. (@buehmann)
  • #7590: Fix an error for Layout/SpaceBeforeBlockBraces when using with EnforcedStyle: line_count_based of Style/BlockDelimiters cop. (@koic)
  • #7569: Make Style/YodaCondition accept __FILE__ == $0. (@koic)
  • #7576: Fix an error for Gemspec/OrderedDependencies when using a local variable in an argument of dependent gem. (@koic)
  • #7595: Make Style/NumericPredicate aware of ignored methods when specifying ignored methods. (@koic)
  • #7607: Fix Style/FrozenStringLiteralComment infinite loop when magic comments are newline-separated. (@pirj)
  • #7602: Ensure proper handling of Ruby 2.7 syntax. (@drenmi)
  • #7620: Fix a false positive for Migration/DepartmentName when a disable comment contains a plain comment. (@koic)
  • #7616: Fix an incorrect autocorrect for Style/MultilineWhenThen for when statement with then is an array or a hash. (@koic)
  • #7628: Fix an incorrect autocorrect for Layout/MultilineBlockLayout removing trailing comma with single argument. (@pawptart)
  • #7627: Fix a false negative for Migration/DepartmentName when there is space around : (e.g. # rubocop : disable). (@koic)

Changes

  • #7287: Style/FrozenStringLiteralComment is now considered unsafe. (@buehmann)

- Ruby
Published by bbatsov about 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.78

New features

  • #7528: Add new Lint/NonDeterministicRequireOrder cop. (@mangara)
  • #7559: Add EnforcedStyleForExponentOperator parameter to Layout/SpaceAroundOperators cop. (@khiav223577)

Bug fixes

  • #7530: Typo in Style/TrivialAccessors's AllowedMethods. (@movermeyer)
  • #7532: Fix an error for Style/TrailingCommaInArguments when using an anonymous function with multiple line arguments with EnforcedStyleForMultiline: consistent_comma. (@koic)
  • #7534: Fix an incorrect autocorrect for Style/BlockDelimiters cop and Layout/SpaceBeforeBlockBraces cop with EnforcedStyle: no_space when using multiline braces. (@koic)
  • #7231: Fix the exit code to be 2 rather when 0 when the config file contains an unknown cop. (@jethroo)
  • #7513: Fix abrupt error on autocorrecting with --disable-uncorrectable. (@tejasbubane)
  • #7537: Fix a false positive for Layout/SpaceAroundOperators when using a Rational literal with / (e.g. 2/3r). (@koic)
  • #7029: Make Style/Attr not flag offense for custom attr method. (@tejasbubane)
  • #7574: Fix a corner case that made Style/GuardClause crash. (@buehmann)

Changes

  • #7514: Expose correctable status on offense and in formatters. (@tyler-ball)
  • #7542: (Breaking) Move LineLength cop from Metrics department to Layout department. (@koic)

- Ruby
Published by bbatsov about 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.77

Bug fixes

  • #7493: Fix Style/RedundantReturn to inspect conditional constructs that are preceded by other statements. (@buehmann)
  • #7509: Fix Layout/SpaceInsideArrayLiteralBrackets to correct empty lines. (@ayacai115)
  • #7517: Style/SpaceAroundKeyword allows :: after super. (@ozydingo)
  • #7515: Fix a false negative for Style/RedundantParentheses when calling a method with safe navigation operator. (@koic)
  • #7477: Fix line length autocorrect for semicolons in string literals. (@maxh)
  • #7522: Fix a false-positive edge case (n % 2 == 2) for Style/EvenOdd. (@buehmann)

Changes

  • #7077: (Breaking) Further standardisation of cop names. (@scottmatthewman)
  • #7469: (Breaking) Replace usages of the terms Whitelist and Blacklist with better alternatives. (@koic)
  • #7502: Remove SafeMode module. (@koic)

- Ruby
Published by bbatsov over 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.76

Bug fixes

  • #7439: Make Style/FormatStringToken ignore percent escapes (%%). (@buehmann)
  • #7438: Fix assignment edge-cases in Layout/MultilineAssignmentLayout. (@gsamokovarov)
  • #7449: Make Style/IfUnlessModifier respect rubocop:disable comments for Metrics/LineLength. (@jonas054)
  • #7442: Fix an incorrect autocorrect for Style/SafeNavigation when an object check followed by a method call with a comment at EOL. (@koic)
  • #7434: Fix an incorrect autocorrect for Style/MultilineWhenThen when the body of when branch starts with then. (@koic)
  • #7464: Let Performance/StartWith and Performance/EndWith correct regexes that contain forward slashes. (@eugeneius)

Changes

  • #7465: Add os to allowed names of Naming/UncommunicativeMethodParamName cop in default config. (@nijikon)
  • #7446: Add merge to list of non-mutating methods. (@cstyles)
  • #7077: (Breaking) Rename Unneeded* cops to Redundant* (e.g., Style/UnneededPercentQ becomes Style/RedundantPercentQ). (@scottmatthewman)
  • #7396: Display assignments, branches, and conditions values with the offense. (@avmnu-sng)

- Ruby
Published by bbatsov over 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.75.1

Bug fixes

  • #7391: Support pacman formatter on Windows. (@laurenball)
  • #7407: Make Style/FormatStringToken work inside hashes. (@buehmann)
  • #7389: Fix an issue where passing a formatter might result in an error depending on what character it started with. (@jfhinchcliffe)
  • #7397: Fix extra comments being added to the correction of Style/SafeNavigation. (@rrosenblum)
  • #7378: Fix heredoc edge cases in Layout/EmptyLineAfterGuardClause. (@gsamokovarov)
  • #7404: Fix a false negative for Layout/IndentAssignment when multiple assignment with line breaks on each line. (@koic)

Changes

  • #7410: Style/FormatStringToken now finds unannotated format sequences in printf arguments. (@buehmann)
  • #6964: Set default IgnoreCopDirectives to true for Metrics/LineLength. (@jdkaplan)

- Ruby
Published by bbatsov over 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.75

New features

  • #7274: Add new Lint/SendWithMixinArgument cop. (@koic)
  • #7272: Show warning message if passed string to Enabled, Safe, SafeAutocorrect, and AutoCorrect keys in .rubocop.yml. (@unasuke)
  • #7295: Make it possible to set StyleGuideBaseURL per department. (@koic)
  • #7301: Add check for calls to remote_byebug to Lint/Debugger cop. (@riley-klingler)
  • #7321: Allow YAML aliases in .rubocop.yml. (@raymondfallon)
  • #7317: Add new formatter pacman. (@crojasaragonez)
  • #6075: Support IgnoredPatterns option for Naming/MethodName cop. (@koic)
  • #7335: Add todo as an alias to disable. --disable-uncorrectable will now disable cops using rubocop:todo instead of rubocop:disable. (@desheikh)

Bug fixes

  • #7256: Fix an error of Style/RedundantParentheses on method calls where the first argument begins with a hash literal. (@halfwhole)
  • #7263: Make Layout/SpaceInsideArrayLiteralBrackets properly handle tab-indented arrays. (@buehmann)
  • #7252: Prevent infinite loops by making Layout/SpaceInsideStringInterpolation skip over interpolations that start or end with a line break. (@buehmann)
  • #7262: Lint/FormatParameterMismatch did not recognize named format sequences like %.2<name>f where the name appears after some modifiers. (@buehmann)
  • #7253: Fix an error for Lint/NumberConversion when #to_i called without a receiver. (@koic)
  • #7271, #6498: Fix an interference between Style/TrailingCommaIn*Literal and Layout/Multiline*BraceLayout for arrays and hashes. (@buehmann)
  • #7241: Make Style/FrozenStringLiteralComment match only true & false. (@tejasbubane)
  • #7290: Handle inner conditional inside else in Style/ConditionalAssignment. (@jonas054)
  • #5788: Allow block arguments on separate lines if line would be too long in Layout/MultilineBlockLayout. (@jonas054)
  • #7305: Register Style/BlockDelimiters offense when block result is assigned to an attribute. (@mvz)
  • #4802: Don't leave any Lint/UnneededCopEnableDirective offenses undetected/uncorrected. (@jonas054)
  • #7326: Fix a false positive for Style/AccessModifierDeclarations when access modifier name is used for hash literal value. (@koic)
  • #3591: Handle modifier if/unless correctly in Lint/UselessAssignment. (@jonas054)
  • #7161: Fix Style/SafeNavigation cop for preserve comments inside if expression. (@tejasbubane)
  • #5212: Avoid false positive for braces that are needed to preserve semantics in Style/BracesAroundHashParameters. (@jonas054)
  • #7353: Fix a false positive for Style/RedundantSelf when receiver and multiple assigned lvalue have the same name. (@koic)
  • #7353: Fix a false positive for Style/RedundantSelf when a self receiver is used as a method argument. (@koic)
  • #7358: Fix an incorrect autocorrect for Style/NestedModifier when parentheses are required in method arguments. (@koic)
  • #7361: Fix a false positive for Style/TernaryParentheses when only the closing parenthesis is used in the last line of condition. (@koic)
  • #7369: Fix an infinite loop error for Layout/IndentAssignment with Layout/IndentFirstArgument when using multiple assignment. (@koic)
  • #7177, #7370: When correcting alignment, do not insert spaces into string literals. (@buehmann)
  • #7367: Fix an error for Style/OrAssignment cop when then branch body is empty. (@koic)
  • #7363: Fix an incorrect autocorrect for Layout/SpaceInsideBlockBraces and Style/BlockDelimiters when using multiline empty braces. (@koic)
  • #7212: Fix a false positive for Layout/EmptyLinesAroundAccessModifier and UselessAccessModifier when using method with the same name as access modifier around a method definition. (@koic)

Changes

  • #7312: Mark Style/StringHashKeys as unsafe. (@prathamesh-sonpatki)
  • #7275: Make Style/VariableName aware argument names when invoking a method. (@koic)
  • #3534: Make Style/IfUnlessModifier report and auto-correct modifier lines that are too long. (@jonas054)
  • #7261: Style/FrozenStringLiteralComment no longer inserts an empty line after the comment. This is left to Layout/EmptyLineAfterMagicComment. (@buehmann)
  • #7091: Style/FormatStringToken now detects format sequences with flags and modifiers. (@buehmann)
  • #7319: Rename IgnoredMethodPatterns option to IgnoredPatterns option for Style/MethodCallWithArgsParentheses. (@koic)
  • #7345: Mark unsafe for Style/YodaCondition. (@koic)

- Ruby
Published by bbatsov over 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.74

New features

  • #7219: Support auto-correct for Lint/ErbNewArguments. (@koic)

Bug fixes

  • #7217: Make Style/TrailingMethodEndStatement work on more than the first def. (@buehmann)
  • #7190: Support lower case drive letters on Windows. (@jonas054)
  • Fix the auto-correction of Lint/UnneededSplatExpansion when the splat expansion of Array.new with a block is assigned to a variable. (@rrosenblum)
  • #5628: Fix an error of Layout/SpaceInsideStringInterpolation on interpolations with multiple statements. (@buehmann)
  • #7128: Make Metrics/LineLength aware of shebang. (@koic)
  • #6861: Fix a false positive for Layout/IndentationWidth when using EnforcedStyle: outdent of Layout/AccessModifierIndentation. (@koic)
  • #7235: Fix an error where Style/ConditionalAssignment would swallow a nested if condition. (@buehmann)
  • #7242: Make Style/ConstantVisibility work on non-trivial class and module bodies. (@buehmann)

Changes

  • #5265: Improved Layout/ExtraSpacing cop to handle nested consecutive assignments. (@jfelchner)
  • #7215: Make it clear what's wrong in the message from Style/GuardClause. (@jonas054)
  • #7245: Make cops detect string interpolations in more contexts: inside of backticks, regular expressions, and symbols. (@buehmann)

- Ruby
Published by bbatsov over 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.73

New features

Bug fixes

  • #7170: Fix a false positive for Layout/RescueEnsureAlignment when def line is preceded with private_class_method. (@tatsuyafw)
  • #7186: Fix a false positive for Style/MixinUsage when using inside multiline block and if condition is after include. (@koic)
  • #7099: Fix an error of Layout/RescueEnsureAlignment on assigned blocks. (@tatsuyafw)
  • #5088: Fix an error of Layout/MultilineMethodCallIndentation on method chains inside an argument. (@buehmann)
  • #4719: Make Layout/Tab detect tabs between string literals. (@buehmann)
  • #7203: Fix an infinite loop error for Layout/SpaceInsideBlockBraces when EnforcedStyle: no_space with SpaceBeforeBlockParameters: false are set in multiline block. (@koic)
  • #6653: Fix a bug where Layout/IndentHeredoc would remove empty lines when autocorrecting heredocs. (@buehmann)

Changes

  • #7181: Sort analyzed file alphabetically. (@pocke)
  • #7188: Include inspected file location in auto-correction error. (@pocke)

- Ruby
Published by bbatsov over 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.72

New features

Bug fixes

  • #7121: Fix Style/TernaryParentheses cop to allow safe navigation operator without parentheses. (@timon)
  • #7063: Fix autocorrect in Style/TernaryParentheses cop. (@parkerfinch)
  • #7106: Fix an error for Lint/NumberConversion when #to_i called on a variable on a hash. (@koic)
  • #7107: Fix parentheses offence for numeric arguments with an operator in Style/MethodCallWithArgsParentheses. (@gsamokovarov)
  • #7119: Fix cache with non UTF-8 offense message. (@pocke)
  • #7118: Fix Style/WordArray with encoding: binary magic comment and non-ASCII string. (@pocke)
  • #7159: Fix an error for Lint/DuplicatedKey when using endless range. (@koic)
  • #7151: Fix Style/WordArray to also consider words containing hyphens. (@fwitzke)
  • #6893: Handle implicit rescue correctly in Naming/RescuedExceptionsVariableName. (@pocke, @anthony-robin)
  • #7165: Fix an auto-correct error for Style/ConditionalAssignment when without else branch'. (@koic)
  • #7171: Fix an error for Style/SafeNavigation when using unless nil? as a safeguarded'. (@koic)
  • #7113: This PR renames EnforcedStyle: rails to EnabledStyle: outdented_access_modifiers for Layout/IndentationConsistency. (@koic)
  • #7130: Skip autocorrect in Style/FormatString if second argument to String#% is a variable. (@tejasbubane)
  • #7171: Fix an error for Style/SafeNavigation when using unless nil? as a safeguarded'. (@koic)

Changes

  • #5976: Remove Rails cops. (@koic)
  • #5976: Remove rubocop -R/--rails option. (@koic)
  • #7113: Rename EnforcedStyle: rails to EnabledStyle: indented_internal_methods for Layout/IndentationConsistency. (@koic)

- Ruby
Published by bbatsov over 6 years ago

https://github.com/rubocop/rubocop - RuboCop 0.71

New features

  • #7084: Permit to specify TargetRubyVersion 2.7. (@koic)
  • #7092: Node patterns can now use *, + and ? for repetitions. (@marcandre)

Bug fixes

  • #7066: Fix Layout/AlignHash when mixed Hash styles are used. (@rmm5t)
  • #7073: Fix false positive in Naming/RescuedExceptionsVariableName cop. (@tejasbubane)
  • #7090: Fix Layout/EmptyLinesAroundBlockBody for multi-line method calls. (@eugeneius)
  • #6936: Fix Layout/MultilineMethodArgumentLineBreaks when bracket hash assignment on multiple lines. (@maxh)
  • Mark Layout/HeredocArgumentClosingParenthesis incompatible with Style/TrailingCommaInArguments. (@maxh)

Changes

- Ruby
Published by bbatsov almost 7 years ago