All Versions
115
Latest Version
Avg Release Cycle
8 days
Latest Release
-

Changelog History
Page 2

  • v1.5.4 Changes

    • ๐Ÿ›  Fix bug where :exit_status was not a valid option for use Credo.Check
    • ๐Ÿ›  Fix bug where mix credo diff exited with a non-zero exit status even if no issues were shown
    • mix credo diff now fails with an error if the given ref was not found
  • v1.5.3 Changes

    • ๐Ÿ›  Fix bug in diff and version command when git is not installed
  • v1.5.2 Changes

    • ๐Ÿ›  Fix output bug in diff command
    • ๐Ÿ›  Fix bug in diff command when run on a Git ref that does not contain a given --config-name
    • ๐Ÿ›  Fix bug in all commands when a given --config-name is not found
    • ๐Ÿ›  Fix false positive in Credo.Check.Warning.ExpensiveEmptyEnumCheck
    • ๐Ÿ›  Fix false positive in Credo.Check.Refactor.PipeChainStart regarding custom operators
    • ๐Ÿ›  Fix --version to include pre version and build info for unpublished versions (e.g. when the dep is included via path: or github:)
  • v1.5.1 Changes

    • ๐Ÿ›  Fix bug in diff command when run on a subdirectory of a Git repository
    • ๐Ÿ›  Fix bug in new general param :files when excluding files
  • v1.5.0 Changes

    • 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:

  • v1.4.1 Changes

    • Ensure compatibility with Elixir 1.11.0
  • v1.4.0 Changes

    April 19, 2020
    • ๐Ÿš€ Credo's schema for pre-release names changes: There is now a . after the rc like in many other Elixir projects.

    • โž• Add support for explaining checks (in addition to issues), i.e.

      $ mix credo explain Credo.Check.Design.AliasUsage

    • โž• Add support for tags on checks

    Checks can now declare tags via the __using__ macro, i.e.

      defmodule MyCheck do
        use Credo.Check, tags: [:foo]
    
        def run(%SourceFile{} = source_file, params) do
          #
        end
      end
    

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

      # Only run checks tagged `:foo` during analysis
      $ mix credo --checks-with-tag foo
    
      # Exclude all checks tagged `:foo` from analysis
      $ mix credo --checks-without-tag foo
    
    • โž• Add validation of check params in config

    If a param is not found, Credo checks for mispellings and suggests corrections:

      $ mix credo
      ** (config) Credo.Check.Design.AliasUsage: unknown param `fi_called_more_often_than`. Did you mean `if_called_more_often_than`?
    
    • โž• Add auto-generated check docs
    • โž• Add new documentation on Hex with extra guides and CHANGELOG
  • v1.4.0-rc.2

    April 10, 2020
  • v1.4.0-rc.1 Changes

    April 02, 2020
    • ๐Ÿš€ Credo's schema for pre-release names changes: There is now a . after the rc like in many other Elixir projects.

    • โž• Add support for explaining checks (in addition to issues), i.e.

      $ mix credo explain Credo.Check.Design.AliasUsage

    • โž• Add support for tags on checks

    Checks can now declare tags via the __using__ macro, i.e.

      defmodule MyCheck do
        use Credo.Check, tags: [:foo]
    
        def run(source_file, params) do
          #
        end
      end
    

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

      # Only run checks tagged `:foo` during analysis
      $ mix credo --checks-with-tag foo
    
      # Exclude all checks tagged `:foo` from analysis
      $ mix credo --checks-without-tag foo
    
    • โž• Add validation of check params in config

    If a param is not found, Credo checks for mispellings and suggests corrections:

      $ mix credo
      ** (config) Credo.Check.Design.AliasUsage: unknown param `fi_called_more_often_than`. Did you mean `if_called_more_often_than`?
    
    • โž• Add auto-generated check docs
    • โž• Add new documentation on Hex with extra guides and CHANGELOG
  • v1.3.2 Changes

    March 27, 2020
    • ๐Ÿ‘Œ Support non-ascii characters in variable names
    • ๐Ÿ›  Fix false positive in Credo.Check.Readability.ParenthesesOnZeroArityDefs