CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.21.0] - 2022-11-19
### Fixed
- Recognize protocol implementations
## [0.20.0] - 2022-10-11
### Fixed
- Recognize `@opaque` struct typespecs.
## [0.19.0] - 2022-7-19
### Fixed
- `mix doctor.explain` now works in umbrella projects
- Properly measure documentation coverage in nested modules
- Properly measure documentation with `__using__`
- Fix `@moduledoc` detection for older elixir versions
## [0.18.0] - 2021-5-27
- @doc false assumes no explicit spec and does not count against results
- Support for using macro (thanks to @pnezis)
- No reporting of missing docs for exception modules (thanks to @pnezis)
## [0.17.0] - 2021-1-11
- Bumped up the Elixir version due to use of Mix.Task.recursing/0
## [0.16.0] - 2020-12-27
- Fixed spec coverage bug
- Added ability to filter modules using Regex
## [0.15.0] - 2020-6-23
### Added
- Added `mix doctor.explain` command so that it is easier to debug why a particular module is failing validation
### Fixed
- Modules with behaviours that are aliased were not being counted properly
## [0.14.0] - 2020-3-19
### Added
- Additional configuration option struct_type_spec_required that checks for struct module type specs
## [0.13.0] - 2020-5-20
### Fixed
- Fixed spec coverage for behavior callbacks
## [0.12.0] - 2020-3-19
### Added
- Ability to aggregate umbrella results into one report
- Ability to pass custom path to config file
- CLI docs via `mix help doctor` and `mix help doctor.gen.config`
## [0.11.0] - 2020-1-29
### Added
- Ability to pass in a file name as a string for ignore_paths
## [0.10.0] - 2019-11-20
### Added
- Ability to raise from Mix when an error is encountered
## [0.9.0] - 2019-11-11
### Fixed
- .doctor.exs file not found at root of umbrella project
## [0.8.0] - 2019-6-20
### Fixed
- Fixed Decimal math when module contains no doc coverage
## [0.7.0] - 2019-6-10
### Added
- Travis CI and tests
### Fixed
- Incorrect reporting on failed modules
## [0.6.0] - 2019-6-5
### Added
- Short reporter
### Fixed
- Incorrect spec coverage
## [0.5.0] - 2019-6-2
### Changed
- Fixed counting issue when there are multiple modules in a single file
- Changed reporters around to be more DRY and share report calculation functionality
- Added tests for Doctor reporting functionality
## [0.4.0] - 2019-1-23
### Changed
- Loaded application vs starting the application to avoid Ecto errors connecting to DB during Doctor validation
## [0.3.0] - 2018-11-30
### Changed
- Updated dependencies and fixed depreciation warning
## [0.2.0] - 2018-11-30
### Fixed
- Umbrella project exit status code
## [0.1.0] - 2018-10-04
### Added
- Initial release of Doctor.