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.
[0.1.7] - 2026-06-02
Fixed
- Fix stray spaces in module names caused by
<wbr />line-break hints in ExDoc HTML. - Fix Dash/Zeal qualified lookups by indexing function, type, callback, and macro entries with fully-qualified names (
Module.member/arity).
Changed
- Update
doctorto~> 0.23anddecimalto~> 3.1to resolve a moderate DoS vulnerability (GHSA-rhv4-8758-jx7v).
[0.1.6] - 2026-03-14
Added
- Add
--extra-packageso docsets can be generated for Hex packages that are not declared in the target project'smix.exs. - Support versioned extra package specs such as
phoenix_live_view@1.1.16.
Changed
- Change
--extra-packageto build only the explicitly requested extra packages when no--packagefilter is given. - Resolve the latest stable Hex.pm version automatically when
--extra-packageis given without an explicit version. - Update CLI output and documentation to reflect extra package support.
- Show textual progress updates while resolving, downloading, building, and installing docsets.
- Clarify the
flokisetup requirement and the new--extra-packagebehavior in the README examples.
Fixed
- Continue generating docsets when a crawled HTML page returns
404but is not a required entry page.
[0.1.4] - 2026-03-14
Fixed
- Correct the published documentation examples so the dependency snippet points to the current release and the supported
:dev/:testenvironments.
[0.1.3] - 2026-03-14
Fixed
- Correctly reuse the current Mix project context when
mix zeal.docsruns from inside the target project. - Start
:exqlitebefore indexing docsets so the task works reliably inside consuming projects. - Finalize the supported integration model as a Mix development dependency executed from the target project root.
Changed
- Document the supported workflow as
mix zeal.docs .from inside the target project. - Clarify the
flokienvironment requirement when the consuming project restricts it to:testonly.
[0.1.2] - 2026-03-14
Fixed
- Remove the incorrect global-installation guidance and document the supported usage as a Mix development dependency.
Changed
- Stop documenting
escriptand Mix archive as supported distribution formats. - Document
mix zeal.docsas a task provided by addingzeal_docsetsto a target project's development dependencies.
[0.1.1] - 2026-03-14
Changed
- Detect the default Zeal docsets directory by platform.
- Build temporary workspace files outside the project repository by default.
- Improve CLI ergonomics by allowing the Zeal path argument to be optional.
- Summarize missing custom icons at the end of a run instead of printing one warning per package.
- Move Dialyzer PLTs to
.dialyzer/instead ofpriv/. - Replace Sobelow with a quality toolchain tailored to this CLI/library project.
Fixed
- Escape values written to
Info.plistandmeta.json. - Handle missing URI paths defensively in the HexDocs crawler.
- Keep test output clean by capturing CLI report output correctly.
- Align HexDocs and inline documentation with the current CLI behavior.
Added
- Simple retry logic for transient HTTP failures.
- Additional CLI and runner test coverage.
mix qualityalias combining formatting, compilation, tests, linting, auditing, documentation checks, and duplication checks.
[0.1.0] - 2026-03-14
Added
- Initial release.
- Read direct Hex dependencies from
mix.exsand exact versions frommix.lock. - Mirror HTML documentation from hexdocs.pm using a BFS crawler (pure Elixir, no external tools required).
- Generate Zeal/Dash-compatible
.docsetbundles with:Contents/Info.plist(Apple plist format)Contents/Resources/docSet.dsidx(SQLite search index)Contents/Resources/Documents/docs/{package}/(mirrored HTML)icon.png/icon@2x.png(package logo when available)meta.json(name, title, version)
- Search index covers Modules, Commands (Mix tasks), Functions, Types, Callbacks, Macros, and Guides.
- Skip regeneration when the installed version already matches the locked
version (with
--forceto override). - Parallel docset generation via
Task.async_stream. --devand--testflags to include non-production dependencies.--packageflag (repeatable) to build only specific packages.- Available both as a standalone escript (
zeal_docsets) and as a Mix task (mix zeal.docs).