Changelog
### 2.2.0
```
=====================================
Incompatible changes
--------------------
* apidoc: template files are renamed to ``.rst_t``
* html: Field lists will be styled by grid layout
Deprecated
----------
* ``sphinx.domains.math.MathDomain.add_equation()``
* ``sphinx.domains.math.MathDomain.get_next_equation_number()``
* The ``info`` and ``warn`` arguments of
``sphinx.ext.autosummary.generate.generate_autosummary_docs()``
* ``sphinx.ext.autosummary.generate._simple_info()``
* ``sphinx.ext.autosummary.generate._simple_warn()``
* ``sphinx.ext.todo.merge_info()``
* ``sphinx.ext.todo.process_todo_nodes()``
* ``sphinx.ext.todo.process_todos()``
* ``sphinx.ext.todo.purge_todos()``
Features added
--------------
* 5124: graphviz: ``:graphviz_dot:`` option is renamed to ``:layout:``
* 1464: html: emit a warning if :confval:`html_static_path` and
:confval:`html_extra_path` directories are inside output directory
* 6514: html: Add a label to search input for accessability purposes
* 5602: apidoc: Add ``--templatedir`` option
* 6475: Add ``override`` argument to ``app.add_autodocumenter()``
* 6310: imgmath: let :confval:`imgmath_use_preview` work also with the SVG
format for images rendering inline math
* 6533: LaTeX: refactor visit_enumerated_list() to use ``\sphinxsetlistlabels``
* 6628: quickstart: Use ``https://docs.python.org/3/`` for default setting of
:confval:`intersphinx_mapping`
* 6419: sphinx-build: give reasons why rebuilded
Bugs fixed
----------
* py domain: duplicated warning does not point the location of source code
* 6499: html: Sphinx never updates a copy of :confval:`html_logo` even if
original file has changed
* 1125: html theme: scrollbar is hard to see on classic theme and macOS
* 5502: linkcheck: Consider HTTP 503 response as not an error
* 6439: Make generated download links reproducible
* 6486: UnboundLocalError is raised if broken extension installed
* 6567: autodoc: :confval:`autodoc_inherit_docstrings` does not effect to
``__init__()`` and ``__new__()``
* 6574: autodoc: :confval:`autodoc_member_order` does not refer order of
imports when ``'bysource'`` order
* 6574: autodoc: missing type annotation for variadic and keyword parameters
* 6589: autodoc: Formatting issues with autodoc_typehints='none'
* 6605: autodoc: crashed when target code contains custom method-like objects
* 6498: autosummary: crashed with wrong autosummary_generate setting
* 6507: autosummary: crashes without no autosummary_generate setting
* 6511: LaTeX: autonumbered list can not be customized in LaTeX
since Sphinx 1.8.0 (refs: 6533)
* 6531: Failed to load last environment object when extension added
* 736: Invalid sort in pair index
* 6527: :confval:`last_updated` wrongly assumes timezone as UTC
* 5592: std domain: :rst:dir:`option` directive registers an index entry for
each comma separated option
* 6549: sphinx-build: Escaped characters in error messages
* 6545: doctest comments not getting trimmed since Sphinx 1.8.0
* 6561: glossary: Wrong hyperlinks are generated for non alphanumeric terms
* 6620: i18n: classifiers of definition list are not translated with
docutils-0.15
* 6474: ``DocFieldTransformer`` raises AttributeError when given directive is
not a subclass of ObjectDescription
```
### 2.1.2
```
=====================================
Bugs fixed
----------
* 6497: custom lexers fails highlighting when syntax error
* 6478, 6488: info field lists are incorrectly recognized
```
### 2.1.1
```
=====================================
Incompatible changes
--------------------
* 6447: autodoc: Stop to generate document for undocumented module variables
Bugs fixed
----------
* 6442: LaTeX: admonitions of :rst:dir:`note` type can get separated from
immediately preceding section title by pagebreak
* 6448: autodoc: crashed when autodocumenting classes with ``__slots__ = None``
* 6451: autodoc: generates docs for "optional import"ed modules as variables
* 6452: autosummary: crashed when generating document of properties
* 6455: napoleon: docstrings for properties are not processed
* 6436: napoleon: "Unknown target name" error if variable name ends with
underscore
* 6440: apidoc: missing blank lines between modules
```
### 2.1.0
```
=====================================
Incompatible changes
--------------------
* Ignore filenames without file extension given to ``Builder.build_specific()``
API directly
* 6230: The anchor of term in glossary directive is changed if it is consisted
by non-ASCII characters
* 4550: html: Centering tables by default using CSS
* 6239: latex: xelatex and xeCJK are used for Chinese documents by default
* ``Sphinx.add_lexer()`` now takes a Lexer class instead of instance. An
instance of lexers are still supported until Sphinx-3.x.
Deprecated
----------
* ``sphinx.builders.latex.LaTeXBuilder.apply_transforms()``
* ``sphinx.builders._epub_base.EpubBuilder.esc()``
* ``sphinx.directives.Acks``
* ``sphinx.directives.Author``
* ``sphinx.directives.Centered``
* ``sphinx.directives.Class``
* ``sphinx.directives.CodeBlock``
* ``sphinx.directives.Figure``
* ``sphinx.directives.HList``
* ``sphinx.directives.Highlight``
* ``sphinx.directives.Include``
* ``sphinx.directives.Index``
* ``sphinx.directives.LiteralInclude``
* ``sphinx.directives.Meta``
* ``sphinx.directives.Only``
* ``sphinx.directives.SeeAlso``
* ``sphinx.directives.TabularColumns``
* ``sphinx.directives.TocTree``
* ``sphinx.directives.VersionChange``
* ``sphinx.domains.python.PyClassmember``
* ``sphinx.domains.python.PyModulelevel``
* ``sphinx.domains.std.StandardDomain._resolve_citation_xref()``
* ``sphinx.domains.std.StandardDomain.note_citations()``
* ``sphinx.domains.std.StandardDomain.note_citation_refs()``
* ``sphinx.domains.std.StandardDomain.note_labels()``
* ``sphinx.environment.NoUri``
* ``sphinx.ext.apidoc.format_directive()``
* ``sphinx.ext.apidoc.format_heading()``
* ``sphinx.ext.apidoc.makename()``
* ``sphinx.ext.autodoc.importer.MockFinder``
* ``sphinx.ext.autodoc.importer.MockLoader``
* ``sphinx.ext.autodoc.importer.mock()``
* ``sphinx.ext.autosummary.autolink_role()``
* ``sphinx.ext.imgmath.DOC_BODY``
* ``sphinx.ext.imgmath.DOC_BODY_PREVIEW``
* ``sphinx.ext.imgmath.DOC_HEAD``
* ``sphinx.transforms.CitationReferences``
* ``sphinx.transforms.SmartQuotesSkipper``
* ``sphinx.util.docfields.DocFieldTransformer.preprocess_fieldtypes()``
* ``sphinx.util.node.find_source_node()``
* ``sphinx.util.i18n.find_catalog()``
* ``sphinx.util.i18n.find_catalog_files()``
* ``sphinx.util.i18n.find_catalog_source_files()``
For more details, see :ref:`deprecation APIs list <dev-deprecated-apis>`.
Features added
--------------
* Add a helper class ``sphinx.transforms.post_transforms.SphinxPostTransform``
* Add helper methods
- ``PythonDomain.note_module()``
- ``PythonDomain.note_object()``
- ``SphinxDirective.set_source_info()``
* 6180: Support ``--keep-going`` with BuildDoc setup command
* ``math`` directive now supports ``:class:`` option
* todo: ``todo`` directive now supports ``:name:`` option
* Enable override via environment of ``SPHINXOPTS`` and ``SPHINXBUILD`` Makefile
variables (refs: 6232, 6303)
* 6287: autodoc: Unable to document bound instance methods exported as module
functions
* 6289: autodoc: :confval:`autodoc_default_options` now supports
``imported-members`` option
* 4777: autodoc: Support coroutine
* 744: autodoc: Support abstractmethod
* 6325: autodoc: Support attributes in __slots__. For dict-style __slots__,
autodoc considers values as a docstring of the attribute
* 6361: autodoc: Add :confval:`autodoc_typehints` to suppress typehints from
signature
* 1063: autodoc: ``automodule`` directive now handles undocumented module level
variables
* 6212 autosummary: Add :confval:`autosummary_imported_members` to display
imported members on autosummary
* 6271: ``make clean`` is catastrophically broken if building into '.'
* 6363: Support ``%O%`` environment variable in make.bat
* 4777: py domain: Add ``:async:`` option to :rst:dir:`py:function` directive
* py domain: Add new options to :rst:dir:`py:method` directive
- ``:abstractmethod:``
- ``:async:``
- ``:classmethod:``
- ``:property:``
- ``:staticmethod:``
* rst domain: Add :rst:dir:`directive:option` directive to describe the option
for directive
* 6306: html: Add a label to search form for accessability purposes
* 4390: html: Consistent and semantic CSS for signatures
* 6358: The ``rawsource`` property of ``production`` nodes now contains the
full production rule
* 6373: autosectionlabel: Allow suppression of warnings
* coverage: Support a new ``coverage_ignore_pyobjects`` option
* 6239: latex: Support to build Chinese documents
Bugs fixed
----------
* 6230: Inappropriate node_id has been generated by glossary directive if term
is consisted by non-ASCII characters
* 6213: ifconfig: contents after headings are not shown
* commented term in glossary directive is wrongly recognized
* 6299: rst domain: rst:directive directive generates waste space
* 6379: py domain: Module index (py-modindex.html) has duplicate titles
* 6331: man: invalid output when doctest follows rubric
* 6351: "Hyperlink target is not referenced" message is shown even if
referenced
* 6165: autodoc: ``tab_width`` setting of docutils has been ignored
* 6347: autodoc: crashes with a plain Tuple on Python 3.6 and 3.5
* 6311: autosummary: autosummary table gets confused by complex type hints
* 6350: autosummary: confused by an argument having some kind of default value
* Generated Makefiles lack a final EOL (refs: 6232)
* 6375: extlinks: Cannot escape angle brackets in link caption
* 6378: linkcheck: Send commonly used User-Agent
* 6387: html search: failed to search document with haiku and scrolls themes
* 6408: html search: Fix the ranking of search results
* 6406: Wrong year is returned for ``SOURCE_DATE_EPOCH``
* 6402: image directive crashes by unknown image format
* 6286: C++, allow 8 and 9 in hexadecimal integer literals.
* 6305: Fix the string in quickstart for 'path' argument of parser
* LaTeX: Figures in admonitions produced errors (refs: 6364)
```
Links
- PyPI: https://pypi.org/project/sphinx
- Changelog: https://pyup.io/changelogs/sphinx/
- Homepage: http://sphinx-doc.org/
This PR updates sphinx from 2.0.1 to 2.2.0.
Changelog
### 2.2.0 ``` ===================================== Incompatible changes -------------------- * apidoc: template files are renamed to ``.rst_t`` * html: Field lists will be styled by grid layout Deprecated ---------- * ``sphinx.domains.math.MathDomain.add_equation()`` * ``sphinx.domains.math.MathDomain.get_next_equation_number()`` * The ``info`` and ``warn`` arguments of ``sphinx.ext.autosummary.generate.generate_autosummary_docs()`` * ``sphinx.ext.autosummary.generate._simple_info()`` * ``sphinx.ext.autosummary.generate._simple_warn()`` * ``sphinx.ext.todo.merge_info()`` * ``sphinx.ext.todo.process_todo_nodes()`` * ``sphinx.ext.todo.process_todos()`` * ``sphinx.ext.todo.purge_todos()`` Features added -------------- * 5124: graphviz: ``:graphviz_dot:`` option is renamed to ``:layout:`` * 1464: html: emit a warning if :confval:`html_static_path` and :confval:`html_extra_path` directories are inside output directory * 6514: html: Add a label to search input for accessability purposes * 5602: apidoc: Add ``--templatedir`` option * 6475: Add ``override`` argument to ``app.add_autodocumenter()`` * 6310: imgmath: let :confval:`imgmath_use_preview` work also with the SVG format for images rendering inline math * 6533: LaTeX: refactor visit_enumerated_list() to use ``\sphinxsetlistlabels`` * 6628: quickstart: Use ``https://docs.python.org/3/`` for default setting of :confval:`intersphinx_mapping` * 6419: sphinx-build: give reasons why rebuilded Bugs fixed ---------- * py domain: duplicated warning does not point the location of source code * 6499: html: Sphinx never updates a copy of :confval:`html_logo` even if original file has changed * 1125: html theme: scrollbar is hard to see on classic theme and macOS * 5502: linkcheck: Consider HTTP 503 response as not an error * 6439: Make generated download links reproducible * 6486: UnboundLocalError is raised if broken extension installed * 6567: autodoc: :confval:`autodoc_inherit_docstrings` does not effect to ``__init__()`` and ``__new__()`` * 6574: autodoc: :confval:`autodoc_member_order` does not refer order of imports when ``'bysource'`` order * 6574: autodoc: missing type annotation for variadic and keyword parameters * 6589: autodoc: Formatting issues with autodoc_typehints='none' * 6605: autodoc: crashed when target code contains custom method-like objects * 6498: autosummary: crashed with wrong autosummary_generate setting * 6507: autosummary: crashes without no autosummary_generate setting * 6511: LaTeX: autonumbered list can not be customized in LaTeX since Sphinx 1.8.0 (refs: 6533) * 6531: Failed to load last environment object when extension added * 736: Invalid sort in pair index * 6527: :confval:`last_updated` wrongly assumes timezone as UTC * 5592: std domain: :rst:dir:`option` directive registers an index entry for each comma separated option * 6549: sphinx-build: Escaped characters in error messages * 6545: doctest comments not getting trimmed since Sphinx 1.8.0 * 6561: glossary: Wrong hyperlinks are generated for non alphanumeric terms * 6620: i18n: classifiers of definition list are not translated with docutils-0.15 * 6474: ``DocFieldTransformer`` raises AttributeError when given directive is not a subclass of ObjectDescription ``` ### 2.1.2 ``` ===================================== Bugs fixed ---------- * 6497: custom lexers fails highlighting when syntax error * 6478, 6488: info field lists are incorrectly recognized ``` ### 2.1.1 ``` ===================================== Incompatible changes -------------------- * 6447: autodoc: Stop to generate document for undocumented module variables Bugs fixed ---------- * 6442: LaTeX: admonitions of :rst:dir:`note` type can get separated from immediately preceding section title by pagebreak * 6448: autodoc: crashed when autodocumenting classes with ``__slots__ = None`` * 6451: autodoc: generates docs for "optional import"ed modules as variables * 6452: autosummary: crashed when generating document of properties * 6455: napoleon: docstrings for properties are not processed * 6436: napoleon: "Unknown target name" error if variable name ends with underscore * 6440: apidoc: missing blank lines between modules ``` ### 2.1.0 ``` ===================================== Incompatible changes -------------------- * Ignore filenames without file extension given to ``Builder.build_specific()`` API directly * 6230: The anchor of term in glossary directive is changed if it is consisted by non-ASCII characters * 4550: html: Centering tables by default using CSS * 6239: latex: xelatex and xeCJK are used for Chinese documents by default * ``Sphinx.add_lexer()`` now takes a Lexer class instead of instance. An instance of lexers are still supported until Sphinx-3.x. Deprecated ---------- * ``sphinx.builders.latex.LaTeXBuilder.apply_transforms()`` * ``sphinx.builders._epub_base.EpubBuilder.esc()`` * ``sphinx.directives.Acks`` * ``sphinx.directives.Author`` * ``sphinx.directives.Centered`` * ``sphinx.directives.Class`` * ``sphinx.directives.CodeBlock`` * ``sphinx.directives.Figure`` * ``sphinx.directives.HList`` * ``sphinx.directives.Highlight`` * ``sphinx.directives.Include`` * ``sphinx.directives.Index`` * ``sphinx.directives.LiteralInclude`` * ``sphinx.directives.Meta`` * ``sphinx.directives.Only`` * ``sphinx.directives.SeeAlso`` * ``sphinx.directives.TabularColumns`` * ``sphinx.directives.TocTree`` * ``sphinx.directives.VersionChange`` * ``sphinx.domains.python.PyClassmember`` * ``sphinx.domains.python.PyModulelevel`` * ``sphinx.domains.std.StandardDomain._resolve_citation_xref()`` * ``sphinx.domains.std.StandardDomain.note_citations()`` * ``sphinx.domains.std.StandardDomain.note_citation_refs()`` * ``sphinx.domains.std.StandardDomain.note_labels()`` * ``sphinx.environment.NoUri`` * ``sphinx.ext.apidoc.format_directive()`` * ``sphinx.ext.apidoc.format_heading()`` * ``sphinx.ext.apidoc.makename()`` * ``sphinx.ext.autodoc.importer.MockFinder`` * ``sphinx.ext.autodoc.importer.MockLoader`` * ``sphinx.ext.autodoc.importer.mock()`` * ``sphinx.ext.autosummary.autolink_role()`` * ``sphinx.ext.imgmath.DOC_BODY`` * ``sphinx.ext.imgmath.DOC_BODY_PREVIEW`` * ``sphinx.ext.imgmath.DOC_HEAD`` * ``sphinx.transforms.CitationReferences`` * ``sphinx.transforms.SmartQuotesSkipper`` * ``sphinx.util.docfields.DocFieldTransformer.preprocess_fieldtypes()`` * ``sphinx.util.node.find_source_node()`` * ``sphinx.util.i18n.find_catalog()`` * ``sphinx.util.i18n.find_catalog_files()`` * ``sphinx.util.i18n.find_catalog_source_files()`` For more details, see :ref:`deprecation APIs list <dev-deprecated-apis>`. Features added -------------- * Add a helper class ``sphinx.transforms.post_transforms.SphinxPostTransform`` * Add helper methods - ``PythonDomain.note_module()`` - ``PythonDomain.note_object()`` - ``SphinxDirective.set_source_info()`` * 6180: Support ``--keep-going`` with BuildDoc setup command * ``math`` directive now supports ``:class:`` option * todo: ``todo`` directive now supports ``:name:`` option * Enable override via environment of ``SPHINXOPTS`` and ``SPHINXBUILD`` Makefile variables (refs: 6232, 6303) * 6287: autodoc: Unable to document bound instance methods exported as module functions * 6289: autodoc: :confval:`autodoc_default_options` now supports ``imported-members`` option * 4777: autodoc: Support coroutine * 744: autodoc: Support abstractmethod * 6325: autodoc: Support attributes in __slots__. For dict-style __slots__, autodoc considers values as a docstring of the attribute * 6361: autodoc: Add :confval:`autodoc_typehints` to suppress typehints from signature * 1063: autodoc: ``automodule`` directive now handles undocumented module level variables * 6212 autosummary: Add :confval:`autosummary_imported_members` to display imported members on autosummary * 6271: ``make clean`` is catastrophically broken if building into '.' * 6363: Support ``%O%`` environment variable in make.bat * 4777: py domain: Add ``:async:`` option to :rst:dir:`py:function` directive * py domain: Add new options to :rst:dir:`py:method` directive - ``:abstractmethod:`` - ``:async:`` - ``:classmethod:`` - ``:property:`` - ``:staticmethod:`` * rst domain: Add :rst:dir:`directive:option` directive to describe the option for directive * 6306: html: Add a label to search form for accessability purposes * 4390: html: Consistent and semantic CSS for signatures * 6358: The ``rawsource`` property of ``production`` nodes now contains the full production rule * 6373: autosectionlabel: Allow suppression of warnings * coverage: Support a new ``coverage_ignore_pyobjects`` option * 6239: latex: Support to build Chinese documents Bugs fixed ---------- * 6230: Inappropriate node_id has been generated by glossary directive if term is consisted by non-ASCII characters * 6213: ifconfig: contents after headings are not shown * commented term in glossary directive is wrongly recognized * 6299: rst domain: rst:directive directive generates waste space * 6379: py domain: Module index (py-modindex.html) has duplicate titles * 6331: man: invalid output when doctest follows rubric * 6351: "Hyperlink target is not referenced" message is shown even if referenced * 6165: autodoc: ``tab_width`` setting of docutils has been ignored * 6347: autodoc: crashes with a plain Tuple on Python 3.6 and 3.5 * 6311: autosummary: autosummary table gets confused by complex type hints * 6350: autosummary: confused by an argument having some kind of default value * Generated Makefiles lack a final EOL (refs: 6232) * 6375: extlinks: Cannot escape angle brackets in link caption * 6378: linkcheck: Send commonly used User-Agent * 6387: html search: failed to search document with haiku and scrolls themes * 6408: html search: Fix the ranking of search results * 6406: Wrong year is returned for ``SOURCE_DATE_EPOCH`` * 6402: image directive crashes by unknown image format * 6286: C++, allow 8 and 9 in hexadecimal integer literals. * 6305: Fix the string in quickstart for 'path' argument of parser * LaTeX: Figures in admonitions produced errors (refs: 6364) ```Links
- PyPI: https://pypi.org/project/sphinx - Changelog: https://pyup.io/changelogs/sphinx/ - Homepage: http://sphinx-doc.org/