=====================================
Incompatible changes
--------------------
* Dropped support for Python 2.5, 3.1 and 3.2.
* Dropped support for Docutils versions up to 0.9.
* Removed the ``sphinx.ext.oldcmarkup`` extension.
* The deprecated config values ``exclude_trees``, ``exclude_dirnames`` and
``unused_docs`` have been removed.
* A new node, ``sphinx.addnodes.literal_strong``, has been added, for text that
should appear literally (i.e. no smart quotes) in strong font. Custom writers
will have to be adapted to handle this node.
* PR269, 1476: replace ``<tt>`` tag by ``<code>``. User customized stylesheets
should be updated If the css contain some styles for ``tt>`` tag.
Thanks to Takeshi Komiya.
* 1543: ``templates_path`` is automatically added to
``exclude_patterns`` to avoid reading autosummary rst templates in the
templates directory.
* Custom domains should implement the new ``Domain.resolve_any_xref``
method to make the ``any`` role work properly.
* gettext builder: gettext doesn't emit uuid information to generated pot files
by default. Please set ``True`` to ``gettext_uuid`` to emit uuid information.
Additionally, if the ``python-levenshtein`` 3rd-party package is installed,
it will improve the calculation time.
* gettext builder: disable extracting/apply 'index' node by default. Please set
'index' to ``gettext_enables`` to enable extracting index entries.
* PR307: Add frame to code-block in LaTeX. Thanks to Takeshi Komiya.
Features added
--------------
* Add support for Python 3.4.
* Add support for Docutils 0.12
* Added ``sphinx.ext.napoleon`` extension for NumPy and Google style docstring
support.
* Added support for parallel reading (parsing) of source files with the
``sphinx-build -j`` option. Third-party extensions will need to be checked for
compatibility and may need to be adapted if they store information in the
build environment object. See ``env-merge-info``.
* Added the ``any`` role that can be used to find a cross-reference of
*any* type in *any* domain. Custom domains should implement the new
``Domain.resolve_any_xref`` method to make this work properly.
* Exception logs now contain the last 10 messages emitted by Sphinx.
* Added support for extension versions (a string returned by ``setup()``, these
can be shown in the traceback log files). Version requirements for extensions
can be specified in projects using the new ``needs_extensions`` config
value.
* Changing the default role within a document with the :dudir:`default-role`
directive is now supported.
* PR214: Added stemming support for 14 languages, so that the built-in document
search can now handle these. Thanks to Shibukawa Yoshiki.
* PR296, PR303, 76: numfig feature: Assign numbers to figures, tables and
code-blocks. This feature is configured with ``numfig``, ``numfig_secnum_depth``
and ``numfig_format``. Also ``numref`` role is available. Thanks to Takeshi
Komiya.
* PR202: Allow "." and "~" prefixed references in ``:param:`` doc fields
for Python.
* PR184: Add ``autodoc_mock_imports``, allowing to mock imports of
external modules that need not be present when autodocumenting.
* 925: Allow list-typed config values to be provided on the command line,
like ``-D key=val1,val2``.
* 668: Allow line numbering of ``code-block`` and ``literalinclude`` directives
to start at an arbitrary line number, with a new ``lineno-start`` option.
* PR172, PR266: The ``code-block`` and ``literalinclude``
directives now can have a ``caption`` option that shows a filename before the
code in the output. Thanks to Nasimul Haque, Takeshi Komiya.
* Prompt for the document language in sphinx-quickstart.
* PR217: Added config values to suppress UUID and location information in
generated gettext catalogs.
* PR236, 1456: apidoc: Add a -M option to put module documentation before
submodule documentation. Thanks to Wes Turner and Luc Saffre.
* 1434: Provide non-minified JS files for jquery.js and underscore.js to
clarify the source of the minified files.
* PR252, 1291: Windows color console support. Thanks to meu31.
* PR255: When generating latex references, also insert latex target/anchor
for the ids defined on the node. Thanks to Olivier Heurtier.
* PR229: Allow registration of other translators. Thanks to Russell Sim.
* Add app.set_translator() API to register or override a Docutils translator
class like ``html_translator_class``.
* PR267, 1134: add 'diff' parameter to literalinclude. Thanks to Richard Wall
and WAKAYAMA shirou.
* PR272: Added 'bizstyle' theme. Thanks to Shoji KUMAGAI.
* Automatically compile ``*.mo`` files from ``*.po`` files when
``gettext_auto_build`` is ``True`` (default) and ``*.po`` is newer than
``*.mo`` file.
* 623: ``sphinx.ext.viewcode`` supports imported function/class aliases.
* PR275: ``sphinx.ext.intersphinx`` supports multiple target for the
inventory. Thanks to Brigitta Sipocz.
* PR261: Added the ``env-before-read-docs`` event that can be connected to modify
the order of documents before they are read by the environment.
* 1284: Program options documented with :rst:dir:`option` can now start with
``+``.
* PR291: The caption of :rst:dir:`code-block` is recognized as a title of ref
target. Thanks to Takeshi Komiya.
* PR298: Add new API: :meth:`~sphinx.application.Sphinx.add_latex_package`.
Thanks to Takeshi Komiya.
* 1344: add ``gettext_enables`` to enable extracting 'index' to gettext
catalog output / applying translation catalog to generated documentation.
* PR301, 1583: Allow the line numbering of the directive ``literalinclude`` to
match that of the included file, using a new ``lineno-match`` option. Thanks
to Jeppe Pihl.
* PR299: add various options to sphinx-quickstart. Quiet mode option
``--quiet`` will skips wizard mode. Thanks to WAKAYAMA shirou.
* 1623: Return types specified with ``:rtype:`` are now turned into links if
possible.
Bugs fixed
----------
* 1438: Updated jQuery version from 1.8.3 to 1.11.1.
* 1568: Fix a crash when a "centered" directive contains a reference.
* Now sphinx.ext.autodoc works with python-2.5 again.
* 1563: :meth:`~sphinx.application.Sphinx.add_search_language` raises
AssertionError for correct type of argument. Thanks to rikoman.
* 1174: Fix smart quotes being applied inside roles like :rst:role:`program` or
``makevar``.
* PR235: comment db schema of websupport lacked a length of the node_id field.
Thanks to solos.
* 1466,PR241: Fix failure of the cpp domain parser to parse C+11
"variadic templates" declarations. Thanks to Victor Zverovich.
* 1459,PR244: Fix default mathjax js path point to ``http://`` that cause
mixed-content error on HTTPS server. Thanks to sbrandtb and robo9k.
* PR157: autodoc remove spurious signatures from property decorated
attributes. Thanks to David Ham.
* PR159: Add coverage targets to quickstart generated Makefile and make.bat.
Thanks to Matthias Troffaes.
* 1251: When specifying toctree :numbered: option and :tocdepth: metadata,
sub section number that is larger depth than ``:tocdepth:`` is shrunk.
* PR260: Encode underscore in citation labels for latex export. Thanks to
Lennart Fricke.
* PR264: Fix could not resolve xref for figure node with :name: option.
Thanks to Takeshi Komiya.
* PR265: Fix could not capture caption of graphviz node by xref. Thanks to
Takeshi Komiya.
* PR263, 1013, 1103: Rewrite of C++ domain. Thanks to Jakob Lykke Andersen.
* Hyperlinks to all found nested names and template arguments (1103).
* Support for function types everywhere, e.g., in
std::function<bool(int, int)> (1013).
* Support for virtual functions.
* Changed interpretation of function arguments to following standard
prototype declarations, i.e., void f(arg) means that arg is the type of the
argument, instead of it being the name.
* Updated tests.
* Updated documentation with elaborate description of what declarations are
supported and how the namespace declarations influence declaration and
cross-reference lookup.
* Index names may be different now. Elements are indexed by their fully
qualified name. It should be rather easy to change this behaviour and
potentially index by namespaces/classes as well.
* PR258, 939: Add dedent option for ``code-block`` and
``literalinclude``. Thanks to Zafar Siddiqui.
* PR268: Fix numbering section does not work at singlehtml mode. It still
ad-hoc fix because there is a issue that section IDs are conflicted.
Thanks to Takeshi Komiya.
* PR273, 1536: Fix RuntimeError with numbered circular toctree. Thanks to
Takeshi Komiya.
* PR274: Set its URL as a default title value if URL appears in toctree.
Thanks to Takeshi Komiya.
* PR276, 1381: ``rfc`` and ``pep`` roles support custom link
text. Thanks to Takeshi Komiya.
* PR277, 1513: highlights for function pointers in argument list of
``c:function``. Thanks to Takeshi Komiya.
* PR278: Fix section entries were shown twice if toctree has been put under
only directive. Thanks to Takeshi Komiya.
* 1547: pgen2 tokenizer doesn't recognize ``...`` literal (Ellipsis for py3).
* PR294: On LaTeX builder, wrap float environment on writing literal_block
to avoid separation of caption and body. Thanks to Takeshi Komiya.
* PR295, 1520: ``make.bat latexpdf`` mechanism to ``cd`` back to the current
directory. Thanks to Peter Suter.
* PR297, 1571: Add imgpath property to all builders. It make easier to
develop builder extensions. Thanks to Takeshi Komiya.
* 1584: Point to master doc in HTML "top" link.
* 1585: Autosummary of modules broken in Sphinx 1.2.3.
* 1610: Sphinx cause AttributeError when MeCab search option is enabled and
python-mecab is not installed.
* 1674: Do not crash if a module's ``__all__`` is not a list of strings.
* 1673: Fix crashes with :confval:`nitpick_ignore` and ``:doc:`` references.
* 1686: ifconfig directive doesn't care about default config values.
* 1642: Fix only one search result appearing in Chrome.
Documentation
-------------
* Add clarification about the syntax of tags. (:file:`doc/markup/misc.rst`)