===============================================
New features added
------------------
* Markup features:
- Citations are now global: all citation defined in any file can be
referenced from any file. Citations are collected in a bibliography
for LaTeX output.
- Footnotes are now properly handled in the LaTeX builder: they appear
at the location of the footnote reference in text, not at the end of
a section. Thanks to Andrew McNamara for the initial patch.
- "System Message" warnings are now automatically removed from the
built documentation, and only written to stderr. If you want the
old behavior, set the new config value ``keep_warnings`` to ``True``.
- Glossary entries are now automatically added to the index.
- Figures with captions can now be referred to like section titles,
using the ``:ref:`` role without an explicit link text.
- Added ``cmember`` role for consistency.
- Lists enumerated by letters or roman numerals are now handled like in
standard reST.
- The ``seealso`` directive can now also be given arguments, as a short
form.
- You can now document several programs and their options with the
new ``program`` directive.
* HTML output and templates:
- Incompatible change: The "root" relation link (top left in the
relbar) now points to the ``master_doc`` by default, no longer to a
document called "index". The old behavior, while useful in some
situations, was somewhat unexpected. Override the "rootrellink"
block in the template to customize where it refers to.
- The JavaScript search now searches for objects before searching in
the full text.
- TOC tree entries now have CSS classes that make it possible to
style them depending on their depth.
- Highlighted code blocks now have CSS classes that make it possible
to style them depending on their language.
- HTML ``<meta>`` tags via the Docutils :dudir:`meta` directive are now
supported.
- ``SerializingHTMLBuilder`` was added as new abstract builder that
can be subclassed to serialize build HTML in a specific format. The
``PickleHTMLBuilder`` is a concrete subclass of it that uses pickle
as serialization implementation.
- ``JSONHTMLBuilder`` was added as another ``SerializingHTMLBuilder``
subclass that dumps the generated HTML into JSON files for further
processing.
- The ``rellinks`` block in the layout template is now called
``linktags`` to avoid confusion with the relbar links.
- The HTML builders have two additional attributes now that can be
used to disable the anchor-link creation after headlines and
definition links.
- Only generate a module index if there are some modules in the
documentation.
* New and changed config values:
- Added support for internationalization in generated text with the
``language`` and ``locale_dirs`` config values. Many thanks to
language contributors:
* Horst Gutmann -- German
* Pavel Kosina -- Czech
* David Larlet -- French
* Michał Kandulski -- Polish
* Yasushi Masuda -- Japanese
* Guillem Borrell -- Spanish
* Luc Saffre and Peter Bertels -- Dutch
* Fred Lin -- Traditional Chinese
* Roger Demetrescu -- Brazilian Portuguese
* Rok Garbas -- Slovenian
- The new config value ``highlight_language`` set a global default for
highlighting. When ``'python3'`` is selected, console output blocks
are recognized like for ``'python'``.
- Exposed Pygments' lexer guessing as a highlight "language" ``guess``.
- The new config value ``latex_elements`` allows to override all LaTeX
snippets that Sphinx puts into the generated .tex file by default.
- Added ``exclude_dirnames`` config value that can be used to exclude
e.g. CVS directories from source file search.
- Added ``source_encoding`` config value to select input encoding.
* Extensions:
- The new extensions ``sphinx.ext.jsmath`` and ``sphinx.ext.pngmath``
provide math support for both HTML and LaTeX builders.
- The new extension ``sphinx.ext.intersphinx`` half-automatically
creates links to Sphinx documentation of Python objects in other
projects.
- The new extension ``sphinx.ext.todo`` allows the insertion of
"To do" directives whose visibility in the output can be toggled.
It also adds a directive to compile a list of all todo items.
- sphinx.ext.autodoc has a new event ``autodoc-process-signature``
that allows tuning function signature introspection.
- sphinx.ext.autodoc has a new event ``autodoc-skip-member`` that allows
tuning which members are included in the generated content.
- Respect ``__all__`` when autodocumenting module members.
- The ``automodule`` directive now supports the ``synopsis``,
``deprecated`` and ``platform`` options.
* Extension API:
- ``Sphinx.add_node()`` now takes optional visitor methods for the
HTML, LaTeX and text translators; this prevents having to manually
patch the classes.
- Added ``Sphinx.add_javascript()`` that adds scripts to load in the
default HTML template.
- Added new events: ``source-read``, ``env-updated``,
``env-purge-doc``, ``missing-reference``, ``build-finished``.
* Other changes:
- Added a command-line switch ``-Q``: it will suppress warnings.
- Added a command-line switch ``-A``: it can be used to supply
additional values into the HTML templates.
- Added a command-line switch ``-C``: if it is given, no configuration
file ``conf.py`` is required.
- Added a distutils command ``build_sphinx``: When Sphinx is installed,
you can call ``python setup.py build_sphinx`` for projects that have
Sphinx documentation, which will build the docs and place them in
the standard distutils build directory.
- In quickstart, if the selected root path already contains a Sphinx
project, complain and abort.
Bugs fixed
----------
* 51: Escape configuration values placed in HTML templates.
* 44: Fix small problems in HTML help index generation.
* Fix LaTeX output for line blocks in tables.
* 38: Fix "illegal unit" error when using pixel image widths/heights.
* Support table captions in LaTeX output.
* 39: Work around a bug in Jinja that caused "<generator ...>" to be
emitted in HTML output.
* Fix a problem with module links not being generated in LaTeX output.
* Fix the handling of images in different directories.
* 29: Support option lists in the text writer. Make sure that dashes
introducing long option names are not contracted to en-dashes.
* Support the "scale" option for images in HTML output.
* 25: Properly escape quotes in HTML help attribute values.
* Fix LaTeX build for some description environments with ``:noindex:``.
* 24: Don't crash on uncommon casing of role names (like ``:Class:``).
* Only output ANSI colors on color terminals.
* Update to newest fncychap.sty, to fix problems with non-ASCII
characters at the start of chapter titles.
* Fix a problem with index generation in LaTeX output, caused by
hyperref not being included last.
* Don't disregard return annotations for functions without any parameters.
* Don't throw away labels for code blocks.