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

Changelog History
Page 8

  • v0.54.0 Changes

    March 21, 2018

    ๐Ÿ†• New features

    • ๐Ÿš… #5597: Add new Rails/HttpStatus cop. ([@anthony-robin][])
    • ๐Ÿ’… #5643: Add new Style/UnpackFirst cop. ([@bdewater][])

    ๐Ÿ› Bug fixes

    • ๐ŸŽ #5744: Teach Performance/StartWith and EndWith cops to look for Regexp#match?. ([@bdewater][])
    • #5683: Fix message for Naming/UncommunicativeXParamName cops. ([@jlfaber][])
    • #5680: Fix Layout/ElseAlignment for rescue/else/ensure inside do/end blocks. ([@YukiJikumaru][])
    • ๐Ÿ“š #5642: Fix Style/Documentation :nodoc: for compact-style nested modules/classes. ([@ojab][])
    • #5648: Suggest valid memoized instance variable for predicate method. ([@satyap][])
    • #5670: Suggest valid memoized instance variable for bang method. ([@pocke][])
    • #5623: Fix Bundler/OrderedGems when a group includes duplicate gems. ([@colorbox][])
    • #5633: Fix broken --fail-fast. ([@mmyoji][])
    • ๐Ÿ’… #5630: Fix false positive for Style/FormatStringToken when using placeholder arguments in format method. ([@koic][])
    • #5651: Fix NoMethodError when specified config file that does not exist. ([@onk][])
    • #5647: Fix encoding method of RuboCop::MagicComment::SimpleComment. ([@htwroclau][])
    • ๐Ÿ’… #5619: Do not register an offense in Style/InverseMethods when comparing constants with <, >, <=, or >=. If the code is being used to determine class hierarchy, the correction might not be accurate. ([@rrosenblum][])
    • ๐Ÿ’… #5641: Disable Style/TrivialAccessors auto-correction for def with private. ([@pocke][])
    • ๐Ÿ›  Fix bug where Style/SafeNavigation does not auto-correct all chained methods resulting in a Lint/SafeNavigationChain offense. ([@rrosenblum][])
    • #5436: Allow empty kwrest args in UncommunicativeName cops. ([@pocke][])
    • #5674: Fix auto-correction of Layout/EmptyComment when the empty comment appears on the same line as code. ([@rrosenblum][])
    • ๐Ÿ’… #5679: Fix a false positive for Style/EmptyLineAfterGuardClause when guard clause is before rescue or ensure. ([@koic][])
    • ๐Ÿ”’ #5694: Match Rails versions with multiple digits when reading the TargetRailsVersion from the bundler lock files. ([@roberts1000][])
    • ๐Ÿ’… #5700: Fix a false positive for Style/EmptyLineAfterGuardClause when guard clause is before else. ([@koic][])
    • ๐Ÿ›  Fix false positive in Naming/ConstantName when using conditional assignment. ([@drenmi][])

    ๐Ÿ”„ Changes

    • 0๏ธโƒฃ #5626: Change Naming/UncommunicativeMethodParamName add to to allowed names in default config. ([@unused][])
    • ๐Ÿ”ง #5640: Warn about user configuration overriding other user configuration only with --debug. ([@jonas054][])
    • #5637: Fix error for Layout/SpaceInsideArrayLiteralBrackets when contains an array literal as an argument after a heredoc is started. ([@koic][])
    • ๐Ÿ”’ #5610: Use gems.locked or Gemfile.lock to determine the best TargetRubyVersion when it is not specified in the config. ([@roberts1000][])
    • ๐Ÿ’… #5390: Allow exceptions to Style/InlineComment for inline comments which enable or disable rubocop cops. ([@jfelchner][])
    • โž• Add progress bar to offenses formatter. ([@drewpterry][])
    • ๐Ÿ’Ž #5498: Correct IndentHeredoc message for Ruby 2.3 when using <<~ operator with invalid indentation. ([@hamada14][])
  • v0.53.0 Changes

    March 05, 2018

    ๐Ÿ†• New features

    • #3666: Add new Naming/UncommunicativeBlockParamName cop. ([@garettarrowood][])
    • #3666: Add new Naming/UncommunicativeMethodParamName cop. ([@garettarrowood][])
    • ๐Ÿ‘• #5356: Add new Lint/UnneededCopEnableDirective cop. ([@garettarrowood][])
    • ๐Ÿ‘• #5248: Add new Lint/BigDecimalNew cop. ([@koic][])
    • โž• Add new Style/TrailingBodyOnClass cop. ([@garettarrowood][])
    • โž• Add new Style/TrailingBodyOnModule cop. ([@garettarrowood][])
    • ๐Ÿ’… #3394: Add new Style/TrailingCommaInArrayLiteral cop. ([@garettarrowood][])
    • ๐Ÿ’… #3394: Add new Style/TrailingCommaInHashLiteral cop. ([@garettarrowood][])
    • ๐Ÿ”’ #5319: Add new Security/Open cop. ([@mame][])
    • โž• Add EnforcedStyleForEmptyBrackets configuration to Layout/SpaceInsideReferenceBrackets.([@garettarrowood][])
    • ๐Ÿ’… #5050: Add auto-correction to Style/ModuleFunction. ([@garettarrowood][])
    • #5358: --no-auto-gen-timestamp CLI option suppresses the inclusion of the date and time it was generated in auto-generated config. ([@dominicsayers][])
    • #4274: Add new Layout/EmptyComment cop. ([@koic][])
    • ๐Ÿ”ง #4477: Add new configuration directive: inherit_mode for merging arrays. ([@leklund][])
    • 0๏ธโƒฃ #5532: Include .axlsx file by default. ([@georf][])
    • ๐Ÿ‘• #5490: Add new Lint/OrderedMagicComments cop. ([@koic][])
    • ๐Ÿ’… #4008: Add new Style/ExpandPathArguments cop. ([@koic][])
    • #4812: Add beginning_only and ending_only style options to Layout/EmptyLinesAroundClassBody cop. ([@jmks][])
    • 0๏ธโƒฃ #5591: Include .arb file by default. ([@deivid-rodriguez][])
    • ๐Ÿ”’ #5473: Use gems.locked or Gemfile.lock to determine the best TargetRailsVersion when it is not specified in the config. ([@roberts1000][])
    • โž• Add new Naming/MemoizedInstanceVariableName cop. ([@satyap][])
    • ๐Ÿ’… #5376: Add new Style/EmptyLineAfterGuardClause cop. ([@unkmas][])
    • โž• Add new Rails/ActiveRecordAliases cop. ([@elebow][])

    ๐Ÿ› Bug fixes

    • #4105: Fix Lint/IndentationWidth when Lint/EndAlignment is configured with start_of_line. ([@brandonweiss][])
    • ๐ŸŽ #5453: Fix erroneous downcase in Performance/Casecmp auto-correction. ([@walinga][])
    • ๐Ÿ’… #5343: Fix offense detection in Style/TrailingMethodEndStatement. ([@garettarrowood][])
    • ๐Ÿ’… #5334: Fix semicolon removal for Style/TrailingBodyOnMethodDefinition auto-correction. ([@garettarrowood][])
    • #5350: Fix Metric/LineLength false offenses for URLs in double quotes. ([@garettarrowood][])
    • #5333: Fix Layout/EmptyLinesAroundArguments false positives for inline access modifiers. ([@garettarrowood][])
    • #5339: Fix Layout/EmptyLinesAroundArguments false positives for multiline heredoc arguments. ([@garettarrowood][])
    • ๐Ÿš… #5383: Fix Rails/Presence false detection of receiver for locally defined blank? & present? methods. ([@garettarrowood][])
    • ๐Ÿ‘• #5314: Fix false positives for Lint/NestedPercentLiteral when percent characters are nested. ([@asherkach][])
    • ๐Ÿ‘• #5357: Fix Lint/InterpolationCheck false positives on escaped interpolations. ([@pocke][])
    • ๐Ÿ’… #5409: Fix multiline indent for Style/SymbolArray and Style/WordArray auto-correct. ([@flyerhzm][])
    • ๐Ÿš… #5393: Fix Rails/Delegate's false positive with a method call with arguments. ([@pocke][])
    • ๐Ÿ’… #5348: Fix false positive for Style/SafeNavigation when safe guarding more comparison methods. ([@rrosenblum][])
    • ๐Ÿ’… #4889: Auto-correcting Style/SafeNavigation will add safe navigation to all methods in a method chain. ([@rrosenblum][])
    • ๐Ÿ’… #5287: Do not register an offense in Style/SafeNavigation if there is an unsafe method used in a method chain. ([@rrosenblum][])
    • ๐Ÿ’… #5401: Fix Style/RedundantReturn to trigger when begin-end, rescue, and ensure blocks present. ([@asherkach][])
    • ๐Ÿš… #5426: Make Rails/InverseOf accept inverse_of: nil to opt-out. ([@wata727][])
    • ๐Ÿš… #5448: Improve Rails/LexicallyScopedActionFilter. ([@wata727][])
    • ๐Ÿš… #3947: Fix false positive for Rails/FilePath when using Rails.root.join in string interpolation of argument. ([@koic][])
    • ๐Ÿš… #5479: Fix false positives for Rails/Presence when using with elsif. ([@wata727][])
    • ๐Ÿ #5427: Fix exception when executing from a different drive on Windows. ([@orgads][])
    • #5429: Detect tabs other than indentation by Layout/Tab. ([@pocke][])
    • ๐Ÿ’… #5496: Fix a false positive of Style/FormatStringToken with unrelated format call. ([@pocke][])
    • ๐Ÿš… #5503: Fix Rails/CreateTableWithTimestamps false positive when using to_proc syntax. ([@wata727][])
    • ๐Ÿ‘• #5512: Improve Lint/Void to detect Kernel#tap as method that ignores the block's value. ([@untitaker][])
    • ๐Ÿ’… #5520: Fix Style/RedundantException auto-correction does not keep parenthesization. ([@dpostorivo][])
    • โšก๏ธ #5524: Return the instance based on the new type when calls RuboCop::AST::Node#updated. ([@wata727][])
    • ๐Ÿ’… #5527: Avoid behavior-changing corrections in Style/SafeNavigation. ([@jonas054][])
    • ๐Ÿ’Ž #5539: Fix compilation error and ruby code generation when passing args to funcall and predicates. ([@Edouard-chin][])
    • #4669: Use binary file contents for cache key so changing EOL characters invalidates the cache. ([@jonas054][])
    • ๐ŸŽ #3947: Fix false positive for Performance::RegexpMatch when using MatchData before guard clause. ([@koic][])
    • ๐Ÿ’… #5515: Fix Style/EmptyElse auto-correct for nested if and case statements. ([@asherkach][])
    • #5582: Fix end alignment for variable assignment with line break after = in Layout/EndAlignment. ([@jonas054][])
    • ๐Ÿ’… #5602: Fix false positive for Style/ColonMethodCall when using Java package namespace. ([@koic][])
    • ๐Ÿ’… #5603: Fix falsy offense for Style/RedundantSelf with pseudo variables. ([@pocke][])
    • #5547: Fix auto-correction of of Layout/BlockEndNewline when there is top level code outside of a class. ([@rrosenblum][])
    • ๐Ÿ‘• #5599: Fix the suggestion being used by Lint/NumberConversion to use base 10 with Integer. ([@rrosenblum][])
    • ๐Ÿ’… #5534: Fix Style/EachWithObject auto-correction leaves an empty line. ([@flyerhzm][])
    • ๐Ÿ›  Fix Layout/EmptyLinesAroundAccessModifier false-negative when next string after access modifier started with end. ([@unkmas][])

    ๐Ÿ”„ Changes

    • ๐ŸŽ #5589: Remove Performance/HashEachMethods cop as it no longer provides a performance benefit. ([@urbanautomaton][])
    • ๐Ÿ’… #3394: Remove Style/TrailingCommmaInLiteral in favor of two new cops. ([@garettarrowood][])
    • ๐Ÿ‘• Rename Lint/UnneededDisable to Lint/UnneededCopDisableDirective. ([@garettarrowood][])
    • #5365: Add *.gemfile to Bundler cop target. ([@sue445][])
    • ๐Ÿ”ง #4477: Warn when user configuration overrides other user configuration. ([@jonas054][])
    • ๐Ÿ’… #5240: Make Style/StringHashKeys to accepts environment variables. ([@pocke][])
    • ๐Ÿ”ง #5395: Always exit 2 when specified configuration file does not exist. ([@pocke][])
    • ๐Ÿšš #5402: Remove undefined ActiveSupport::TimeZone#strftime method from defined dangerous methods of Rails/TimeZone cop. ([@koic][])
    • ๐Ÿ‘• #4704: Move Lint/EndAlignment, Lint/DefEndAlignment, Lint/BlockAlignment, and Lint/ConditionPosition to the Layout namespace. ([@bquorning][])
    • #5283: Change file path output by Formatter::JSONFormatter from relative path to smart path. ([@koic][])
    • ๐Ÿ’… Style/SafeNavigation will now register an offense for methods that nil responds to. ([@rrosenblum][])
    • 0๏ธโƒฃ #5542: Exclude .git/ by default. ([@pocke][])
    • ๐Ÿ— Tell Read the Docs to build downloadable docs. ([@eostrom][])
    • ๐Ÿ’… Change Style/SafeNavigation to no longer register an offense for method chains exceeding 2 methods. ([@rrosenblum][])
    • โœ‚ Remove auto-correction from Lint/SafeNavigationChain. ([@rrosenblum][])
    • ๐Ÿ”„ Change the highlighting of Lint/SafeNavigationChain to highlight the entire method chain beyond the safe navigation portion. ([@rrosenblum][])
  • v0.52.1 Changes

    December 27, 2017

    ๐Ÿ› Bug fixes

    • #5241: Fix an error for Layout/AlignHash when using a hash including only a keyword splat. ([@wata727][])
    • ๐Ÿ’… #5245: Make Style/FormatStringToken to allow regexp token. ([@pocke][])
    • #5224: Fix false positives for Layout/EmptyLinesAroundArguments operating on blocks. ([@garettarrowood][])
    • ๐Ÿš… #5234: Fix a false positive for Rails/HasManyOrHasOneDependent when using class_name option. ([@koic][])
    • ๐Ÿ’… #5273: Fix Style/EvalWithLocation reporting bad line offset. ([@pocke][])
    • #5228: Handle overridden Metrics/LineLength:Max for --auto-gen-config. ([@jonas054][])
    • ๐Ÿš… #5226: Suppress false positives for Rails/RedundantReceiverInWithOptions when including another receiver in with_options. ([@wata727][])
    • ๐Ÿ’… #5259: Fix false positives in Style/CommentedKeyword. ([@garettarrowood][])
    • #5238: Fix error when #present? or #blank? is used in if or unless modifier. ([@eitoball][])
    • ๐Ÿ’… #5261: Fix a false positive for Style/MixinUsage when using inside class or module. ([@koic][])
    • ๐Ÿ”ง #5289: Fix Layout/SpaceInsideReferenceBrackets and Layout/SpaceInsideArrayLiteralBrackets configuration conflicts. ([@garettarrowood][])
    • ๐Ÿ’… #4444: Fix Style/AutoResourceCleanup shouldn't flag File.open(...).close. ([@dpostorivo][])
    • ๐Ÿ—„ #5278: Fix deprecation check to use loaded_path in warning. ([@chrishulton][])
    • #5293: Fix a regression for Rails/HasManyOrHasOneDependent when using a option of has_many or has_one association. ([@koic][])
    • ๐Ÿ’… #5223: False offences in :unannotated Style/FormatStringToken. ([@nattfodd][])
    • ๐Ÿš… #5258: Fix incorrect auto-correction for Rails/Presence when the else block is multiline. ([@wata727][])
    • ๐Ÿš… #5297: Improve inspection for Rails/InverseOf when including through or polymorphic options. ([@wata727][])
    • #5281: Fix issue where --auto-gen-config might fail on invalid YAML. ([@bquorning][])
    • ๐Ÿ’… #5313: Fix Style/HashSyntax from stripping quotes off of symbols during auto-correction for ruby22+. ([@garettarrowood][])
    • ๐Ÿ’Ž #5315: Fix a false positive of Layout/RescueEnsureAlignment in Ruby 2.5. ([@pocke][])
    • ๐Ÿš… #5236: Fix false positives for Rails/InverseOf when using with_options. ([@wata727][])
    • ๐Ÿ’… #5291: Fix multiline indent for Style/BracesAroundHashParameters auto-correct. ([@flyerhzm][])
    • ๐Ÿ’Ž #3318: Look for .ruby-version in parent directories. ([@ybiquitous][])

    ๐Ÿ”„ Changes

    • #5300: Display correction candidate if an incorrect cop name is given. ([@yhirano55][])
    • ๐Ÿ’… #5233: Remove Style/ExtendSelf cop. ([@pocke][])
    • ๐Ÿ’… #5221: Change Layout/SpaceBeforeBlockBraces's EnforcedStyleForEmptyBraces from no_space to space. ([@garettarrowood][])
    • ๐Ÿšš #3558: Create Corrector classes and move all autocorrect methods out of mixin Modules. ([@garettarrowood][])
    • ๐Ÿ‘• #3437: Add new Lint/NumberConversion cop. ([@albertpaulp][])
  • v0.52.0 Changes

    December 12, 2017

    ๐Ÿ†• New features

    • ๐Ÿ’Ž #5101: Allow to specify TargetRubyVersion 2.5. ([@walf443][])
    • ๐Ÿ”ง #1575: Add new Layout/ClassStructure cop that checks whether definitions in a class are in the configured order. This cop is disabled by default. ([@jonatas][])
    • ๐Ÿ†• New cop Rails/InverseOf checks for association arguments that require setting the inverse_of option manually. ([@bdewater][])
    • #4811: Add new Layout/SpaceInsideReferenceBrackets cop. ([@garettarrowood][])
    • #4811: Add new Layout/SpaceInsideArrayLiteralBrackets cop. ([@garettarrowood][])
    • ๐Ÿ’… #4252: Add new Style/TrailingBodyOnMethodDefinition cop. ([@garettarrowood][])
    • โž• Add new Style/TrailingMethodEndStatment cop. ([@garettarrowood][])
    • #5074: Add Layout/EmptyLinesAroundArguments cop. ([@garettarrowood][])
    • ๐Ÿ’… #4650: Add new Style/StringHashKeys cop. ([@donjar][])
    • #1583: Add a quiet formatter. ([@drenmi][])
    • โž• Add new Style/RandomWithOffset cop. ([@donjar][])
    • ๐Ÿ‘• #4892: Add new Lint/ShadowedArgument cop and remove argument shadowing detection from Lint/UnusedBlockArgument and Lint/UnusedMethodArgument. ([@akhramov][])
    • ๐Ÿ‘• #4674: Add a new Lint/MissingCopEnableDirective cop. ([@tdeo][])
    • โž• Add new Rails/EnvironmentComparison cop. ([@tdeo][])
    • โž• Add AllowedChars option to Style/AsciiComments cop. ([@hedgesky][])
    • ๐Ÿ’… #5031: Add new Style/EmptyBlockParameter and Style/EmptyLambdaParameter cops. ([@pocke][])
    • ๐Ÿ’Ž #5057: Add new Gemspec/RequiredRubyVersion cop. ([@koic][])
    • #5087: Add new Gemspec/RedundantAssignment cop. ([@koic][])
    • โž• Add unannotated option to Style/FormatStringToken cop. ([@drenmi][])
    • ๐Ÿš… #5077: Add new Rails/CreateTableWithTimestamps cop. ([@wata727][])
    • โž• Add new Style/ColonMethodDefinition cop. ([@rrosenblum][])
    • โž• Add new Style/ExtendSelf cop. ([@drenmi][])
    • ๐Ÿš… #5185: Add new Rails/RedundantReceiverInWithOptions cop. ([@koic][])
    • ๐Ÿš… #5177: Add new Rails/LexicallyScopedActionFilter cop. ([@wata727][])
    • ๐Ÿ’… #5173: Add new Style/EvalWithLocation cop. ([@pocke][])
    • ๐Ÿš… #5208: Add new Rails/Presence cop. ([@wata727][])
    • ๐Ÿ‘ Allow auto-correction of ClassAndModuleChildren. ([@siegfault][], [@melch][])

    ๐Ÿ› Bug fixes

    • #5096: Fix incorrect detection and auto-correction of multiple extend/include/prepend. ([@marcandre][])
    • #5219: Fix incorrect empty line detection for block arguments in Layout/EmptyLinesAroundArguments. ([@garettarrowood][])
    • #4662: Fix incorrect indent level detection when first line of heredoc is blank. ([@sambostock][])
    • ๐Ÿ’… #5016: Fix a false positive for Style/ConstantName with constant names using non-ASCII capital letters with accents. ([@timrogers][])
    • #4866: Prevent Layout/BlockEndNewline cop from introducing trailing whitespaces. ([@bgeuken][])
    • #3396: Concise error when config. file not found. ([@jaredbeck][])
    • ๐ŸŽ #4881: Fix a false positive for Performance/HashEachMethods when unused argument(s) exists in other blocks. ([@pocke][])
    • ๐ŸŽ #4883: Fix auto-correction for Performance/HashEachMethods. ([@pocke][])
    • ๐Ÿ’… #4896: Fix Style/DateTime wrongly triggered on classes ...::DateTime. ([@dpostorivo][])
    • ๐Ÿ‘• #4938: Fix behavior of Lint/UnneededDisable, which was returning offenses even after being disabled in a comment. ([@tdeo][])
    • ๐Ÿ’… #4887: Add undeclared configuration option EnforcedStyleForEmptyBraces for Layout/SpaceBeforeBlockBraces cop. ([@drenmi][])
    • #4987: Skip permission check when using stdin option. ([@mtsmfm][])
    • ๐Ÿš… #4909: Make Rails/HasManyOrHasOneDependent aware of multiple associations in with_options. ([@koic][])
    • #4794: Fix an error in Layout/MultilineOperationIndentation when an operation spans multiple lines and contains a ternary expression. ([@rrosenblum][])
    • ๐Ÿ’… #4885: Fix false offense detected by Style/MixinUsage cop. ([@koic][])
    • ๐Ÿ’… #3363: Fix Style/EmptyElse auto-correction removes comments from branches. ([@dpostorivo][])
    • #5025: Fix error with Layout/MultilineMethodCallIndentation cop and lambda.(...). ([@dpostorivo][])
    • ๐Ÿ’… #4781: Prevent Style/UnneededPercentQ from breaking on strings that are concated with backslash. ([@pocke][])
    • ๐Ÿ’… #4363: Fix Style/PercentLiteralDelimiters incorrectly automatically modifies escaped percent literal delimiter. ([@koic][])
    • #5053: Fix Naming/ConstantName false offense on assigning to a nonoffensive assignment. ([@garettarrowood][])
    • ๐Ÿ’… #5019: Fix auto-correct for Style/HashSyntax cop when hash is used as unspaced argument. ([@drenmi][])
    • ๐Ÿ’… #5052: Improve accuracy of Style/BracesAroundHashParameters auto-correction. ([@garettarrowood][])
    • ๐Ÿ’… #5059: Fix a false positive for Style/MixinUsage when include call is a method argument. ([@koic][])
    • ๐Ÿ‘• #5071: Fix a false positive in Lint/UnneededSplatExpansion, when Array.new resides in an array literal. ([@akhramov][])
    • ๐Ÿ’… #4071: Prevent generating wrong code by Style/ColonMethodCall and Style/RedundantSelf. ([@pocke][])
    • ๐Ÿ’… #5089: Fix false positive for Style/SafeNavigation when safe guarding arithmetic operation or assignment. ([@tiagotex][])
    • ๐Ÿ’… #5099: Prevent Style/MinMax from breaking on implicit receivers. ([@drenmi][])
    • ๐Ÿ’… #5079: Fix false positive for Style/SafeNavigation when safe guarding comparisons. ([@tiagotex][])
    • ๐Ÿ’… #5075: Fix auto-correct for Style/RedundantParentheses cop when unspaced ternary is present. ([@tiagotex][])
    • #5155: Fix a false negative for Naming/ConstantName cop when using frozen object assignment. ([@koic][])
    • ๐Ÿ›  Fix a false positive in Style/SafeNavigation when the right hand side is negated. ([@rrosenblum][])
    • #5128: Fix Bundler/OrderedGems when gems are references from variables (ignores them in the sorting). ([@tdeo][])

    ๐Ÿ”„ Changes

    • #4848: Exclude lambdas and procs from Metrics/ParameterLists. ([@reitermarkus][])
    • #5120: Improve speed of RuboCop::PathUtil#smart_path. ([@walf443][])
    • ๐Ÿ’… #4888: Improve offense message of Style/StderrPuts. ([@jaredbeck][])
    • ๐Ÿ’… #4886: Fix false offense for Style/CommentedKeyword. ([@michniewicz][])
    • ๐Ÿ‘• #4977: Make Lint/RedundantWithIndex cop aware of offset argument. ([@koic][])
    • #2679: Handle dependencies to Metrics/LineLength: Max when generating .rubocop_todo.yml. ([@jonas054][])
    • #4943: Make cop generator compliant with the repo's rubocop config. ([@tdeo][])
    • ๐Ÿ’… #5011: Remove SupportedStyles from "Configuration parameters" in .rubocop_todo.yml. ([@pocke][])
    • ๐Ÿ’… Lint/RescueWithoutErrorClass has been replaced by Style/RescueStandardError. ([@rrosenblum][])
    • ๐Ÿ”ง #4811: Remove Layout/SpaceInsideBrackets in favor of two new configurable cops. ([@garettarrowood][])
    • #5042: Make offense locations of metrics cops to contain whole a method. ([@pocke][])
    • #5044: Add last_line and last_column into outputs of the JSON formatter. ([@pocke][])
    • #4633: Make metrics cops aware of define_method. ([@pocke][])
    • 0๏ธโƒฃ #5037: Make display cop names to enable by default. ([@pocke][])
    • #4449: Make Layout/IndentHeredoc aware of line length. ([@pocke][])
    • 0๏ธโƒฃ #5146: Make --show-cops option aware of --force-default-config. ([@pocke][])
    • ๐Ÿ‘• #3001: Add configuration to Lint/MissingCopEnableDirective cop. ([@tdeo][])
    • ๐Ÿ‘• #4932: Do not fail if configuration contains Lint/Syntax cop with the same settings as the default. ([@tdeo][])
    • ๐Ÿ’… #5175: Make Style/RedundantBegin aware of do-end block in Ruby 2.5. ([@pocke][])
  • v0.51.0 Changes

    October 18, 2017

    ๐Ÿ†• New features

    • ๐Ÿš… #4791: Add new Rails/UnknownEnv cop. ([@pocke][])
    • ๐Ÿ‘• #4690: Add new Lint/UnneededRequireStatement cop. ([@koic][])
    • ๐Ÿ’… #4813: Add new Style/StderrPuts cop. ([@koic][])
    • ๐Ÿ‘• #4796: Add new Lint/RedundantWithObject cop. ([@koic][])
    • ๐Ÿ’… #4663: Add new Style/CommentedKeyword cop. ([@donjar][])
    • โž• Add IndentationWidth configuration for Layout/Tab cop. ([@rrosenblum][])
    • ๐Ÿ‘• #4854: Add new Lint/RegexpAsCondition cop. ([@pocke][])
    • #4862: Add MethodDefinitionMacros option to Naming/PredicateName cop. ([@koic][])
    • #4874: Add new Gemspec/OrderedDependencies cop. ([@sue445][])
    • ๐Ÿ’… #4840: Add new Style/MixinUsage cop. ([@koic][])
    • ๐Ÿ’… #1952: Add new Style/DateTime cop. ([@dpostorivo][])
    • ๐Ÿ‘• #4727: Make Lint/Void check for nonmutating methods as well. ([@donjar][])

    ๐Ÿ› Bug fixes

    • ๐Ÿš… #3312: Make Rails/Date Correct false positive on #to_time for strings ending in UTC-"Z".([@erikdstock][])
    • ๐Ÿ’… #4741: Make Style/SafeNavigation correctly exclude methods called without dot. ([@drenmi][])
    • ๐Ÿ‘• #4740: Make Lint/RescueWithoutErrorClass aware of modifier form rescue. ([@drenmi][])
    • ๐Ÿ’… #4745: Make Style/SafeNavigation ignore negated continuations. ([@drenmi][])
    • ๐ŸŽ #4732: Prevent Performance/HashEachMethods from registering an offense when #each follows #to_a. ([@drenmi][])
    • ๐Ÿ‘• #4730: False positive on Lint/InterpolationCheck. ([@koic][])
    • ๐Ÿš… #4751: Prevent Rails/HasManyOrHasOneDependent cop from registering offense if :through option was specified. ([@smakagon][])
    • #4737: Fix ReturnInVoidContext cop when return is in top scope. ([@frodsan][])
    • #4776: Non utf-8 magic encoding comments are now respected. ([@deivid-rodriguez][])
    • ๐Ÿš… #4241: Prevent Rails/Blank and Rails/Present from breaking when there is no explicit receiver. ([@rrosenblum][])
    • ๐Ÿš… #4814: Prevent Rails/Blank from breaking on send with an argument. ([@pocke][])
    • #4759: Make Naming/HeredocDelimiterNaming and Naming/HeredocDelimiterCase aware of more delimiter patterns. ([@drenmi][])
    • ๐Ÿ‘• #4823: Make Lint/UnusedMethodArgument and Lint/UnusedBlockArgument aware of overriding assignments. ([@akhramov][])
    • ๐Ÿ‘• #4830: Prevent Lint/BooleanSymbol from truncating symbol's value in the message when offense is located in the new syntax hash. ([@akhramov][])
    • ๐Ÿš… #4747: Fix Rails/HasManyOrHasOneDependent cop incorrectly flags with_options blocks. ([@koic][])
    • ๐Ÿš… #4836: Make Rails/OutputSafety aware of safe navigation operator. ([@drenmi][])
    • ๐Ÿ‘• #4843: Make Lint/ShadowedException cop aware of same system error code. ([@koic][])
    • ๐Ÿ’… #4757: Make Style/TrailingUnderscoreVariable work for nested assignments. ([@donjar][])
    • ๐Ÿ’… #4597: Fix Style/StringLiterals cop not registering an offense on single quoted strings containing an escaped single quote when configured to use double quotes. ([@promisedlandt][])
    • ๐Ÿ‘• #4850: Lint/UnusedMethodArgument respects IgnoreEmptyMethods setting by ignoring unused method arguments for singleton methods. ([@jmks][])
    • #2040: Document how to write a custom cop. ([@jonatas][])

    ๐Ÿ”„ Changes

    • ๐Ÿ‘• #4746: The Lint/InvalidCharacterLiteral cop has been removed since it was never being actually triggered. ([@deivid-rodriguez][])
    • ๐Ÿ‘ #4789: Analyzing code that needs to support MRI 1.9 is no longer supported. ([@deivid-rodriguez][])
    • ๐Ÿ”ง #4582: Severity and other common parameters can be configured on department level. ([@jonas054][])
    • ๐Ÿ‘ #4787: Analyzing code that needs to support MRI 2.0 is no longer supported. ([@deivid-rodriguez][])
    • #4787: RuboCop no longer installs on MRI 2.0. ([@deivid-rodriguez][])
    • #4266: Download the inherited config files of a remote file from the same remote. ([@tdeo][])
    • ๐Ÿ‘• #4853: Make Lint/LiteralInCondition cop aware of ! and not. ([@pocke][])
    • ๐Ÿ‘• #4864: Rename Lint/LiteralInCondition to Lint/LiteralAsCondition. ([@pocke][])
  • v0.50.0 Changes

    September 14, 2017

    ๐Ÿ†• New features

    • ๐Ÿ’… #4464: Add EnforcedStyleForEmptyBraces parameter to Layout/SpaceBeforeBlockBraces cop. ([@palkan][])
    • ๐Ÿ’… #4453: New cop Style/RedundantConditional checks for conditionals that return true/false. ([@petehamilton][])
    • #4448: Add new TapFormatter. ([@cyberdelia][])
    • ๐Ÿ’… #4467: Add new Style/HeredocDelimiters cop(Note: This cop was renamed to Naming/HeredocDelimiterNaming). ([@drenmi][])
    • ๐Ÿ‘• #4153: New cop Lint/ReturnInVoidContext checks for the use of a return with a value in a context where it will be ignored. ([@harold-s][])
    • ๐Ÿ‘• #4506: Add auto-correct support to Lint/ScriptPermission. ([@rrosenblum][])
    • ๐Ÿ’… #4514: Add configuration options to Style/YodaCondition to support checking all comparison operators or equality operators only. ([@smakagon][])
    • ๐Ÿ‘• #4515: Add new Lint/BooleanSymbol cop. ([@droptheplot][])
    • ๐Ÿš… #4535: Make Rails/PluralizationGrammar use singular methods for -1 / -1.0. ([@promisedlandt][])
    • ๐Ÿš… #4541: Add new Rails/HasManyOrHasOneDependent cop. ([@oboxodo][])
    • ๐Ÿ’… #4552: Add new Style/Dir cop. ([@drenmi][])
    • ๐Ÿ’… #4548: Add new Style/HeredocDelimiterCase cop(Note: This cop is renamed to Naming/HeredocDelimiterCase). ([@drenmi][])
    • ๐Ÿ‘• #2943: Add new Lint/RescueWithoutErrorClass cop. ([@drenmi][])
    • ๐Ÿ’… #4568: Fix auto-correction for Style/TrailingUnderscoreVariable. ([@smakagon][])
    • ๐ŸŽ #4586: Add new Performance/UnfreezeString cop. ([@pocke][])
    • ๐Ÿ’… #2976: Add Whitelist configuration option to Style/NestedParenthesizedCalls cop. ([@drenmi][])
    • ๐Ÿ’… #3965: Add new Style/OrAssignment cop. ([@donjar][])
    • #4655: Make rake new_cop create parent directories if they do not already exist. ([@highb][])
    • ๐ŸŽ #4368: Make Performance/HashEachMethod inspect send nodes with any receiver. ([@gohdaniel15][])
    • ๐Ÿ’… #4508: Add new Style/ReturnNil cop. ([@donjar][])
    • #4629: Add Metrics/MethodLength cop for define_method. ([@jekuta][])
    • ๐Ÿ‘• #4702: Add new Lint/UriEscapeUnescape cop. ([@koic][])
    • ๐ŸŽ #4696: Add new Performance/UriDefaultParser cop. ([@koic][])
    • ๐Ÿ‘• #4694: Add new Lint/UriRegexp cop. ([@koic][])
    • ๐Ÿ’… #4711: Add new Style/MinMax cop. ([@drenmi][])
    • #4720: Add new Bundler/InsecureProtocolSource cop. ([@koic][])
    • ๐Ÿ‘• #4708: Add new Lint/RedundantWithIndex cop. ([@koic][])
    • ๐Ÿ‘• #4480: Add new Lint/InterpolationCheck cop. ([@GauthamGoli][])
    • ๐Ÿ‘• #4628: Add new Lint/NestedPercentLiteral cop. ([@asherkach][])

    ๐Ÿ› Bug fixes

    • #4709: Use cached remote config on network failure. ([@kristjan][])
    • #4688: Accept yoda condition which isn't commutative. ([@fujimura][])
    • ๐Ÿ’… #4676: Make Style/RedundantConditional cop work with elsif. ([@akhramov][])
    • ๐Ÿ’… #4656: Modify Style/ConditionalAssignment auto-correction to work with unbracketed arrays. ([@akhramov][])
    • #4615: Don't consider <=> a comparison method. ([@iGEL][])
    • โœ๏ธ #4664: Fix typos in Rails/HttpPositionalArguments. ([@JoeCohen][])
    • ๐Ÿ‘• #4618: Fix Lint/FormatParameterMismatch false positive if format string includes %%5B (CGI encoded left bracket). ([@barthez][])
    • ๐Ÿ’… #4604: Fix Style/LambdaCall to auto-correct obj.call to obj.. ([@iGEL][])
    • ๐Ÿ’… #4443: Prevent Style/YodaCondition from breaking not LITERAL. ([@pocke][])
    • ๐Ÿ’… #4434: Prevent bad auto-correct in Style/Alias for non-literal arguments. ([@drenmi][])
    • ๐Ÿ’… #4451: Make Style/AndOr cop aware of comparison methods. ([@drenmi][])
    • ๐Ÿ‘• #4457: Fix false negative in Lint/Void with initialize and setter methods. ([@pocke][])
    • ๐Ÿ’… #4418: Register an offense in Style/ConditionalAssignment when the assignment line is the longest line, and it does not exceed the max line length. ([@rrosenblum][])
    • ๐Ÿ’… #4491: Prevent bad auto-correct in Style/EmptyElse for nested if. ([@pocke][])
    • #4485: Handle 304 status for remote config files. ([@daniloisr][])
    • ๐Ÿ‘• #4529: Make Lint/UnreachableCode aware of if and case. ([@pocke][])
    • #4469: Include permissions in file cache. ([@pocke][])
    • ๐ŸŽ #4270: Fix false positive in Performance/RegexpMatch for named captures. ([@pocke][])
    • ๐Ÿ‘• #4525: Fix regexp for checking comment config of rubocop:disable all in Lint/UnneededDisable. ([@meganemura][])
    • ๐Ÿ’… #4555: Make Style/VariableName aware of optarg, kwarg and other arguments. ([@pocke][])
    • ๐Ÿ’… #4481: Prevent Style/WordArray and Style/SymbolArray from registering offenses where percent arrays don't work. ([@drenmi][])
    • #4447: Prevent Layout/EmptyLineBetweenDefs from removing too many lines. ([@drenmi][])
    • ๐Ÿ’… #3892: Make Style/NumericPredicate ignore numeric comparison of global variables. ([@drenmi][])
    • #4101: Skip auto-correct for literals with trailing comment and chained method call in Layout/Multiline*BraceLayout. ([@jonas054][])
    • ๐Ÿ’… #4518: Fix bug where Style/SafeNavigation does not register an offense when there are chained method calls. ([@rrosenblum][])
    • ๐Ÿš… #3040: Ignore safe navigation in Rails/Delegate. ([@cgriego][])
    • ๐Ÿ‘• #4587: Fix false negative for void unary operators in Lint/Void cop. ([@pocke][])
    • ๐ŸŽ #4589: Fix false positive in Performance/RegexpMatch cop for =~ is in a class method. ([@pocke][])
    • ๐Ÿ‘• #4578: Fix false positive in Lint/FormatParameterMismatch for format with "asterisk" (*) width and precision. ([@smakagon][])
    • ๐Ÿ‘• #4285: Make Lint/DefEndAlignment aware of multiple modifiers. ([@drenmi][])
    • #4634: Handle heredoc that contains empty lines only in Layout/IndentHeredoc cop. ([@pocke][])
    • ๐Ÿ‘• #4646: Make Lint/Debugger aware of Kernel and cbase. ([@pocke][])
    • ๐Ÿ’… #4643: Modify Style/InverseMethods to not register a separate offense for an inverse method nested inside of the block of an inverse method offense. ([@rrosenblum][])
    • โšก๏ธ #4593: Fix false positive in Rails/SaveBang when save/update_attribute is used with a case statement. ([@theRealNG][])
    • ๐Ÿ’… #4322: Fix Style/MultilineMemoization from auto-correcting to invalid ruby. ([@dpostorivo][])
    • #4722: Fix rake new_cop problem that doesn't add require line. ([@koic][])
    • #4723: Fix RaiseArgs auto-correction issue for raise with 3 arguments. ([@smakagon][])

    ๐Ÿ”„ Changes

    • ๐Ÿ‘• #4470: Improve the error message for Lint/AssignmentInCondition. ([@brandonweiss][])
    • 0๏ธโƒฃ #4553: Add node_modules to default excludes. ([@iainbeeston][])
    • ๐Ÿ’… #4445: Make Style/Encoding cop enabled by default. ([@deivid-rodriguez][])
    • ๐Ÿš… #4452: Add option to Rails/Delegate for enforcing the prefixed method name case. ([@klesse413][])
    • ๐Ÿ‘• #4493: Make Lint/Void cop aware of Enumerable#each and for. ([@pocke][])
    • ๐Ÿ‘• #4492: Make Lint/DuplicateMethods aware of alias and alias_method. ([@pocke][])
    • ๐ŸŽ #4478: Fix confusing message of Performance/Caller cop. ([@pocke][])
    • ๐Ÿ‘• #4543: Make Lint/DuplicateMethods aware of attr_* methods. ([@pocke][])
    • #4550: Mark RuboCop::CLI#run as a public API. ([@yujinakayama][])
    • ๐ŸŽ #4551: Make Performance/Caller aware of caller_locations. ([@pocke][])
    • ๐Ÿ’… #4547: Rename Style/HeredocDelimiters to Style/HeredocDelimiterNaming. ([@drenmi][])
    • ๐Ÿ’… #4157: Enhance offense message for Style/RedudantReturn cop. ([@gohdaniel15][])
    • ๐Ÿšš #4521: Move naming related cops into their own Naming department. ([@drenmi][])
    • ๐Ÿ’… #4600: Make Style/RedundantSelf aware of arguments of a block. ([@Envek][])
    • ๐ŸŽ #4658: Disable auto-correction for Performance/TimesMap by default. ([@Envek][])
  • v0.49.1 Changes

    May 29, 2017

    ๐Ÿ› Bug fixes

    • ๐Ÿ’… #4411: Handle properly safe navigation in Style/YodaCondition. ([@bbatsov][])
    • ๐Ÿ’… #4412: Handle properly literal comparisons in Style/YodaCondition. ([@bbatsov][])
    • ๐Ÿ’… Handle properly class variables and global variables in Style/YodaCondition. ([@bbatsov][])
    • ๐Ÿ’… #4392: Fix the auto-correct of Style/Next when the end is misaligned. ([@rrosenblum][])
    • ๐ŸŽ #4407: Prevent Performance/RegexpMatch from blowing up on match without arguments. ([@pocke][])
    • ๐Ÿ’… #4414: Handle pseudo-assignments in for loops in Style/ConditionalAssignment. ([@bbatsov][])
    • 0๏ธโƒฃ #4419: Handle combination AllCops: DisabledByDefault: true and Rails: Enabled: true. ([@jonas054][])
    • ๐Ÿ’… #4422: Fix missing space in message for Style/MultipleComparison. ([@timrogers][])
    • ๐Ÿ’… #4420: Ensure Style/EmptyMethod honours indentation when auto-correcting. ([@drenmi][])
    • ๐Ÿ’… #4442: Prevent Style/WordArray from breaking on strings that aren't valid UTF-8. ([@pocke][])
    • #4441: Prevent Layout/SpaceAroundBlockParameters from breaking on lambda. ([@pocke][])

    ๐Ÿ”„ Changes

    • #4436: Display 'Running parallel inspection' only with --debug. ([@pocke][])
  • v0.49.0 Changes

    May 24, 2017

    ๐Ÿ†• New features

    • #117: Add --parallel option for running RuboCop in multiple processes or threads. ([@jonas054][])
    • โž• Add auto-correct support to Style/MixinGrouping. ([@rrosenblum][])
    • ๐Ÿ‘ท #4236: Add new Rails/ApplicationJob and Rails/ApplicationRecord cops. ([@tjwp][])
    • ๐ŸŽ #4078: Add new Performance/Caller cop. ([@alpaca-tc][])
    • ๐ŸŽ #4314: Check slow hash accessing in Array#sort by Performance/CompareWithBlock. ([@pocke][])
    • ๐Ÿ’… #3438: Add new Style/FormatStringToken cop. ([@backus][])
    • ๐Ÿ‘• #4342: Add new Lint/ScriptPermission cop. ([@yhirano55][])
    • ๐Ÿ’… #4145: Add new Style/YodaCondition cop. ([@smakagon][])
    • #4403: Add public API Cop.autocorrect_incompatible_with for specifying other cops that should not auto-correct together. ([@backus][])
    • ๐Ÿ’… #4354: Add auto-correct to Style/FormatString. ([@hoshinotsuyoshi][])
    • ๐Ÿ’… #4021: Add new Style/MultipleComparison cop. ([@dabroz][])
    • ๐Ÿ†• New Lint/RescueType cop. ([@rrosenblum][])
    • #4328: Add --ignore-parent-exclusion flag to ignore AllCops/Exclude inheritance. ([@nelsonjr][])

    ๐Ÿ”„ Changes

    • ๐Ÿ’… #4262: Add new MinSize configuration to Style/SymbolArray, consistent with the same configuration in Style/WordArray. ([@scottmatthewman][])
    • ๐Ÿ‘• #3400: Remove auto-correct support from Lint/Debugger. ([@ilansh][])
    • ๐Ÿšš #4278: Move all cops dealing with whitespace into a new department called Layout. ([@jonas054][])
    • #4320: Update Rails/OutputSafety to disallow wrapping raw or html_safe with safe_join. ([@klesse413][])
    • #4336: Store rubocop_cache in safer directories. ([@jonas054][])
    • ๐Ÿ‘• #4361: Use relative path for offense message in Lint/DuplicateMethods. ([@pocke][])
    • 0๏ธโƒฃ #4385: Include .jb file by default. ([@pocke][])

    ๐Ÿ› Bug fixes

    • ๐Ÿ’… #4265: Require a space before first argument of a method call in Style/SpaceBeforeFirstArg cop. ([@cjlarose][])
    • ๐Ÿ‘• #4237: Fix false positive in Lint/AmbiguousBlockAssociation cop for lambdas. ([@smakagon][])
    • ๐Ÿ’Ž #4242: Add Capfile to the list of known Ruby filenames. ([@bbatsov][])
    • ๐Ÿš… #4240: Handle ||= in Rails/RelativeDateConstant. ([@bbatsov][])
    • ๐Ÿš… #4241: Prevent Rails/Blank and Rails/Present from breaking when there is no explicit receiver. ([@rrosenblum][])
    • ๐Ÿš… #4249: Handle multiple assignment in Rails/RelativeDateConstant. ([@bbatsov][])
    • ๐Ÿ’Ž #4250: Improve a bit the Ruby code detection config. ([@bbatsov][])
    • ๐Ÿ’… #4283: Fix Style/EmptyCaseCondition auto-correct bug - when first when branch includes comma-delimited alternatives. ([@ilansh][])
    • ๐Ÿ’… #4268: Handle end-of-line comments when auto-correcting Style/EmptyLinesAroundAccessModifier. ([@vergenzt][])
    • ๐Ÿ’… #4275: Prevent Style/MethodCallWithArgsParentheses from blowing up on yield. ([@drenmi][])
    • #3969: Handle multiline method call alignment for arguments to methods. ([@jonas054][])
    • 0๏ธโƒฃ #4304: Allow enabling whole departments when DisabledByDefault is true. ([@jonas054][])
    • ๐Ÿš… #4264: Prevent Rails/SaveBang from blowing up when using the assigned variable in a hash. ([@drenmi][])
    • #4310: Treat paths containing invalid byte sequences as non-matches. ([@mclark][])
    • ๐Ÿš… #4063: Fix Rails/ReversibleMigration misdetection. ([@gprado][])
    • ๐Ÿ”’ #4339: Fix false positive in Security/Eval cop for multiline string lietral. ([@pocke][])
    • ๐Ÿ”’ #4339: Fix false negative in Security/Eval cop for Binding#eval. ([@pocke][])
    • #4327: Prevent Layout/SpaceInsidePercentLiteralDelimiters from registering offenses on execute-strings. ([@drenmi][])
    • ๐Ÿ’… #4371: Prevent Style/MethodName from complaining about unary operator definitions. ([@drenmi][])
    • ๐ŸŽ #4366: Prevent Performance/RedundantMerge from blowing up on double splat arguments. ([@drenmi][])
    • ๐Ÿ’… #4352: Fix the auto-correct of Style/AndOr when Enumerable accessors ([]) are used. ([@rrosenblum][])
    • ๐Ÿ’… #4393: Prevent Style/InverseMethods from registering an offense for methods that are double negated. ([@rrosenblum][])
    • #4394: Prevent some cops from breaking on safe navigation operator. ([@drenmi][])
    • ๐Ÿš… #4260: Prevent Rails/SkipsModelValidations from registering an offense for FileUtils.touch. ([@rrosenblum][])
  • v0.48.1 Changes

    April 03, 2017

    ๐Ÿ”„ Changes

    • ๐Ÿ’… #4219: Add a link to style guide for Style/IndentationConsistency cop. ([@pocke][])
    • ๐Ÿšš #4168: Removed -n option. ([@sadovnik][])
    • ๐Ÿ’… #4039: Change Style/PercentLiteralDelimiters default configuration to match Style Guide update. ([@drenmi][])
    • ๐Ÿ‘• #4235: Improved copy of offense message in Lint/AmbiguousBlockAssociation cop. ([@smakagon][])

    ๐Ÿ› Bug fixes

    • ๐Ÿš… #4171: Prevent Rails/Blank from breaking when RHS of or is a naked falsiness check. ([@drenmi][])
    • ๐Ÿ‘• #4189: Make Lint/AmbiguousBlockAssociation aware of lambdas passed as arguments. ([@drenmi][])
    • ๐Ÿš… #4179: Prevent Rails/Blank from breaking when LHS of or is a naked falsiness check. ([@rrosenblum][])
    • ๐Ÿ’… #4172: Fix false positives in Style/MixinGrouping cop. ([@drenmi][])
    • ๐Ÿ‘• #4185: Make Lint/NestedMethodDefinition aware of #*_exec class of methods. ([@drenmi][])
    • ๐Ÿ’… #4197: Fix false positive in Style/RedundantSelf cop with parallel assignment. ([@drenmi][])
    • ๐Ÿ’… #4199: Fix incorrect auto correction in Style/SymbolArray and Style/WordArray cop. ([@pocke][])
    • ๐Ÿ‘• #4218: Make Lint/NestedMethodDefinition aware of class shovel scope. ([@drenmi][])
    • ๐Ÿ‘• #4198: Make Lint/AmbguousBlockAssociation aware of operator methods. ([@drenmi][])
    • ๐Ÿ’… #4152: Make Style/MethodCallWithArgsParentheses not require parens on setter methods. ([@drenmi][])
    • #4226: Show in --help output that --stdin takes a file name argument. ([@jonas054][])
    • ๐Ÿš… #4217: Fix false positive in Rails/FilePath cop with non string argument. ([@soutaro][])
    • ๐Ÿ’… #4106: Make Style/TernaryParentheses unsafe auto-correct detector aware of literals and constants. ([@drenmi][])
    • ๐Ÿ‘• #4228: Fix false positive in Lint/AmbiguousBlockAssociation cop. ([@smakagon][])
    • ๐Ÿš… #4234: Fix false positive in Rails/RelativeDate for lambdas and procs. ([@smakagon][])
  • v0.48.0 Changes

    March 26, 2017

    ๐Ÿ†• New features

    • ๐Ÿ”ง #4107: New TargetRailsVersion configuration parameter can be used to specify which version of Rails the inspected code is intended to run on. ([@maxbeizer][])
    • ๐Ÿ’… #4104: Add prefix and postfix styles to Style/NegatedIf. ([@brandonweiss][])
    • ๐Ÿ’… #4083: Add new configuration NumberOfEmptyLines for Style/EmptyLineBetweenDefs. ([@dorian][])
    • ๐Ÿ’… #4045: Add new configuration Strict for Style/NumericLiteral to make the change to this cop in 0.47.0 configurable. ([@iGEL][])
    • 0๏ธโƒฃ #4005: Add new AllCops/EnabledByDefault option. ([@betesh][])
    • #3893: Add a new configuration, IncludeActiveSupportAliases, to Performance/DoublStartEndWith. This configuration will check for ActiveSupport's starts_with? and ends_with?. ([@rrosenblum][])
    • ๐Ÿ’… #3889: Add new Style/EmptyLineAfterMagicComment cop. ([@backus][])
    • ๐Ÿ’… #3800: Make Style/EndOfLine configurable with lf, crlf, and native (default) styles. ([@jonas054][])
    • ๐Ÿ’… #3936: Add new Style/MixinGrouping cop. ([@drenmi][])
    • ๐Ÿš… #4003: Add new Rails/RelativeDateConstant cop. ([@sinsoku][])
    • ๐Ÿ’… #3984: Add new Style/EmptyLinesAroundBeginBody cop. ([@pocke][])
    • ๐Ÿ’… #3995: Add new Style/EmptyLinesAroundExceptionHandlingKeywords cop. ([@pocke][])
    • ๐Ÿ’… #4019: Make configurable Style/MultilineMemoization cop. ([@pocke][])
    • ๐Ÿ‘• #4018: Add auto-correct Lint/EmptyEnsure cop. ([@pocke][])
    • ๐Ÿ’… #4028: Add new Style/IndentHeredoc cop. ([@pocke][])
    • ๐Ÿ‘• #3931: Add new Lint/AmbiguousBlockAssociation cop. ([@smakagon][])
    • โž• Add new Style/InverseMethods cop. ([@rrosenblum][])
    • ๐Ÿ’… #4038: Allow default key in the Style/PercentLiteralDelimiters cop config to set all preferred delimiters. ([@kddeisz][])
    • โž• Add IgnoreMacros option to Style/MethodCallWithArgsParentheses. ([@drenmi][])
    • ๐Ÿš… #3937: Add new Rails/ActiveSupportAliases cop. ([@tdeo][])
    • โž• Add new Rails/Blank cop. ([@rrosenblum][])
    • โž• Add new Rails/Present cop. ([@rrosenblum][])
    • #4004: Allow not treating comment lines as group separators in Bundler/OrderedGems cop. ([@konto-andrzeja][])

    ๐Ÿ”„ Changes

    • โšก๏ธ #4100: Rails/SaveBang should flag update_attributes. ([@andriymosin][])
    • ๐Ÿ’… #4083: Style/EmptyLineBetweenDefs doesn't allow more than one empty line between method definitions by default (see NumberOfEmptyLines). ([@dorian][])
    • 0๏ธโƒฃ #3997: Include all ruby files by default and exclude non-ruby files. ([@dorian][])
    • #4012: Mark foo[:bar] as not complex in Style/TernaryParentheses cop with require_parentheses_when_complex style. ([@onk][])
    • ๐Ÿ‘• #3915: Make configurable whitelist for Lint/SafeNavigationChain cop. ([@pocke][])
    • ๐Ÿ’… #3944: Allow keyword arguments in Style/RaiseArgs cop. ([@mikegee][])
    • โž• Add auto-correct to Performance/DoubleStartEndWith. ([@rrosenblum][])
    • ๐Ÿš… #3951: Make Rails/Date cop to register an offence for a string without timezone. ([@sinsoku][])
    • ๐Ÿ›  #4020: Fixed new_cop.rake suggested path. ([@dabroz][])
    • #4055: Add parameters count to offense message for Metrics/ParameterLists cop. ([@pocke][])
    • ๐Ÿ”’ #4081: Allow Marshal.load if argument is a Marshal.dump in Security/MarshalLoad cop. ([@droptheplot][])
    • ๐Ÿ’… #4124: Make Style/SymbolArray cop to enable by default. ([@pocke][])
    • #3331: Change Style/MultilineMethodCallIndentation indented_relative_to_receiver to indent relative to the receiver and not relative to the caller. ([@jfelchner][])
    • #4137: Allow lines to be exempted from IndentationWidth by regex. ([@jfelchner][])

    ๐Ÿ› Bug fixes

    • ๐Ÿš… #4007: Skip Rails/SkipsModelValidations for methods that don't accept arguments. ([@dorian][])
    • #3923: Allow asciibetical sorting in Bundler/OrderedGems. ([@mikegee][])
    • ๐Ÿ‘• #3855: Make Lint/NonLocalExitFromIterator aware of method definitions. ([@drenmi][])
    • #2643: Allow uppercase and dashes in MagicComment. ([@mikegee][])
    • ๐Ÿ’… #3959: Don't wrap "percent arrays" with extra brackets when auto-correcting Style/MutableConstant. ([@mikegee][])
    • ๐ŸŽ #3978: Fix false positive in Performance/RegexpMatch with English module. ([@pocke][])
    • #3242: Ignore Errno::ENOENT during cache cleanup from File.mtime too. ([@mikegee][])
    • ๐Ÿ’… #3958: Style/SpaceInsideHashLiteralBraces doesn't add and offence when checking an hash where a value is a left brace string (e.g. { k: '{' }). ([@nodo][])
    • ๐Ÿ’… #4006: Prevent Style/WhileUntilModifier from breaking on a multiline modifier. ([@drenmi][])
    • ๐Ÿ’… #3345: Allow Style/WordArray's WordRegex configuration value to be an instance of String. ([@mikegee][])
    • #4013: Follow redirects for RemoteConfig. ([@buenaventure][])
    • ๐Ÿš… #3917: Rails/FilePath Match nodes in a method call only once. ([@unmanbearpig][])
    • ๐Ÿ’… #3673: Fix regression on Style/RedundantSelf when assigning to same local variable. ([@bankair][])
    • #4047: Allow find_zone and find_zone! methods in Rails/TimeZone. ([@attilahorvath][])
    • โš  #3457: Clear a warning and prevent new warnings. ([@mikegee][])
    • ๐Ÿ‘• #4066: Register an offense in Lint/ShadowedException when an exception is shadowed and there is an implicit begin. ([@rrosenblum][])
    • ๐Ÿ‘• #4001: Lint/UnneededDisable of Metrics/LineLength that isn't unneeded. ([@wkurniawan07][])
    • ๐Ÿ”ง #3960: Let Include/Exclude paths in all files beginning with .rubocop be relative to the configuration file's directory and not to the current directory. ([@jonas054][])
    • ๐Ÿ›  #4049: Bugfix for Style/EmptyLiteral cop. ([@ota42y][])
    • ๐Ÿ’… #4112: Fix false positives about double quotes in Style/StringLiterals, Style/UnneededCapitalW and Style/UnneededPercentQ cops. ([@pocke][])
    • ๐Ÿ’… #4109: Fix incorrect auto correction in Style/SelfAssignment cop. ([@pocke][])
    • ๐Ÿ’… #4110: Fix incorrect auto correction in Style/BracesAroundHashParameters cop. ([@musialik][])
    • ๐Ÿ’… #4084: Fix incorrect auto correction in Style/TernaryParentheses cop. ([@musialik][])
    • ๐Ÿ”’ #4102: Fix Security/JSONLoad, Security/MarshalLoad and Security/YAMLLoad cops patterns not matching ::Const. ([@musialik][])
    • #3580: Handle combinations of # rubocop:disable all and # rubocop:disable SomeCop. ([@jonas054][])
    • ๐Ÿ’… #4124: Fix auto correction bugs in Style/SymbolArray cop. ([@pocke][])
    • ๐Ÿ’… #4128: Prevent Style/CaseIndentation cop from registering offenses on single-line case statements. ([@drenmi][])
    • ๐Ÿ’… #4143: Prevent Style/IdenticalConditionalBranches from registering offenses when a case statement has an empty when. ([@dpostorivo][])
    • #4160: Fix a regression where UselessAssignment cop may not properly detect useless assignments when there's only a single conditional expression in the top level scope. ([@yujinakayama][])
    • #4162: Fix a false negative in UselessAssignment cop with nested conditionals. ([@yujinakayama][])