Changelog
View SourceAll notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
0.5.2 - 2026-02-27
Fixed
Made
erlexa required (non-optional) dependency so that Erlang-to-Elixir type conversion works in consuming projects. Previously erlex was optional, meaning projects using assay would see raw Erlang notation (e.g.'Elixir.String':t()) in Success typing and Diff sections unless they explicitly added erlex to their own deps.Code snippet line numbers now render inside the
│border with a single gutter (e.g.│ 44 codeinstead of44 │ code).
0.5.1 - 2026-02-26
Fixed
- GitHub annotations now display the rich formatted body (code snippets, diffs,
suggestions) instead of the raw Dialyzer message. The formatted body is encoded
in the
::warningmessage parameter so GitHub renders it in the annotation popup.
0.5.0 - 2026-02-26
Improved
--format githubnow emits a rich elixir-style text body (code snippets, context lines) after the::warningannotation line, making CI output more readable without requiring a separate--format elixirpass.
Fixed
- Umbrella project path resolution: Dialyzer reports paths relative to each
umbrella app (e.g.
lib/api/admin/chat_context.ex), which failed to resolve when expanded against the project root. Assay now searchesMix.Project.apps_paths()to find the correct file under umbrella app directories.
0.4.0 - 2026-02-24
Added
--no-compileflag formix assayto skip compilation before running Dialyzer. Useful in CI pipelines where the project is already compiled. Follows the convention used bymix test,mix credo, and Dialyxir.- Clear error messages when
--no-compileis used with long-running modes (mix assay.watch,mix assay.daemon,mix assay.mcp) that require recompilation on each analysis cycle.
0.3.0 - 2026-01-07
Fixed
- Several bug and documentation fixes.
0.2.0 - 2026-01-07
Added
- JSON-RPC daemon (
mix assay.daemon) for programmatic access. - MCP server (
mix assay.mcp) for editor/LSP/agent integrations. - Igniter-powered installer (
mix assay.install). - Watch mode (
mix assay.watch) with debounced re-analysis. - Multiple output formats:
text,elixir,github,sarif,json,llm. dialyzer_ignore.exsfiltering.- Umbrella project support.
- CI workflow generation (GitHub Actions, GitLab CI).
0.1.0 - 2026-01-06
Added
- Initial release with incremental Dialyzer support.
- Basic CLI via
mix assay.