Release 1.8.3:
Features added
* LaTeX: it is possible to insert custom material to appear on back of title
page, see discussion of 'maketitle' key of :confval:latex_elements
('manual' docclass only)
Bugs fixed
* mathjax: Use CDN URL for "latest" version by default
* html search does not work with some 3rd party themes
* LaTeX, caption package incompatibility since Sphinx 1.6
* autodoc: incremental build is broken when builtin modules are imported
* qthelp: index.html missing in QtHelp
* linkcheck: crashes for a hyperlink containing multibyte character
* DOC: Fix some mistakes in :doc:/latex
* LaTeX: sphinxVerbatim requires explicit "hllines" set-up since 1.6.6
* C++, fix parsing of floating point literals.
* C++, fix assertion in partial builds with duplicates.
* quickstart: sphinx-quickstart fails when $LC_ALL is empty
* Default conf.py is not PEP8-compliant
* LaTeX: document class \maketitle is overwritten with no
possibility to use original meaning in place of Sphinx custom one
* apidoc: wrong help for --tocfile
* todo: crashed if todo is defined in TextElement
* htmlhelp: convert hex escaping to decimal escaping in .hhc/.hhk files
* htmlhelp: broken .hhk file generated when title contains a double quote
Release 1.8.0:
Dependencies
1.8.0b1
* LaTeX: :confval:latex_use_xindy, if True (default for
xelatex/lualatex), instructs make latexpdf to use :program:xindy
for general index. Make sure your LaTeX distribution includes it.
Incompatible changes
1.8.0b2
* html theme: refer pygments_style settings of HTML themes
preferentially
* The URL of download files are changed
* quickstart: Makefile and make.bat are not overwritten if exists
1.8.0b1
* the :py:mod:sphinx.ext.graphviz: extension runs dot in the
directory of the document being built instead of in the root directory of
the documentation.
* extensions which stores any data to environment should return the
version of its env data structure as metadata. In detail, please see
:ref:ext-metadata.
* Sphinx expects source parser modules to have supported file formats as
Parser.supported attribute
* The default value of :confval:epub_author and :confval:epub_publisher are
changed from 'unknown' to the value of :confval:author. This is same as
a conf.py file sphinx-build generates.
* The gettext_compact attribute is removed from document.settings
object. Please use config.gettext_compact instead.
* The processing order on reading phase is changed. smart_quotes, sphinx
domains, :event:doctree-read event and versioning doctrees are invoked
earlier than so far. For more details, please read a description of
:py:meth:.Sphinx.add_transform()
* All substitution_definition nodes are removed from doctree on
reading phase
* docutils.conf on $HOME and /etc directories are ignored. Only
docutils.conf on confdir is refered.
* :samp: role supports to escape curly braces with backslash
* The files under :confval:html_static_path are excluded from source
files.
* latex: Use \sphinxcite for citation references instead \hyperref
* The config value viewcode_import is renamed to
:confval:viewcode_follow_imported_members
* latex: :confval:latex_show_pagerefs does not add pagerefs for
citations
* latex: Now "rubric" elements are rendered as unnumbered section title
* html: The anchor for productionlist tokens has been changed
* Modifying a template variable script_files in templates is allowed now.
Please use app.add_js_file() instead.
* Save environment object also with only new documents
* qthelp builder allows dashes in :confval:qthelp_namespace
* LaTeX: with lualatex or xelatex use by default :program:xindy as
UTF-8 able replacement of :program:makeindex. After
upgrading Sphinx, please clean latex build repertory of existing project
before new build.
* html: hlist items are now aligned to top
* highlightlang directive is processed on resolving phase
* latex: LaTeX template has been chaned. Following elements are moved
into the template:
- \begin{document}
- shorthandoff variable
- maketitle variable
- tableofcontents variable
Deprecated
1.8.0b2
* sphinx.io.SphinxI18nReader.set_lineno_for_reporter() is deprecated
* sphinx.io.SphinxI18nReader.line is deprecated
* sphinx.util.i18n.find_catalog_source_file() has changed; the
*gettext_compact* argument has been deprecated
* sphinx.util.images.guess_mimetype() has changed; the *content*
argument has been deprecated
1.8.0b1
* :confval:source_parsers is deprecated
* :confval:autodoc_default_flags is deprecated
* quickstart: --epub option becomes default, so it is deprecated
* Drop function based directive support. For now, Sphinx only supports class
based directives.
* sphinx.util.docutils.directive_helper() is deprecated
* sphinx.cmdline is deprecated
* sphinx.make_mode is deprecated
* sphinx.locale.l_() is deprecated
* helper function warn() for HTML themes is deprecated
* app.override_domain() is deprecated
* app.add_stylesheet() is deprecated
* app.add_javascript() is deprecated
* app.import_object() is deprecated
* app.add_source_parser() has changed; the *suffix* argument has been
deprecated
* sphinx.versioning.prepare() is deprecated
* Config.__init__() has changed; the *dirname*, *filename* and *tags*
argument has been deprecated
* Config.check_types() is deprecated
* Config.check_unicode() is deprecated
* sphinx.application.CONFIG_FILENAME is deprecated
* highlightlang directive is deprecated
* BuildEnvironment.load() is deprecated
* BuildEnvironment.loads() is deprecated
* BuildEnvironment.frompickle() is deprecated
* env.read_doc() is deprecated
* env.update() is deprecated
* env._read_serial() is deprecated
* env._read_parallel() is deprecated
* env.write_doctree() is deprecated
* env._nitpick_ignore is deprecated
* env.versionchanges is deprecated
* env.dump() is deprecated
* env.dumps() is deprecated
* env.topickle() is deprecated
* env.note_versionchange() is deprecated
* sphinx.writers.latex.Table.caption_footnotetexts is deprecated
* sphinx.writers.latex.Table.header_footnotetexts is deprecated
* sphinx.writers.latex.LaTeXTranslator.footnotestack is deprecated
* sphinx.writers.latex.LaTeXTranslator.in_container_literal_block is deprecated
* sphinx.writers.latex.LaTeXTranslator.next_section_ids is deprecated
* sphinx.writers.latex.LaTeXTranslator.next_hyperlink_ids is deprecated
* sphinx.writers.latex.LaTeXTranslator.restrict_footnote() is deprecated
* sphinx.writers.latex.LaTeXTranslator.unrestrict_footnote() is deprecated
* sphinx.writers.latex.LaTeXTranslator.push_hyperlink_ids() is deprecated
* sphinx.writers.latex.LaTeXTranslator.pop_hyperlink_ids() is deprecated
* sphinx.writers.latex.LaTeXTranslator.check_latex_elements() is deprecated
* sphinx.writers.latex.LaTeXTranslator.bibitems is deprecated
* sphinx.writers.latex.LaTeXTranslator.hlsettingstack is deprecated
* sphinx.writers.latex.ExtBabel.get_shorthandoff() is deprecated
* sphinx.writers.html.HTMLTranslator.highlightlang is deprecated
* sphinx.writers.html.HTMLTranslator.highlightlang_base is deprecated
* sphinx.writers.html.HTMLTranslator.highlightlangopts is deprecated
* sphinx.writers.html.HTMLTranslator.highlightlinenothreshold is deprecated
* sphinx.writers.html5.HTMLTranslator.highlightlang is deprecated
* sphinx.writers.html5.HTMLTranslator.highlightlang_base is deprecated
* sphinx.writers.html5.HTMLTranslator.highlightlangopts is deprecated
* sphinx.writers.html5.HTMLTranslator.highlightlinenothreshold is deprecated
* sphinx.ext.mathbase extension is deprecated
* sphinx.ext.mathbase.math node is deprecated
* sphinx.ext.mathbase.displaymath node is deprecated
* sphinx.ext.mathbase.eqref node is deprecated
* sphinx.ext.mathbase.is_in_section_title() is deprecated
* sphinx.ext.mathbase.MathDomain is deprecated
* sphinx.ext.mathbase.setup_math() is deprecated
* sphinx.directives.other.VersionChanges is deprecated
* sphinx.highlighting.PygmentsBridge.unhighlight() is deprecated
* sphinx.ext.mathbase.get_node_equation_number() is deprecated
* sphinx.ext.mathbase.wrap_displaymath() is deprecated
* The trim_doctest_flags argument of sphinx.highlighting.PygmentsBridge
is deprecated
Features added
1.8.0b2
* Ensure frozen object descriptions are reproducible
* apidoc: Add --tocfile option to change the filename of ToC
1.8.0b1
* Add :event:config-inited event
* Add sphinx.config.Any to represent the config value accepts any type of
value
* :confval:source_suffix allows a mapping fileext to file types
* Add :confval:author as a configuration value
* imgconverter: Support to convert GIF to PNG
* sphinx-build command supports i18n console output
* Add app.add_message_catalog() and sphinx.locale.get_translations() to
support translation for 3rd party extensions
* helper function warning() for HTML themes is added
* Add Domain.enumerable_nodes to manage own enumerable nodes for domains
(experimental)
* Add a new keyword argument override to Application APIs
* LaTeX: new key 'fvset' for :confval:latex_elements. For
XeLaTeX/LuaLaTeX its default sets fanvyvrb to use normal, not small,
fontsize in code-blocks
* Add :confval:html_css_files and :confval:epub_css_files for adding CSS
files from configuration
* Add :confval:html_js_files for adding JS files from configuration
* Ensure set object descriptions are reproducible.
* Allow to override :confval:numfig_format partially. Full definition
is not needed.
* Improve warning messages during including
* LaTeX: separate customizability of :rst:role:guilabel and
:rst:role:menuselection
* Add Config.read() classmethod to create a new config object from
configuration file
* Wrap graphviz diagrams in <div> tag
* viewcode: Add :event:viewcode-find-source and
:event:viewcode-follow-imported to load source code without loading
* napoleon: Add strings to translation file for localisation
* Display a warning when invalid values are passed to linenothreshold
option of highlight directive
* C++:
- Add a cpp:texpr role as a sibling to cpp:expr.
- Add support for unions.
- add support for anonymous entities using names staring with @.
- add support for (most) character literals.
- Cross-referencing entities inside primary templates is supported,
and now properly documented.
- add new cross-referencing format for cpp:any and cpp:func roles,
for referencing specific function overloads.
* MathJax should be loaded with async attribute
* html: Output canonical_url metadata if :confval:html_baseurl set
* autosummary: expose inherited_members to template
* mathjax: Add :confval:mathjax_options to give options to script tag
for mathjax
* latex: Don't overwrite .tex file if document not changed
* latex: Add alphanumeric enumerated list support
* Add :confval:latex_use_xindy for UTF-8 savvy indexing, defaults to True
if :confval:latex_engine is 'xelatex' or 'lualatex'.
* SphinxLoggerAdapter.info() now supports location parameter
* setuptools: support nitpicky option
* autoclass directive supports nested class
* Add app.add_html_math_renderer() to register a math renderer for HTML
* Apply :confval:trim_doctest_flags to all builders (cf. text, manpages)
* linkcheck: Add better Accept header to HTTP client
* sphinx-build: Add --keep-going option to show all warnings
* Add :rst:role:math:numref role to refer equations (Same as :rst:role:eq)
* quickstart: epub builder is enabled by default
* Add :confval:singlehtml_sidebars to configure sidebars for singlehtml
builder
* doctest: Skip doctest conditionally
* autodoc: emit a warning for invalid typehints
* autodoc: Add :confval:autodoc_default_options which accepts
option values as dict
Bugs fixed
1.8.0b2
* html: search box overrides to other elements if scrolled
* i18n: warnings for translation catalogs have wrong line numbers
* latex: cross references has been broken by multiply labeled objects
* C++, fixes for symbol addition and lookup. Lookup should no longer break
in partial builds.
* download reference to remote file is not displayed
* html theme: pygments_style of theme was overrided by conf.py
by default
* toctree shows confusible warning when document is excluded
* autodoc: :members: causes :special-members: not to be shown
* autodoc: ImportError is replaced by AttributeError for deeper module
* Incorrect links with :download:, duplicate names, and
parallel builds
* autodoc: failed to analyze source code in egg package
* Sphinx crashes if unknown po file exists
1.8.0b1
* i18n: message catalogs were reset on each initialization
* latex: footnote inside footnote was not rendered
* i18n: fix lang_COUNTRY not fallback correctly for IndexBuilder. Thanks
to Shengjing Zhu.
* productionlist directive generates invalid IDs for the tokens
* (lualatex) PDF build fails if indexed word starts with Unicode character
* latex: index headings "Symbols" and "Numbers" not internationalized
* sphinx-build: Handle errors on scanning documents
* epub: spine has been broken when "self" is listed on toctree
* autosummary does not understand docstring of module level attributes
* C++, prevent nested declarations in functions to avoid lookup problems.
* C++, add missing isPack method for certain template parameter types.
* C++, parse attributes on declerators as well.
* C++, parse delete expressions and basic new expressions as well.
* graphviz: SVGs do not adapt to the column width
Features removed
1.8.0b1
* sphinx.ext.pngmath extension
Documentation
1.8.0b1
* Fix wrong make.bat option for internationalization.
* napoleon: add admonitions added by 4613 to the docs.
1.7.3:
Bugs fixed
* autodoc loses the first staticmethod parameter
* autosummary: too wide two column tables in PDF builds
* Latex customization via _templates/longtable.tex_t is broken
* imgconverter: confused by convert.exe of Windows
* On windows, Sphinx crashed when drives of srcdir and outdir are different
* autodoc ignores type annotated variables
* wrong URLs on warning messages
* latex: latex_show_urls assigns incorrect footnote numbers if hyperlinks exists inside substitutions
* latex with class memoir Error: Font command \sf is not supported
* latex: too slow in proportion to number of auto numbered footnotes
* htmlhelp: The entries in .hhp file is not ordered
* toctree directive tries to glob for URL having query_string
* html search: Upper characters problem in German
* latex: Compilation for German docs failed with LuaLaTeX and XeLaTeX
* duplicated labels detector does not work well in parallel build
* Crashed with extension which returns invalid metadata
Release 1.7.2:
Incompatible changes
* apidoc: folders with an empty __init__.py are no longer excluded from TOC
Bugs fixed
* sphinx.build_main and sphinx.make_main throw NameError
* autosummary emits meaningless warnings
* autodoc: crashed when invalid options given
* pydomain: always strip parenthesis if empty
* autosummary: unexpectedly strips docstrings containing “i.e.”
* viewcode: Misplaced <div> in viewcode html output
* Don’t require numfig to use :numref: on sections
* Option clash for package textcomp
* Sphinx does not work with python 3.5.0 and 3.5.1
* Generation PDF file with TexLive on Windows, file not found error
* vertical space before equation in latex
* message when an image is mismatched for builder is not clear
* Incomplete localization strings in Polish and Chinese
* Sphinx crashes when error is happens in rendering HTML pages
* Error to download remote images having long URL
* sphinx/pycode/__init__.py raises AttributeError
* qthelp builder should htmlescape keywords
* epub: Fix docTitle elements of toc.ncx is not escaped
* apidoc: Subpackage not in toc (introduced in 1.6.6) now fixed
Release 1.7.1:
Deprecated
4623: sphinx.build_main() is deprecated. Use sphinx.cmd.build.build_main() instead.
autosummary: The interface of sphinx.ext.autosummary.get_documenter() has been changed (Since 1.7.0)
4664: sphinx.ext.intersphinx.debug() is deprecated. Use sphinx.ext.intersphinx.inspect_main() instead.
Bugs fixed
4608: epub: Invalid meta tag is generated
4260: autodoc: keyword only argument separator is not disappeared if it is appeared at top of the argument list
4622: epub: epub_scheme does not effect to content.opf
4627: graphviz: Fit graphviz images to page
4617: quickstart: PROJECT_DIR argument is required
4623: sphinx.build_main no longer exists in 1.7.0
4615: The argument of sphinx.build has been changed in 1.7.0
autosummary: The interface of sphinx.ext.autosummary.get_documenter() has been changed
4630: Have order on msgids in sphinx.pot deterministic
4563: autosummary: Incorrect end of line punctuation detection
4577: Enumerated sublists with explicit start with wrong number
4641: A external link in TOC cannot contain “?” with :glob: option
C++, add missing parsing of explicit casts and typeid in expression parsing.
C++, add missing parsing of this in expression parsing.
4655: Fix incomplete localization strings in Polish
4653: Fix error reporting for parameterless ImportErrors
4664: Reading objects.inv fails again
4662: any refs with term targets crash when an ambiguity is encountered
Release 1.6.7:
Bugs fixed
----------
* 1922: html search: Upper characters problem in French
* 4412: Updated jQuery version from 3.1.0 to 3.2.1
* 4438: math: math with labels with whitespace cause html error
* 2437: make full reference for classes, aliased with "alias of"
* 4434: pure numbers as link targets produce warning
* 4477: Build fails after building specific files
* 4449: apidoc: include "empty" packages that contain modules
* 3917: citation labels are tranformed to ellipsis
* 4501: graphviz: epub3 validation error caused if graph is not clickable
* 4514: graphviz: workaround for wrong map ID which graphviz generates
* 4525: autosectionlabel does not support parallel build
* 3953: Do not raise warning when there is a working intersphinx inventory
* 4487: math: ValueError is raised on parallel build. Thanks to jschueller.
* 2372: autosummary: invalid signatures are shown for type annotated functions
* 3942: html: table is not aligned to center even if :align: center
Release 1.6.4:
Features added
* 3926: Add autodoc_warningiserror to suppress the behavior of -W option during importing target modules on autodoc
Bugs fixed
* 3924: docname lost after dynamically parsing RST in extension
* 3946: Typo in sphinx.sty (this was a bug with no effect in default context)
* pep: and :rfc: does not supports default-role directive (refs: 3960)
* 3960: default_role = ‘guilabel’ not functioning
* Missing texinputs_win/Makefile to be used in latexpdf builder on windows.
* 4026: nature: Fix macOS Safari scrollbar color
* 3877: Fix for C++ multiline signatures.
* 4006: Fix crash on parallel build
* 3969: private instance attributes causes AttributeError
* 4041: C++, remove extra name linking in function pointers.
* 4038: C, add missing documentation of member role.
* 4044: An empty multicolumn cell causes extra row height in PDF output
* 4049: Fix typo in output of sphinx-build -h
* 4062: hashlib.sha1() must take bytes, not unicode on Python 3
* Avoid indent after index entries in latex (refs: 4066)
* 4070: crashes when the warning message contains format strings
* 4067: Return non-zero exit status when make subprocess fails
* 4055: graphviz: the :align: option does not work for SVG output
* 4055: graphviz: the :align: center option does not work for latex output
* 4051: warn() function for HTML theme outputs ‘None’ string
=====================================
Dependencies
------------
1.6b1
* (updated) latex output is tested with Ubuntu trusty's texlive packages (Feb.
2014) and earlier tex installations may not be fully compliant, particularly
regarding Unicode engines xelatex and lualatex
* (added) latexmk is required for ``make latexpdf`` on Unix-like platforms
Incompatible changes
--------------------
1.6b1
* 1061, 2336, 3235: Now generation of autosummary doesn't contain imported
members by default. Thanks to Luc Saffre.
* LaTeX ``\includegraphics`` command isn't overloaded: only ``\sphinxincludegraphics``
has the custom code to fit image to available width if oversized.
* The subclasses of ``sphinx.domains.Index`` should override ``generate()``
method. The default implementation raises NotImplementedError
* LaTeX positioned long tables horizontally centered, and short ones
flushed left (no text flow around table.) The position now defaults to center in
both cases, and it will obey Docutils 0.13 ``:align:`` option (refs 3415, 3377)
* option directive also allows all punctuations for the option name (refs: 3366)
* 3413: if :rst:dir:`literalinclude`'s ``:start-after:`` is used, make ``:lines:``
relative (refs 3412)
* ``literalinclude`` directive does not allow the combination of ``:diff:``
option and other options (refs: 3416)
* LuaLaTeX engine uses ``fontspec`` like XeLaTeX. It is advised ``latex_engine
= 'lualatex'`` be used only on up-to-date TeX installs (refs 3070, 3466)
* :confval:`latex_keep_old_macro_names` default value has been changed from
``True`` to ``False``. This means that some LaTeX macros for styling are
by default defined only with ``\sphinx..`` prefixed names. (refs: 3429)
* Footer "Continued on next page" of LaTeX longtable's now not framed (refs: 3497)
* 3529: The arguments of ``BuildEnvironment.__init__`` is changed
* 3082: Use latexmk for pdf (and dvi) targets (Unix-like platforms only)
* 3558: Emit warnings if footnotes and citations are not referenced. The
warnings can be suppressed by ``suppress_warnings``.
* latex made available (non documented) colour macros from a file distributed
with pdftex engine for Plain TeX. This is removed in order to provide better
support for multiple TeX engines. Only interface from ``color`` or
``xcolor`` packages should be used by extensions of Sphinx latex writer.
=====================================
Features added
--------------
* 3214: Allow to suppress "unknown mimetype" warnings from epub builder using
:confval:`suppress_warnings`.
Bugs fixed
----------
* 3195: Can not build in parallel
* 3198: AttributeError is raised when toctree has 'self'
* 3211: Remove untranslated sphinx locale catalogs (it was covered by
untranslated it_IT)
* 3212: HTML Builders crashes with docutils-0.13
* 3207: more latex problems with references inside parsed-literal directive
(``\DUrole``)
* 3205: sphinx.util.requests crashes with old pyOpenSSL (< 0.14)
* 3220: KeyError when having a duplicate citation
* 3200: LaTeX: xref inside desc_name not allowed
* 3228: ``build_sphinx`` command crashes when missing dependency
* 2469: Ignore updates of catalog files for gettext builder. Thanks to
Hiroshi Ohkubo.
* 3183: Randomized jump box order in generated index page.
Incompatible changes
--------------------
* The default format of `today_fmt` and `html_last_updated_fmt` is back to
strftime format again. Locale Date Markup Language is also supported for
backward compatibility until Sphinx-1.5.
Translations
------------
* Added Welsh translation, thanks to Geraint Palmer.
* Added Greek translation, thanks to Stelios Vitalis.
* Added Esperanto translation, thanks to Dinu Gherman.
* Added Hindi translation, thanks to Purnank H. Ghumalia.
* Added Romanian translation, thanks to Razvan Stefanescu.
Bugs fixed
----------
* C++, added support for ``extern`` and ``thread_local``.
* C++, type declarations are now using the prefixes ``typedef``, ``using``, and ``type``,
depending on the style of declaration.
* 2413: C++, fix crash on duplicate declarations
* 2394: Sphinx crashes when html_last_updated_fmt is invalid
* 2408: dummy builder not available in Makefile and make.bat
* 2412: hyperlink targets are broken in LaTeX builder
* figure directive crashes if non paragraph item is given as caption
* 2418: time formats no longer allowed in today_fmt
* 2395: Sphinx crashes if unicode character in image filename
* 2396: "too many values to unpack" in genindex-single
* 2405: numref link in PDF jumps to the wrong location
* 2414: missing number in PDF hyperlinks to code listings
* 2440: wrong import for gmtime.
Release 1.2.3 (released Sep 1, 2014)
====================================
Features added
--------------
* #1518: `sphinx-apidoc` command now have a `--version` option to show version
information and exit
* New locales: Hebrew, European Portuguese, Vietnamese.
Bugs fixed
----------
* #636: Keep straight single quotes in literal blocks in the LaTeX build.
* #1419: Generated i18n sphinx.js files are missing message catalog entries
from '.js_t' and '.html'. The issue was introduced from Sphinx-1.1
* #1363: Fix i18n: missing python domain's cross-references with currentmodule
directive or currentclass directive.
* #1444: autosummary does not create the description from attributes docstring.
* #1457: In python3 environment, make linkcheck cause "Can't convert 'bytes'
object to str implicitly" error when link target url has a hash part.
Thanks to Jorge_C.
* #1467: Exception on Python3 if nonexistent method is specified by automethod
* #1441: autosummary can't handle nested classes correctly.
* #1499: With non-callable `setup` in a conf.py, now sphinx-build emits
user-friendly error message.
* #1502: In autodoc, fix display of parameter defaults containing backslashes.
* #1226: autodoc, autosummary: importing setup.py by automodule will invoke
setup process and execute `sys.exit()`. Now sphinx avoids SystemExit
exception and emits warnings without unexpected termination.
* #1503: py:function directive generate incorrectly signature when specifying
a default parameter with an empty list `[]`. Thanks to Geert Jansen.
* #1508: Non-ASCII filename raise exception on make singlehtml, latex, man,
texinfo and changes.
* #1531: On Python3 environment, docutils.conf with 'source_link=true' in the
general section cause type error.
* PR#270, #1533: Non-ASCII docstring cause UnicodeDecodeError when uses with
inheritance-diagram directive. Thanks to WAKAYAMA shirou.
* PR#281, PR#282, #1509: TODO extension not compatible with websupport. Thanks
to Takeshi Komiya.
* #1477: gettext does not extract nodes.line in a table or list.
* #1544: `make text` generate wrong table when it has empty table cells.
* #1522: Footnotes from table get displayed twice in LaTeX. This problem has
been appeared from Sphinx-1.2.1 by #949.
* #508: Sphinx every time exit with zero when is invoked from setup.py command.
ex. `python setup.py build_sphinx -b doctest` return zero even if doctest
failed.
Release 1.2.1 (released Jan 19, 2014)
=====================================
Bugs fixed
----------
* #1335: Fix autosummary template overloading with exclamation prefix like
``{% extends "!autosummary/class.rst" %}`` cause infinite recursive function
call. This was caused by PR#181.
* #1337: Fix autodoc with ``autoclass_content="both"`` uses useless
``object.__init__`` docstring when class does not have ``__init__``.
This was caused by a change for #1138.
* #1340: Can't search alphabetical words on the HTML quick search generated
with language='ja'.
* #1319: Do not crash if the :confval:`html_logo` file does not exist.
* #603: Do not use the HTML-ized title for building the search index (that
resulted in "literal" being found on every page with a literal in the
title).
* #751: Allow production lists longer than a page in LaTeX by using longtable.
* #764: Always look for stopwords lowercased in JS search.
* #814: autodoc: Guard against strange type objects that don't have
``__bases__``.
* #932: autodoc: Do not crash if ``__doc__`` is not a string.
* #933: Do not crash if an :rst:role:`option` value is malformed (contains
spaces but no option name).
* #908: On Python 3, handle error messages from LaTeX correctly in the pngmath
extension.
* #943: In autosummary, recognize "first sentences" to pull from the docstring
if they contain uppercase letters.
* #923: Take the entire LaTeX document into account when caching
pngmath-generated images. This rebuilds them correctly when
:confval:`pngmath_latex_preamble` changes.
* #901: Emit a warning when using docutils' new "math" markup without a Sphinx
math extension active.
* #845: In code blocks, when the selected lexer fails, display line numbers
nevertheless if configured.
* #929: Support parsed-literal blocks in LaTeX output correctly.
* #949: Update the tabulary.sty packed with Sphinx.
* #1050: Add anonymous labels into ``objects.inv`` to be referenced via
:mod:`~sphinx.ext.intersphinx`.
* #1095: Fix print-media stylesheet being included always in the "scrolls"
theme.
* #1085: Fix current classname not getting set if class description has
``:noindex:`` set.
* #1181: Report option errors in autodoc directives more gracefully.
* #1155: Fix autodocumenting C-defined methods as attributes in Python 3.
* #1233: Allow finding both Python classes and exceptions with the "class" and
"exc" roles in intersphinx.
* #1198: Allow "image" for the "figwidth" option of the :rst:dir:`figure`
directive as documented by docutils.
* #1152: Fix pycode parsing errors of Python 3 code by including two grammar
versions for Python 2 and 3, and loading the appropriate version for the
running Python version.
* #1017: Be helpful and tell the user when the argument to :rst:dir:`option`
does not match the required format.
* #1345: Fix two bugs with :confval:`nitpick_ignore`; now you don't have to
remove the store environment for changes to have effect.
* #1072: In the JS search, fix issues searching for upper-cased words by
lowercasing words before stemming.
* #1299: Make behavior of the :rst:dir:`math` directive more consistent and
avoid producing empty environments in LaTeX output.
* #1308: Strip HTML tags from the content of "raw" nodes before feeding it
to the search indexer.
* #1249: Fix duplicate LaTeX page numbering for manual documents.
* #1292: In the linkchecker, retry HEAD requests when denied by HTTP 405.
Also make the redirect code apparent and tweak the output a bit to be
more obvious.
* #1285: Avoid name clashes between C domain objects and section titles.
* #848: Always take the newest code in incremental rebuilds with the
:mod:`sphinx.ext.viewcode` extension.
* #979, #1266: Fix exclude handling in ``sphinx-apidoc``.
* #1302: Fix regression in :mod:`sphinx.ext.inheritance_diagram` when
documenting classes that can't be pickled.
* #1316: Remove hard-coded ``font-face`` resources from epub theme.
* #1329: Fix traceback with empty translation msgstr in .po files.
* #1300: Fix references not working in translated documents in some instances.
* #1283: Fix a bug in the detection of changed files that would try to access
doctrees of deleted documents.
* #1330: Fix :confval:`exclude_patterns` behavior with subdirectories in the
:confval:`html_static_path`.
* #1323: Fix emitting empty ``<ul>`` tags in the HTML writer, which is not
valid HTML.
* #1147: Don't emit a sidebar search box in the "singlehtml" builder.
Documentation
-------------
* #1325: Added a "Intersphinx" tutorial section. (:file:`doc/tutorial.rst`)
Release 1.2 (released Dec 10, 2013)
===================================
Features added
--------------
* Added ``sphinx.version_info`` tuple for programmatic checking of the Sphinx
version.
Incompatible changes
--------------------
* Removed the ``sphinx.ext.refcounting`` extension -- it is very specific to
CPython and has no place in the main distribution.
Bugs fixed
----------
* Restore ``versionmodified`` CSS class for versionadded/changed and deprecated
directives.
* Fix: `html_theme_path=['.']` is a trigger of rebuild all documents always
(This change keeps the current "theme changes cause a rebuild" feature).
* #1296: Fix invalid charset in HTML help generated HTML files for default
locale.
* PR#190: Fix gettext does not extract figure caption and rubric title inside
other blocks. Thanks to Michael Schlenker.
* PR#176: Make sure setup_command test can always import Sphinx. Thanks to
Dmitry Shachnev.
* #1311: Fix test_linkcode.test_html fails with C locale and Python 3.
* #1269: Fix ResourceWarnings with Python 3.2 or later.
* #1138: Fix: When ``autodoc_docstring_signature = True`` and
``autoclass_content = 'init'`` or ``'both'``, __init__ line should be
removed from class documentation.
Release 1.2 beta3 (released Oct 3, 2013)
========================================
Features added
--------------
* The Sphinx error log files will now include a list of the loaded extensions
for help in debugging.
Incompatible changes
--------------------
* PR#154: Remove "sphinx" prefix from LaTeX class name except 'sphinxmanual'
and 'sphinxhowto'. Now you can use your custom document class without
'sphinx' prefix. Thanks to Erik B.
Bugs fixed
----------
* #1265: Fix i18n: crash when translating a section name that is pointed to from
a named target.
* A wrong condition broke the search feature on first page that is usually
index.rst. This issue was introduced in 1.2b1.
* #703: When Sphinx can't decode filenames with non-ASCII characters, Sphinx now
catches UnicodeError and will continue if possible instead of raising the
exception.
Release 1.2 beta2 (released Sep 17, 2013)
=========================================
Features added
--------------
* ``apidoc`` now ignores "_private" modules by default, and has an option ``-P``
to include them.
* ``apidoc`` now has an option to not generate headings for packages and
modules, for the case that the module docstring already includes a reST
heading.
* PR#161: ``apidoc`` can now write each module to a standalone page instead of
combining all modules in a package on one page.
* Builders: rebuild i18n target document when catalog updated.
* Support docutils.conf 'writers' and 'html4css1 writer' section in the HTML
writer. The latex, manpage and texinfo writers also support their respective
'writers' sections.
* The new :confval:`html_extra_path` config value allows to specify directories
with files that should be copied directly to the HTML output directory.
* Autodoc directives for module data and attributes now support an
``annotation`` option, so that the default display of the data/attribute
value can be overridden.
* PR#136: Autodoc directives now support an ``imported-members`` option to
include members imported from different modules.
* New locales: Macedonian, Sinhala, Indonesian.
* Theme package collection by using setuptools plugin mechanism.
Incompatible changes
--------------------
* PR#144, #1182: Force timezone offset to LocalTimeZone on POT-Creation-Date
that was generated by gettext builder. Thanks to masklinn and Jakub Wilk.
Bugs fixed
----------
* PR#132: Updated jQuery version to 1.8.3.
* PR#141, #982: Avoid crash when writing PNG file using Python 3. Thanks to
Marcin Wojdyr.
* PR#145: In parallel builds, sphinx drops second document file to write.
Thanks to tychoish.
* PR#151: Some styling updates to tables in LaTeX.
* PR#153: The "extensions" config value can now be overridden.
* PR#155: Added support for some C++11 function qualifiers.
* Fix: 'make gettext' caused UnicodeDecodeError when templates contain utf-8
encoded strings.
* #828: use inspect.getfullargspec() to be able to document functions with
keyword-only arguments on Python 3.
* #1090: Fix i18n: multiple cross references (term, ref, doc) in the same line
return the same link.
* #1157: Combination of 'globaltoc.html' and hidden toctree caused exception.
* #1159: fix wrong generation of objects inventory for Python modules, and
add a workaround in intersphinx to fix handling of affected inventories.
* #1160: Citation target missing caused an AssertionError.
* #1162, PR#139: singlehtml builder didn't copy images to _images/.
* #1173: Adjust setup.py dependencies because Jinja2 2.7 discontinued
compatibility with Python < 3.3 and Python < 2.6. Thanks to Alexander Dupuy.
* #1185: Don't crash when a Python module has a wrong or no encoding declared,
and non-ASCII characters are included.
* #1188: sphinx-quickstart raises UnicodeEncodeError if "Project version"
includes non-ASCII characters.
* #1189: "Title underline is too short" WARNING is given when using fullwidth
characters to "Project name" on quickstart.
* #1190: Output TeX/texinfo/man filename has no basename (only extension)
when using non-ASCII characters in the "Project name" on quickstart.
* #1192: Fix escaping problem for hyperlinks in the manpage writer.
* #1193: Fix i18n: multiple link references in the same line return the same
link.
* #1176: Fix i18n: footnote reference number missing for auto numbered named
footnote and auto symbol footnote.
* PR#146,#1172: Fix ZeroDivisionError in parallel builds. Thanks to tychoish.
* #1204: Fix wrong generation of links to local intersphinx targets.
* #1206: Fix i18n: gettext did not translate admonition directive's title.
* #1232: Sphinx generated broken ePub files on Windows.
* #1259: Guard the debug output call when emitting events; to prevent the
repr() implementation of arbitrary objects causing build failures.
* #1142: Fix NFC/NFD normalizing problem of rst filename on Mac OS X.
* #1234: Ignoring the string consists only of white-space characters.
Release 1.2 beta1 (released Mar 31, 2013)
=========================================
Incompatible changes
--------------------
* Removed ``sphinx.util.compat.directive_dwim()`` and
``sphinx.roles.xfileref_role()`` which were deprecated since version 1.0.
* PR#122: the files given in :confval:`latex_additional_files` now override TeX
files included by Sphinx, such as ``sphinx.sty``.
* PR#124: the node generated by :rst:dir:`versionadded`,
:rst:dir:`versionchanged` and :rst:dir:`deprecated` directives now includes
all added markup (such as "New in version X") as child nodes, and no
additional text must be generated by writers.
* PR#99: the :rst:dir:`seealso` directive now generates admonition nodes instead
of the custom ``seealso`` node.
Features added
--------------
* Markup
- The :rst:dir:`toctree` directive and the ``toctree()`` template function now
have an ``includehidden`` option that includes hidden toctree entries (bugs
#790 and #1047). A bug in the ``maxdepth`` option for the ``toctree()``
template function has been fixed (bug #1046).
- PR#99: Strip down seealso directives to normal admonitions. This removes
their unusual CSS classes (admonition-see-also), inconsistent LaTeX
admonition title ("See Also" instead of "See also"), and spurious indentation
in the text builder.
* HTML builder
- #783: Create a link to full size image if it is scaled with width or height.
- #1067: Improve the ordering of the JavaScript search results: matches in titles
come before matches in full text, and object results are better categorized.
Also implement a pluggable search scorer.
- #1053: The "rightsidebar" and "collapsiblesidebar" HTML theme options now work
together.
- Update to jQuery 1.7.1 and Underscore.js 1.3.1.
* Texinfo builder
- An "Index" node is no longer added when there are no entries.
- "deffn" categories are no longer capitalized if they contain capital
letters.
- ``desc_annotation`` nodes are now rendered.
- ``strong`` and ``emphasis`` nodes are now formatted like
``literal``\s. The reason for this is because the standard Texinfo markup
(``*strong*`` and ``_emphasis_``) resulted in confusing output due to the
common usage of using these constructs for documenting parameter names.
- Field lists formatting has been tweaked to better display
"Info field lists".
- ``system_message`` and ``problematic`` nodes are now formatted in a similar
fashion as done by the text builder.
- "en-dash" and "em-dash" conversion of hyphens is no longer performed in
option directive signatures.
- ``@ref`` is now used instead of ``@pxref`` for cross-references which
prevents the word "see" from being added before the link (does not affect
the Info output).
- The ``@finalout`` command has been added for better TeX output.
- ``transition`` nodes are now formatted using underscores ("_") instead of
asterisks ("*").
- The default value for the ``paragraphindent`` has been changed from 2 to 0
meaning that paragraphs are no longer indented by default.
- #1110: A new configuration value :confval:`texinfo_no_detailmenu` has been
added for controlling whether a ``@detailmenu`` is added in the "Top"
node's menu.
- Detailed menus are no longer created except for the "Top" node.
- Fixed an issue where duplicate domain indices would result in invalid
output.
* LaTeX builder:
- PR#115: Add ``'transition'`` item in :confval:`latex_elements` for
customizing how transitions are displayed. Thanks to Jeff Klukas.
- PR#114: The LaTeX writer now includes the "cmap" package by default. The
``'cmappkg'`` item in :confval:`latex_elements` can be used to control this.
Thanks to Dmitry Shachnev.
- The ``'fontpkg'`` item in :confval:`latex_elements` now defaults to ``''``
when the :confval:`language` uses the Cyrillic script. Suggested by Dmitry
Shachnev.
- The :confval:`latex_documents`, :confval:`texinfo_documents`, and
:confval:`man_pages` configuration values will be set to default values based
on the :confval:`master_doc` if not explicitly set in :file:`conf.py`.
Previously, if these values were not set, no output would be genereted by
their respective builders.
* Internationalization:
- Add i18n capabilities for custom templates. For example: The Sphinx
reference documentation in doc directory provides a ``sphinx.pot`` file with
message strings from ``doc/_templates/*.html`` when using ``make gettext``.
* Other builders:
- Added the Docutils-native XML and pseudo-XML builders. See
:class:`XMLBuilder` and :class:`PseudoXMLBuilder`.
- PR#45: The linkcheck builder now checks ``#anchor``\ s for existence.
- PR#123, #1106: Add :confval:`epub_use_index` configuration value. If
provided, it will be used instead of :confval:`html_use_index` for epub
builder.
- PR#126: Add :confval:`epub_tocscope` configuration value. The setting
controls the generation of the epub toc. The user can now also include
hidden toc entries.
- PR#112: Add :confval:`epub_show_urls` configuration value.
* Extensions:
- PR#52: ``special_members`` flag to autodoc now behaves like ``members``.
- PR#47: Added :mod:`sphinx.ext.linkcode` extension.
- PR#25: In inheritance diagrams, the first line of the class docstring
is now the tooltip for the class.
* Command-line interfaces:
- PR#75: Added ``--follow-links`` option to sphinx-apidoc.
- #869: sphinx-build now has the option :option:`-T` for printing the full
traceback after an unhandled exception.
- sphinx-build now supports the standard :option:`--help` and
:option:`--version` options.
- sphinx-build now provides more specific error messages when called with
invalid options or arguments.
- sphinx-build now has a verbose option :option:`-v` which can be repeated for
greater effect. A single occurrance provides a slightly more verbose output
than normal. Two or more occurrences of this option provides more detailed
output which may be useful for debugging.
* Locales:
- PR#74: Fix some Russian translation.
- PR#54: Added Norwegian bokmaal translation.
- PR#35: Added Slovak translation.
- PR#28: Added Hungarian translation.
- #1113: Add Hebrew locale.
- #1097: Add Basque locale.
- #1037: Fix typos in Polish translation. Thanks to Jakub Wilk.
- #1012: Update Estonian translation.
* Optimizations:
- Speed up building the search index by caching the results of the word
stemming routines. Saves about 20 seconds when building the Python
documentation.
- PR#108: Add experimental support for parallel building with a new
:option:`-j` option.
Documentation
-------------
* PR#88: Added the "Sphinx Developer's Guide" (:file:`doc/devguide.rst`)
which outlines the basic development process of the Sphinx project.
* Added a detailed "Installing Sphinx" document (:file:`doc/install.rst`).
Bugs fixed
----------
* PR#124: Fix paragraphs in versionmodified are ignored when it has no
dangling paragraphs. Fix wrong html output (nested ``<p>`` tag). Fix
versionmodified is not translatable. Thanks to Nozomu Kaneko.
* PR#111: Respect add_autodoc_attrgetter() even when inherited-members is set.
Thanks to A. Jesse Jiryu Davis.
* PR#97: Fix footnote handling in translated documents.
* Fix text writer not handling visit_legend for figure directive contents.
* Fix text builder not respecting wide/fullwidth characters: title underline
width, table layout width and text wrap width.
* Fix leading space in LaTeX table header cells.
* #1132: Fix LaTeX table output for multi-row cells in the first column.
* #1128: Fix Unicode errors when trying to format time strings with a
non-standard locale.
* #1127: Fix traceback when autodoc tries to tokenize a non-Python file.
* #1126: Fix double-hyphen to en-dash conversion in wrong places such as
command-line option names in LaTeX.
* #1123: Allow whitespaces in filenames given to :rst:dir:`literalinclude`.
* #1120: Added improvements about i18n for themes "basic", "haiku" and
"scrolls" that Sphinx built-in. Thanks to Leonardo J. Caballero G.
* #1118: Updated Spanish translation. Thanks to Leonardo J. Caballero G.
* #1117: Handle .pyx files in sphinx-apidoc.
* #1112: Avoid duplicate download files when referenced from documents in
different ways (absolute/relative).
* #1111: Fix failure to find uppercase words in search when
:confval:`html_search_language` is 'ja'. Thanks to Tomo Saito.
* #1108: The text writer now correctly numbers enumerated lists with
non-default start values (based on patch by Ewan Edwards).
* #1102: Support multi-context "with" statements in autodoc.
* #1090: Fix gettext not extracting glossary terms.
* #1074: Add environment version info to the generated search index to avoid
compatibility issues with old builds.
* #1070: Avoid un-pickling issues when running Python 3 and the saved
environment was created under Python 2.
* #1069: Fixed error caused when autodoc would try to format signatures of
"partial" functions without keyword arguments (patch by Artur Gaspar).
* #1062: sphinx.ext.autodoc use __init__ method signature for class signature.
* #1055: Fix web support with relative path to source directory.
* #1043: Fix sphinx-quickstart asking again for yes/no questions because
``input()`` returns values with an extra '\r' on Python 3.2.0 +
Windows. Thanks to Régis Décamps.
* #1041: Fix failure of the cpp domain parser to parse a const type with a
modifier.
* #1038: Fix failure of the cpp domain parser to parse C+11 "static constexpr"
declarations. Thanks to Jakub Wilk.
* #1029: Fix intersphinx_mapping values not being stable if the mapping has
plural key/value set with Python 3.3.
* #1028: Fix line block output in the text builder.
* #1024: Improve Makefile/make.bat error message if Sphinx is not found. Thanks
to Anatoly Techtonik.
* #1018: Fix "container" directive handling in the text builder.
* #1015: Stop overriding jQuery contains() in the JavaScript.
* #1010: Make pngmath images transparent by default; IE7+ should handle it.
* #1008: Fix test failures with Python 3.3.
* #995: Fix table-of-contents and page numbering for the LaTeX "howto" class.
* #976: Fix gettext does not extract index entries.
* PR#72: #975: Fix gettext not extracting definition terms before docutils 0.10.
* #961: Fix LaTeX output for triple quotes in code snippets.
* #958: Do not preserve ``environment.pickle`` after a failed build.
* #955: Fix i18n transformation.
* #940: Fix gettext does not extract figure caption.
* #920: Fix PIL packaging issue that allowed to import ``Image`` without PIL
namespace. Thanks to Marc Schlaich.
* #723: Fix the search function on local files in WebKit based browsers.
* #440: Fix coarse timestamp resolution in some filesystem generating a wrong
list of outdated files.
* 809: Include custom fixers in the source distribution.
Changes 1.1.1:
* 791: Fix QtHelp, DevHelp and HtmlHelp index entry links.
* 792: Include "sphinx-apidoc" in the source distribution.
* 797: Don't crash on a misformatted glossary.
* 801: Make intersphinx work properly without SSL support.
* 805: Make the ``Sphinx.add_index_to_domain`` method work correctly.
* 780: Fix Python 2.5 compatibility.
* Support for domains has been added. A domain is a collection of
directives and roles that all describe objects belonging together,
e.g. elements of a programming language. A few builtin domains are
provided:
- Python
- C
- C++
- JavaScript
- reStructuredText
* The old markup for defining and linking to C directives is now
deprecated. It will not work anymore in future versions without
activating the :mod:`~sphinx.ext.oldcmarkup` extension; in Sphinx
1.0, it is activated by default.
* Removed support for old dependency versions; requirements are now:
- docutils >= 0.5
- Jinja2 >= 2.2
* Removed deprecated elements:
- ``exclude_dirs`` config value
- ``sphinx.builder`` module
Features added
--------------
* General:
- Added a "nitpicky" mode that emits warnings for all missing
references. It is activated by the :option:`-n` command-line switch
or the :confval:`nitpicky` config value.
- Added ``latexpdf`` target in quickstart Makefile.
* Markup:
- The :rst:role:`menuselection` and :rst:role:`guilabel` roles now
support ampersand accelerators.
- New more compact doc field syntax is now recognized: ``:param type
name: description``.
- Added ``tab-width`` option to :rst:dir:`literalinclude` directive.
- Added ``titlesonly`` option to :rst:dir:`toctree` directive.
- Added the ``prepend`` and ``append`` options to the
:rst:dir:`literalinclude` directive.
- #284: All docinfo metadata is now put into the document metadata, not
just the author.
- The :rst:role:`ref` role can now also reference tables by caption.
- The :rst:dir:`include` directive now supports absolute paths, which
are interpreted as relative to the source directory.
- In the Python domain, references like ``:func:`.name``` now look for
matching names with any prefix if no direct match is found.
* New builders:
- Added a builder for the Epub format.
- Added a builder for manual pages.
- Added a single-file HTML builder.
* Extensions:
- Added the :mod:`~sphinx.ext.viewcode` extension.
- Added the :mod:`~sphinx.ext.extlinks` extension.
- Added support for source ordering of members in autodoc, with
``autodoc_member_order = 'bysource'``.
- Added :confval:`autodoc_default_flags` config value, which can be
used to select default flags for all autodoc directives.
- Added a way for intersphinx to refer to named labels in other
projects, and to specify the project you want to link to.
- #280: Autodoc can now document instance attributes assigned in
``__init__`` methods.
- Many improvements and fixes to the :mod:`~sphinx.ext.autosummary`
extension, thanks to Pauli Virtanen.
- #309: The :mod:`~sphinx.ext.graphviz` extension can now output SVG
instead of PNG images, controlled by the
:confval:`graphviz_output_format` config value.
- Added ``alt`` option to :rst:dir:`graphviz` extension directives.
- Added ``exclude`` argument to :func:`.autodoc.between`.
* Incompatible changes:
- Templating now requires the Jinja2 library
- The "document" div tag has been moved out of the ``layout.html``
template's "document" block
- The ``autodoc_skip_member`` event now also gets to decide
whether to skip members whose name starts with underscores.
* Theming support
* Markup:
- Due to popular demand, added a ``:doc:`` role which directly
links to another document without the need of creating a
label to which a ``:ref:`` could link to.
- Added a ``:download:`` role that marks a non-document file
for inclusion into the HTML output and links to it.
- Added an ``only`` directive that can selectively include text
based on enabled "tags".
- Added HTML section numbers, enabled by giving a
``:numbered:`` flag to the ``toctree`` directive.
- Scaled images now get a link to the unscaled version.
- SVG images are now supported in HTML (via ``<object>`` and
``<embed>`` tags).
* Builders:
- New builder for Qt help collections, by Antonio Valentino.
- The new ``DirectoryHTMLBuilder`` (short name ``dirhtml``) creates
a separate directory for every page, and places the page there
in a file called ``index.html``.
* New translations:
* Bug Fixes.
Sphinx is a tool that makes it easy to create intelligent and beautiful
documentation for Python projects (or other documents consisting of multiple
reStructuredText sources), written by Georg Brandl. It was originally
created to translate the new Python documentation, but has now been cleaned
up in the hope that it will be useful to many other projects.
Sphinx uses reStructuredText as its markup language, and many of its
strengths come from the power and straightforwardness of reStructuredText
and its parsing and translating suite, the Docutils.
Although it is still under constant development, the following features are
already present, work fine and can be seen "in action" in the Python docs:
* Output formats: HTML (including Windows HTML Help), plain text and LaTeX,
for printable PDF versions
* Extensive cross-references: semantic markup and automatic links for
functions, classes, glossary terms and similar pieces of information
* Hierarchical structure: easy definition of a document tree, with automatic
links to siblings, parents and children
* Automatic indices: general index as well as a module index
* Code handling: automatic highlighting using the Pygments highlighter
* Various extensions are available, e.g. for automatic testing of snippets
and inclusion of appropriately formatted docstrings.