View Source Changelog
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
Unreleased changes post [1.4.7]
[1.4.7] - 2025-11-05
[1.4.6] - 2025-08-09
### Fixed
CallWithoutOpaquefunction clause error on OTP-28invalid_contractwarning showed spec twice instead of success typing
### Changed
- Update
ex_docto the latest version for an improved UI
### Docs
- 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
### CI
- Update the Ubuntu version used in CI to 24.04
[1.4.5] - 2024-11-17
### Fixed
- Crash when default ignore file missing and custom file specified
- Revert format option ignore_file_string to ignore_file_strict
[1.4.4] - 2024-09-28
### Fixed
- Invalid contract formatting failed on OTP 26 & later.
- Empty ignore files are ignored.
- Several improvements and corrections to documentation.
### Changed
- Updated Erlex minimum version to 0.27, bringing in several fixes and improvements.
### Added
- Multiple formatters can be used in the same invocation.
[1.4.3] - 2023-12-28
### Fixed
- Warnings with line & column.
- Formatting of
:record_matchwarning.
[1.4.2] - 2023-10-21
### Changed
- Revert minimum required Elixir version back to 1.6.
- Improved performance in calculating Umbrella dependencies.
[1.4.1] - 2023-08-30
### Changed
- Bump minimum required Elixir version to 1.12.
[1.4.0] - 2023-08-27
Added
- --quiet-with-result flag.
Changed
- (docs) Improved caching behaviour in example templates.
Fixed
- Erroneous "DEPENDENCY MISSING" message in Elixir 1.15.
- Handle transitive optional dependencies in Elixir 1.15.
[1.3.0] - 2023-04-08
Added
- Elixir 1.15 support.
- Support for warning
:callback_not_exported.
Changed
- Several improvements to documentation, particularly Github CI documentation.
Removed
- Support for
:race_conditionsflag which was removed from Erlang.
Fixed
- Crash when
mix.lockis missing.
[1.2.0] - 2022-07-20
Added
- "github" formatter.
[1.1.0] - 2021-02-18
Added
- 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.
Fixed
- Fixes and improvements to README and documentation.
- Fixed
mix.lockhash stability. Will cause a recheck of PLTs on first usage in each project.
Changed
- Improved wording of argument mismatch warnings.
[1.0.0] - 2020-03-16
Changed
- Deprecated
plt_add_depsmodes:transitive,project. Useapp_treeandapps_directinstead. - Moved Explain text to
@moduledoc.
Fixed
- 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.
[1.0.0-rc.7] - 2019-09-21
Changed
- Halt with a non-zero exit status by default; swap
--halt-exit-statusfor--ignore-exit-status.
Added
- OTP 22 compatibility in
:fun_app_argswarning. - Support for
:map_updatewarning. - Report elapsed time in building/updating PLT.
Fixed
- 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.
[1.0.0-rc.6] - 2019-04-02
Fixed
- Improved warning formatting for unknown types/functions
[1.0.0-rc.5] - 2019-03-26
Added
plt_ignore_appsoption to ignore specific dependencies
Removed
- Removed instructions for global (mix archive) installation. Installing as a per-project mix dependency is the only supported method.
Changed
- Updated many short warning formats to be shorter and more consistent
Fixed
- Pretty print for a few warnings
- Improved wording in explanations
- Fix raw format and add all formats to CI
[1.0.0-rc.4] - 2018-10-31
Added
- Regex support in Elixir Term Format ignore entries.
Changed
- Extracted parsing / pretty printing to separate library: erlex.
Fixed
- Parsing, formatting fixes.
[1.0.0-rc.3] - 2018-06-30
Fixed
- Parsing, formatting fixes.
- OptionParser fixes - remove unimplemented options.
[1.0.0-rc.1-2] - 2018-06-14
Fixed
- Exception handling around formatter.
- hex package file list.
[1.0.0-rc.0] - 2018-06-13
Added
- 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.
[0.5.1] - 2017-07-29
Added
- Elixir 1.5 support.
[0.5.0] - 2017-02-21
Changed
- Use
:dialyzerAPI to run analysis rather than shelling the dialyzer CLI