Skip to content

3.0.0

Compare
Choose a tag to compare
@hynek hynek released this 13 Sep 08:31
· 186 commits to main since this release
3.0.0
1c92b53

Presenting the biggest doc2dash release ever!

Most importantly, as you can see below, there's stand-alone binaries for Linux, macOS, and Windows for amd64 platforms! No more Python (if you don't want to)! I found this so exciting, I wrote a short Today-I-Learned post about it. But even if you keep using it via Python, the dependency tree got a lot slimmer since it doesn't depend on Sphinx anymore.

Feature-wise this release introduces first-class support for MkDocs and improves its pydoctor support while at it.

There's a lot more that happened, including prettier (and more informative) progress bars and smarter handling of imperfect indixes.

All-in-all, it comes close to a complete rewrite. I hope you enjoy it, and if you haven't played with Dash.app or Zeal until now – now is the perfect moment!

P.S. Sorry, I also broke your custom plugins. But there's docs on writing your own now!

Full Changelog

Removed

  • Since pydoctor added support for intersphinx in version 21.2.0, the dedicated HTML-parsing parser has been removed. If you need to parse legacy pydoctor docs, please use doc2dash 2.4.1.

Added

  • Stand-alone binaries! If your platform is supported, you can now download binaries from the release page without dealing with Python at all – courtesy of PyOxidizer.
  • intersphinx: documentation based on MkDocs with mkdocstrings metadata is now supported.
  • intersphinx: if no explicit name is passed, the docset name is derived von the documentation's metadata (and not the directory name, which is more often than not just html).
  • We use rich for output and progress bars now. This allows us more granular progress indication.
  • Documentation on writing your own parser plugins.

Changed

  • Tons of refactorings that probably broke your custom parsers. Sorry about that and let us know, if we can help you fixing them.
  • intersphinx: We now parse objects.inv files on our own. Sphinx is not a dependency anymore.
  • intersphinx: Files that are indexed by intersphinx, but don't exist aren't added to the docset anymore. Common example is py-modindex.html. #113 #115
  • We now check if the index page passed via --index-page / -I exists and fail if it doesn't.