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

Changelog History
Page 15

  • v0.9.0 Changes

    July 01, 2013

    ๐Ÿ†• New features

    • Introduced formatter feature, enables custom formatted output and multiple outputs.
    • โž• Added progress formatter and now it's the default. (--format progress).
    • โž• Added JSON formatter. (--format json).
    • โž• Added clang style formatter showing the offending source. code. (--format clang). The clang formatter marks a whole range rather than just the starting position, to indicate more clearly where the problem is.
    • โž• Added -f/--format option to specify formatter.
    • โž• Added -o/--out option to specify output file for each formatter.
    • โž• Added -r/--require option to inject external Ruby code into RuboCop.
    • โž• Added -V/--verbose-version option that displays Parser version and Ruby version as well.
    • โž• Added -R/--rails option that enables extra Rails-specific cops.
    • โž• Added support for auto-correction of some offences with -a/--auto-correct.
    • ๐Ÿ†• New cop CaseEquality checks for explicit use of ===.
    • ๐Ÿ†• New cop AssignmentInCondition checks for assignment in conditions.
    • ๐Ÿ†• New cop EndAlignment tracks misaligned end keywords.
    • ๐Ÿ†• New cop Void tracks uses of literals/variables/operators in possibly void context.
    • ๐Ÿ†• New cop Documentation checks for top level class/module doc comments.
    • ๐Ÿ†• New cop UnreachableCode tracks unreachable code segments.
    • ๐Ÿ†• New cop MethodCallParentheses tracks unwanted braces in method calls.
    • ๐Ÿ†• New cop UnusedLocalVariable tracks unused local variables for each scope.
    • ๐Ÿ†• New cop ShadowingOuterLocalVariable tracks use of the same name as outer local variables for block arguments or block local variables.
    • ๐Ÿ†• New cop WhileUntilDo tracks uses of do with multi-line while/until.
    • ๐Ÿ†• New cop CharacterLiteral tracks uses of character literals (?x).
    • ๐Ÿ†• New cop EndInMethod tracks uses of END in method definitions.
    • ๐Ÿ†• New cop LiteralInCondition tracks uses of literals in the conditions of if/while/until.
    • ๐Ÿ†• New cop BeginBlock tracks uses of BEGIN blocks.
    • ๐Ÿ†• New cop EndBlock tracks uses of END blocks.
    • ๐Ÿ†• New cop DotPosition tracks the dot position in multi-line method calls.
    • ๐Ÿ†• New cop Attr tracks uses of Module#attr.
    • โž• Add support for auto-correction of some offences with -a/--auto-correct.

    ๐Ÿ”„ Changes

    • ๐Ÿ—„ Deprecated -e/--emacs option. (Use --format emacs instead).
    • 0๏ธโƒฃ Made progress formatter the default.
    • ๐Ÿ–จ Most formatters (progress, simple and clang) now print relative file paths if the paths are under the current working directory.
    • ๐Ÿ’… Migrate all cops to new namespaces. Rubocop::Cop::Lint is for cops that emit warnings. Rubocop::Cop::Style is for cops that do not belong in other namespaces.
    • ๐Ÿ”ง Merge FavorPercentR and PercentR into one cop called RegexpLiteral, and add configuration parameter MaxSlashes.
    • โž• Add CountKeywordArgs configuration option to ParameterLists cop.

    ๐Ÿ› Bugs fixed

    • ๐Ÿ›  #239: Fixed double quotes false positives.
    • #233: Report syntax cop offences.
    • ๐Ÿ›  Fix off-by-one error in favor_modifier.
    • #229: Recognize a line with CR+LF as a blank line in AccessControl cop.
    • #235: Handle multiple constant assignment in ConstantName cop.
    • #246: Correct handling of unicode escapes within double quotes.
    • ๐Ÿ›  Fix crashes in Blocks, CaseEquality, CaseIndentation, ClassAndModuleCamelCase, ClassMethods, CollectionMethods, and ColonMethodCall.
    • #263: Do not check for space around operators called with method syntax.
    • #271: Always allow line breaks inside hash literal braces.
    • ๐Ÿ›  #270: Fixed a false positive in ParenthesesAroundCondition.
    • #288: Get config parameter AllCops/Excludes from highest config file in path.
    • #276: Let columns start at 1 instead of 0 in all output of column numbers.
    • #292: Don't check non-regular files (like sockets, etc).
    • ๐Ÿ›  Fix crashes in WordArray on arrays of character literals such as [?\r, ?\n].
    • ๐Ÿ›  Fix crashes in Documentation on empty modules.
  • v0.8.3 Changes

    June 18, 2013

    ๐Ÿ› Bug fixes

    • ๐Ÿ”’ Lock Parser dependency to version 2.0.0.beta5.
  • v0.8.2 Changes

    June 05, 2013

    ๐Ÿ†• New features

    • ๐Ÿ†• New cop BlockNesting checks for excessive block nesting.

    ๐Ÿ› Bug fixes

    • Correct calculation of whether a modifier version of a conditional statement will fit.
    • ๐Ÿ›  Fix an error in MultilineIfThen cop that occurred in some special cases.
    • #231: Fix a false positive for modifier if.
  • v0.8.1 Changes

    May 30, 2013

    ๐Ÿ†• New features

    • ๐Ÿ†• New cop Proc tracks uses of Proc.new.

    ๐Ÿ”„ Changes

    • ๐Ÿ“‡ Renamed NewLambdaLiteral to Lambda.
    • ๐Ÿ’… Aligned the Lambda cop more closely to the style guide - it now allows the use of lambda for multi-line blocks.

    ๐Ÿ› Bugs fixed

    • #210: Fix a false positive for double quotes in regexp literals.
    • #211: Fix a false positive for initialize method looking like a trivial writer.
    • ๐Ÿ›  #215: Fixed a lot of modifier if/unless/while/until issues.
    • ๐Ÿ”ง #213: Make sure even disabled cops get their configuration set.
    • #214: Fix SpaceInsideHashLiteralBraces to handle string interpolation right.
  • v0.8.0 Changes

    May 28, 2013

    ๐Ÿ”„ Changes

    • Folded ArrayLiteral and HashLiteral into EmptyLiteral cop.
    • ๐Ÿ”ง The maximum number of params ParameterLists accepts in now configurable.
    • 0๏ธโƒฃ Reworked SymbolSnakeCase into SymbolName, which has an option AllowCamelCase enabled by default.
    • ๐Ÿ“œ Migrated from Ripper to the portable Parser.

    ๐Ÿ†• New features

    • New cop ConstantName checks for constant which are not using SCREAMING_SNAKE_CASE.
    • ๐Ÿ†• New cop AccessControl checks private/protected indentation and surrounding blank lines.
    • ๐Ÿ†• New cop Loop checks for begin/end/while(until) and suggests the use of Kernel#loop.
  • v0.7.2 Changes

    May 13, 2013

    ๐Ÿ› Bugs fixed

    • #155: 'Do not use semicolons to terminate expressions.' is not implemented correctly.
    • OpMethod now handles definition of unary operators without crashing.
    • SymbolSnakeCase now handles aliasing of operators without crashing.
    • RescueException now handles the splat operator * in a rescue clause without crashing.
    • #159: AvoidFor cop misses many violations.
  • v0.7.1 Changes

    May 11, 2013

    ๐Ÿ› Bugs fixed

    • โž• Added missing files to the gemspec.
  • v0.7.0 Changes

    May 11, 2013

    ๐Ÿ†• New features

    • โž• Added ability to include or exclude files/directories through .rubocop.yml.
    • โž• Added option --only for running a single cop.
    • ๐Ÿ˜Œ Relax semicolon rule for one line methods, classes and modules.
    • ๐Ÿ”ง Configuration files, such as .rubocop.yml, can now include configuration from other files through the inherit_from directive. All configuration files implicitly inherit from config/default.yml.
    • ๐Ÿ†• New cop ClassMethods checks for uses for class/module names in definitions of class/module methods.
    • ๐Ÿ†• New cop SingleLineMethods checks for methods implemented on a single line.
    • ๐Ÿ†• New cop FavorJoin checks for usages of Array#* with a string argument.
    • ๐Ÿ†• New cop BlockComments tracks uses of block comments(=begin/=end comments).
    • ๐Ÿ†• New cop EmptyLines tracks consecutive blank lines.
    • ๐Ÿ†• New cop WordArray tracks arrays of words.
    • ๐Ÿ’… #108: New cop SpaceInsideHashLiteralBraces checks for spaces inside hash literal braces - style is configurable.
    • ๐Ÿ†• New cop LineContinuation tracks uses of the line continuation character (\).
    • ๐Ÿ†• New cop SymbolArray tracks arrays of symbols.
    • ๐Ÿ”ง Print warnings for unrecognized names in configuration files.
    • ๐Ÿ†• New cop TrivialAccessors tracks method definitions that could be automatically generated with attr_* methods.
    • ๐Ÿ†• New cop LeadingCommentSpace checks for missing space after # in comments.
    • ๐Ÿ†• New cop ColonMethodCall tracks uses of :: for method calls.
    • ๐Ÿ†• New cop AvoidGlobalVars tracks uses of non built-in global variables.
    • ๐Ÿ†• New cop SpaceAfterControlKeyword tracks missing spaces after if/elsif/case/when/until/unless/while.
    • ๐Ÿ†• New cop Not tracks uses of the not keyword.
    • ๐Ÿ†• New cop Eval tracks uses of the eval function.

    ๐Ÿ› Bugs fixed

    • 0๏ธโƒฃ #101: SpaceAroundEqualsInParameterDefault doesn't work properly with empty string.
    • ๐Ÿ›  Fix BraceAfterPercent for %W, %i and %I and added more tests.
    • ๐Ÿ›  Fix a false positive in the Alias cop. :alias is no longer treated as keyword.
    • ArrayLiteral now properly detects Array.new.
    • HashLiteral now properly detects Hash.new.
    • VariableInterpolation now detects regexp back references and doesn't crash.
    • Don't generate pathnames like some/project//some.rb.
    • โš  #151: Don't print the unrecognized cop warning several times for the same .rubocop.yml.

    Misc

    • ๐Ÿ“‡ Renamed Indentation cop to CaseIndentation to avoid confusion.
    • ๐Ÿ“‡ Renamed EmptyLines cop to EmptyLineBetweenDefs to avoid confusion.
  • v0.6.1 Changes

    April 28, 2013

    ๐Ÿ†• New features

    • Split AsciiIdentifiersAndComments cop in two separate cops.

    ๐Ÿ› Bugs fixed

    • #90: Two cops crash when scanning code using super.
    • #93: Issue with whitespace?': undefined method.
    • ๐Ÿ— #97: Build fails.
    • #100: OpMethod cop doesn't work if method arg is not in braces.
    • ๐Ÿ’Ž SymbolSnakeCase now tracks Ruby 1.9 hash labels as well as regular symbols.

    Misc

    • #88: Abort gracefully when interrupted with Ctrl-C.
    • No longer crashes on bugs within cops. Now problematic checks are skipped and a message is displayed.
    • Replaced Term::ANSIColor with Rainbow.
    • โž• Add an option to disable colors in the output.
    • Cop names are now displayed alongside messages when -d/--debug is passed.
  • v0.6.0 Changes

    April 23, 2013

    ๐Ÿ†• New features

    • ๐Ÿ†• New cop ReduceArguments tracks argument names in reduce calls.
    • ๐Ÿ†• New cop MethodLength tracks number of LOC (lines of code) in methods.
    • ๐Ÿ†• New cop RescueModifier tracks uses of rescue in modifier form.
    • ๐Ÿ†• New cop PercentLiterals tracks uses of %q, %Q, %s and %x.
    • ๐Ÿ†• New cop BraceAfterPercent tracks uses of % literals with delimiters other than ().
    • ๐Ÿ‘Œ Support for disabling cops locally in a file with rubocop:disable comments.
    • ๐Ÿ†• New cop EnsureReturn tracks usages of return in ensure blocks.
    • ๐Ÿ†• New cop HandleExceptions tracks suppressed exceptions.
    • ๐Ÿ†• New cop AsciiIdentifiersAndComments tracks uses of non-ascii characters in identifiers and comments.
    • ๐Ÿ†• New cop RescueException tracks uses of rescuing the Exception class.
    • ๐Ÿ†• New cop ArrayLiteral tracks uses of Array.new.
    • ๐Ÿ†• New cop HashLiteral tracks uses of Hash.new.
    • ๐Ÿ†• New cop OpMethod tracks the argument name in operator methods.
    • ๐Ÿ†• New cop PercentR tracks uses of %r literals with zero or one slash in the regexp.
    • ๐Ÿ†• New cop FavorPercentR tracks uses of // literals with more than one slash in the regexp.

    ๐Ÿ› Bugs fixed

    • #62: Config files in ancestor directories are ignored if another exists in home directory.
    • #65: Suggests to convert symbols :==, :<=> and the like to snake_case.
    • ๐Ÿ“œ #66: Does not crash on unreadable or unparseable files.
    • ๐Ÿ‘ #70: Support alias with bareword arguments.
    • ๐ŸŽ #64: Performance issue with Bundler.
    • #75: Make it clear that some global variables require the use of the English library.
    • #79: Ternary operator missing whitespace detection.

    Misc

    • ๐Ÿš€ Dropped Jeweler for gem release management since it's no longer actively maintained.
    • ๐Ÿ– Handle pluralization properly in the final summary.