All Versions
151
Latest Version
Avg Release Cycle
7 days
Latest Release
1232 days ago

Changelog History
Page 12

  • v0.29.0 Changes

    February 05, 2015

    ๐Ÿ†• New features

    • ๐Ÿ’ป #1430: Add --except option for disabling cops on the command line. ([@jonas054][])
    • #1506: Add auto-correct from EvenOdd cop. ([@blainesch][])
    • #1507: Debugger cop now checks for the Capybara debug methods save_and_open_page and save_and_open_screenshot. ([@rrosenblum][])
    • ๐Ÿš… #1539: Implement auto-correction for Rails/ReadWriteAttribute cop. ([@huerlisi][])
    • ๐Ÿ”ง #1324: Add AllCops/DisplayCopNames configuration option for showing cop names in reports, like --display-cop-names. ([@jonas054][])
    • #1271: Lambda cop does auto-correction. ([@lumeet][])
    • ๐Ÿ‘• #1284: Support namespaces, e.g. Lint, in the arguments to --only and --except. ([@jonas054][])
    • #1276: SelfAssignment cop does auto-correction. ([@lumeet][])
    • โž• Add auto-correct to RedundantException. ([@mattjmcnaughton][])
    • #1571: New cop StructInheritance checks for inheritance from Struct.new. ([@mmozuras][])
    • #1575: New cop DuplicateMethods points out duplicate method name in class and module. ([@d4rk5eed][])
    • #1144: New cop FirstParameterIndentation checks the indentation of the first parameter in a method call. ([@jonas054][])
    • #1627: New cop SpaceAroundBlockParameters checks the spacing inside and after block parameters pipes. ([@jonas054][])

    ๐Ÿ”„ Changes

    • #1492: Abort when auto-correct causes an infinite loop. ([@dblock][])
    • Options -e/--emacs and -s/--silent are no longer recognized. Using them will now raise an error. ([@bquorning][])
    • #1565: Let --fail-level A cause exit with error if all offenses are auto-corrected. ([@jonas054][])
    • #1309: Add argument handling to MultilineBlockLayout. ([@lumeet][])

    ๐Ÿ› Bugs fixed

    • #1634: Fix PerlBackrefs cop auto-corrections to not raise. ([@cshaffer][])
    • ๐Ÿ’… #1553: Fix bug where Style/EmptyLinesAroundAccessModifier interfered with Style/EmptyLinesAroundBlockBody when there is and access modifier at the beginning of a block. ([@volkert][])
    • ๐Ÿ‘• Handle element assignment in Lint/AssignmentInCondition. ([@jonas054][])
    • #1484: Fix EmptyLinesAroundAccessModifier incorrectly finding a violation inside method calls with names identical to an access modifier. ([@dblock][])
    • ๐Ÿ›  Fix bug concerning Exclude properties inherited from a higher directory level. ([@jonas054][])
    • #1500: Fix crashing --auto-correct --only IndentationWidth. ([@jonas054][])
    • #1512: Fix false negative for typical string formatting examples. ([@kakutani][], [@jonas054][])
    • ๐Ÿ”ง #1504: Fail with a meaningful error if the configuration file is malformed. ([@bquorning][])
    • ๐Ÿ›  Fix bug where auto_correct Rake tasks does not take in the options specified in its parent task. ([@rrosenblum][])
    • #1054: Handle comments within concatenated strings in LineEndConcatenation. ([@yujinakayama][], [@jonas054][])
    • #1527: Make auto-correct BracesAroundHashParameter leave the correct number of spaces. ([@mattjmcnaughton][])
    • ๐Ÿ’… #1547: Don't print [Corrected] when auto-correction was avoided in Style/Semicolon. ([@jonas054][])
    • #1573: Fix assignment-related auto-correction for BlockAlignment. ([@lumeet][])
    • #1587: Exit with exit code 1 if there were errors ("crashing" cops). ([@jonas054][])
    • #1574: Avoid auto-correcting Hash.new to {} when braces would be interpreted as a block. ([@jonas054][])
    • #1591: Don't check parameters inside [] in MultilineOperationIndentation. ([@jonas054][])
    • ๐Ÿš… #1509: Ignore class methods in Rails/Delegate. ([@bbatsov][])
    • ๐Ÿ“š #1594: Fix @example warnings in Yard Doc documentation generation. ([@mattjmcnaughton][])
    • #1598: Fix bug in file inclusion when running from another directory. ([@jonas054][])
    • ๐Ÿ–จ #1580: Don't print [Corrected] when auto-correction was avoided in TrivialAccessors. ([@lumeet][])
    • #1612: Allow expand_path on inherit_from in .rubocop.yml. ([@mattjmcnaughton][])
    • ๐Ÿ’… #1610: Check that class method names actually match the name of the containing class/module in Style/ClassMethods. ([@bbatsov][])
  • v0.28.0 Changes

    December 10, 2014

    ๐Ÿ†• New features

    • #1450: New cop ExtraSpacing points out unnecessary spacing in files. ([@blainesch][])
    • ๐Ÿ†• New cop EmptyLinesAroundBlockBody provides same functionality as the EmptyLinesAround(Class|Method|Module)Body but for blocks. ([@jcarbo][])
    • ๐Ÿ†• New cop Style/EmptyElse checks for empty else-clauses. ([@Koronen][])
    • ๐Ÿ’… #1454: New --only-guide-cops and AllCops/StyleGuideCopsOnly options that will only enforce cops that link to a style guide. ([@marxarelli][])

    ๐Ÿ”„ Changes

    • ๐Ÿ’… #801: New style context_dependent for Style/BracesAroundHashParameters looks at preceding parameter to determine if braces should be used for final parameter. ([@jonas054][])
    • #1427: Excluding directories on the top level is now done earlier, so that these file trees are not searched, thus saving time when inspecting projects with many excluded files. ([@jonas054][])
    • #1325: When running with --auto-correct, only offenses that cannot be corrected will result in a non-zero exit code. ([@jonas054][])
    • ๐Ÿ’… #1445: Allow sprockets directive comments (starting with #=) in Style/LeadingCommentSpace. ([@bbatsov][])

    ๐Ÿ› Bugs fixed

    • ๐Ÿ›  Fix %W[] auto corrected to %w(]. ([@toy][])
    • ๐Ÿ›  Fix Style/ElseAlignment Cop to find the right parent on def/rescue/else/ensure/end. ([@oneamtu][])
    • #1181: (fix again) Style/StringLiterals cop stays away from strings inside interpolated expressions. ([@jonas054][])
    • ๐Ÿ’… #1441: Correct the logic used by Style/Blocks and other cops to determine if an auto-correction would alter the meaning of the code. ([@jonas054][])
    • ๐Ÿ’… #1449: Handle the case in MultilineOperationIndentation where instances of both correct style and unrecognized (plain wrong) style are detected during an --auto-gen-config run. ([@jonas054][])
    • #1456: Fix auto-correct in SymbolProc when there are multiple offenses on the same line. ([@jcarbo][])
    • #1459: Handle parenthesis around the condition in --auto-correct for NegatedWhile. ([@jonas054][])
    • #1465: Fix auto-correct of code like #$1 in PerlBackrefs. ([@bbatsov][])
    • ๐Ÿ›  Fix auto-correct of code like #$: in SpecialGlobalVars. ([@bbatsov][])
    • #1466: Allow leading underscore for unused parameters in SingleLineBlockParams. ([@jonas054][])
    • #1470: Handle elsif + else in ElseAlignment. ([@jonas054][])
    • ๐Ÿ’… #1474: Multiline string with both << and \ caught by Style/LineEndConcatenation cop. ([@katieschilling][])
    • #1485: Ignore procs in SymbolProc. ([@bbatsov][])
    • ๐Ÿ’… #1473: Style/MultilineOperationIndentation doesn't recognize assignment to array/hash element. ([@jonas054][])
  • v0.27.1 Changes

    November 08, 2014

    ๐Ÿ”„ Changes

    • ๐Ÿšš #1343: Remove auto-correct from RescueException cop. ([@bbatsov][])
    • ๐Ÿ”ง #1425: AllCops/Include configuration parameters are only taken from the project .rubocop.yml and files it inherits from, not from .rubocop.yml files in subdirectories. ([@jonas054][])

    ๐Ÿ› Bugs fixed

    • #1411: Handle lambda calls without a selector in MultilineOperationIndentation. ([@bbatsov][])
    • ๐Ÿ”ง #1401: Files in hidden directories, i.e. ones beginning with dot, can now be selected through configuration, but are still not included by default. ([@jonas054][])
    • #1415: String literals concatenated with backslashes are now handled correctly by StringLiteralsInInterpolation. ([@jonas054][])
    • #1416: Fix handling of begin/rescue/else/end in ElseAlignment. ([@jonas054][])
    • ๐Ÿ‘ #1413: Support empty elsif branches in MultilineIfThen. ([@janraasch][], [@jonas054][])
    • #1406: Allow a newline in SpaceInsideRangeLiteral. ([@bbatsov][])
  • v0.27.0 Changes

    October 30, 2014

    ๐Ÿ†• New features

    • #1348: New cop ElseAlignment checks alignment of else and elsif keywords. ([@jonas054][])
    • #1321: New cop MultilineOperationIndentation checks indentation/alignment of binary operations if they span more than one line. ([@jonas054][])
    • #1077: New cop Metrics/AbcSize checks the ABC metric, based on assignments, branches, and conditions. ([@jonas054][], [@jfelchner][])
    • ๐Ÿ”ง #1352: WordArray is now configurable with the WordRegex option. ([@bquorning][])
    • ๐Ÿ’… #1181: New cop Style/StringLiteralsInInterpolation checks quotes inside interpolated expressions in strings. ([@jonas054][])
    • ๐Ÿ’… #872: Style/IndentationWidth is now configurable with the Width option. ([@jonas054][])
    • 0๏ธโƒฃ #1396: Include .opal files by default. ([@bbatsov][])
    • ๐Ÿ’… #771: Three new Style cops, EmptyLinesAroundMethodBody , EmptyLinesAroundClassBody , and EmptyLinesAroundModuleBody replace the EmptyLinesAroundBody cop. ([@jonas054][])

    ๐Ÿ”„ Changes

    • ๐Ÿ’… #1084: Disabled Style/CollectionMethods by default. ([@bbatsov][])

    ๐Ÿ› Bugs fixed

    • AlignHash no longer skips multiline hashes that contain some elements on the same line. ([@mvz][])
    • #1349: BracesAroundHashParameters no longer cleans up whitespace in auto-correct, as these extra corrections are likely to interfere with other cops' corrections. ([@jonas054][])
    • #1350: Guard against Blocks cop introducing syntax errors in auto-correct. ([@jonas054][])
    • ๐Ÿ“œ #1374: To eliminate interference, auto-correction is now done by one cop at a time, with saving and re-parsing in between. ([@jonas054][])
    • #1388: Fix a false positive in FormatString. ([@bbatsov][])
    • #1389: Make --out to create parent directories. ([@yous][])
    • Refine HTML formatter. ([@yujinakayama][])
    • #1410: Handle specially Java primitive type references in ColonMethodCall. ([@bbatsov][])
  • v0.26.1 Changes

    September 18, 2014

    ๐Ÿ› Bugs fixed

    • #1326: Fix problem in SpaceInsideParens with detecting space inside parentheses used for grouping expressions. ([@jonas054][])
    • #1335: Restrict URI schemes permitted by LineLength when AllowURI is enabled. ([@smangelsdorf][])
    • #1339: Handle eql? and equal? in OpMethod. ([@bbatsov][])
    • ๐Ÿ’… #1340: Fix crash in Style/SymbolProc cop when the block calls a method with no explicit receiver. ([@smangelsdorf][])
  • v0.26.0 Changes

    September 03, 2014

    ๐Ÿ†• New features

    • ๐Ÿ†• New formatter HTMLFormatter generates a html file with a list of files with offences in them. ([@SkuliOskarsson][])
    • ๐Ÿ†• New cop SpaceInsideRangeLiteral checks for spaces around .. and ... in range literals. ([@bbatsov][])
    • ๐Ÿ†• New cop InfiniteLoop checks for places where Kernel#loop should have been used. ([@bbatsov][])
    • ๐Ÿ†• New cop SymbolProc checks for places where a symbol can be used as proc instead of a block. ([@bbatsov][])
    • โœ๏ธ UselessAssignment cop now suggests a variable name for possible typos if there's a variable-ish identifier similar to the unused variable name in the same scope. ([@yujinakayama][])
    • ๐Ÿ”ง PredicateName cop now has separate configurations for prefices that denote predicate method names and predicate prefices that should be removed. ([@bbatsov][])
    • #1272: Tab cop does auto-correction. ([@yous][])
    • #1274: MultilineIfThen cop does auto-correction. ([@bbatsov][])
    • #1279: DotPosition cop does auto-correction. ([@yous][])
    • #1277: SpaceBeforeFirstArg cop does auto-correction. ([@yous][])
    • ๐Ÿ’… #1310: Handle module_function in Style/AccessModifierIndentation and Style/EmptyLinesAroundAccessModifier. ([@bbatsov][])

    ๐Ÿ”„ Changes

    • 0๏ธโƒฃ #1289: Use utf-8 as default encoding for inspected files. ([@jonas054][])
    • ๐Ÿ’… #1304: Style/Encoding is no longer a no-op on Ruby 2.x. It's also disabled by default, as projects not supporting 1.9 don't need to run it. ([@bbatsov][])

    ๐Ÿ› Bugs fixed

    • #1263: Do not report %W literals with special escaped characters in UnneededCapitalW. ([@jonas054][])
    • #1286: Fix a false positive in VariableName. ([@bbatsov][])
    • #1211: Fix false negative in UselessAssignment when there's a reference for the variable in an exclusive branch. ([@yujinakayama][])
    • #1307: Fix auto-correction of RedundantBegin cop deletes new line. ([@yous][])
    • #1283: Fix auto-correction of indented expressions in PercentLiteralDelimiters. ([@jonas054][])
    • ๐Ÿšš #1315: BracesAroundHashParameters auto-correction removes whitespace around content inside braces. ([@jspanjers][])
    • ๐Ÿ’… #1313: Fix a false positive in AndOr when enforced style is conditionals. ([@bbatsov][])
    • ๐Ÿ’… Handle post-conditional while and until in AndOr when enforced style is conditionals. ([@yujinakayama][])
    • #1319: Fix a false positive in FormatString. ([@bbatsov][])
    • #1287: Allow missing blank line for EmptyLinesAroundAccessModifier if next line closes a block. ([@sch1zo][])
  • v0.25.0 Changes

    August 15, 2014

    ๐Ÿ†• New features

    • #1259: Allow AndOr cop to auto-correct by adding method call parenthesis. ([@vrthra][])
    • ๐Ÿ’… #1232: Add EnforcedStyle option to cop AndOr to restrict it to conditionals. ([@vrthra][])
    • ๐Ÿ”ง #835: New cop PercentQLiterals checks if use of %Q and %q matches configuration. ([@jonas054][])
    • ๐Ÿ”ง #835: New cop BarePercentLiterals checks if usage of %() or %Q() matches configuration. ([@jonas054][])
    • #1079: New cop MultilineBlockLayout checks if a multiline block has an expression on the same line as the start of the block. ([@barunio][])
    • ๐Ÿ’… #1217: Style::EmptyLinesAroundAccessModifier cop does auto-correction. ([@tamird][])
    • #1220: New cop PerceivedComplexity is similar to CyclomaticComplexity, but reports when methods have a high complexity for a human reader. ([@jonas054][])
    • Debugger cop now checks for binding.pry_remote. ([@yous][])
    • #1238: Add MinBodyLength option to Next cop. ([@bbatsov][])
    • #1241: TrailingComma cop does auto-correction. ([@yous][])
    • #1078: New cop BlockEndNewline checks if the end statement of a multiline block is on its own line. ([@barunio][])
    • #1078: BlockAlignment cop does auto-correction. ([@barunio][])

    ๐Ÿ”„ Changes

    ๐Ÿ› Bugs fixed

    • #1251: Fix PercentLiteralDelimiters auto-correct indentation error. ([@hannestyden][])
    • #1197: Fix false positive for new lambda syntax in SpaceInsideBlockBraces. ([@jonas054][])
    • #1201: Fix error at anonymous keyword splat arguments in some variable cops. ([@yujinakayama][])
    • ๐Ÿ›  Fix false positive in UnneededPercentQ for /%Q(something)/. ([@jonas054][])
    • ๐Ÿ›  Fix SpacesInsideBrackets for Hash#[] calls with spaces after left bracket. ([@mcls][])
    • #1210: Fix false positive in UnneededPercentQ for %Q(\t"). ([@jonas054][])
    • ๐Ÿ›  Fix false positive in UnneededPercentQ for heredoc strings with %q/%Q. ([@jonas054][])
    • #1214: Don't destroy code in AlignHash auto-correct. ([@jonas054][])
    • #1219: Don't report bad alignment for end or } in BlockAlignment if it doesn't begin its line. ([@jonas054][])
    • #1227: Don't permanently change yamler as it can affect other apps. ([@jonas054][])
    • #1184: Fix a false positive in Output cop. ([@bbatsov][])
    • #1256: Ignore block-pass in TrailingComma. ([@tamird][])
    • #1255: Compare without context in Auto-CorrectUnlessChangingAST. ([@jonas054][])
    • #1262: Handle regexp and backtick literals in VariableInterpolation. ([@bbatsov][])
  • v0.24.1 Changes

    July 03, 2014

    ๐Ÿ› Bugs fixed

    • #1174: Fix --auto-correct crash in AlignParameters. ([@jonas054][])
    • #1176: Fix --auto-correct crash in IndentationWidth. ([@jonas054][])
    • ๐Ÿ›  #1177: Avoid suggesting underscore-prefixed name for unused keyword arguments and auto-correcting in that way. ([@yujinakayama][])
    • #1157: Validate --only arguments later when all cop names are known. ([@jonas054][])
    • #1188, #1190: Fix crash in LineLength cop when AllowURI option is enabled. ([@yujinakayama][])
    • #1191: Fix crash on empty body branches in a loop in Next cop. ([@yujinakayama][])
  • v0.24.0 Changes

    June 25, 2014

    ๐Ÿ†• New features

    • ๐Ÿ‘ #639: Support square bracket setters in UselessSetterCall. ([@yujinakayama][])
    • #835: UnneededCapitalW cop does auto-correction. ([@sfeldon][])
    • ๐Ÿ”ง #1092: New cop DefEndAlignment takes over responsibility for checking alignment of method definition ends from EndAlignment, and is configurable. ([@jonas054][])
    • #1145: New cop ClassCheck enforces consistent use of is_a? or kind_of?. ([@bbatsov][])
    • #1161: New cop SpaceBeforeComma detects spaces before a comma. ([@agrimm][])
    • #1161: New cop SpaceBeforeSemicolon detects spaces before a semicolon. ([@agrimm][])
    • #835: New cop UnneededPercentQ checks for usage of the %q/%Q syntax when '' or "" would do. ([@jonas054][])
    • 0๏ธโƒฃ #977: Add AllowURI option (enabled by default) to LineLength cop. ([@yujinakayama][])

    ๐Ÿ”„ Changes

    • Unused block local variables (obj.each { |arg; this| }) are now handled by UnusedBlockArgument cop instead of UselessAssignment cop. ([@yujinakayama][])
    • #1141: Clarify in the message from TrailingComma that a trailing comma is never allowed for lists where some items share a line. ([@jonas054][])

    ๐Ÿ› Bugs fixed

    • #1133: Handle reduce/inject with no arguments in EachWithObject. ([@bbatsov][])
    • #1152: Handle while/until with no body in Next. ([@tamird][])
    • ๐Ÿ›  Fix a false positive in UselessSetterCall for setter call on a local variable that contains a non-local object. ([@yujinakayama][])
    • #1158: Fix auto-correction of floating-point numbers. ([@bbatsov][])
    • #1159: Fix checking of begin..end structures, blocks, and parenthesized expressions in IndentationWidth. ([@jonas054][])
    • #1159: More rigid conditions for when attr is considered an offense. ([@jonas054][])
    • #1167: Fix handling of parameters spanning multiple lines in TrailingComma. ([@jonas054][])
    • #1169: Fix handling of ternary op conditions in ParenthesesAroundCondition. ([@bbatsov][])
    • #1147: WordArray checks arrays with special characters. ([@camilleldn][])
    • ๐Ÿ›  Fix a false positive against return in a loop in Next cop. ([@yujinakayama][])
    • ๐Ÿ‘ #1165: Support rescue/else/ensure bodies in IndentationWidth. ([@jonas054][])
    • ๐Ÿ›  Fix false positive for aligned list of values after when in IndentationWidth. ([@jonas054][])
  • v0.23.0 Changes

    June 02, 2014

    ๐Ÿ†• New features

    • #1117: BlockComments cop does auto-correction. ([@jonas054][])
    • #1124: TrivialAccessors cop auto-corrects class-level accessors. ([@ggilder][])
    • #1062: New cop InlineComment checks for inline comments. ([@salbertson][])
    • #1118: Add checking and auto-correction of right brackets in IndentArray and IndentHash. ([@jonas054][])

    ๐Ÿ”„ Changes

    • ๐Ÿ’… #1097: Add optional namespace prefix to cop names: Style/LineLength instead of LineLength in config files, --only argument, --show-cops output, and # rubocop:disable. ([@jonas054][])
    • #1075: More strict limits on when to require trailing comma. ([@jonas054][])
    • ๐Ÿ“‡ Renamed Rubocop module to RuboCop. ([@bbatsov][])

    ๐Ÿ› Bugs fixed

    • #1126: Fix --auto-gen-config bug with RegexpLiteral where only the last file's results would be used. ([@ggilder][])
    • #1104: Fix EachWithObject with modifier if as body. ([@geniou][])
    • #1106: Fix EachWithObject with single method call as body. ([@geniou][])
    • โš  Avoid the warning about ignoring syck YAML engine from JRuby. ([@jonas054][])
    • #1111: Fix problem in EndOfLine with reading non-UTF-8 encoded files. ([@jonas054][])
    • #1115: Fix Next to ignore super nodes. ([@geniou][])
    • #1117: Don't auto-correct indentation in scopes that contain block comments (=begin..=end). ([@jonas054][])
    • ๐Ÿ‘ #1123: Support setter calls in safe assignment in ParenthesesAroundCondition. ([@jonas054][])
    • ๐Ÿ“š #1090: Correct handling of documentation vs annotation comment. ([@jonas054][])
    • ๐Ÿ’Ž #1118: Never write invalid ruby to a file in auto-correct. ([@jonas054][])
    • #1120: Don't change indentation of heredoc strings in auto-correct. ([@jonas054][])
    • #1109: Handle conditions with modifier ops in them in ParenthesesAroundCondition. ([@bbatsov][])