- Make asdf current check backwards compatible with asdf 0.15 and older.
- Breaking change: Fix asdf check to support asdf 0.16+. When using asdf versions
lower than 0.15, medic should be pinned to
~> 1.0
.
bin/dev/doctor
created by themix gen.medic
supports eithermise
orasdf
.- Add
Medic.Checks.ToolVersions
with same API asMedic.Checks.Asdf
, but which checks for the existence of either mise-en-place or asdf.
Medic.Checks.Corepack
can be used without asdf.
Medic.Checks.Hex.local_rebar_installed?
determined rebar path based onMIX_HOME
.
- Only load local checks with
.ex
or.exs
file extensions.
- Fixed
Medic.Checks.Hosts
- Added
Medic.Checks.Hosts
Medic.Checks.Postgres.database_exists?
accepts a:remedy
option.
** Reverted
- Checks may include atoms in arguments.
- Local checks are reloaded after pulling code during update.
- NPM uses
--include=dev
instead of--dev
. - Corepack check handles any error code.
- Fix
:build_mix
update step to split dev/test compilation, to handle deps that are only in one or the other.
:build_mix
compiles deps for test as well as dev. This makes sure that any libraries including formatters are compiled prior to those formatters being run from LSP (which is often run in MIX_ENV=test).- Add libpq environment variable note to postgres check documentation.
mix.gen.medic
template fordoctor.exs
has fewer checks enabled.- More Postgres checks accept a
:remedy
option.
- Postgres checks accept
:username
to pass topsql
. - Checks can handle arguments in the format,
binary, key: value
.
- Return an error when
Medic.Checks.Postgres.correct_version_running?
can't determine either the desired or the running version.
- Fix
Medic.Checks.Hex.local_rebar_installed?
check for Elixir 1.14.
- Bash
step
function exits with non-zero status code on failure. - Bash
check
function exits with the check's exit code on failure.
mix gen.medic
installsaudit
,format
, andshipit
scripts.- Fix the
step
bash to output multiline text on check failures.
- Update dependencies.
- Update source links.
Medic.Test.run
can take a list of options which are then appended to themix test
command.
Medic.Checks.Postgres.correct_data_directory?
andMedic.Checks.Postgres.running?
now accept aremedy
option in case the default value is not sufficient.
- NPM checks accept :prefix option to specify directory (defaulting to assets)
- Fix bug in NPM check's handling of
cd
option.
- NPM check accepts a
cd
option to change the working directory.
- Homebrew bundle check can specify a bundle file
- Hex checks can be run in subdirectories.
- Fix NPM.all_packages_installed? return value when
npm ls
returns non-zero exit.
- Only compile out-of-date deps when running
build_mix
in update.
- Fix
Medic.Checks.NPM.all_packages_installed?/0
check for unmet dependencies. Usesnpm ls
in place ofnpm outdated
.
- Add
Medic.Checks.Git.uses_ssh?/1
to force SSH instead of HTTPS.
- Improved support for Linux.
- Tests fail if any compilation warnings are generated by the test scripts.
- Add
Medic.Checks.Hex.packages_compiled?/0
- Add
:build_mix
Update command, which runspackages_compiled?
to only run if deps require compilation.
- Add
Medic.Checks.Hex.local_rebar_installed?/0
- Add
Medic.Checks.Chromedriver.chrome_installed?/0
. Medic.Checks.Chromedriver.unquarantined?/0
suggestsbrew install
rather thanbrew bundle
.
- Add file existence checks to
Direnv
andHomebrew
.
-
[breaking change] Medic looks for files at:
.medic/doctor.exs
.medic/update.exs
See docs at https://hexdocs.pm/medic/Medic.Update.html
- [breaking change]
Medic.Update
now requires.medic.update.exs
config file. See docs at https://hexdocs.pm/medic/Medic.Update.html
- Skip checks by creating files at
.medic/skipped
- Load local checks from
.medic/checks
- Initial release