relnotes/v1.66.0.md
StringLiteralsFrozenByDefault option for correct analysis with RUBYOPT=--enable=frozen-string-literal. (@earlopain)DocumentationExtension global option to serve documentation with extensions different than .html. (@earlopain)Lint/UselessNumericOperation cop to check for inconsequential numeric operations. (@zopolis4)Style/RedundantInterpolationUnfreeze cop to check for dup and @+ on interpolated strings in Ruby >= 3.0. (@earlopain)Lint/ImplicitStringConcatenation when implicitly concatenating a string literal with a line break and string interpolation. (@koic)Style/IdenticalConditionalBranches when handling empty case branches. (@koic)Style/IfWithSemicolon when a nested if with a semicolon is used. (@koic)Style/InPatternThen when using alternative pattern matching deeply. (@koic)Style/OneLineConditional when using if/then/else/end with multiple expressions in the then body. (@koic)Layout/EmptyLineBetweenDefs when two method definitions are on the same line separated by a semicolon. (@koic)Style/IfWithSemicolon when a single-line if/;/end has an argument in the then body expression. (@koic)Style/IfWithSemicolon when using multiple expressions in the else body. (@koic)Style/TrailingBodyOnMethodDefinition when an expression precedes a method definition on the same line with a semicolon. (@koic)Layout/BlockAlignment when EnforcedStyleAlignWith: either (default). (@koic)Style/MultipleComparison when expression with more comparisons precedes an expression with less comparisons. (@fatkodima)Layout/EmptyLinesAroundExceptionHandlingKeywords when ensure or else and end are on the same line. (@koic)Lint/ImplicitStringConcatenation when there are multiple adjacent string interpolation literals on the same line. (@koic)Style/GuardClause when if clause is empty and correction would not fit on single line because of Layout/LineLength. (@earlopain)Style/ParallelAssignment when using __FILE__. (@earlopain)TargetRubyVersion detection if the gemspec is not valid syntax. (@earlopain)Lint/Void when using ensure, defs and numblock. (@vlad-pisanov)Style/MapIntoArray when initializing the destination using Array[], Array([]), or Array.new([]). (@vlad-pisanov)Style/EmptyLiteral when using Array[], Hash[], Array.new([]) and Hash.new([]). (@vlad-pisanov)Style/Alias when using multiple alias in def. (@koic)Style/EmptyElse when a comment-only else is used after elsif and AllowComments: true is set. (@koic)Style/MapIntoArray when splatting. (@earlopain)Style/ArgumentsForwarding when forwarding kwargs/block arg with non-matching additional args. (@koic)Style/RedundantCondition when using modifier if or unless. (@koic)Lint/Void when using using frozen literals. (@vlad-pisanov)Lint/EmptyConditionalBody when missing elsif body with end on the same line. (@koic)Lockfile parser when it contains incompatible BUNDLED WITH versions. (@earlopain)TargetRubyVersion through the gemfile if the gemfile ruby version is below 2.7. (@earlopain)get_!, set_!, get_?, set_?, get_=, and set_= in Naming/AccessorMethodName. (@koic)Lint/UselessAssignment autocorrection safe. (@koic)Style/RedundantRegexpArgument respect the EnforcedStyle of Style/StringLiterals. (@koic)rexml gem. (@bquorning)RuboCop::AST::RationalNode. (@koic)