Skip to content

Latest commit

 

History

History
81 lines (68 loc) · 3.01 KB

CHANGES.md

File metadata and controls

81 lines (68 loc) · 3.01 KB

0.7.0

  • Implement rule templates: tags and conditions from a rule named [!template] will be prepended to each following rule. Use bodyless [!template] if you need to reset the template.
  • Fix incorrect glob matching bug when there were file patterns with the only difference in a leading slash (such as /README.md and README.md) in the ruleset.
  • --dump-config option is now considered internal and is hidden from the help.

0.6.0

  • Expand tilde in root paths.
  • Implement include directive in configs, so configs now can include each other.
  • Add vim syntax file and zsh completions.

0.5.0

  • Add windows and macos support.
  • Improve reporting of config parse errors.
  • Implement size and lines conditions checking file size and number if lines respectively.
  • Support complex globs with quotes and escapes (like in shell, e.g. "program output "\[[0-9]\].txt which would match program output [1].txt).

0.4.0

  • Fix incorrect match reporting level (files vs. lines) in some cases.
  • Fix incorrect line match reporting despite of match preconditions not satisfied.
  • Fix first parser eating away first character of exclude regexps.
  • Improve ruleset syntax.
    • Don't use backslash escaping in rule titles, literal ] may now be written as ]].
    • Don't use backslash escaping in regexps - it's not really needed as (almost) any framing characters are allowed.
    • Support unicode framing characters in regexps.
    • Disallow brackets as regexp framing characters to avoid confusion.
  • Implement parsed config dumping (may be useful in future for config format migration).
  • Allow to delimit tags with commas in CLI (--ignore-tags=foo,bar,baz).
  • Make tags case insensitive.
  • Improve glob and regexp matching performance.
  • Don't panic with unhelpful message when non-directory is specified as root.
  • No longer rely on rust unstable features and thus require rust nightly.
  • Make some features conditionally compiled.

0.3.0

  • Switch to custom config format.
  • Support filtering rules by tags.
  • Support negative conditions (nofiles and nomatch).
  • Support much more complex condition structure consisting of multiple positive and negative glob checks with multiple positive and negative content checks.
  • Support multiple patterns (both globs and regexps) per condition.
  • Support exclusion patterns (both globs and regexps).
  • Support JSON output.
  • Support multiple text output modes.
  • Support output coloring.
  • Optimize matching engine which now does both directory traversal and file content checking in single pass.
  • Support processing multiple roots in parallel, further improving the performance.
  • Support --error-exit option.
  • Support inline omnilinter: ignore markers.

0.2.0

  • Support checks for file existence only, without looking at content.
  • Support full path reporting.
  • Support default config.

0.1.0

  • Proof of concept release featuring YAML based config, single files and match conditions per rule, unoptimized engine and simple text output.