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
- Bump Erlex to 0.2.8, fixes #574.
CallWithoutOpaquefunction clause error on OTP-28invalid_contractwarning showed spec twice instead of success typing
- Update
ex_docto the latest version for an improved UI
- Add a note about the
:unknownflag to the "Default Flags" section in the README - Fix dead hex doc links by including CI config docs in
mix.exs's:docs - Fix a typo in the README
- Update the Ubuntu version used in CI to 24.04
- 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_matchwarning.
- 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_conditionsflag which was removed from Erlang.
- Crash when
mix.lockis 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. explaintext for:missing_rangewarning.
- Fixes and improvements to README and documentation.
- Fixed
mix.lockhash stability. Will cause a recheck of PLTs on first usage in each project.
- Improved wording of argument mismatch warnings.
- Deprecated
plt_add_depsmodes:transitive,project. Useapp_treeandapps_directinstead. - 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
erlexfor formatting fix.
- Halt with a non-zero exit status by default; swap
--halt-exit-statusfor--ignore-exit-status.
- OTP 22 compatibility in
:fun_app_argswarning. - Support for
:map_updatewarning. - 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_appsoption 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
dialyzerwarnings 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
:dialyzerAPI to run analysis rather than shelling the dialyzer CLI