All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
Versions follow Semantic Versioning 2.0
- Crash when default ignore file missing and custom file specified
- Revert format option ignore_file_string to ignore_file_strict
- Invalid contract formatting failed on OTP 26 & later.
- Empty ignore files are ignored.
- Several improvements and corrections to documentation.
- Updated Erlex minimum version to 0.27, bringing in several fixes and improvements.
- Multiple formatters can be used in the same invocation.
- Warnings with line & column.
- Formatting of
:record_match
warning.
- Revert minimum required Elixir version back to 1.6.
- Improved performance in calculating Umbrella dependencies.
- Bump minimum required Elixir version to 1.12.
- --quiet-with-result flag.
- (docs) Improved caching behaviour in example templates.
- Erroneous "DEPENDENCY MISSING" message in Elixir 1.15.
- Handle transitive optional dependencies in Elixir 1.15.
- Elixir 1.15 support.
- Support for warning
:callback_not_exported
.
- Several improvements to documentation, particularly Github CI documentation.
- Support for
:race_conditions
flag which was removed from Erlang.
- Crash when
mix.lock
is missing.
- "github" formatter.
- Configuration option to set the project's PLT path:
:plt_local_path
. - Project configuration setting to exclude files based on a regex:
:exclude_files
. explain
text for:missing_range
warning.
- Fixes and improvements to README and documentation.
- Fixed
mix.lock
hash stability. Will cause a recheck of PLTs on first usage in each project.
- Improved wording of argument mismatch warnings.
- Deprecated
plt_add_deps
modes:transitive
,project
. Useapp_tree
andapps_direct
instead. - Moved Explain text to
@moduledoc
.
- Warning pretty printing and message fixes/improvements.
- Prevent crash when short_format fails.
- Ensure path to PLT target directory exists.
- Bumped required
erlex
for formatting fix.
- Halt with a non-zero exit status by default; swap
--halt-exit-status
for--ignore-exit-status
.
- OTP 22 compatibility in
:fun_app_args
warning. - Support for
:map_update
warning. - Report elapsed time in building/updating PLT.
- Warnings for protocols not implemented for built-in types.
- Fix ANSI disabling - its now actually possible to disable ANSI.
- Improve wording and fix grammar/punctuation in many warnings.
- Improved warning formatting for unknown types/functions
plt_ignore_apps
option to ignore specific dependencies
- Removed instructions for global (mix archive) installation. Installing as a per-project mix dependency is the only supported method.
- Updated many short warning formats to be shorter and more consistent
- Pretty print for a few warnings
- Improved wording in explanations
- Fix raw format and add all formats to CI
- Regex support in Elixir Term Format ignore entries.
- Extracted parsing / pretty printing to separate library: erlex.
- Parsing, formatting fixes.
- Parsing, formatting fixes.
- OptionParser fixes - remove unimplemented options.
- Exception handling around formatter.
- hex package file list.
- Parsing Erlang terms from
dialyzer
warnings and pretty-printing as Elixir terms. - Format options: short, raw, dialxyir dialyzer.
- Ignore rules can be supplied in Elixir term format.
- Elixir 1.5 support.
- Use
:dialyzer
API to run analysis rather than shelling the dialyzer CLI