Upgrading rubocop 0.35 to 0.36
Breaking0.35.1 → 0.36.0Breaking6Security1New59Changed17Fixed58Other1
BreakingUpgrade verdict
6 breaking changes and a security fix.
In plain terms
- The Lint/SpaceBeforeFirstArg check is gone; use the Style cop instead.
- The Style/SingleSpaceBeforeFirstArg cop is now called Style/SpaceBeforeFirstArg.
- The MultiSpaceAllowedForOperators setting is gone because AllowForAlignment covers it; leaving it in your config causes a validation error.
- The Rails/DefaultScope check is no longer available.
Must act Top 4 of 7 that need code or config changes
What you must change
Breaking6
Removes the
Lint/SpaceBeforeFirstArg cop because it duplicates Style/SingleSpaceBeforeFirstArg.Lint/SpaceBeforeFirstArgStyle/SingleSpaceBeforeFirstArgRenames
Style/SingleSpaceBeforeFirstArg to Style/SpaceBeforeFirstArg to reflect what it now does.Style/SingleSpaceBeforeFirstArgStyle/SpaceBeforeFirstArgRemoves the
MultiSpaceAllowedForOperators parameter for Style/SpaceAroundOperators; using it now fails config validation.MultiSpaceAllowedForOperatorsStyle/SpaceAroundOperatorsAllowForAlignmentRemoves the
Rails/DefaultScope cop.Rails/DefaultScopeThe
RunRailsCops parameter in .rubocop.yml is obsolete; using it now fails config validation.RunRailsCopsSplits
Style/TrailingComma into Style/TrailingCommaInArguments and Style/TrailingCommaInLiteral.Style/TrailingCommaStyle/TrailingCommaInArgumentsStyle/TrailingCommaInLiteralSecurity1
Removes two vulnerabilities in cache handling.
API changes
Generated by DepDelta from published Ruby source. Not mixed with prose notes.
- removed:
module Astrolabe
- removed:
class Node - removed:
method Node.asgn_method_call?() - removed:
method Node.multiline?() - removed:
method Node.single_line?() - removed:
static method Node.def_matcher(_, _)
- removed:
const Options.DEFAULT_FORMATTER - removed:
method Config.to_s() - removed:
method Config.warn_unless_valid() - removed:
static property ConfigLoader.exclude_limit: accessor - changed:
class Config < DelegateClass(Hash) → class Config < Hash - changed:
constructor ProcessedSource(_, _ = …) → constructor ProcessedSource(_, _, _ = …) - changed:
method ResultCache.save(_, _, _) → method ResultCache.save(_) - changed:
static method ProcessedSource.from_file(_) → static method ProcessedSource.from_file(_, _) - added:
class CachedData - added:
class Error < StandardError - added:
class Node < Parser::AST::Node - added:
class ValidationError < Error - added:
const Config.KNOWN_RUBIES - added:
const NameSimilarity.MINIMUM_SIMILARITY_TO_SUGGEST - added:
const Node.BASIC_LITERALS - added:
const Node.COMPARISON_OPERATORS - added:
const Node.FALSEY_LITERALS - added:
const Node.IMMUTABLE_LITERALS - added:
const Node.KEYWORDS - added:
const Node.LITERALS - added:
const Node.MUTABLE_LITERALS - added:
const Node.OPERATOR_KEYWORDS - added:
const Node.REFERENCES - added:
const Node.SPECIAL_KEYWORDS - added:
const Node.TRUTHY_LITERALS - added:
const Node.VARIABLES - added:
constructor CachedData(_) - added:
constructor Node(_, _ = …, _ = …) - added:
method CachedData.from_json(_) - added:
method CachedData.to_json(_) - added:
method NameSimilarity.find_similar_name(_, _) - added:
method Node.ancestors() - added:
method Node.asgn_method_call?() - added:
method Node.basic_literal?() - added:
method Node.child_nodes() - added:
method Node.const_name() - added:
method Node.defined_module() - added:
method Node.defined_module_name() - added:
method Node.descendants() - added:
method Node.each_ancestor(*) - added:
method Node.each_child_node(*) - added:
method Node.each_descendant(*) - added:
method Node.each_node(*) - added:
method Node.falsey_literal?() - added:
method Node.immutable_literal?() - added:
method Node.keyword?() - added:
method Node.keyword_not?() - added:
method Node.literal?() - added:
method Node.multiline?() - added:
method Node.mutable_literal?() - added:
method Node.parent_module_name() - added:
method Node.pure?() - added:
method Node.reference?() - added:
method Node.sibling_index() - added:
method Node.single_line?() - added:
method Node.source() - added:
method Node.source_range() - added:
method Node.special_keyword?() - added:
method Node.truthy_literal?() - added:
method Node.value_used?() - added:
method Node.variable?() - added:
method Sexp.s(_, *) - added:
module NameSimilarity - added:
module Sexp - added:
property ProcessedSource.ruby_version: reader - added:
protected method Node.parent() - added:
protected method Node.visit_descendants() - added:
protected method Node.visit_descendants_with_types(_) - added:
protected set Node.parent(_) - added:
static method ConfigLoader.clear_options() - added:
static method Node.def_matcher(_, _) - added:
static method ResultCache.cache_root(_)
- added:
class Finished < Exception
- removed:
class ValidationError < StandardError
- removed:
const CheckAssignment.TYPES - removed:
const StringHelp.ESCAPED_CHAR_REGEXP - removed:
const Util.BASIC_LITERALS - removed:
const Util.LITERALS - removed:
const Util.PROC_NEW_NODE - removed:
method AccessModifierNode.class_constructor?(_) - removed:
method ArraySyntax.array_of?(_, _) - removed:
method AutocorrectAlignment.start_of_line?(_) - removed:
method CheckAssignment.on_casgn(_) - removed:
method CheckAssignment.on_op_asgn(_) - removed:
static method Cop.rails?() - removed:
static method Util.command?(_, _) - removed:
static method Util.const_name(_) - removed:
static method Util.lambda?(_) - removed:
static method Util.lambda_or_proc?(_) - removed:
static method Util.proc?(_) - changed:
class AmbiguousCopName < Exception → class AmbiguousCopName < RuboCop::Error - changed:
method StringLiteralsHelp.wrong_quotes?(_, _) → method StringLiteralsHelp.wrong_quotes?(_) - added:
const TrailingComma.MSG - added:
const Util.LITERAL_REGEX - added:
const Util.STRING_ESCAPES - added:
const Util.STRING_ESCAPE_REGEX - added:
method ArrayHashIndentation.base_column(_, _) - added:
method ArrayHashIndentation.check_first(_, _, _, _) - added:
method ArrayHashIndentation.detected_styles(_, _, _) - added:
method ArrayHashIndentation.each_argument_node(_, _) - added:
method ArrayHashIndentation.incorrect_style_detected(_, _, _, _, _) - added:
method ArraySyntax.bracketed_array_of?(_, _) - added:
method ConfigurableEnforcedStyle.supported_styles() - added:
method Cop.parse(_, _ = …) - added:
method Cop.target_ruby_version() - added:
method Corrector.remove_leading(_, _) - added:
method Corrector.remove_preceding(_, _) - added:
method HashNode.any_pairs_on_the_same_line?(_) - added:
method MultilineExpressionIndentation.argument_in_method_call(_) - added:
method MultilineExpressionIndentation.assignment_call?(_) - added:
method MultilineExpressionIndentation.assignment_rhs(_) - added:
method MultilineExpressionIndentation.check(_, _, _, _) - added:
method MultilineExpressionIndentation.correct_indentation(_) - added:
method MultilineExpressionIndentation.grouped_expression?(_) - added:
method MultilineExpressionIndentation.incorrect_style_detected(_, _, _, _) - added:
method MultilineExpressionIndentation.indentation(_) - added:
method MultilineExpressionIndentation.inside_arg_list_parentheses?(_, _) - added:
method MultilineExpressionIndentation.kw_node_with_special_indentation(_) - added:
method MultilineExpressionIndentation.left_hand_side(_) - added:
method MultilineExpressionIndentation.not_for_this_cop?(_) - added:
method MultilineExpressionIndentation.on_send(_) - added:
method MultilineExpressionIndentation.operation_description(_, _) - added:
method MultilineExpressionIndentation.part_of_assignment_rhs(_, _) - added:
method MultilineExpressionIndentation.part_of_block_body?(_, _) - added:
method MultilineExpressionIndentation.right_hand_side(_) - added:
method Parentheses.autocorrect(_) - added:
method Parentheses.parens_required?(_) - added:
method PrecedingFollowingAlignment.aligned_assignment?(_, _) - added:
method PrecedingFollowingAlignment.aligned_char?(_, _) - added:
method PrecedingFollowingAlignment.aligned_identical?(_, _) - added:
method PrecedingFollowingAlignment.aligned_operator?(_, _) - added:
method PrecedingFollowingAlignment.aligned_token?(_, _) - added:
method PrecedingFollowingAlignment.aligned_with_adjacent_line?(_, _) - added:
method PrecedingFollowingAlignment.aligned_with_line?(_, _, _ = …) - added:
method PrecedingFollowingAlignment.aligned_with_operator?(_) - added:
method PrecedingFollowingAlignment.aligned_with_something?(_) - added:
method PrecedingFollowingAlignment.aligned_words?(_, _) - added:
method PrecedingFollowingAlignment.allow_for_alignment?() - added:
method PrecedingFollowingAlignment.comment_lines() - added:
method TrailingComma.autocorrect(_) - added:
method TrailingComma.avoid_comma(_, _, _, _) - added:
method TrailingComma.brackets?(_) - added:
method TrailingComma.check(_, _, _, _, _) - added:
method TrailingComma.heredoc?(_) - added:
method TrailingComma.inside_comment?(_, _) - added:
method TrailingComma.multiline?(_) - added:
method TrailingComma.on_same_line?(_, _) - added:
method TrailingComma.parameter_name() - added:
method TrailingComma.put_comma(_, _, _) - added:
method TrailingComma.should_have_comma?(_, _) - added:
module ArrayHashIndentation - added:
module HashNode - added:
module MultilineExpressionIndentation - added:
module Parentheses - added:
module PrecedingFollowingAlignment - added:
module TrailingComma - added:
property Offense.status: reader - added:
static method Util.double_quotes_acceptable?(_) - added:
static method Util.double_quotes_required?(_) - added:
static method Util.ends_its_line?(_) - added:
static method Util.interpret_string_escapes(_) - added:
static method Util.to_string_literal(_) - added:
static method Util.to_symbol_literal(_)
- removed:
class SpaceBeforeFirstArg < Cop - removed:
const FormatParameterMismatch.SPLAT - removed:
const LiteralInInterpolation.LITERALS - removed:
const SpaceBeforeFirstArg.MSG - removed:
const UselessAssignment.MINIMUM_SIMILARITY_TO_SUGGEST - removed:
const UselessSetterCall.LITERAL_TYPES - removed:
const Void.LITERALS - removed:
const Void.VARS - removed:
method BlockAlignment.on_and(_) - removed:
method BlockAlignment.on_masgn(_) - removed:
method BlockAlignment.on_op_asgn(_) - removed:
method BlockAlignment.on_or(_) - removed:
method BlockAlignment.on_send(_) - removed:
method DuplicateMethods.on_class(_) - removed:
method DuplicateMethods.on_module(_) - removed:
method NonLocalExitFromIterator.lambda?(_) - removed:
method SpaceBeforeFirstArg.autocorrect(_) - removed:
method SpaceBeforeFirstArg.on_send(_) - removed:
method UselessAssignment.find_similar_name(_, _) - changed:
static method Syntax.offense_from_diagnostic(_) → static method Syntax.offense_from_diagnostic(_, _) - added:
class FloatOutOfRange < Cop - added:
class ImplicitStringConcatenation < Cop - added:
class IneffectiveAccessModifier < Cop - added:
class NextWithoutAccumulator < Cop - added:
class RandOne < Cop - added:
const FloatOutOfRange.MSG - added:
const FormatParameterMismatch.NAMED_INTERPOLATION - added:
const ImplicitStringConcatenation.FOR_ARRAY - added:
const ImplicitStringConcatenation.FOR_METHOD - added:
const ImplicitStringConcatenation.MSG - added:
const IneffectiveAccessModifier.ALTERNATIVE_PRIVATE - added:
const IneffectiveAccessModifier.ALTERNATIVE_PROTECTED - added:
const IneffectiveAccessModifier.MSG - added:
const NextWithoutAccumulator.MSG - added:
const RandOne.MSG - added:
constructor DuplicateMethods(_ = …, _ = …) - added:
method Debugger.autocorrect(_) - added:
method DuplicateMethods.on_def(_) - added:
method DuplicateMethods.on_defs(_) - added:
method FloatOutOfRange.on_float(_) - added:
method ImplicitStringConcatenation.on_dstr(_) - added:
method IneffectiveAccessModifier.on_class(_) - added:
method IneffectiveAccessModifier.on_module(_) - added:
method NestedMethodDefinition.find_nested_defs(_) - added:
method NextWithoutAccumulator.on_block(_) - added:
method RandOne.on_send(_) - added:
method UnneededDisable.autocorrect(_) - added:
method UselessAccessModifier.on_module(_)
- changed:
class ERROR_SOURCE_RANGE < PseudoSourceRange.new(1, 0, '') → class ERROR_SOURCE_RANGE < PseudoSourceRange.new(1, 0, '', 0, 1) - changed:
class PseudoSourceRange < Struct.new(:line, :column, :source_line) → class PseudoSourceRange < Struct.new(:line, :column, :source_line, :begin_pos, :end_pos)
- added:
method LineLength.allow_heredoc?() - added:
method LineLength.allowed_heredoc() - added:
method LineLength.extract_heredocs(_) - added:
method LineLength.line_in_whitelisted_heredoc?(_, _)
- added:
class Casecmp < Cop - added:
class DoubleStartEndWith < Cop - added:
class EndWith < Cop - added:
class HashEachMethods < Cop - added:
class LstripRstrip < Cop - added:
class RangeInclude < Cop - added:
class RedundantBlockCall < Cop - added:
class RedundantMatch < Cop - added:
class RedundantMerge < Cop - added:
class RedundantSortBy < Cop - added:
class StartWith < Cop - added:
class TimesMap < Cop - added:
const Casecmp.MSG - added:
const DoubleStartEndWith.MSG - added:
const EndWith.MSG - added:
const EndWith.SINGLE_QUOTE - added:
const HashEachMethods.MSG - added:
const LstripRstrip.MSG - added:
const RangeInclude.MSG - added:
const RedundantBlockCall.MSG - added:
const RedundantMatch.MSG - added:
const RedundantMerge.AREF_ASGN - added:
const RedundantMerge.MSG - added:
const RedundantSortBy.MSG - added:
const StartWith.MSG - added:
const StartWith.SINGLE_QUOTE - added:
const TimesMap.MSG - added:
method Casecmp.autocorrect(_) - added:
method Casecmp.on_send(_) - added:
method DoubleStartEndWith.on_or(_) - added:
method EndWith.autocorrect(_) - added:
method EndWith.literal_at_end?(_) - added:
method EndWith.on_send(_) - added:
method HashEachMethods.autocorrect(_) - added:
method HashEachMethods.check_argument(_) - added:
method HashEachMethods.on_block(_) - added:
method LstripRstrip.autocorrect(_) - added:
method LstripRstrip.on_send(_) - added:
method RangeInclude.autocorrect(_) - added:
method RangeInclude.on_send(_) - added:
method RedundantBlockCall.autocorrect(_) - added:
method RedundantBlockCall.on_def(_) - added:
method RedundantMatch.autocorrect(_) - added:
method RedundantMatch.on_send(_) - added:
method RedundantMerge.autocorrect(_) - added:
method RedundantMerge.on_send(_) - added:
method RedundantSortBy.autocorrect(_) - added:
method RedundantSortBy.on_block(_) - added:
method StartWith.autocorrect(_) - added:
method StartWith.literal_at_start?(_) - added:
method StartWith.on_send(_) - added:
method TimesMap.on_block(_) - added:
method TimesMap.on_send(_)
- removed:
class DefaultScope < Cop - removed:
const DefaultScope.MSG - removed:
method DefaultScope.on_send(_)
- removed:
class SingleSpaceBeforeFirstArg < Cop - removed:
class TrailingComma < Cop - removed:
const Alias.MSG - removed:
const Attr.MSG - removed:
const ExtraSpacing.MSG - removed:
const FileName.MSG - removed:
const InfiniteLoop.FALSEY_LITERALS - removed:
const InfiniteLoop.TRUTHY_LITERALS - removed:
const MutableConstant.MUTABLE_TYPES - removed:
const RedundantFreeze.TARGET_NODES - removed:
const SingleSpaceBeforeFirstArg.MSG - removed:
const SpaceAroundOperators.TYPES - removed:
const SpecialGlobalVars.PREFERRED_VARS - removed:
const SymbolArray.MSG - removed:
const TrailingComma.MSG - removed:
const WordArray.MSG - removed:
method Alias.on_block(_) - removed:
method EmptyLiteral.first_arg_in_method_call_without_parentheses?(_) - removed:
method IndentArray.check_first_pair(_, _) - removed:
method IndentArray.check_right_bracket(_, _, _) - removed:
method MultilineOperationIndentation.on_send(_) - removed:
method SingleSpaceBeforeFirstArg.autocorrect(_) - removed:
method SingleSpaceBeforeFirstArg.on_send(_) - removed:
method SpecialGlobalVars.autocorrect(_) - removed:
method SpecialGlobalVars.message(_) - removed:
method SpecialGlobalVars.on_gvar(_) - removed:
method TrailingComma.on_array(_) - removed:
method TrailingComma.on_hash(_) - removed:
method TrailingComma.on_send(_) - added:
class CaseCorrector - added:
class ConditionalAssignment < Cop - added:
class FrozenStringLiteralComment < Cop - added:
class IdenticalConditionalBranches < Cop - added:
class IfCorrector - added:
class IfInsideElse < Cop - added:
class IndentAssignment < Cop - added:
class MultilineArrayBraceLayout < Cop - added:
class MultilineAssignmentLayout < Cop - added:
class MultilineMethodCallIndentation < Cop - added:
class NestedParenthesizedCalls < Cop - added:
class RedundantParentheses < Cop - added:
class SpaceBeforeFirstArg < Cop - added:
class TernaryCorrector - added:
class TrailingCommaInArguments < Cop - added:
class TrailingCommaInLiteral < Cop - added:
class UnlessCorrector - added:
class UnneededInterpolation < Cop - added:
const Alias.MSG_ALIAS - added:
const Alias.MSG_ALIAS_METHOD - added:
const Alias.MSG_SYMBOL_ARGS - added:
const ConditionalAssignment.ASSIGNMENT_TYPES - added:
const ConditionalAssignment.ENABLED - added:
const ConditionalAssignment.IF - added:
const ConditionalAssignment.INDENTATION_WIDTH - added:
const ConditionalAssignment.LINE_LENGTH - added:
const ConditionalAssignment.MAX - added:
const ConditionalAssignment.METHODS - added:
const ConditionalAssignment.MSG - added:
const ConditionalAssignment.SINGLE_LINE_CONDITIONS_ONLY - added:
const ConditionalAssignment.UNLESS - added:
const ConditionalAssignment.VARIABLE_ASSIGNMENT_TYPES - added:
const ConditionalAssignment.WIDTH - added:
const ConditionalAssignmentHelper.EQUAL - added:
const ExtraSpacing.MSG_UNALIGNED_ASGN - added:
const ExtraSpacing.MSG_UNNECESSARY - added:
const FileName.MSG_NO_DEFINITION - added:
const FileName.MSG_REGEX - added:
const FileName.MSG_SNAKE_CASE - added:
const FrozenStringLiteralComment.FROZEN_STRING_LITERAL - added:
const FrozenStringLiteralComment.FROZEN_STRING_LITERAL_ENABLED - added:
const FrozenStringLiteralComment.MSG - added:
const FrozenStringLiteralComment.SHEBANG - added:
const IdenticalConditionalBranches.MSG - added:
const IfInsideElse.MSG - added:
const IndentAssignment.MSG - added:
const MultilineArrayBraceLayout.NEW_LINE_MESSAGE - added:
const MultilineArrayBraceLayout.SAME_LINE_MESSAGE - added:
const MultilineAssignmentLayout.NEW_LINE_OFFENSE - added:
const MultilineAssignmentLayout.SAME_LINE_OFFENSE - added:
const NestedParenthesizedCalls.MSG - added:
const NestedParenthesizedCalls.RSPEC_MATCHERS - added:
const RedundantParentheses.ALLOWED_LITERALS - added:
const SpaceBeforeFirstArg.MSG - added:
const SpecialGlobalVars.ENGLISH_VARS - added:
const StabbyLambdaParentheses.ARROW - added:
const StringLiterals.MSG_INCONSISTENT - added:
const SymbolArray.ARRAY_MSG - added:
const SymbolArray.PERCENT_MSG - added:
const UnneededInterpolation.MSG - added:
const WordArray.ARRAY_MSG - added:
const WordArray.PERCENT_MSG - added:
method Alias.on_send(_) - added:
method ConditionalAssignment.autocorrect(_) - added:
method ConditionalAssignment.lhs_all_match?(_) - added:
method ConditionalAssignment.on_case(_) - added:
method ConditionalAssignment.on_if(_) - added:
method ConditionalAssignmentHelper.correct_branches(_, _) - added:
method ConditionalAssignmentHelper.expand_elses(_) - added:
method ConditionalAssignmentHelper.expand_when_branches(_) - added:
method ConditionalAssignmentHelper.lhs(_) - added:
method ConditionalAssignmentHelper.tail(_) - added:
method FrozenStringLiteralComment.autocorrect(_) - added:
method FrozenStringLiteralComment.investigate(_) - added:
method FrozenStringLiteralComment.on_send(_) - added:
method GuardClause.on_if(_) - added:
method IdenticalConditionalBranches.on_case(_) - added:
method IdenticalConditionalBranches.on_if(_) - added:
method IfInsideElse.on_if(_) - added:
method IndentArray.on_send(_) - added:
method IndentAssignment.check_assignment(_, _) - added:
method MultilineArrayBraceLayout.autocorrect(_) - added:
method MultilineArrayBraceLayout.on_array(_) - added:
method MultilineAssignmentLayout.autocorrect(_) - added:
method MultilineAssignmentLayout.check_assignment(_, _) - added:
method MultilineAssignmentLayout.check_new_line_offense(_, _) - added:
method MultilineAssignmentLayout.check_same_line_offense(_, _) - added:
method MultilineMethodCallIndentation.validate_config() - added:
method MultilineOperationIndentation.validate_config() - added:
method NestedParenthesizedCalls.on_send(_) - added:
method Next.investigate(_) - added:
method OptionHash.validate_config() - added:
method RedundantParentheses.disallowed_literal?(_) - added:
method RedundantParentheses.keyword_ancestor?(_) - added:
method RedundantParentheses.keyword_with_redundant_parentheses?(_) - added:
method RedundantParentheses.method_call_with_redundant_parentheses?(_) - added:
method RedundantParentheses.offense(_, _) - added:
method RedundantParentheses.on_begin(_) - added:
method SpaceAroundOperators.on_and(_) - added:
method SpaceAroundOperators.on_and_asgn(_) - added:
method SpaceAroundOperators.on_binary(_) - added:
method SpaceAroundOperators.on_casgn(_) - added:
method SpaceAroundOperators.on_class(_) - added:
method SpaceAroundOperators.on_cvasgn(_) - added:
method SpaceAroundOperators.on_gvasgn(_) - added:
method SpaceAroundOperators.on_ivasgn(_) - added:
method SpaceAroundOperators.on_lvasgn(_) - added:
method SpaceAroundOperators.on_masgn(_) - added:
method SpaceAroundOperators.on_op_asgn(_) - added:
method SpaceAroundOperators.on_or(_) - added:
method SpaceAroundOperators.on_or_asgn(_) - added:
method SpaceAroundOperators.on_special_asgn(_) - added:
method SpaceBeforeFirstArg.autocorrect(_) - added:
method SpaceBeforeFirstArg.on_send(_) - added:
method StringLiterals.on_dstr(_) - added:
method SymbolArray.validate_config() - added:
method TrailingCommaInArguments.on_send(_) - added:
method TrailingCommaInLiteral.on_array(_) - added:
method TrailingCommaInLiteral.on_hash(_) - added:
method UnneededInterpolation.on_dstr(_) - added:
method WordArray.autocorrect(_) - added:
module ConditionalAssignmentHelper - added:
static method CaseCorrector.correct(_) - added:
static method IfCorrector.correct(_) - added:
static method TernaryCorrector.correct(_) - added:
static method UnlessCorrector.correct(_)
- added:
method AssignmentSorter.accesses?(_, _)
- removed:
class NON_ENGLISH_VARS < Set.new(['$LOAD_PATH', '$LOADED_FEATURES', '$PROGRAM_NAME', 'ARGV'])
- removed:
const ProgressFormatter.GREEN_DOT - changed:
constructor BaseFormatter(_) → constructor BaseFormatter(_, _ = …) - changed:
constructor HTMLFormatter(_) → constructor HTMLFormatter(_, _ = …) - changed:
constructor JSONFormatter(_) → constructor JSONFormatter(_, _ = …) - changed:
constructor ProgressFormatter(_) → constructor ProgressFormatter(_, _ = …) - added:
class WorstOffendersFormatter < BaseFormatter - added:
constructor FormatterSet(_ = …) - added:
method WorstOffendersFormatter.file_finished(_, _) - added:
method WorstOffendersFormatter.finished(_) - added:
method WorstOffendersFormatter.ordered_offense_counts(_) - added:
method WorstOffendersFormatter.report_summary(_) - added:
method WorstOffendersFormatter.started(_) - added:
method WorstOffendersFormatter.total_offense_count(_) - added:
property BaseFormatter.options: reader - added:
property WorstOffendersFormatter.offense_counts: reader - added:
static property DisabledConfigFormatter.detected_styles: accessor
- added:
class Report - added:
constructor Report(_, _, _, _) - added:
method Report.summary()
- added:
class Builder < Parser::Builders::Default - added:
method Builder.n(_, _, _)
- removed:
const Compiler.META_CHAR - removed:
method Compiler.emit_trailing_param_list() - changed:
method Compiler.compile_predicate(_, _, _) → method Compiler.compile_predicate(_, _, _, _) - added:
const Compiler.FUNCALL - added:
const Compiler.META - added:
const Compiler.NUMBER - added:
method Compiler.compile_arg(_) - added:
method Compiler.compile_args(_) - added:
method Compiler.compile_funcall(_, _, _, _) - added:
method Compiler.emit_trailing_params() - added:
method Compiler.get_param(_) - added:
method Macros.node_search_body(_, _, _, _, _)