Upgrading simplecov 0.22 to 1
Breaking0.22.0 → 1.3.2Breaking3Platform5Deprecated2New53Changed30Fixed29Other65
BreakingUpgrade verdict
3 breaking changes and 5 platform requirement changes.
In plain terms
- Removes StaticCoverageExtractor.available? and the empty-hash fallbacks, since Prism is bundled with every supported Ruby.
- Removes the emulation of Ruby 3.2 constant folding, where parentheses were transparent for every literal and folded dead arms kept branches.
- The way you configure which files are covered, skipped or grouped has been reworked, so existing configuration may need updating.
- You can no longer run this version on Ruby 3.2. You need Ruby 3.3 or newer.
Must act Top 5 of 10 that need code or config changes
Ruby requirement changed in 1.3.0: >= 2.5.0 → >= 3.3.
Drops docile, simplecov-html, simplecov_json_formatter.
What you must change
Breaking3
Removes StaticCoverageExtractor.available? and the empty-hash fallbacks, since Prism is bundled with every supported Ruby.
StaticCoverageExtractor.available?Removes the emulation of Ruby 3.2 constant folding, where parentheses were transparent for every literal and folded dead arms kept branches.
Redesigns the configuration DSL around cover, skip and group.
coverskipgroupPlatform5
Drops Ruby 3.2 support; the minimum supported Ruby is now 3.3, with JRuby 10 still supported.
Keeps the minimum supported Ruby at 3.2 and keeps JRuby 10 supported for line coverage.
Brings back Ruby 2.7 support.
Brings back Ruby 2.5 and 2.6 support.
Drops warning and Ruby 1.9 support.
Deprecations to plan for
Deprecated2
Criterion-specific filters and threshold scopes now prefer coverage(:criterion) { ignore ... } and minimum ..., per: ...; legacy forms warn.
coverage(:criterion)minimumdeprecations :raiseDeprecates ignore_branches and ignore_methods in favor of criterion-scoped coverage verbs like coverage(:branch) { ignore :implicit_else }.
coverageignoreignore_branchesignore_methods:implicit_else:eval_generatedAPI changes
Generated by DepDelta from published Ruby source. Not mixed with prose notes.
- removed:
module Process - removed:
static method Process.fork() - removed:
static method Process.fork_with_simplecov() - removed:
static method Process.fork_without_simplecov() - removed:
static method SimpleCov.exit_and_report_previous_error(_) - removed:
static method SimpleCov.load_adapter(_) - removed:
static method SimpleCov.process_results_and_report_error() - removed:
static method SimpleCov.result?() - removed:
static property SimpleCov.external_at_exit?: accessor - removed:
static property SimpleCov.pid: accessor - removed:
static property SimpleCov.running: accessor - changed:
static method SimpleCov.collate(_, _ = …, ignore_timeout: …) → static method SimpleCov.collate(_, _ = …, processes: …, ignore_timeout: …) - changed:
static method SimpleCov.grouped(_) → static method SimpleCov.grouped(_, groups: …) - changed:
static method SimpleCov.run_exit_tasks!() → static method SimpleCov.run_exit_tasks!(_ = …) - added:
const SimpleCov.CRITERION_TO_RUBY_COVERAGE - added:
static method SimpleCov.collect_own_coverage(standalone:) - added:
static method SimpleCov.coverage_statistics_key(_) - added:
static method SimpleCov.current_parallel_worker_count() - added:
static method SimpleCov.current_run() - added:
static method SimpleCov.defer_to_existing_report?() - added:
static method SimpleCov.existing_report_newer_than_us?() - added:
static method SimpleCov.external_at_exit?() - added:
static method SimpleCov.inject_unloaded_files(_, _, synthesize: …, lines: …) - added:
static method SimpleCov.install_at_exit_hook() - added:
static method SimpleCov.merge_own_slice() - added:
static method SimpleCov.monotonic_time() - added:
static method SimpleCov.parallel_results_complete?() - added:
static method SimpleCov.parallel_wait_timed_out?(_, _, _) - added:
static method SimpleCov.report_previous_error() - added:
static method SimpleCov.report_processing_failure(_) - added:
static method SimpleCov.reset_inherited_at_exit_state!() - added:
static method SimpleCov.resultset_count_settled?(_, _) - added:
static method SimpleCov.run_exit_tasks(_ = …) - added:
static method SimpleCov.start_tracking() - added:
static method SimpleCov.started_in_this_process?() - added:
static method SimpleCov.successful?(_) - added:
static method SimpleCov.wait_for_parallel_results(_, native_wait: …) - added:
static method SimpleCov.warn_about_deferred_report() - added:
static method SimpleCov.warn_about_incomplete_parallel_results(_, _) - added:
static method SimpleCov.warn_about_start_in_dot_simplecov() - added:
static method SimpleCov.with_dot_simplecov_autoload() - added:
static property SimpleCov.current_run: writer
- removed:
const SourceFile.RUBY_FILE_ENCODING_MAGIC_COMMENT_REGEX - removed:
const SourceFile.SHEBANG_REGEX - removed:
method Configuration.adapters() - removed:
method Configuration.coverage_criterion(_ = …) - removed:
method Configuration.coverage_start_arguments_supported?() - removed:
method Filter.passes?(_) - removed:
method Result.to_hash() - removed:
property Configuration.groups: writer - removed:
static method Combine.combine(_, _, _) - removed:
static method Combine.empty_coverage?(_, _) - removed:
static method Combine.existing_coverage(_, _) - removed:
static method Formatter.from_env(_) - removed:
static method ResultMerger.adapt_pre_simplecov_0_18_result(_) - removed:
static method ResultMerger.adapt_result(_) - removed:
static method ResultMerger.parse_file(_) - removed:
static method ResultMerger.parse_json(_) - removed:
static method ResultMerger.pre_simplecov_0_18_result?(_) - removed:
static method ResultMerger.read_file(_) - removed:
static method ResultMerger.resultset_writelock() - removed:
static method ResultMerger.time_since_result_creation(_) - changed:
class ArrayFilter < SimpleCov::Filter → class ArrayFilter < Filter - changed:
class BlockFilter < SimpleCov::Filter → class BlockFilter < Filter - changed:
class RegexFilter < SimpleCov::Filter → class RegexFilter < Filter - changed:
class StringFilter < SimpleCov::Filter → class StringFilter < Filter - changed:
constructor CoverageStatistics(covered:, missed:, total_strength: …) → constructor CoverageStatistics(covered:, missed:, omitted: …, total_strength: …, percent: …) - changed:
constructor Result(_, command_name: …, created_at: …) → constructor Result(_, command_name: …, created_at: …, not_loaded_files: …, tracked_files: …, run_id: …, worker_id: …, contexts: …, report: …, filter_config: …) - changed:
constructor SourceFile(_, _) → constructor SourceFile(_, _, loaded: …) - changed:
method Configuration.coverage_path() → method Configuration.coverage_path(_ = …) - changed:
method Configuration.enable_coverage(_) → method Configuration.enable_coverage(*) - changed:
method Configuration.formatters() → method Configuration.formatters(_ = …) - changed:
method FileList.coverage_statistics() → method FileList.coverage_statistics(_ = …) - changed:
method FileList.covered_percent() → method FileList.covered_percent(_ = …) - changed:
method FileList.covered_strength() → method FileList.covered_strength(_ = …) - changed:
method SourceFile.coverage_statistics() → method SourceFile.coverage_statistics(_ = …) - changed:
method SourceFile.covered_percent() → method SourceFile.covered_percent(_ = …) - changed:
method SourceFile.covered_strength() → method SourceFile.covered_strength(_ = …) - changed:
static method Filter.build_filter(_) → static method Filter.build_filter(_, string_filter: …) - changed:
static method ResultMerger.create_result(_, _) → static method ResultMerger.create_result(_, _, tracked_files:, contexts: …) - changed:
static method SimulateCoverage.call(_) → method SimulateCoverage.call(_, synthesize: …, lines: …) - changed:
static property CommandGuesser.original_run_command: accessor → static property CommandGuesser.original_run_command: reader - added:
class Baseline - added:
class ConfigurationError < StandardError - added:
class ContextMap - added:
class CurrentRun - added:
class Directive - added:
class GlobFilter < Filter - added:
class TestTracker - added:
const Baseline.DEFAULT_FILENAME - added:
const CLI.COMMANDS - added:
const CLI.REAL_PATHS - added:
const Color.ANSI - added:
const Color.GREEN_THRESHOLD - added:
const Color.YELLOW_THRESHOLD - added:
const Configuration.COVERAGE_THRESHOLD_OPTIONS - added:
const Configuration.DEFAULT_VIEW_GLOBS - added:
const Configuration.DEPRECATION_MODES - added:
const Configuration.DROP_BASELINES - added:
const Configuration.IGNORABLE_BRANCH_TYPES - added:
const Configuration.IGNORABLE_METHOD_TYPES - added:
const Configuration.ONESHOT_LINE_COVERAGE_CRITERION - added:
const Configuration.TRACK_TESTS_GRANULARITIES - added:
const ContextMap.VERSION - added:
const CoverageStatistics.ZERO_STATS - added:
const Deprecation.MODES - added:
const Directive.CATEGORIES - added:
const Directive.CATEGORIES_PATTERN - added:
const Directive.CATEGORY_PATTERN - added:
const Directive.PATTERN - added:
const ExitCodes.MAXIMUM_COVERAGE - added:
const ExitCodes.UNITS - added:
const GroupNames.UNGROUPED - added:
const History.ENVELOPE - added:
const History.FORMAT_VERSION - added:
constructor Baseline(_) - added:
constructor ContextMap() - added:
constructor Directive(line_number:, mode:, categories:, inline:) - added:
constructor TestTracker(root_regex: …, granularity: …) - added:
method ArrayFilter.path_only?() - added:
method Baseline.covers?(_, _) - added:
method Baseline.entry_for(_) - added:
method Baseline.floor_for(_, _) - added:
method Baseline.ratchet(_) - added:
method Baseline.to_yaml() - added:
method CLI.color_enabled?(_, _) - added:
method CLI.coverage_dir() - added:
method CLI.default_input() - added:
method CLI.default_report() - added:
method CLI.default_resultset() - added:
method CLI.dispatch(_, _, _, stdout:, stderr:) - added:
method CLI.run(_, stdout: …, stderr: …) - added:
method CLI.usage() - added:
method Color.colorize(_, _, enabled: …) - added:
method Color.colorize_percent(_, _ = …, enabled: …) - added:
method Color.enabled?(_ = …) - added:
method Color.env_set?(_) - added:
method Color.for_percent(_) - added:
method Configuration.active_session?() - added:
method Configuration.baseline() - added:
method Configuration.baseline_file(_ = …) - added:
method Configuration.clear_filters() - added:
method Configuration.color(_ = …) - added:
method Configuration.cover(*) - added:
method Configuration.cover_filters() - added:
method Configuration.cover_globs() - added:
method Configuration.cover_views(*) - added:
method Configuration.coverage(_, primary: …, enabled: …, oneshot: …, **) - added:
method Configuration.coverage_criterion_supported?(_) - added:
method Configuration.coverage_running?() - added:
method Configuration.current_nocov_token(_ = …) - added:
method Configuration.default_groups() - added:
method Configuration.deprecations(_ = …) - added:
method Configuration.disable_coverage(_) - added:
method Configuration.drop_baseline(_ = …) - added:
method Configuration.env_merge_timeout() - added:
method Configuration.expected_coverage(_ = …) - added:
method Configuration.finalize_merge(*) - added:
method Configuration.finalize_merge?() - added:
method Configuration.formats(*) - added:
method Configuration.group(_, _ = …) - added:
method Configuration.history_limit(_ = …) - added:
method Configuration.ignore_branches(*) - added:
method Configuration.ignore_methods(*) - added:
method Configuration.ignored_branch?(_) - added:
method Configuration.ignored_branches() - added:
method Configuration.ignored_method?(_) - added:
method Configuration.ignored_methods() - added:
method Configuration.line_coverage?() - added:
method Configuration.load_coverage() - added:
method Configuration.maximum_coverage(_ = …) - added:
method Configuration.maximum_missed(_ = …) - added:
method Configuration.maximum_missed_per_file(_ = …) - added:
method Configuration.maximum_missed_per_file_overrides() - added:
method Configuration.merge_finalization_owner?() - added:
method Configuration.merge_subprocesses(_ = …) - added:
method Configuration.merging(_ = …) - added:
method Configuration.method_coverage?() - added:
method Configuration.method_coverage_supported?() - added:
method Configuration.minimum_coverage_by_file_overrides() - added:
method Configuration.minimum_coverage_by_group(_ = …) - added:
method Configuration.no_default_skips() - added:
method Configuration.parallel_tests(_ = …) - added:
method Configuration.parallel_wait_timeout(_ = …) - added:
method Configuration.print_errors(_ = …) - added:
method Configuration.production_coverage(_ = …) - added:
method Configuration.remove_filter(_) - added:
method Configuration.skip(_ = …) - added:
method Configuration.source_in_json(_ = …) - added:
method Configuration.track_files_replacement_hint(_) - added:
method Configuration.track_tests(_ = …, granularity: …) - added:
method Configuration.track_tests?() - added:
method Configuration.track_tests_granularity() - added:
method Configuration.validate_coverage_criteria!() - added:
method Configuration.validate_test_tracking!() - added:
method Configuration.view_coverage?() - added:
method Configuration.view_globs() - added:
method ContextMap.absorb(_) - added:
method ContextMap.contexts() - added:
method ContextMap.covering(_, _) - added:
method ContextMap.empty?() - added:
method ContextMap.intern(_) - added:
method ContextMap.record(_, _) - added:
method ContextMap.serialized_bitmaps_for(_) - added:
method ContextMap.to_h(only: …) - added:
method CurrentRun.collating_result?() - added:
method CurrentRun.forked_subprocess?() - added:
method CurrentRun.mark_forked_subprocess!() - added:
method CurrentRun.next_subprocess_serial!() - added:
method CurrentRun.result?() - added:
method CurrentRun.subprocess_serial() - added:
method CurrentRun.successor() - added:
method Deprecation.caller_location() - added:
method Deprecation.emitted() - added:
method Deprecation.mode() - added:
method Deprecation.reset!() - added:
method Deprecation.warn(_, location: …) - added:
method Directive.apply(_, _) - added:
method Directive.disabled?() - added:
method Directive.inline?() - added:
method FileList.covered_methods() - added:
method FileList.method_covered_percent() - added:
method FileList.missed_methods() - added:
method FileList.total_methods() - added:
method Filter.path_only?() - added:
method GlobFilter.matches?(_) - added:
method GlobFilter.path_only?() - added:
method GroupNames.normalize(_) - added:
method GroupNames.validate!(_) - added:
method ParallelAdapters.adapters() - added:
method ParallelAdapters.current() - added:
method ParallelAdapters.register(_) - added:
method ParallelAdapters.reset_current!() - added:
method ParallelResultMerger.abandon(_) - added:
method ParallelResultMerger.absorb_results(_, processes:, ignore_timeout: …, tracked_files: …, context_maps: …) - added:
method ParallelResultMerger.chunk(_, _) - added:
method ParallelResultMerger.collect_payloads(_) - added:
method ParallelResultMerger.drain(_) - added:
method ParallelResultMerger.fan_out(_, ignore_timeout:, tracked_files:, context_maps:) - added:
method ParallelResultMerger.merge_and_store(*, processes:, ignore_timeout: …) - added:
method ParallelResultMerger.merge_results(*, processes:, ignore_timeout: …) - added:
method ParallelResultMerger.read_payload(_) - added:
method ParallelResultMerger.run_in_child(_, _, _, _) - added:
method ParallelResultMerger.run_worker(_, _, ignore_timeout:) - added:
method ParallelResultMerger.spawn_worker(_, ignore_timeout:) - added:
method ParallelResultMerger.spawn_workers(_, ignore_timeout:) - added:
method ParallelResultMerger.succeeded?(_) - added:
method ParallelResultMerger.warn_about_failed_workers(_, _) - added:
method ProcessForkHook._fork() - added:
method Profiles.fetch_proc(_) - added:
method RegexFilter.path_only?() - added:
method Result.command_names() - added:
method Result.configured_group?(_) - added:
method Result.coverage_for(_) - added:
method Result.source_file_for(_) - added:
method RunIdentity.authoritative?() - added:
method RunIdentity.current() - added:
method RunIdentity.current_worker_id() - added:
method RunIdentity.generate() - added:
method RunIdentity.materialize_current() - added:
method RunIdentity.prepare() - added:
method RunIdentity.worker_id() - added:
method SimulateCoverage.coverage_stub(_, _) - added:
method SimulateCoverage.read_lines(_) - added:
method SimulateCoverage.synthesized_tuples(_, _) - added:
method SourceFile.covered_methods() - added:
method SourceFile.methods() - added:
method SourceFile.methods_coverage_percent() - added:
method SourceFile.missed_methods() - added:
method SourceFile.not_loaded?() - added:
method StaticCoverageExtractor.branch_start_line(_, _, _, *) - added:
method StaticCoverageExtractor.call(_) - added:
method StaticCoverageExtractor.method_identity(_, _, _, *) - added:
method StaticCoverageExtractor.prism_loaded?() - added:
method StaticCoverageExtractor.real_source_positions(_) - added:
method StringFilter.path_only?() - added:
method TestTracker.poisoned?() - added:
method TestTracker.recorded_map(closing: …) - added:
method TestTracker.track(_) - added:
method UnloadedFileInjector.call(_, _, synthesize:, lines:) - added:
method UnloadedFileInjector.discover(_, root:, reject: …) - added:
method UnloadedFileInjector.rejected?(_, _) - added:
method ViewCoverage.compile_unrendered() - added:
method ViewCoverage.discover() - added:
method ViewCoverage.enabled?() - added:
method ViewCoverage.measured_paths() - added:
module AtomicFile - added:
module CLI - added:
module Color - added:
module CoverageJSON - added:
module CoverageViolations - added:
module Deprecation - added:
module GroupNames - added:
module History - added:
module ParallelAdapters - added:
module ParallelResultMerger - added:
module ProcessForkHook - added:
module Production - added:
module ReportStamp - added:
module RunIdentity - added:
module StaticCoverageExtractor - added:
module UnloadedFileInjector - added:
module ViewCoverage - added:
property Baseline.entries: reader - added:
property CoverageStatistics.omitted: reader - added:
property CurrentRun.collating_result: writer - added:
property CurrentRun.pid: accessor - added:
property CurrentRun.process_start_time: accessor - added:
property CurrentRun.result: accessor - added:
property Directive.categories: reader - added:
property Directive.line_number: reader - added:
property Directive.mode: reader - added:
property Result.command_names: writer - added:
property Result.contexts: reader - added:
property Result.run_id: reader - added:
property Result.tracked_files: reader - added:
property Result.worker_id: reader - added:
property TestTracker.map: reader - added:
protected method ContextMap.file_tables() - added:
protected method ContextMap.interned_contexts() - added:
protected property CurrentRun.subprocess_serial: writer - added:
set Configuration.baseline_file(_) - added:
set Configuration.color(_) - added:
set Configuration.command_name(_) - added:
set Configuration.coverage_dir(_) - added:
set Configuration.coverage_path(_) - added:
set Configuration.finalize_merge(_) - added:
set Configuration.groups(_) - added:
set Configuration.history_limit(_) - added:
set Configuration.merge_subprocesses(_) - added:
set Configuration.merge_timeout(_) - added:
set Configuration.merging(_) - added:
set Configuration.parallel_tests(_) - added:
set Configuration.parallel_wait_timeout(_) - added:
set Configuration.primary_coverage(_) - added:
set Configuration.print_errors(_) - added:
set Configuration.production_coverage(_) - added:
set Configuration.root(_) - added:
set Configuration.source_in_json(_) - added:
set Deprecation.mode(_) - added:
static method AtomicFile.write(_, _, binary: …) - added:
static method Baseline.generate(_) - added:
static method Baseline.read(_) - added:
static method Baseline.read_if_exists(_) - added:
static method CommandGuesser.original_program_name() - added:
static method ContextMap.from_hash(_) - added:
static method CoverageJSON.load(_) - added:
static method CoverageViolations.baseline(_, _) - added:
static method CoverageViolations.maximum_drop(_, _, last_run: …, mode: …) - added:
static method CoverageViolations.maximum_missed(_, _) - added:
static method CoverageViolations.maximum_missed_by_file(_, _, _ = …, baseline: …) - added:
static method CoverageViolations.maximum_overall(_, _) - added:
static method CoverageViolations.minimum_by_file(_, _, _ = …, baseline: …) - added:
static method CoverageViolations.minimum_by_group(_, _) - added:
static method CoverageViolations.minimum_overall(_, _) - added:
static method Directive.disabled_ranges(_) - added:
static method ExitCodes.print_error(_) - added:
static method Formatter.format(_, _) - added:
static method Formatter.instance_for(_) - added:
static method History.entries_with(_) - added:
static method History.git_info() - added:
static method History.history_path() - added:
static method History.read() - added:
static method History.record(_) - added:
static method Production.flush() - added:
static method Production.reset!() - added:
static method Production.running?() - added:
static method Production.start(root: …, sink: …, flush_interval: …, flush_jitter: …, sample_rate: …, max_buffered_lines: …) - added:
static method Production.stop() - added:
static method ReportStamp.path() - added:
static method ReportStamp.touch() - added:
static method ResultMerger.absorb_results(_, ignore_timeout: …) - added:
static method ResultMerger.drop_expired_results(_) - added:
static method ResultMerger.entry_collector(_, _) - added:
static method ResultMerger.merged_entry(_, _) - added:
static method ResultMerger.warn_about_expired_results(_) - added:
static method TestTracker.definition_site(_) - added:
static method TestTracker.install_framework_hooks() - added:
static method TestTracker.install_minitest_hook(_ = …) - added:
static method TestTracker.install_minitest_hook_when_loaded(_ = …) - added:
static method TestTracker.install_rspec_hook(_ = …) - added:
static method TestTracker.loaded_const(_, _) - added:
static method TestTracker.minitest_test_id(_) - added:
static method TestTracker.reset_rspec_hook!() - added:
static method TestTracker.rspec_example_id(_) - added:
static method TestTracker.rspec_module() - added:
static method TestTracker.watch_for_minitest_test(_) - added:
static method UselessResultsRemover.root_regex() - added:
static property CommandGuesser.original_program_name: writer - added:
static set CommandGuesser.original_run_command(_)
- added:
class Floor < Data.define(:percent, :missed) - added:
class Outcome < Data.define(:baseline, :tightened, :pruned, :regressed, :unchanged) - added:
method Parser.call(_, _) - added:
method Parser.parse_criterion(_, _, _) - added:
method Parser.parse_entry(_, _, _) - added:
method Parser.parse_floor(_, _, _) - added:
module Parser
- added:
const Affected.RUNNER - added:
const Annotations.AZURE_ESCAPES - added:
const Annotations.DESCRIPTIONS - added:
const Annotations.KINDS - added:
const Annotations.MESSAGES - added:
const Annotations.SOURCE - added:
const Annotations.TEAMCITY_ESCAPES - added:
const Badge.TOTAL_KEYS - added:
const CommandHelpers.STATS_ROW_FORMAT - added:
const Completions.COMMAND_ROW - added:
const Completions.OPTION_ROW - added:
const Completions.SHELLS - added:
const CoverageFile.CRITERIA - added:
const Diff.EPSILON - added:
const Dotfile.NEUTERED - added:
const Report.SECTIONS - added:
const Report.TOTAL_LABEL - added:
const Run.AUTOSTART - added:
const Uncovered.DEFAULT_TOP - added:
method Affected.deliver(_, _, _, _) - added:
method Affected.emit_json(_, _, _) - added:
method Affected.emit_text(_, _, _, _) - added:
method Affected.execute(_, _, _, _) - added:
method Affected.no_changes(_, _, _) - added:
method Affected.note_untouched(_) - added:
method Affected.parse(_) - added:
method Affected.precheck(_) - added:
method Affected.respond(_, _, _, _, stdout:, stderr:) - added:
method Affected.run(_, stdout:, stderr:) - added:
method Affected.run_command(_, _, _) - added:
method Affected.split_runner(_) - added:
method Annotations.azure(_, _) - added:
method Annotations.buildkite(_, _) - added:
method Annotations.described(_) - added:
method Annotations.diagnostics(_, _, _) - added:
method Annotations.emit(_, _, _) - added:
method Annotations.escape(_, _) - added:
method Annotations.expected_kinds() - added:
method Annotations.fingerprint(_) - added:
method Annotations.github(_, _) - added:
method Annotations.gitlab(_) - added:
method Annotations.issue(_) - added:
method Annotations.range(_) - added:
method Annotations.rdjson(_) - added:
method Annotations.rdjson_diagnostic(_) - added:
method Annotations.service_message(_, _) - added:
method Annotations.teamcity(_, _) - added:
method Badge.emit(_, _, _) - added:
method Badge.parse(_) - added:
method Badge.percent_for(_, _, _) - added:
method Badge.run(_, stdout:, stderr:) - added:
method Clean.announce(_, _, _) - added:
method Clean.canonical_path(_) - added:
method Clean.descendant_of?(_, _) - added:
method Clean.entry_count(_) - added:
method Clean.parse(_) - added:
method Clean.protected_paths() - added:
method Clean.run(_, stdout:, stderr:, **) - added:
method Clean.safe_to_remove?(_) - added:
method Clean.sweep(_, _, _) - added:
method CommandHelpers.build_parser() - added:
method CommandHelpers.command_name() - added:
method CommandHelpers.common_options(_, _) - added:
method CommandHelpers.error(_, _) - added:
method CommandHelpers.error_nil(_, _) - added:
method CommandHelpers.on_help(_) - added:
method CommandHelpers.one?(_) - added:
method CommandHelpers.parse_common(_, _ = …) - added:
method CommandHelpers.quiet_option(_, _) - added:
method CommandHelpers.recorded_contexts(_, _, _) - added:
method CommandHelpers.stats_row(_, _, _, _) - added:
method Completions.commands() - added:
method Completions.options_by_command() - added:
method Completions.options_for(_) - added:
method Completions.run(_, stdout:, stderr:) - added:
method Completions.script_for(_) - added:
method Completions.section_options(_) - added:
method Coverage.emit(_, _, _) - added:
method Coverage.emit_criterion(_, _, _, _) - added:
method Coverage.locate_match(_, _) - added:
method Coverage.lookup(_, _) - added:
method Coverage.parse(_, stderr:) - added:
method Coverage.print_human(_, _, _, _) - added:
method Coverage.report_not_found(_, _, _) - added:
method Coverage.run(_, stdout:, stderr:) - added:
method CoverageFile.exact_index(_) - added:
method CoverageFile.load_coverage(_, command:, stderr:) - added:
method CoverageFile.load_document(_, command:, stderr:) - added:
method CoverageFile.lookup(_, _) - added:
method CoverageFile.normalize(_) - added:
method CoverageFile.not_found_message(_, _, _) - added:
method CoverageFile.report_invalid(_, _, _, _) - added:
method CoverageFile.report_missing(_, _, _) - added:
method CoverageFile.report_unreadable(_, _, _, _) - added:
method CoverageFile.suffix_matches(_, _) - added:
method DeadCode.classify_file(_, _, _, _) - added:
method DeadCode.classify_line(_, _) - added:
method DeadCode.command_name() - added:
method DeadCode.cross(_, _) - added:
method DeadCode.load_production(_, _) - added:
method DeadCode.missing_production(_) - added:
method DeadCode.parse(_, _) - added:
method DeadCode.record(_, _, _, _) - added:
method DeadCode.run(_, stdout:, stderr:, **) - added:
method Diff.compute_deltas(_, _) - added:
method Diff.compute_row(_, _, _, _) - added:
method Diff.compute_rows(_, _, _) - added:
method Diff.coverage_drop?(_) - added:
method Diff.load_coverage(_, _) - added:
method Diff.normalize_keys(_) - added:
method Diff.parse(_, _) - added:
method Diff.parse_flags(_) - added:
method Diff.pct_for(_, _) - added:
method Diff.run(_, stdout:, stderr:, **) - added:
method Diff.status_for(_, _) - added:
method Dotfile.baseline_file() - added:
method Dotfile.coverage_dir() - added:
method Dotfile.find() - added:
method Dotfile.load_simplecov() - added:
method Dotfile.load_with_start_neutered(_) - added:
method Dotfile.production_coverage() - added:
method Dotfile.read_baseline_file_from(_) - added:
method Dotfile.read_from(_) - added:
method Dotfile.read_production_coverage_from(_) - added:
method Dotfile.silence_verbose() - added:
method Dotfile.with_simplecov_loaded() - added:
method Git.capture(*) - added:
method Git.default_base() - added:
method Git.option_like_ref?(_) - added:
method Git.toplevel() - added:
method History.default_input() - added:
method History.file_recorded?(_, _, _) - added:
method History.load_entries(_, _) - added:
method History.parse(_, _) - added:
method History.run(_, stdout:, stderr:, **) - added:
method JDKRealPath.realdirpath(_) - added:
method JDKRealPath.realpath(_) - added:
method Merge.commit(_, _, _) - added:
method Merge.duplicate_warning(_, _) - added:
method Merge.parse(_) - added:
method Merge.parse_input(_, _) - added:
method Merge.parse_input_error(_, _, _) - added:
method Merge.parse_inputs(_, _) - added:
method Merge.result_merger() - added:
method Merge.run(_, stdout:, stderr:, **) - added:
method Merge.warn_about_duplicate_command_names(_, _) - added:
method Merge.write(_, _) - added:
method Open.browser_opener() - added:
method Open.parse(_) - added:
method Open.run(_, stderr:, **) - added:
method Patch.build_row(_, _, _) - added:
method Patch.changed_for(_, _) - added:
method Patch.compute_rows(_, _, _) - added:
method Patch.each_touched(_, _) - added:
method Patch.entry_stats(_, _) - added:
method Patch.line_stats(_, _) - added:
method Patch.parse(_, _) - added:
method Patch.positional_ok?(_, _) - added:
method Patch.run(_, stdout:, stderr:, **) - added:
method Patch.scored?(_) - added:
method Patch.warn_stale(_, _, _, _) - added:
method Ratchet.compute(_, _) - added:
method Ratchet.current_floors(_) - added:
method Ratchet.parse(_, _) - added:
method Ratchet.run(_, stdout:, stderr:, **) - added:
method Ratchet.usable?(_, _) - added:
method Report.collect_section(_) - added:
method Report.emit_json(_, _) - added:
method Report.emit_section(_, _, _, _) - added:
method Report.emit_text(_, _, _) - added:
method Report.emit_totals(_, _, _, _) - added:
method Report.load_data(_, _) - added:
method Report.run(_, stdout:, stderr:) - added:
method Run.exec_command(_, _) - added:
method Run.rubyopt_env() - added:
method Run.run(_, stderr:, **) - added:
method Serve.announce(_, _, _) - added:
method Serve.parse(_) - added:
method Serve.require_socket() - added:
method Serve.run(_, stdout:, stderr:, **) - added:
method Serve.serve_loop(_, _, _) - added:
method Serve.url_host(_) - added:
method Serve.with_server(_, _) - added:
method Show.emit_json(_, _, _) - added:
method Show.locate_or_report(_, _, _) - added:
method Show.options(_, _) - added:
method Show.parse(_) - added:
method Show.relevant_lines(_) - added:
method Show.render(_, _, _, _) - added:
method Show.run(_, stdout:, stderr:) - added:
method Show.run_project(_, _, _) - added:
method Show.show_uncovered(_, _, _, _) - added:
method Show.source_for(_, _, _, _) - added:
method Status.age_in_words(_) - added:
method Status.age_suffix(_) - added:
method Status.commit_words(_) - added:
method Status.contexts_words(_) - added:
method Status.distance_words(_) - added:
method Status.print_facts(_, _, _) - added:
method Status.print_resultset(_, _) - added:
method Status.provenance_words(_) - added:
method Status.report_lines(_) - added:
method Status.run(_, stdout:, stderr:) - added:
method Status.totals_words(_) - added:
method Tests.context_table(_, _, _, _) - added:
method Tests.decode_table(_, _) - added:
method Tests.emit(_, _, _, _) - added:
method Tests.empty_message(_) - added:
method Tests.ids_from(_, _, _) - added:
method Tests.locate_entry(_, _, _) - added:
method Tests.note_empty(_, _) - added:
method Tests.parse(_) - added:
method Tests.resolve(_, _, _) - added:
method Tests.run(_, stdout:, stderr:) - added:
method Tests.selected_ids(_, _, _, _) - added:
method Tests.split_target(_) - added:
method Uncovered.build_row(_, _, _, _, _) - added:
method Uncovered.emit(_, _, _) - added:
method Uncovered.emit_json(_, _) - added:
method Uncovered.emit_text(_, _, _) - added:
method Uncovered.empty_message(_) - added:
method Uncovered.format_row(_, _, _, _, _) - added:
method Uncovered.own_options(_, _) - added:
method Uncovered.parse(_) - added:
method Uncovered.rank(_, _, _) - added:
method Uncovered.report(_, _, _, _) - added:
method Uncovered.row_for(_, _, _, _) - added:
method Uncovered.run(_, stdout:, stderr:, **) - added:
method Uncovered.unknown_criterion(_, _) - added:
method Uncovered.validate_top(_) - added:
method Usage.for(_, _) - added:
method Usage.heading_of(_) - added:
method Usage.section_for?(_, _) - added:
method Usage.text(_) - added:
method Watch.bind(_, _) - added:
method Watch.launch_browser(_, _) - added:
method Watch.parse(_) - added:
method Watch.run(_, stdout:, stderr:, **) - added:
method Watch.serve_session(_, _, _, _, _) - added:
method Watch.session_for(_, _, _, _) - added:
module Affected - added:
module Annotations - added:
module Badge - added:
module Clean - added:
module CommandHelpers - added:
module Completions - added:
module Coverage - added:
module CoverageFile - added:
module DeadCode - added:
module Diff - added:
module Dotfile - added:
module Git - added:
module History - added:
module JDKRealPath - added:
module Merge - added:
module Open - added:
module Patch - added:
module Ratchet - added:
module Report - added:
module Run - added:
module Serve - added:
module Show - added:
module Status - added:
module Tests - added:
module Uncovered - added:
module Usage - added:
module Watch
- added:
const Selection.TEST_FILE_NAME - added:
method ChangedFiles.call(_, _) - added:
method ChangedFiles.list(_, _, _) - added:
method ChangedFiles.report(_, _) - added:
method ChangedFiles.repository_toplevel(_) - added:
method Selection.build(_, _, _, _, _, root:) - added:
method Selection.classify(_, _) - added:
method Selection.covering_table(_, _, _) - added:
method Selection.entry_for(_, _) - added:
method Selection.initial_state(_, _, _, _, _, root:) - added:
method Selection.note_untracked(_, _) - added:
method Selection.on_disk?(_, _) - added:
method Selection.select_context(_, _, _) - added:
method Selection.select_covering(_, _, _) - added:
method Selection.select_test_file(_, _, note_deleted: …) - added:
method Selection.test_file_of(_) - added:
method SpawnedRunner.call(_, _) - added:
method SystemRunner.call(_, _) - added:
module ChangedFiles - added:
module Selection - added:
module SpawnedRunner - added:
module SystemRunner
- added:
const Svg.COLORS - added:
method Svg.color(_) - added:
method Svg.document(label:, value:, fill:, geo:) - added:
method Svg.escape(_) - added:
method Svg.geometry(_, _) - added:
method Svg.render(label:, percent:) - added:
method Svg.width(_) - added:
module Svg
- added:
class HelpRequested < StandardError
- added:
const Scripts.BASH_TAIL - added:
const Scripts.ZSH_MIDDLE - added:
const Scripts.ZSH_TAIL - added:
method Scripts.bash(_, _) - added:
method Scripts.bash_cases(_) - added:
method Scripts.bash_head(_) - added:
method Scripts.fish(_, _) - added:
method Scripts.fish_option(_, _) - added:
method Scripts.fish_quote(_) - added:
method Scripts.zsh(_, _) - added:
method Scripts.zsh_cases(_) - added:
method Scripts.zsh_quote(_) - added:
method Scripts.zsh_specs(_) - added:
module Scripts
- added:
method Output.count(_, _) - added:
method Output.emit(_, _, _, _) - added:
method Output.emit_dead(_, _, _) - added:
method Output.emit_untested(_, _, _) - added:
method Output.json_entry(_, _, _) - added:
method Output.json_payload(_, _) - added:
method Output.markers(_, _, _) - added:
method Output.pluralize(_, _) - added:
method Output.section(_, _, _, _, _) - added:
method Output.window_suffix(_) - added:
module Output
- added:
const Output.STATUS_SUFFIX - added:
method Output.delta_parts(_, _) - added:
method Output.emit_text(_, _, _) - added:
method Output.format_delta(_, _, _) - added:
method Output.format_row(_, _) - added:
module Output
- added:
const Output.BARS - added:
const Output.CRITERIA_ORDER - added:
method Output.bar(_, _, _) - added:
method Output.branch_of(_) - added:
method Output.emit(_, _, _, color:) - added:
method Output.emit_criteria_views(_, _, _, *) - added:
method Output.emit_file(_, _, _, _) - added:
method Output.emit_json(_, _, _) - added:
method Output.emit_rows(_, _) - added:
method Output.emit_sparklines(_, _, _, _, _) - added:
method Output.emit_totals(_, _, _, _) - added:
method Output.measured_criteria(_, _) - added:
method Output.numeric(_) - added:
method Output.percents_cell(_, _, _) - added:
method Output.pluralize(_, _) - added:
method Output.sparkline(_) - added:
method Output.trend(_, _) - added:
module Output
- added:
const ChangedLines.HUNK_HEADER - added:
const ChangedLines.UNQUOTE - added:
const Output.CRITERIA - added:
const Output.OPTIONAL_CRITERIA - added:
method ChangedLines.call(_, find_renames:, stderr:) - added:
method ChangedLines.diff_path(_) - added:
method ChangedLines.git_diff(_, _, find_renames:) - added:
method ChangedLines.git_toplevel() - added:
method ChangedLines.parse_diff(_) - added:
method ChangedLines.record_hunk(_, _, _) - added:
method ChangedLines.report_git_error(_, _, _) - added:
method ChangedLines.section_path(_) - added:
method ChangedLines.unescape(_) - added:
method ChangedLines.unquote(_) - added:
method ChangedLines.untracked_files(_) - added:
method Output.annotate(_, _, _) - added:
method Output.criterion_cell(_, _, _) - added:
method Output.criterion_cells(_, _) - added:
method Output.emit(_, _, _) - added:
method Output.emit_text(_, _, _) - added:
method Output.format_row(_, _) - added:
method Output.format_total(_, _) - added:
method Output.gate(_, _) - added:
method Output.json_rows(_) - added:
method Output.measured?(_) - added:
method Output.missing_note(_) - added:
method Output.only(_) - added:
method Output.pct(_) - added:
method Output.ranges(_, _ = …) - added:
method Output.short?(_, _) - added:
method Output.span(_) - added:
method Output.sum_stats(_, _) - added:
module ChangedLines - added:
module Output
- added:
method Output.change_summary(_, _) - added:
method Output.emit(_, _, _, _) - added:
method Output.json_summary(_, _, _) - added:
method Output.report_regressed(_, _) - added:
module Output
- added:
const StaticFileHandler.MIME - added:
const StaticFileHandler.READ_TIMEOUT - added:
const StaticFileHandler.STATUS_TEXT - added:
method StaticFileHandler.dispatch(_, _, _, _, _) - added:
method StaticFileHandler.drain_headers(_) - added:
method StaticFileHandler.handle_connection(_, _, _ = …) - added:
method StaticFileHandler.inside?(_, _) - added:
method StaticFileHandler.resolve(_, _) - added:
method StaticFileHandler.respond(_, _, _ = …, _ = …) - added:
method StaticFileHandler.serve_file(_, _, _) - added:
module ReportPreparer - added:
module StaticFileHandler - added:
static method ReportPreparer.build_index(_, _) - added:
static method ReportPreparer.call(_)
- added:
method Annotator.call(_, _, _, color:) - added:
method Annotator.count(_, _, _) - added:
method Annotator.count_width(_) - added:
method Annotator.each_missed(_) - added:
method Annotator.emit(_, _, _, _, _) - added:
method Annotator.markers_for(_) - added:
method Annotator.missed_line_of(_) - added:
method Annotator.missed_lines(_) - added:
method Annotator.paint(_, _, _) - added:
method Annotator.row(_, _, _, _, _) - added:
method Sweep.display_path(_) - added:
method Sweep.emit(_, _, _, _) - added:
method Sweep.misses(_) - added:
module Annotator - added:
module Sweep
- added:
method Facts.age_of(_) - added:
method Facts.behind(_) - added:
method Facts.commit_count(_) - added:
method Facts.gather(_, _) - added:
method Facts.meta_facts(_) - added:
method Facts.parse_time(_) - added:
method Facts.readable_resultset(_) - added:
method Facts.totals(_) - added:
method Facts.whole_seconds(_) - added:
module Facts
- added:
method Redundancy.complaint(_, _) - added:
method Redundancy.invalid(_, _, _) - added:
method Redundancy.lone_bits(_) - added:
method Redundancy.redundant_ids(_, _, _, _) - added:
method Redundancy.sweep_tables(_, _, _, _) - added:
method Redundancy.swept_table(_, _) - added:
method Redundancy.unique_owners(_, _) - added:
module Redundancy
- added:
method Misses.annotate(_, _, _, _) - added:
method Misses.collect(_) - added:
method Misses.missed_for(_, _) - added:
module Misses
- added:
class LiveReport - added:
class Narrator - added:
class Poller - added:
class Session - added:
const LiveReport.RELOAD_SCRIPT - added:
const Session.MERGE_WINDOW - added:
const Session.TOTALS_KEYS - added:
constructor LiveReport(_) - added:
constructor Narrator(_, _) - added:
constructor Poller() - added:
constructor Session(command:, dir:, interval:, stdout:, stderr:) - added:
method LiveReport.broadcast(_ = …) - added:
method LiveReport.routes() - added:
method Narrator.banner(_, _) - added:
method Narrator.change(_, _) - added:
method Narrator.failed_refresh() - added:
method Narrator.result(_, _) - added:
method Narrator.stopping() - added:
method Poller.changes() - added:
method Poller.size() - added:
method Poller.stamp(_) - added:
method Poller.watch(_) - added:
method Session.poll_forever() - added:
method Session.run(_) - added:
method Session.step() - added:
method TestPlan.build(_, _, root:, input:, stderr:) - added:
method TestPlan.recorded_test_files(_) - added:
method TestPlan.watched_paths(_, _) - added:
module TestPlan
- removed:
module FilesCombiner - removed:
static method FilesCombiner.combine(_, _) - removed:
static method LinesCombiner.combine(_, _) - removed:
static method LinesCombiner.merge_line_coverage(_, _) - removed:
static method ResultsCombiner.combine_file_coverage(_, _) - removed:
static method ResultsCombiner.combine_result_sets(_, _) - changed:
static method BranchesCombiner.combine(_, _) → method BranchesCombiner.combine(_, _) - changed:
static method ResultsCombiner.combine(*) → method ResultsCombiner.combine(*) - added:
class CoverageAccumulator - added:
constructor CoverageAccumulator() - added:
method BranchesCombiner.absorb(_, _) - added:
method BranchesCombiner.identities() - added:
method BranchesCombiner.materialize(_) - added:
method BranchesCombiner.new_condition(_) - added:
method BranchesCombiner.tuple_identity(_) - added:
method CoverageAccumulator.absorb(_) - added:
method CoverageAccumulator.result() - added:
method IdentityInterner.build() - added:
method InternedCounts.absorb_counts(_, _, _) - added:
method LinesCombiner.merge_into(_, _) - added:
method LinesCombiner.sum_into(_, _, _) - added:
method MethodsCombiner.absorb(_, _) - added:
method MethodsCombiner.combine(_, _) - added:
method MethodsCombiner.identities() - added:
method MethodsCombiner.materialize(_) - added:
method MethodsCombiner.source_identity(_) - added:
module IdentityInterner - added:
module InternedCounts - added:
module MethodsCombiner - added:
static method CoverageAccumulator.executed?(_) - added:
static method CoverageAccumulator.fold(_)
- added:
class MergedFile - added:
constructor MergedFile(_, branches:, methods:) - added:
method MergedFile.absorb(_) - added:
method MergedFile.to_h()
- added:
class CoverageCriterion - added:
constructor CoverageCriterion(_, _) - added:
method CoverageCriterion.exact(_) - added:
method CoverageCriterion.group(_) - added:
method CoverageCriterion.ignore(*) - added:
method CoverageCriterion.maximum(_) - added:
method CoverageCriterion.maximum_drop(_) - added:
method CoverageCriterion.maximum_missed(_, per: …) - added:
method CoverageCriterion.maximum_missed_per_file(_, only: …) - added:
method CoverageCriterion.minimum(_, per: …) - added:
method CoverageCriterion.minimum_per_file(_, only: …) - added:
method CoverageCriterion.minimum_per_group(_, only:) - added:
method CoverageCriterion.primary()
- added:
class GroupTarget < Data.define(:name)
- added:
class Union - added:
constructor Union() - added:
method Union.absorb_entry(_) - added:
method Union.absorb_resultset(_) - added:
method Union.absorb_union(_) - added:
method Union.collector() - added:
method Union.complete?() - added:
method Union.map() - added:
property Union.carrying: reader - added:
property Union.entries: reader - added:
protected method Union.partial_map()
- added:
class Error < StandardError
- added:
const Erb.SEGMENT - added:
const Haml.SCRIPT - added:
const Haml.TAG_SCRIPT - added:
const IndentedTemplate.COMMENT - added:
const IndentedTemplate.RUBY - added:
const IndentedTemplate.TEXT - added:
const Slim.CODE - added:
const Slim.TAG_CODE - added:
const Template.EXTRACTORS - added:
method Haml.convert(_, _) - added:
method IndentedTemplate.ruby_lines(_) - added:
method Slim.convert(_, _) - added:
module Erb - added:
module Haml - added:
module IndentedTemplate - added:
module Slim - added:
module Template - added:
static method Erb.ruby_lines(_) - added:
static method Template.blank(_) - added:
static method Template.ruby_lines(_, _) - added:
static method Template.template?(_)
- removed:
const MaximumCoverageDropCheck.MAX_DROP_ACCURACY - removed:
constructor MaximumCoverageDropCheck(_, _) - removed:
constructor MinimumOverallCoverageCheck(_, _) - removed:
method MaximumCoverageDropCheck.failing?() - removed:
method MaximumCoverageDropCheck.report() - removed:
method MinimumCoverageByFileCheck.failing?() - removed:
method MinimumCoverageByFileCheck.report() - removed:
method MinimumOverallCoverageCheck.failing?() - removed:
method MinimumOverallCoverageCheck.report() - changed:
class MaximumCoverageDropCheck → class MaximumCoverageDropCheck < Check - changed:
class MinimumCoverageByFileCheck → class MinimumCoverageByFileCheck < Check - changed:
class MinimumOverallCoverageCheck → class MinimumOverallCoverageCheck < Check - changed:
constructor MinimumCoverageByFileCheck(_, _) → constructor MinimumCoverageByFileCheck(_, _, _ = …, baseline: …) - changed:
static method ExitCodeHandling.call(_, coverage_limits:) → method ExitCodeHandling.call(_, coverage_limits:) - changed:
static method ExitCodeHandling.coverage_checks(_, _) → method ExitCodeHandling.coverage_checks(_, _) - added:
class BaselineCheck < Check - added:
class Check - added:
class MaximumMissedCheck < Check - added:
class MaximumMissedPerFileCheck < Check - added:
class MaximumOverallCoverageCheck < Check - added:
class MinimumCoverageByGroupCheck < Check - added:
constructor BaselineCheck(_, _) - added:
constructor Check(_, _) - added:
constructor MaximumMissedPerFileCheck(_, _, _ = …, baseline: …) - added:
method BaselineCheck.exit_code() - added:
method Check.failing?() - added:
method Check.report() - added:
method Check.report_lines() - added:
method Check.violations() - added:
method ExitCodeHandling.maximum_missed_per_file_check(_, _) - added:
method ExitCodeHandling.minimum_by_file_check(_, _) - added:
method MaximumMissedCheck.exit_code() - added:
method MaximumMissedPerFileCheck.exit_code() - added:
method MaximumOverallCoverageCheck.exit_code() - added:
method MinimumCoverageByGroupCheck.exit_code()
- removed:
static method MultiFormatter.[](*) - added:
class Base - added:
class BaselineFormatter < Base - added:
class HTMLFormatter < Base - added:
class JSONFormatter < Base - added:
const CoverageJSONWriter.FILENAME - added:
const HTMLFormatter.DATA_MARKER - added:
const HTMLFormatter.LEGACY_REPORT_FILES - added:
const JSONFormatter.FILENAME - added:
constructor Base(silent: …, output_dir: …) - added:
method BaselineFormatter.format(_) - added:
method CoverageJSONWriter.existing_meta(_) - added:
method CoverageJSONWriter.parse_meta(_) - added:
method CoverageJSONWriter.parse_meta_full(_) - added:
method CoverageJSONWriter.parse_meta_head(_) - added:
method CoverageJSONWriter.parse_time(_) - added:
method CoverageJSONWriter.warn_if_concurrent_overwrite(_, _) - added:
method CoverageJSONWriter.write(_, _, _) - added:
method HTMLFormatter.format(_) - added:
method HTMLFormatter.format_from_json(_, _) - added:
method JSONFormatter.format(_) - added:
module CoverageJSONWriter - added:
static method JSONFormatter.build_hash(_, include_source: …)
- added:
module ViewerDataValidator - added:
static method ViewerDataValidator.call(_)
- added:
class ErrorsFormatter - added:
class ResultHashFormatter - added:
class SourceFileFormatter - added:
method ProductionSectionFormatter.call(_ = …) - added:
method ProductionSectionFormatter.files(_) - added:
method ProductionSectionFormatter.section(_) - added:
module ProductionSectionFormatter - added:
static method ErrorsFormatter.call(_) - added:
static method ResultHashFormatter.format(_, include_source: …) - added:
static method SourceFileFormatter.call(_, include_source: …, contexts: …)
- added:
class SkipState - added:
constructor SkipState() - added:
method SkipState.skipping?() - added:
method SkipState.toggle()
- added:
class Base - added:
class GenericAdapter < Base - added:
class ParallelTestsAdapter < Base - added:
static method Base.active?() - added:
static method Base.expected_worker_count() - added:
static method Base.first_worker?() - added:
static method Base.forced_off?() - added:
static method Base.native_wait?() - added:
static method Base.parallel_test_groups_count() - added:
static method Base.wait_for_siblings() - added:
static method GenericAdapter.active?() - added:
static method GenericAdapter.expected_worker_count() - added:
static method GenericAdapter.first_worker?() - added:
static method ParallelTestsAdapter.active?() - added:
static method ParallelTestsAdapter.ensure_loaded() - added:
static method ParallelTestsAdapter.env_suggests_parallel_tests?() - added:
static method ParallelTestsAdapter.expected_worker_count() - added:
static method ParallelTestsAdapter.first_worker?() - added:
static method ParallelTestsAdapter.native_parallel_tests_environment?() - added:
static method ParallelTestsAdapter.native_wait?() - added:
static method ParallelTestsAdapter.wait_for_siblings()
- added:
method WorkerPayload.absorb(_, _, _) - added:
method WorkerPayload.build(_, ignore_timeout:) - added:
method WorkerPayload.pair(_) - added:
module WorkerPayload
- added:
class Error < StandardError - added:
class FileSink - added:
const FileSink.ENVELOPE - added:
const FileSink.FORMAT_VERSION - added:
constructor FileSink(path:) - added:
method FileSink.rewrite(_, _) - added:
method FileSink.store(_) - added:
property FileSink.path: reader - added:
static method FileSink.envelope_of(_, _) - added:
static method FileSink.parse(_, _) - added:
static method FileSink.read(_)
- added:
class FilterConfig - added:
class MissingSourceFilesReporter - added:
class SourceFileBuilder - added:
constructor FilterConfig(filters: …, cover_filters: …, groups: …) - added:
constructor MissingSourceFilesReporter(_, every_entry_dropped:) - added:
constructor SourceFileBuilder(_, not_loaded_files:) - added:
method MissingSourceFilesReporter.message() - added:
method MissingSourceFilesReporter.warn!() - added:
method Serialization.to_hash() - added:
method SourceFileBuilder.call() - added:
module Serialization - added:
property FilterConfig.cover_filters: reader - added:
property FilterConfig.filters: reader - added:
property FilterConfig.groups: reader - added:
property SourceFileBuilder.missing_source_files: reader
- added:
method Contexts.carry(_, _, _) - added:
method LegacyFormatAdapter.call(_) - added:
method LegacyFormatAdapter.pre_0_18?(_) - added:
method LegacyFormatAdapter.upgrade(_) - added:
method ResultsetFile.decode(_) - added:
method ResultsetFile.drop_malformed_entries(_) - added:
method ResultsetFile.invalid_resultset() - added:
method ResultsetFile.parse(_) - added:
method ResultsetFile.read(_) - added:
method ResultsetFile.well_formed_entry?(_) - added:
method ResultsetRunIdentity.concurrent_runner_entry?(_, _ = …) - added:
method ResultsetRunIdentity.current_run_entry?(_, _, _) - added:
method ResultsetRunIdentity.fresh_entry?(_, _) - added:
method ResultsetRunIdentity.worker_identities_for_run(_, _, _) - added:
method ResultsetRunIdentity.written_after_start?(_, _) - added:
method ResultsetStore.holding_writelock() - added:
method ResultsetStore.open_file(_, _) - added:
method ResultsetStore.resultset_path() - added:
method ResultsetStore.synchronize() - added:
method ResultsetStore.with_flock() - added:
method ResultsetStore.write(_) - added:
method ResultsetStore.writelock_path() - added:
method UnloadedFiles.carries?(_, _) - added:
method UnloadedFiles.carry_tracked(_, _, _) - added:
method UnloadedFiles.collector(_) - added:
method UnloadedFiles.inject(_, _) - added:
method UnloadedFiles.never_executed(_) - added:
method UnloadedFiles.tracked_in(_) - added:
module Contexts - added:
module LegacyFormatAdapter - added:
module ResultsetFile - added:
module ResultsetRunIdentity - added:
module ResultsetStore - added:
module UnloadedFiles
- added:
method Accessors.run_id() - added:
method Accessors.worker_id() - added:
module Accessors
- added:
class BranchBuilder - added:
class LineBuilder - added:
class Method - added:
class MethodBuilder - added:
class SkipChunks - added:
class Statistics - added:
const SourceLoader.RUBY_FILE_ENCODING_MAGIC_COMMENT_REGEX - added:
const SourceLoader.SHEBANG_REGEX - added:
constructor BranchBuilder(_) - added:
constructor LineBuilder(_) - added:
constructor Method(_, _, _) - added:
constructor MethodBuilder(_) - added:
constructor SkipChunks(_, _) - added:
constructor Statistics(_) - added:
method BranchBuilder.call() - added:
method BuilderContext.real_source_positions() - added:
method BuilderContext.skip_chunks_for(_) - added:
method LineBuilder.call() - added:
method Method.covered?() - added:
method Method.lines() - added:
method Method.missed?() - added:
method Method.overlaps_with?(_) - added:
method Method.skipped!() - added:
method Method.skipped?() - added:
method Method.to_s() - added:
method MethodBuilder.call() - added:
method RubyDataParser.call(_) - added:
method RubyDataParser.const_path(_) - added:
method RubyDataParser.literal_text(_) - added:
method RubyDataParser.parse_array_string(_) - added:
method RubyDataParser.parse_cache() - added:
method RubyDataParser.parse_element(_) - added:
method RubyDataParser.quote_inspected_class_segments(_) - added:
method RubyDataParser.unescape_ruby(_) - added:
method SkipChunks.chunks_for(_) - added:
method SkipChunks.directive_chunks() - added:
method SkipChunks.nocov_chunks() - added:
method SourceLoader.call(_) - added:
method SourceLoader.ensure_remove_undefs(_) - added:
method SourceLoader.make_utf8(_) - added:
method SourceLoader.open_file(_, _) - added:
method SourceLoader.read_lines(_, _, _) - added:
method SourceLoader.scrub_invalid(_) - added:
method SourceLoader.set_encoding_based_on_magic_comment(_, _) - added:
method SourceLoader.shebang?(_) - added:
method Statistics.call() - added:
module BuilderContext - added:
module RubyDataParser - added:
module SourceLoader - added:
property Method.class_name: reader - added:
property Method.coverage: reader - added:
property Method.end_col: reader - added:
property Method.end_line: reader - added:
property Method.method_name: reader - added:
property Method.source_file: reader - added:
property Method.start_col: reader - added:
property Method.start_line: reader - added:
static property SkipChunks.nocov_warned: reader
- added:
class Visitor < Prism::Visitor - added:
const ConditionFolding.CONTAINER_CONTENTS_NEED_STATIC_LITERALS - added:
const ConditionFolding.ELIMINABLE_READ_TYPES - added:
const ConditionFolding.FALSY_CONDITION_TYPES - added:
const ConditionFolding.PAREN_OPAQUE_TYPES - added:
const ConditionFolding.STATIC_CONDITION_TYPES - added:
const ConditionFolding.STATIC_LITERAL_LEAF_TYPES - added:
const PrismCompat.ELSE_CLAUSE_METHOD - added:
const PrismCompat.IF_NODE_SUBSEQUENT_METHOD - added:
constructor Visitor() - added:
method MethodCollector.visit_class_node(_) - added:
method MethodCollector.visit_def_node(_) - added:
method MethodCollector.visit_module_node(_) - added:
method PrismCompat.else_clause(_) - added:
method PrismCompat.subsequent(_) - added:
method ValuePositions.call(_) - added:
method ValuePositions.mark(_, _, _) - added:
method ValuePositions.tail_children(_, _) - added:
method Visitor.visit_call_node(_) - added:
method Visitor.visit_case_match_node(_) - added:
method Visitor.visit_case_node(_) - added:
method Visitor.visit_if_node(_) - added:
method Visitor.visit_match_predicate_node(_) - added:
method Visitor.visit_match_required_node(_) - added:
method Visitor.visit_program_node(_) - added:
method Visitor.visit_unless_node(_) - added:
method Visitor.visit_until_node(_) - added:
method Visitor.visit_while_node(_) - added:
module ConditionFolding - added:
module LocationConventions - added:
module MethodCollector - added:
module PrismCompat - added:
module ValuePositions - added:
property Visitor.branches: reader - added:
property Visitor.methods: reader
- added:
class FOLDS_SOURCE_FILE < Gem::Version.new(RUBY_VERSION)
- added:
class LEGACY_COVERAGE_LOCATIONS < Gem::Version.new(RUBY_VERSION) - added:
class PointLocation < Data.define(:start_line, :start_column, :end_line, :end_column)
- added:
class ConstantWatch < Module - added:
class Delta - added:
constructor ConstantWatch(_) - added:
constructor Delta(root_regex:) - added:
method Accessors.start_test_tracking() - added:
method Accessors.test_tracker() - added:
method Accessors.track_test(_) - added:
method ConstantWatch.attach(_) - added:
method ConstantWatch.notice(_) - added:
method Delta.call(_, _) - added:
method MinitestRun.run() - added:
module Accessors - added:
module MinitestRun
- added:
method TemplateCompiler.available?() - added:
method TemplateCompiler.build_template(_, _) - added:
method TemplateCompiler.call(_) - added:
method TemplateCompiler.compile_into_throwaway_module(_) - added:
method TemplateCompiler.format_for(_) - added:
method TemplateCompiler.handler_for(_) - added:
module TemplateCompiler