All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Recognize protocol implementations
- Recognize
@opaque
struct typespecs.
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
- @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)
- Bumped up the Elixir version due to use of Mix.Task.recursing/0
- Fixed spec coverage bug
- Added ability to filter modules using Regex
- Added
mix doctor.explain
command so that it is easier to debug why a particular module is failing validation
- Modules with behaviours that are aliased were not being counted properly
- Additional configuration option struct_type_spec_required that checks for struct module type specs
- Fixed spec coverage for behavior callbacks
- Ability to aggregate umbrella results into one report
- Ability to pass custom path to config file
- CLI docs via
mix help doctor
andmix help doctor.gen.config
- Ability to pass in a file name as a string for ignore_paths
- Ability to raise from Mix when an error is encountered
- .doctor.exs file not found at root of umbrella project
- Fixed Decimal math when module contains no doc coverage
- Travis CI and tests
- Incorrect reporting on failed modules
- Short reporter
- Incorrect spec coverage
- 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
- Loaded application vs starting the application to avoid Ecto errors connecting to DB during Doctor validation
- Updated dependencies and fixed depreciation warning
- Umbrella project exit status code
- Initial release of Doctor.