All Versions
116
Latest Version
Avg Release Cycle
17 days
Latest Release
15 days ago

Changelog History
Page 1

  • v0.77.0

    November 27, 2019

    🐛 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)
  • v0.76.0

    October 28, 2019

    🐛 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

    • 0️⃣ #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)
  • v0.75.1

    October 14, 2019

    🐛 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)
    • 0️⃣ #6964: Set default IgnoreCopDirectives to true for Metrics/LineLength. (@jdkaplan)
  • v0.75.0

    September 30, 2019

    🆕 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)
  • v0.74.0

    July 31, 2019

    🆕 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)
  • v0.73.0

    July 16, 2019

    🆕 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)
  • v0.72.0

    June 25, 2019

    🆕 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)
  • v0.71.0

    May 30, 2019

    🆕 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

  • v0.70.0

    May 21, 2019

    🆕 New features

    • 👍 #6649: Layout/AlignHash supports list of options. (@stoivo)
    • ➕ Add IgnoreMethodPatterns config option to Style/MethodCallWithArgsParentheses. (@tejasbubane)
    • 💅 #7059: Add EnforcedStyle to Layout/EmptyLinesAroundAccessModifier. (@koic)
    • 👕 #7052: Add AllowComments option to Lint/HandleExceptions. (@tejasbubane)

    🐛 Bug fixes

    • 0️⃣ #7013: Respect DisabledByDefault for custom cops. (@XrXr)
    • #7043: Prevent RDoc error when installing RuboCop 0.69.0 on Ubuntu. (@koic)
    • 👕 #7023: Autocorrection for Lint/NumberConversion. (@Bhacaz)

    🔄 Changes

  • v0.69.0

    May 13, 2019

    🆕 New features

    • ➕ Add support for subclassing using Class.new to Lint/InheritException. (@houli)
    • 💅 #6779: Add new cop Style/NegativeUnless that checks for unless with negative condition. (@tejasbubane)

    🐛 Bug fixes

    • 🚅 #6900: Fix Rails/TimeZone autocorrect Time.current to Time.zone.now. (@vfonic)
    • 🚅 #6900: Fix Rails/TimeZone to prefer Time.zone.#{method} over other acceptable corrections. (@vfonic)
    • #7007: Fix Style/BlockDelimiters with braces_for_chaining style false positive, when chaining using safe navigation. (@Darhazer)
    • 📜 #6880: Fix .rubocop file parsing. (@hoshinotsuyoshi)
    • 👕 #5782: Do not autocorrect Lint/UnifiedInteger if TargetRubyVersion < 2.4. (@lavoiesl)
    • 👕 #6387: Prevent Lint/NumberConversion from reporting error with Time/DateTime. (@tejasbubane)
    • 💅 #6980: Fix Style/StringHashKeys to allow string as keys for hash arguments to gsub methods. (@tejasbubane)
    • 💅 #6969: Fix a false positive with block methods in Style/InverseMethods. (@dduugg)
    • #6729: Handle array spread for change_column_default in Rails/ReversibleMigration cop. (@tejasbubane)
    • #7033: Fix an error for Layout/EmptyLineAfterGuardClause when guard clause is a ternary operator. (@koic)

    🔄 Changes

    • 💎 #6945: Drop support for Ruby 2.2. (@koic)
    • 💅 #6945: Set default EnforcedStyle to squiggly option for Layout/IndentHeredoc and auto_detection option is removed. (@koic)
    • 💅 #6945: Set default EnforcedStyle to always option for Style/FrozenStringLiteralComment and when_needed option is removed. (@koic)
    • #7027: Allow unicode/display_width dependency version 1.6.0. (@tagliala)