Skip to content

Releases: rubocop/rubocop

RuboCop 1.35.1

22 Aug 05:48
Compare
Choose a tag to compare

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)

RuboCop 1.35

12 Aug 12:51
Compare
Choose a tag to compare

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

RuboCop 1.34.1

09 Aug 15:07
Compare
Choose a tag to compare

Bug fixes

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

RuboCop 1.34

09 Aug 05:27
Compare
Choose a tag to compare

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)

RuboCop 1.33

04 Aug 09:28
Compare
Choose a tag to compare

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)

RuboCop 1.32

21 Jul 10:35
Compare
Choose a tag to compare

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)

RuboCop 1.31.2

07 Jul 08:05
Compare
Choose a tag to compare

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)

RuboCop 1.31.1

29 Jun 06:56
Compare
Choose a tag to compare

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)

RuboCop 1.31

27 Jun 06:36
Compare
Choose a tag to compare

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)

RuboCop 1.30.1

06 Jun 08:19
Compare
Choose a tag to compare

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)