relnotes/v0.34.0.md
Apart from the usual myriad of bugfixes, improvements and new cops, this version introduces a results caching functionality. This functionality will speed up tremendously consecutive RuboCop runs on the same codebase.
Another news to share with you - the project now has a crowdfunding campaign here. If you like RuboCop you might consider supporting its development.
Enjoy!
Performance/CaseWhenSplat will identify and rearrange case when statements that contain a when condition with a splat. (@rrosenblum)Lint/DuplicatedKey checks for duplicated keys in hashes, which Ruby 2.2 warns against. (@sliuu)SuspiciousParamNames option to Style/OptionHash. (@wli)Style/Next supports more Enumerable methods. (@rrosenblum)--list-target-files option to CLI, which prints the files which will be inspected. (@maxjacobson)Style/MutableConstant checks for assignment of mutable objects to constants. (@bbatsov)Style/RedundantFreeze checks for usages of Object#freeze on immutable objects. (@bbatsov)--cache and configuration parameter AllCops: UseCache turn result caching on (default) or off. (@jonas054)Style/StringMethods will check for preferred method to_sym over intern. (@imtayadeway)Style/MethodName. (@jonas054)Style/RescueModifier can now auto-correct. (@rrosenblum)Style/ExtraSpacing. (@jonas054)Lint/EndAlignment handles the case keyword. (@lumeet)Exclude: config option) are no longer being processed by that cop. (@bquorning)Rails/ActionFilter now handles complete list of methods found in the Rails 4.2 release notes. (@MGerrior)Style/Next to highlight the condition instead of the iteration. (@rrosenblum)Style/EmptyLineBetweenDefs now handles class methods as well. (@unmanbearpig)super in Style/SymbolProc. (@lumeet)Style/SymbolProc is applied to methods receiving arguments. (@lumeet)Style/HashSyntax is now a bit faster when checking Ruby 1.9 syntax hash keys. (@bquorning)Lint/DeprecatedClassMethods is now a whole lot faster. (@bquorning)Lint/BlockAlignment, Style/IndentationWidth, and Style/MultilineOperationIndentation are now quite a bit faster. (@bquorning)Lint/FormatParameterMismatch. (@edmz)Lint/FormatParameterMismatch. (@edmz)super and zsuper nodes in Style/SymbolProc. (@bbatsov)Style/Alias. (@bbatsov)Rails/TimeZone. (@bbatsov)Rails/Date. (@bbatsov)Style/OptionHash. (@wli)Style/ParallelAssignment for nested expressions. (@rrosenblum)Style/InitialIndentation. (@jonas054)Style/ExtraSpacing. (@jonas054)Style/SpaceInsideStringInterpolation. (@lumeet)Style/RescueEnsureAlignment and Style/RescueModifier when processing an excluded file. (@rrosenblum)Rails/Date when Date#to_time is called with a time zone argument. (@maxjacobson)Rails/TimeZone offense when using Time.new safely. (@maxjacobson)Style/EmptyLineBetweenDefs when there are only comments between method definitions. (@lumeet)Performance/StringReplacement can auto-correct replacements with backslash in them. (@rrosenblum)RuboCop::ConfigLoader.load_file when safe_yaml is required. (@eitoball)EndAlignment: AlignWith: variable only applies when the operands of = are on the same line. (@jonas054)Style/IndentationWidth when rescue or ensure is preceded by an empty body. (@lumeet)Style/BlockDelimiters when auto-correcting adjacent braces. (@lumeet)rubocop exit with error when there are only Lint/UnneededDisable offenses. (@jonas054)Style/SymbolProc. (@lumeet)