credo v1.5.0 Release Notes

    • Credo now requires Elixir 1.7 or newer
    • ๐Ÿ”จ Refactor check runner (much faster now for common scenarios)
    • โž• Add param allow_acronyms to check Credo.Check.Readability.FunctionNames
    • โž• Add name of check to message when printing issues with --verbose
    • โž• Add support for "dynamic" tagging for checks via .credo.exs

      # Overwrite all tags for FooCheck {FooCheck, [tags: [:my_tag]]}

      # Add tags for FooCheck {SomeCredoCheck, [tags: [:initial, :my_tag]]}

    Tags can then be used as usual, via the CLI switch --checks-with[out]-tag:

      # Only run checks tagged `:my_tag` during analysis
      $ mix credo --checks-with-tag my_tag
    
      # Exclude all checks tagged `:my_tag` from analysis
      $ mix credo --checks-without-tag my_tag
    

    ๐Ÿ†• New switch to enable file watcher

    You can now ask Credo to re-run on file changes:

      $ mix credo --watch
    

    ๐Ÿ†• New diff command

    You can now ask Credo to only report changes in files that were changed since a given Git ref:

      $ mix credo diff HEAD^
      $ mix credo diff master
    

    ๐Ÿš€ You can, of course, combine this with the new --watch switch to iteratively fix issues that have come up since the last release:

      $ mix credo diff v1.4.0 --watch
    

    ๐Ÿ†• New general check param :files

    You can now include/exclude specific files or patterns for specific checks.

    The syntax is the same as for the top-level :files key: