Skip to content

3.18.0

Choose a tag to compare

@tiny-earth-moon tiny-earth-moon released this 04 Nov 07:04
· 38 commits to master since this release
3.18.0
487d741

Enhancements

  • A JSON Schema of the configuration file, outskirts.schema.json (generated by outskirts config schema), with one entry per setting: type, description, default and allowed values. The examples/*.yml files and the file written by scan --setup start with the yaml-language-server comment for editor completion. New outskirts config check [--config <file>] [--project-root <dir>] validates a configuration file without scanning: unknown keys (with a suggestion), wrong types, quoted booleans, invalid report_exclude entries, retain_attributes, baseline and output paths; exits 1 on any problem. Closes #228 and the config check part of #227.
  • --changed-since <ref> (changed_since) keeps only the results whose file changed since the merge base of <ref> and HEAD, committed, uncommitted or untracked changes included; --changed-lines (changed_lines) further keeps only the results whose line falls inside a changed hunk. The whole project is still analysed; the filter runs after the baseline. Outside a git work tree or with an unknown ref the scan stops with an explicit error. The README gains a "Pull request checks" paragraph. Closes #231.
  • --quiet prints nothing on stdout when a scan reports no result, in every format; together with --write-results <file> the report goes to the file only. Exit statuses are unchanged. Closes #296 (requested upstream in peripheryapp/periphery#933 and #1129).
  • README: Baseline section, GitHub Actions and GitLab CI recipes, Framework conventions section, configuration schema and config check documentation; CONTRIBUTING: "Adding an option" checklist.