Fix index page link creation
Fix breakage attempting to activate invalid distributions
Add support for older Git versions.
Drop support for documentation generated with
Drop support for Subversion and Mercurial.
copy-output. Always copy HTML output to HTML output folder.
Add support for Python 3.8, 3.9, 3.10, 3.11.
Drop support for Python 2.7, 3.5, 3.6.
make sure to convert shell output to unicode on Python 3 and 2.
setup.pycommands in a subshell, make sure it is present.
-nto skip checkout and build of software packages
test and declare support for Python 3.7
use pkgutil-style namespace declaration
package cleanup (
docs cleanup (
tests cleanup (
remove unsupported documentation bits
Python 3 compatibility
added tox configuration to do PEP-8 checking with
PEP 8 code cleanup
If output folders don’t exist yet create them instead of failing.
Use the name
headto designate the current development version in the rendered index page.
If a version control URL does not specify which version control system is used, Git is now used as default instead of Subversion.
Moved the repository to GitHub and its documentation to ReadTheDocs
--copy-outputwhich will copy instead of link all HTML output into the folder designated as HTML output folder.
switched documentation to point to the new Git repository
use new bootstrap.py script
Add a flag
--max-tagsto set the number of package versions (tags) to be shown on the generated main page. If more tags exist, a link to a separate page is provided that shows all versions.
Catch additional errors upon building
Ignoring empty tag lists when asking Git for tags
Be more resilient when simple ReST text compilation or Sphinx building fails. Now the whole documentation build process won’t just fail at that point.
provide more meaningful log messages when running with the
Now you can use
Subversionto use as version control system.
Taking more control of logging by defining our own logger and suppressing standard Sphinx log output. The new script flag
--verboseenables the user to determine what to show. Without it, only serious warnings are shown. With
-vspecified once you will see script progress output and notes about Sphinx build warnings. With
-vvall Sphinx output is shown as well.
Now using pkg_resources.parse_version to parse the tag names and produce correct release ordering for each package
Instead of using a flag to set the revision control system across all packages you now specify the revision control system per package with a simple prefix:
For backwards compatibility, all URLs without prefix are assumed to point to a Subversion repository.
Feature: You can now use either
Mercurialto check out documented packages.
Feature: If no standard package documentation can be found, the setuptools
long_descriptionsettings is used as a last fallback to at least generate a single page for a package.
Feature: To style the
long_descriptionfallback ReST documentation, a new parameter
fallback-csscan be used to provide a path to a CSS file.
Bug: If the
z3csphinx-output-directorywas set, all its contained packages ended up on the index document. Now this only happens if no SVN source URLs are otherwise provided. If they are, only packages from those source URLs are considered for linking on the index document.
Feature: If you generate some documentation via z3c.recipe.sphinxdoc and want to stitch links to it into the generated index file, you can use the new
z3csphinx-output-directoryparameter to point the script to the generated package documentation root folder.
Bug: Don’t clean up intermediate files, otherwise it is not possible to re-use a template folder for creating several separate pages into an output folder.
Bug: Clean up group header creation to avoid header level mixups.
Bug: When creating a missing required index.rst, use a template file if it exists.
Feature: Added a script and buildout option
index-nameto specify the file name (without extension) for the index page. With this option you can safely build the index page into an existing Sphinx documentation folder without overwriting or changing the existing
index.rstfile and its HTML equivalent. The default continues to be
Feature removed: It is no longer possible to create a simple HTML index page without using Sphinx and a minimal Sphinx configuration.
Feature: Add new script option
--groupingand zc.buildout option
groupingto group packages.
Miscellaneous: Renamed the zc.buildout option source to sources since it contains one or more elements.
Miscellaneous: Removed the version pinning on the Sphinx dependency since our other dependency (repoze.sphinx.autointerface) is now compatible with Sphinx 1.0.
Bug: If pkg_resources.find_distributions cannot find valid Egg distributions we still force the tag folder itself into the pkg_resources.working_set as a fallback.
Feature: The user can now provide a Sphinx configuration folder path that will be used to generate additional content for the documentation root folder.
Factoring: Moved the DocsBuilder class into its own module.
Factoring: Save run state on the documentation builder class instead of handing it around
Cosmetic: Use a flat hierarchy when creating the HTML output links instead of a folder per package. Only a single index page needs to be created that way.