Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
sphinx/CHANGES
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
8749 lines (7127 sloc)
363 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Release 7.1.0 (in development) | |
============================== | |
Dependencies | |
------------ | |
Incompatible changes | |
-------------------- | |
Deprecated | |
---------- | |
* #11412: Emit warnings on using a deprecated Python-specific index entry type | |
(namely, ``module``, ``keyword``, ``operator``, ``object``, ``exception``, | |
``statement``, and ``builtin``) in the :rst:dir:`index` directive, and | |
set the removal version to Sphinx 9. Patch by Adam Turner. | |
Features added | |
-------------- | |
* #11415: Add a checksum to JavaScript and CSS asset URIs included within | |
generated HTML, using the CRC32 algorithm. | |
* :meth:`~sphinx.application.Sphinx.require_sphinx` now allows the version | |
requirement to be specified as ``(major, minor)``. | |
* #11011: Allow configuring a line-length limit for object signatures, via | |
:confval:`maximum_signature_line_length` and the domain-specific variants. | |
If the length of the signature (in characters) is greater than the configured | |
limit, each parameter in the signature will be split to its own logical line. | |
This behaviour may also be controlled by options on object description | |
directives, for example :rst:dir:`py:function:single-line-parameter-list`. | |
Patch by Thomas Louf, Adam Turner, and Jean-François B. | |
* #10983: Support for multiline copyright statements in the footer block. | |
Patch by Stefanie Molin | |
Bugs fixed | |
---------- | |
Testing | |
-------- | |
Release 7.0.1 (released May 12, 2023) | |
===================================== | |
Dependencies | |
------------ | |
* #11411: Support `Docutils 0.20`_. Patch by Adam Turner. | |
.. _Docutils 0.20: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-20-2023-05-04 | |
Bugs fixed | |
---------- | |
* #11418: Clean up remaining references to ``sphinx.setup_command`` | |
following the removal of support for setuptools. | |
Patch by Willem Mulder. | |
Release 7.0.0 (released Apr 29, 2023) | |
===================================== | |
Incompatible changes | |
-------------------- | |
* #11359: Remove long-deprecated aliases for ``MecabSplitter`` and | |
``DefaultSplitter`` in ``sphinx.search.ja``. | |
* #11360: Remove deprecated ``make_old_id`` functions in domain object | |
description classes. | |
* #11363: Remove the Setuptools integration (``build_sphinx`` hook in | |
``setup.py``). | |
* #11364: Remove deprecated ``sphinx.ext.napoleon.iterators`` module. | |
* #11365: Remove support for the ``jsdump`` format in ``sphinx.search``. | |
* #11366: Make ``locale`` a required argument to | |
``sphinx.util.i18n.format_date()``. | |
* #11370: Remove deprecated ``sphinx.util.stemmer`` module. | |
* #11371: Remove deprecated ``sphinx.pycode.ast.parse()`` function. | |
* #11372: Remove deprecated ``sphinx.io.read_doc()`` function. | |
* #11373: Removed deprecated ``sphinx.util.get_matching_files()`` function. | |
* #11378: Remove deprecated ``sphinx.util.docutils.is_html5_writer_available()`` | |
function. | |
* #11379: Make the ``env`` argument to ``Builder`` subclasses required. | |
* #11380: autosummary: Always emit grouped import exceptions. | |
* #11381: Remove deprecated ``style`` key for HTML templates. | |
* #11382: Remove deprecated ``sphinx.writers.latex.LaTeXTranslator.docclasses`` | |
attribute. | |
* #11383: Remove deprecated ``sphinx.builders.html.html5_ready`` and | |
``sphinx.builders.html.HTMLTranslator`` attributes. | |
* #11385: Remove support for HTML 4 output. | |
Release 6.2.1 (released Apr 25, 2023) | |
===================================== | |
Bugs fixed | |
---------- | |
* #11355: Revert the default type of :confval:`nitpick_ignore` and | |
:confval:`nitpick_ignore_regex` to ``list``. | |
Release 6.2.0 (released Apr 23, 2023) | |
===================================== | |
Dependencies | |
------------ | |
* Require Docutils 0.18.1 or greater. | |
Incompatible changes | |
-------------------- | |
* LaTeX: removal of some internal TeX ``\dimen`` registers (not previously | |
publicly documented) as per 5.1.0 code comments in ``sphinx.sty``: | |
``\sphinxverbatimsep``, ``\sphinxverbatimborder``, ``\sphinxshadowsep``, | |
``\sphinxshadowsize``, and ``\sphinxshadowrule``. (refs: #11105) | |
* Remove ``.egg`` support from pycode ``ModuleAnalyser``; Python eggs are a | |
now-obsolete binary distribution format | |
* #11089: Remove deprecated code in ``sphinx.builders.linkcheck``. | |
Patch by Daniel Eades | |
* Remove internal-only ``sphinx.locale.setlocale`` | |
Deprecated | |
---------- | |
* #11247: Deprecate the legacy ``intersphinx_mapping`` format | |
* ``sphinx.util.osutil.cd`` is deprecated in favour of ``contextlib.chdir``. | |
Features added | |
-------------- | |
* #11277: :rst:dir:`autoproperty` allows the return type to be specified as | |
a type comment (e.g., ``# type: () -> int``). Patch by Bénédikt Tran | |
* #10811: Autosummary: extend ``__all__`` to imported members for template rendering | |
when option ``autosummary_ignore_module_all`` is set to ``False``. Patch by | |
Clement Pinard | |
* #11147: Add a ``content_offset`` parameter to ``nested_parse_with_titles()``, | |
allowing for correct line numbers during nested parsing. | |
Patch by Jeremy Maitin-Shepard | |
* Update to Unicode CLDR 42 | |
* Add a ``--jobs`` synonym for ``-j``. Patch by Hugo van Kemenade | |
* LaTeX: a command ``\sphinxbox`` for styling text elements with a (possibly | |
rounded) box, optional background color and shadow, has been added. | |
See :ref:`sphinxbox`. (refs: #11224) | |
* LaTeX: add ``\sphinxstylenotetitle``, ..., ``\sphinxstylewarningtitle``, ..., | |
for an extra layer of mark-up freeing up ``\sphinxstrong`` for other uses. | |
See :ref:`latex-macros`. (refs: #11267) | |
* LaTeX: :dudir:`note`, :dudir:`hint`, :dudir:`important` and :dudir:`tip` can | |
now each be styled as the other admonitions, i.e. possibly with a background | |
color, individual border widths and paddings, possibly rounded corners, and | |
optional shadow. See :ref:`additionalcss`. (refs: #11234) | |
* LaTeX: admonitions and :dudir:`topic` (and | |
:dudir:`contents <table-of-contents>`) directives, and not only | |
:rst:dir:`code-block`, support ``box-decoration-break=slice``. | |
* LaTeX: let rounded boxes support up to 4 distinct border-widths (refs: #11243) | |
* LaTeX: new options ``noteTextColor``, ``noteTeXextras`` et al. | |
See :ref:`additionalcss`. | |
* LaTeX: support elliptical corners in rounded boxes. (refs: #11254) | |
* #11150: Include source location in highlighting warnings, when lexing fails. | |
Patch by Jeremy Maitin-Shepard | |
* #11281: Support for :confval:`imgmath_latex` ``= 'tectonic'`` or | |
``= 'xelatex'``. Patch by Dimitar Dimitrov | |
* #11109, #9643: Add :confval:`python_display_short_literal_types` option for | |
condensed rendering of ``Literal`` types. | |
Bugs fixed | |
---------- | |
* #11079: LaTeX: figures with align attribute may disappear and strangely impact | |
following lists | |
* #11093: LaTeX: fix "multiply-defined references" PDF build warnings when one or | |
more reST labels directly precede an :rst:dir:`py:module` or :rst:dir:`automodule` | |
directive. Patch by Bénédikt Tran (picnixz) | |
* #11110: LaTeX: Figures go missing from latex pdf if their files have the same | |
base name and they use a post transform. Patch by aaron-cooper | |
* LaTeX: fix potential color leak from shadow to border of rounded boxes, if | |
shadow color is set but border color is not | |
* LaTeX: fix unintended 1pt upwards vertical shift of code blocks frames | |
respective to contents (when using rounded corners) | |
* #11235: LaTeX: added ``\color`` in topic (or admonition) contents may cause color | |
leak to the shadow and border at a page break | |
* #11264: LaTeX: missing space before colon after "Voir aussi" for :rst:dir:`seealso` | |
directive in French | |
* #11268: LaTeX: longtable with left alignment breaks out of current list | |
indentation context in PDF. Thanks to picnixz. | |
* #11274: LaTeX: external links are not properly escaped for ``\sphinxupquote`` | |
compatibility | |
* #11147: Fix source file/line number info in object description content and in | |
other uses of ``nested_parse_with_titles``. Patch by Jeremy Maitin-Shepard. | |
* #11192: Restore correct parallel search index building. | |
Patch by Jeremy Maitin-Shepard | |
* Use the new Transifex ``tx`` client | |
Testing | |
-------- | |
* Fail testing when any Python warnings are emitted | |
* Migrate remaining ``unittest.TestCase`` style test functions to pytest style | |
* Remove tests that rely on setuptools | |
Release 6.1.3 (released Jan 10, 2023) | |
===================================== | |
Bugs fixed | |
---------- | |
* #11116: Reverted to previous Sphinx 5 node copying method | |
* #11117: Reverted changes to parallel image processing from Sphinx 6.1.0 | |
* #11119: Supress ``ValueError`` in the ``linkcheck`` builder | |
Release 6.1.2 (released Jan 07, 2023) | |
===================================== | |
Bugs fixed | |
---------- | |
* #11101: LaTeX: ``div.topic_padding`` key of sphinxsetup documented at 5.1.0 was | |
implemented with name ``topic_padding`` | |
* #11099: LaTeX: ``shadowrule`` key of sphinxsetup causes PDF build to crash | |
since Sphinx 5.1.0 | |
* #11096: LaTeX: ``shadowsize`` key of sphinxsetup causes PDF build to crash | |
since Sphinx 5.1.0 | |
* #11095: LaTeX: shadow of :dudir:`topic` and :dudir:`contents <table-of-contents>` | |
boxes not in page margin since Sphinx 5.1.0 | |
* #11100: Fix copying images when running under parallel mode. | |
Release 6.1.1 (released Jan 05, 2023) | |
===================================== | |
Bugs fixed | |
---------- | |
* #11091: Fix ``util.nodes.apply_source_workaround`` for ``literal_block`` nodes | |
with no source information in the node or the node's parents. | |
Release 6.1.0 (released Jan 05, 2023) | |
===================================== | |
Dependencies | |
------------ | |
* Adopted the `Ruff`_ code linter. | |
.. _Ruff: https://github.com/charliermarsh/ruff | |
Incompatible changes | |
-------------------- | |
* #10979: gettext: Removed support for pluralisation in ``get_translation``. | |
This was unused and complicated other changes to ``sphinx.locale``. | |
Deprecated | |
---------- | |
* ``sphinx.util`` functions: | |
* Renamed ``sphinx.util.typing.stringify()`` | |
to ``sphinx.util.typing.stringify_annotation()`` | |
* Moved ``sphinx.util.xmlname_checker()`` | |
to ``sphinx.builders.epub3._XML_NAME_PATTERN`` | |
Moved to ``sphinx.util.display``: | |
* ``sphinx.util.status_iterator`` | |
* ``sphinx.util.display_chunk`` | |
* ``sphinx.util.SkipProgressMessage`` | |
* ``sphinx.util.progress_message`` | |
Moved to ``sphinx.util.http_date``: | |
* ``sphinx.util.epoch_to_rfc1123`` | |
* ``sphinx.util.rfc1123_to_epoch`` | |
Moved to ``sphinx.util.exceptions``: | |
* ``sphinx.util.save_traceback`` | |
* ``sphinx.util.format_exception_cut_frames`` | |
Features added | |
-------------- | |
* Cache doctrees in the build environment during the writing phase. | |
* Make all writing phase tasks support parallel execution. | |
* #11072: Use PEP 604 (``X | Y``) display conventions for ``typing.Optional`` | |
and ``typing.Optional`` types within the Python domain and autodoc. | |
* #10700: autodoc: Document ``typing.NewType()`` types as classes rather than | |
'data'. | |
* Cache doctrees between the reading and writing phases. | |
Bugs fixed | |
---------- | |
* #10962: HTML: Fix the multi-word key name lookup table. | |
* Fixed support for Python 3.12 alpha 3 (changes in the ``enum`` module). | |
* #11069: HTML Theme: Removed outdated "shortcut" link relation keyword. | |
* #10952: Properly terminate parallel processes on programme interuption. | |
* #10988: Speed up ``TocTree.resolve()`` through more efficient copying. | |
* #6744: LaTeX: support for seealso directive should be via an environment | |
to allow styling. | |
* #11074: LaTeX: Can't change sphinxnote to use sphinxheavybox starting with | |
5.1.0 | |
Release 6.0.1 (released Jan 05, 2023) | |
===================================== | |
Dependencies | |
------------ | |
* Require Pygments 2.13 or later. | |
Bugs fixed | |
---------- | |
* #10944: imgmath: Fix resolving image paths for files in nested folders. | |
Release 6.0.0 (released Dec 29, 2022) | |
===================================== | |
Dependencies | |
------------ | |
* #10468: Drop Python 3.6 support | |
* #10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and | |
Docutils 0.17 support. Patch by Adam Turner | |
Incompatible changes | |
-------------------- | |
* #7405: Removed the jQuery and underscore.js JavaScript frameworks. | |
These frameworks are no longer be automatically injected into themes from | |
Sphinx 6.0. If you develop a theme or extension that uses the | |
``jQuery``, ``$``, or ``$u`` global objects, you need to update your | |
JavaScript to modern standards, or use the mitigation below. | |
The first option is to use the sphinxcontrib.jquery_ extension, which has been | |
developed by the Sphinx team and contributors. To use this, add | |
``sphinxcontrib.jquery`` to the ``extensions`` list in ``conf.py``, or call | |
``app.setup_extension("sphinxcontrib.jquery")`` if you develop a Sphinx theme | |
or extension. | |
The second option is to manually ensure that the frameworks are present. | |
To re-add jQuery and underscore.js, you will need to copy ``jquery.js`` and | |
``underscore.js`` from `the Sphinx repository`_ to your ``static`` directory, | |
and add the following to your ``layout.html``: | |
.. code-block:: html+jinja | |
{%- block scripts %} | |
<script src="{{ pathto('_static/jquery.js', resource=True) }}"></script> | |
<script src="{{ pathto('_static/underscore.js', resource=True) }}"></script> | |
{{ super() }} | |
{%- endblock %} | |
.. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/ | |
Patch by Adam Turner. | |
* #10471, #10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See | |
:ref:`dev-deprecated-apis` for details. Patch by Adam Turner. | |
* #10901: C Domain: Remove support for parsing pre-v3 style type directives and | |
roles. Also remove associated configuration variables ``c_allow_pre_v3`` and | |
``c_warn_on_allowed_pre_v3``. Patch by Adam Turner. | |
Features added | |
-------------- | |
* #10924: LaTeX: adopt better looking defaults for tables and code-blocks. | |
See :confval:`latex_table_style` and the ``pre_border-radius`` and | |
``pre_background-TeXcolor`` :ref:`additionalcss` for the former defaults | |
and how to re-enact them if desired. | |
Bugs fixed | |
---------- | |
* #10984: LaTeX: Document :confval:`latex_additional_files` behavior for files | |
with ``.tex`` extension. | |
Release 5.3.0 (released Oct 16, 2022) | |
===================================== | |
* #10759: LaTeX: add :confval:`latex_table_style` and support the | |
``'booktabs'``, ``'borderless'``, and ``'colorrows'`` styles. | |
(thanks to Stefan Wiehler for initial pull requests #6666, #6671) | |
* #10840: One can cross-reference including an option value like ``:option:`--module=foobar```, | |
``:option:`--module[=foobar]``` or ``:option:`--module foobar```. | |
Patch by Martin Liska. | |
* #10881: autosectionlabel: Record the generated section label to the debug log. | |
* #10268: Correctly URI-escape image filenames. | |
* #10887: domains: Allow sections in all the content of all object description | |
directives (e.g. :rst:dir:`py:function`). Patch by Adam Turner | |
Release 5.2.3 (released Sep 30, 2022) | |
===================================== | |
* #10878: Fix base64 image embedding in ``sphinx.ext.imgmath`` | |
* #10886: Add ``:nocontentsentry:`` flag and global domain table of contents | |
entry control option. Patch by Adam Turner | |
Release 5.2.2 (released Sep 27, 2022) | |
===================================== | |
* #10872: Restore link targets for autodoc modules to the top of content. | |
Patch by Dominic Davis-Foster. | |
Release 5.2.1 (released Sep 25, 2022) | |
===================================== | |
Bugs fixed | |
---------- | |
* #10861: Always normalise the ``pycon3`` lexer to ``pycon``. | |
* Fix using ``sphinx.ext.autosummary`` with modules containing titles in the | |
module-level docstring. | |
Release 5.2.0.post0 (released Sep 24, 2022) | |
=========================================== | |
* Recreated source tarballs for Debian maintainers. | |
Release 5.2.0 (released Sep 24, 2022) | |
===================================== | |
Dependencies | |
------------ | |
* #10356: Sphinx now uses declarative metadata with ``pyproject.toml`` to | |
create packages, using PyPA's ``flit`` project as a build backend. Patch by | |
Adam Turner. | |
Deprecated | |
---------- | |
* #10843: Support for HTML 4 output. Patch by Adam Turner. | |
Features added | |
-------------- | |
* #10738: napoleon: Add support for docstring types using 'of', like | |
``type of type``. Example: ``tuple of int``. | |
* #10286: C++, support requires clauses not just between the template | |
parameter lists and the declaration. | |
* #10755: linkcheck: Check the source URL of raw directives that use the ``url`` | |
option. | |
* #10781: Allow :rst:role:`ref` role to be used with definitions and fields. | |
* #10717: HTML Search: Increase priority for full title and | |
subtitle matches in search results | |
* #10718: HTML Search: Save search result score to the HTML element for debugging | |
* #10673: Make toctree accept 'genindex', 'modindex' and 'search' docnames | |
* #6316, #10804: Add domain objects to the table of contents. Patch by Adam Turner | |
* #6692: HTML Search: Include explicit :rst:dir:`index` directive index entries | |
in the search index and search results. Patch by Adam Turner | |
* #10816: imgmath: Allow embedding images in HTML as base64 | |
* #10854: HTML Search: Use browser localstorage for highlight control, stop | |
storing highlight parameters in URL query strings. Patch by Adam Turner. | |
Bugs fixed | |
---------- | |
* #10723: LaTeX: 5.1.0 has made the 'sphinxsetup' ``verbatimwithframe=false`` | |
become without effect. | |
* #10257: C++, ensure consistent non-specialization template argument | |
representation. | |
* #10729: C++, fix parsing of certain non-type template parameter packs. | |
* #10715: Revert #10520: "Fix" use of sidebar classes in ``agogo.css_t`` | |
Release 5.1.1 (released Jul 26, 2022) | |
===================================== | |
Bugs fixed | |
---------- | |
* #10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean`` | |
iterator implementation. | |
* #10702: Restore compatability with third-party builders. | |
Release 5.1.0 (released Jul 24, 2022) | |
===================================== | |
Dependencies | |
------------ | |
* #10656: Support `Docutils 0.19`_. Patch by Adam Turner. | |
.. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05 | |
Deprecated | |
---------- | |
* #10467: Deprecated ``sphinx.util.stemmer`` in favour of ``snowballstemmer``. | |
Patch by Adam Turner. | |
* #9856: Deprecated ``sphinx.ext.napoleon.iterators``. | |
Features added | |
-------------- | |
* #10444: html theme: Allow specifying multiple CSS files through the ``stylesheet`` | |
setting in ``theme.conf`` or by setting ``html_style`` to an iterable of strings. | |
* #10366: std domain: Add support for emphasising placeholders in :rst:dir:`option` | |
directives through a new :confval:`option_emphasise_placeholders` configuration | |
option. | |
* #10439: std domain: Use the repr of some variables when displaying warnings, | |
making whitespace issues easier to identify. | |
* #10571: quickstart: Reduce content in the generated ``conf.py`` file. Patch by | |
Pradyun Gedam. | |
* #10648: LaTeX: CSS-named-alike additional :ref:`'sphinxsetup' <latexsphinxsetup>` | |
keys allow to configure four separate border-widths, four paddings, four | |
corner radii, a shadow (possibly inset), colours for border, background, shadow | |
for each of the code-block, topic, attention, caution, danger, error and warning | |
directives. | |
* #10655: LaTeX: Explain non-standard encoding in LatinRules.xdy | |
* #10599: HTML Theme: Wrap consecutive footnotes in an ``<aside>`` element when | |
using Docutils 0.18 or later, to allow for easier styling. This matches the | |
behaviour introduced in Docutils 0.19. Patch by Adam Turner. | |
* #10518: config: Add ``include_patterns`` as the opposite of ``exclude_patterns``. | |
Patch by Adam Turner. | |
Bugs fixed | |
---------- | |
* #10594: HTML Theme: field term colons are doubled if using Docutils 0.18+ | |
* #10596: Build failure if Docutils version is 0.18 (not 0.18.1) due | |
to missing ``Node.findall()`` | |
* #10506: LaTeX: build error if highlighting inline code role in figure caption | |
(refs: #10251) | |
* #10634: Make -P (pdb) option work better with exceptions triggered from events | |
* #10550: py domain: Fix spurious whitespace in unparsing various operators (``+``, | |
``-``, ``~``, and ``**``). Patch by Adam Turner (refs: #10551). | |
* #10460: logging: Always show node source locations as absolute paths. | |
* HTML Search: HTML tags are displayed as a part of object name | |
* HTML Search: search snipets should not be folded | |
* HTML Search: Minor errors are emitted on fetching search snipets | |
* HTML Search: The markers for header links are shown in the search result | |
* #10520: HTML Theme: Fix use of sidebar classes in ``agogo.css_t``. | |
* #6679: HTML Theme: Fix inclusion of hidden toctrees in the agogo theme. | |
* #10566: HTML Theme: Fix enable_search_shortcuts does not work | |
* #8686: LaTeX: Text can fall out of code-block at end of page and leave artifact | |
on next page | |
* #10633: LaTeX: user injected ``\color`` commands in topic or admonition boxes may | |
cause color leaks in PDF due to upstream `framed.sty <https://ctan.org/pkg/framed>`_ | |
bug | |
* #10638: LaTeX: framed coloured boxes in highlighted code (e.g. highlighted | |
diffs using Pygments style ``'manni'``) inherit thickness of code-block frame | |
* #10647: LaTeX: Only one ``\label`` is generated for ``desc_signature`` node | |
even if it has multiple node IDs | |
* #10579: i18n: UnboundLocalError is raised on translating raw directive | |
* #9577, #10088: py domain: Fix warning for duplicate Python references when | |
using ``:any:`` and autodoc. | |
* #10548: HTML Search: fix minor summary issues. | |
Release 5.0.2 (released Jun 17, 2022) | |
===================================== | |
Features added | |
-------------- | |
* #10523: HTML Theme: Expose the Docutils's version info tuple as a template | |
variable, ``docutils_version_info``. Patch by Adam Turner. | |
Bugs fixed | |
---------- | |
* #10538: autodoc: Inherited class attribute having docstring is documented even | |
if :confval:`autodoc_inherit_docstring` is disabled | |
* #10509: autosummary: autosummary fails with a shared library | |
* #10497: py domain: Failed to resolve strings in Literal. Patch by Adam Turner. | |
* #10523: HTML Theme: Fix double brackets on citation references in Docutils 0.18+. | |
Patch by Adam Turner. | |
* #10534: Missing CSS for nav.contents in Docutils 0.18+. Patch by Adam Turner. | |
Release 5.0.1 (released Jun 03, 2022) | |
===================================== | |
Bugs fixed | |
---------- | |
* #10498: gettext: TypeError is raised when sorting warning messages if a node | |
has no line number. Patch by Adam Turner. | |
* #10493: HTML Theme: :dudir:`topic` directive is rendered incorrectly with | |
Docutils 0.18. Patch by Adam Turner. | |
* #10495: IndexError is raised for a :rst:role:`kbd` role having a separator. | |
Patch by Adam Turner. | |
Release 5.0.0 (released May 30, 2022) | |
===================================== | |
Dependencies | |
------------ | |
5.0.0 b1 | |
* #10164: Support `Docutils 0.18`_. Patch by Adam Turner. | |
.. _Docutils 0.18: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-18-2021-10-26 | |
Incompatible changes | |
-------------------- | |
5.0.0 b1 | |
* #10031: autosummary: ``sphinx.ext.autosummary.import_by_name()`` now raises | |
``ImportExceptionGroup`` instead of ``ImportError`` when it failed to import | |
target object. Please handle the exception if your extension uses the | |
function to import Python object. As a workaround, you can disable the | |
behavior via ``grouped_exception=False`` keyword argument until v7.0. | |
* #9962: texinfo: Customizing styles of emphasized text via ``@definfoenclose`` | |
command was not supported because the command was deprecated since texinfo 6.8 | |
* #2068: :confval:`intersphinx_disabled_reftypes` has changed default value | |
from an empty list to ``['std:doc']`` as avoid too surprising silent | |
intersphinx resolutions. | |
To migrate: either add an explicit inventory name to the references | |
intersphinx should resolve, or explicitly set the value of this configuration | |
variable to an empty list. | |
* #10197: html theme: Reduce ``body_min_width`` setting in basic theme to 360px | |
* #9999: LaTeX: separate terms from their definitions by a CR (refs: #9985) | |
* #10062: Change the default language to ``'en'`` if any language is not set in | |
``conf.py`` | |
5.0.0 final | |
* #10474: :confval:`language` does not accept ``None`` as it value. The default | |
value of ``language`` becomes to ``'en'`` now. | |
Patch by Adam Turner and Takeshi KOMIYA. | |
Deprecated | |
---------- | |
5.0.0 b1 | |
* #10028: jQuery and underscore.js will no longer be automatically injected into | |
themes from Sphinx 6.0. If you develop a theme or extension that uses the | |
``jQuery``, ``$``, or ``$u`` global objects, you need to update your | |
JavaScript or use the mitigation below. | |
To re-add jQuery and underscore.js, you will need to copy ``jquery.js`` and | |
``underscore.js`` from `the Sphinx repository`_ to your ``static`` directory, | |
and add the following to your ``layout.html``: | |
.. _the Sphinx repository: https://github.com/sphinx-doc/sphinx/tree/v5.3.0/sphinx/themes/basic/static | |
.. code-block:: html+jinja | |
{%- block scripts %} | |
<script src="{{ pathto('_static/jquery.js', resource=True) }}"></script> | |
<script src="{{ pathto('_static/underscore.js', resource=True) }}"></script> | |
{{ super() }} | |
{%- endblock %} | |
Patch by Adam Turner. | |
* setuptools integration. The ``build_sphinx`` sub-command for setup.py is | |
marked as deprecated to follow the policy of setuptools team. | |
* The ``locale`` argument of ``sphinx.util.i18n:babel_format_date()`` becomes | |
required | |
* The ``language`` argument of ``sphinx.util.i18n:format_date()`` becomes | |
required | |
* ``sphinx.builders.html.html5_ready`` | |
* ``sphinx.io.read_doc()`` | |
* ``sphinx.util.docutils.__version_info__`` | |
* ``sphinx.util.docutils.is_html5_writer_available()`` | |
* ``sphinx.writers.latex.LaTeXWriter.docclasses`` | |
Features added | |
-------------- | |
5.0.0 b1 | |
* #9075: autodoc: The default value of :confval:`autodoc_typehints_format` is | |
changed to ``'smart'``. It will suppress the leading module names of | |
typehints (ex. ``io.StringIO`` -> ``StringIO``). | |
* #8417: autodoc: ``:inherited-members:`` option now takes multiple classes. It | |
allows to suppress inherited members of several classes on the module at once | |
by specifying the option to :rst:dir:`automodule` directive | |
* #9792: autodoc: Add new option for ``autodoc_typehints_description_target`` to | |
include undocumented return values but not undocumented parameters. | |
* #10285: autodoc: singledispatch functions having typehints are not documented | |
* autodoc: :confval:`autodoc_typehints_format` now also applies to attributes, | |
data, properties, and type variable bounds. | |
* #10258: autosummary: Recognize a documented attribute of a module as | |
non-imported | |
* #10028: Removed internal usages of JavaScript frameworks (jQuery and | |
underscore.js) and modernised ``doctools.js`` and ``searchtools.js`` to | |
EMCAScript 2018. Patch by Adam Turner. | |
* #10302: C++, add support for conditional expressions (``?:``). | |
* #5157, #10251: Inline code is able to be highlighted via :dudir:`role` | |
directive | |
* #10337: Make sphinx-build faster by caching Publisher object during build. | |
Patch by Adam Turner. | |
Bugs fixed | |
---------- | |
5.0.0 b1 | |
* #10200: apidoc: Duplicated submodules are shown for modules having both .pyx | |
and .so files. Patch by Adam Turner and Takeshi KOMIYA. | |
* #10279: autodoc: Default values for keyword only arguments in overloaded | |
functions are rendered as a string literal | |
* #10280: autodoc: :confval:`autodoc_docstring_signature` unexpectedly generates | |
return value typehint for constructors if docstring has multiple signatures | |
* #10266: autodoc: :confval:`autodoc_preserve_defaults` does not work for | |
mixture of keyword only arguments with/without defaults | |
* #10310: autodoc: class methods are not documented when decorated with mocked | |
function | |
* #10305: autodoc: Failed to extract optional forward-ref'ed typehints correctly | |
via :confval:`autodoc_type_aliases` | |
* #10421: autodoc: :confval:`autodoc_preserve_defaults` doesn't work on class | |
methods | |
* #10214: html: invalid language tag was generated if :confval:`language` | |
contains a country code (ex. zh_CN) | |
* #9974: html: Updated jQuery version from 3.5.1 to 3.6.0 | |
* #10236: html search: objects are duplicated in search result | |
* #9962: texinfo: Deprecation message for ``@definfoenclose`` command on | |
bulding texinfo document | |
* #10000: LaTeX: glossary terms with common definition are rendered with | |
too much vertical whitespace | |
* #10188: LaTeX: alternating multiply referred footnotes produce a ``?`` in | |
pdf output | |
* #10363: LaTeX: make ``'howto'`` title page rule use ``\linewidth`` for | |
compatibility with usage of a ``twocolumn`` class option | |
* #10318: ``:prepend:`` option of :rst:dir:`literalinclude` directive does not | |
work with ``:dedent:`` option | |
5.0.0 final | |
* #9575: autodoc: The annotation of return value should not be shown when | |
``autodoc_typehints="description"`` | |
* #9648: autodoc: ``*args`` and ``**kwargs`` entries are duplicated when | |
``autodoc_typehints="description"`` | |
* #8180: autodoc: Docstring metadata ignored for attributes | |
* #10443: epub: EPUB builder can't detect the mimetype of .webp file | |
* #10104: gettext: Duplicated locations are shown if 3rd party extension does | |
not provide correct information | |
* #10456: py domain: ``:meta:`` fields are displayed if docstring contains two | |
or more meta-field | |
* #9096: sphinx-build: the value of progress bar for paralle build is wrong | |
* #10110: sphinx-build: exit code is not changed when error is raised on | |
builder-finished event | |
Release 4.5.0 (released Mar 28, 2022) | |
===================================== | |
Incompatible changes | |
-------------------- | |
* #10112: extlinks: Disable hardcoded links detector by default | |
* #9993, #10177: std domain: Disallow to refer an inline target via | |
:rst:role:`ref` role | |
Deprecated | |
---------- | |
* ``sphinx.ext.napoleon.docstring.GoogleDocstring._qualify_name()`` | |
Features added | |
-------------- | |
* #10260: Enable ``FORCE_COLOR`` and ``NO_COLOR`` for terminal colouring | |
* #10234: autosummary: Add "autosummary" CSS class to summary tables | |
* #10125: extlinks: Improve suggestion message for a reference having title | |
* #10112: extlinks: Add :confval:`extlinks_detect_hardcoded_links` to enable | |
hardcoded links detector feature | |
* #9494, #9456: html search: Add a config variable | |
:confval:`html_show_search_summary` to enable/disable the search summaries | |
* #9337: HTML theme, add option ``enable_search_shortcuts`` that enables :kbd:`/` as | |
a Quick search shortcut and :kbd:`Esc` shortcut that | |
removes search highlighting. | |
* #10107: i18n: Allow to suppress translation warnings by adding ``#noqa`` | |
comment to the tail of each translation message | |
* #10252: C++, support attributes on classes, unions, and enums. | |
* #10253: :rst:role:`pep` role now generates URLs based on `peps.python.org | |
<https://peps.python.org>`_ | |
Bugs fixed | |
---------- | |
* #9876: autodoc: Failed to document an imported class that is built from native | |
binary module | |
* #10133: autodoc: Crashed when mocked module is used for type annotation | |
* #10146: autodoc: :confval:`autodoc_default_options` does not support | |
``no-value`` option | |
* #9971: autodoc: TypeError is raised when the target object is annotated by | |
unhashable object | |
* #10205: extlinks: Failed to compile regexp on checking hardcoded links | |
* #10277: html search: Could not search short words (ex. "use") | |
* #9529: LaTeX: named auto numbered footnote (ex. ``[#named]``) that is referred | |
multiple times was rendered to a question mark | |
* #9924: LaTeX: multi-line :rst:dir:`cpp:function` directive has big vertical | |
spacing in Latexpdf | |
* #10158: LaTeX: excessive whitespace since v4.4.0 for undocumented | |
variables/structure members | |
* #10175: LaTeX: named footnote reference is linked to an incorrect footnote if | |
the name is also used in the different document | |
* #10269: manpage: Failed to resolve the title of :rst:role:`ref` cross references | |
* #10179: i18n: suppress "rST localization" warning | |
* #10118: imgconverter: Unnecessary availablity check is called for remote URIs | |
* #10181: napoleon: attributes are displayed like class attributes for google | |
style docstrings when :confval:`napoleon_use_ivar` is enabled | |
* #10122: sphinx-build: make.bat does not check the installation of sphinx-build | |
command before showing help | |
Release 4.4.0 (released Jan 17, 2022) | |
===================================== | |
Dependencies | |
------------ | |
* #10007: Use ``importlib_metadata`` for python-3.9 or older | |
* #10007: Drop ``setuptools`` | |
Features added | |
-------------- | |
* #9075: autodoc: Add a config variable :confval:`autodoc_typehints_format` | |
to suppress the leading module names of typehints of function signatures (ex. | |
``io.StringIO`` -> ``StringIO``) | |
* #9831: Autosummary now documents only the members specified in a module's | |
``__all__`` attribute if :confval:`autosummary_ignore_module_all` is set to | |
``False``. The default behaviour is unchanged. Autogen also now supports | |
this behavior with the ``--respect-module-all`` switch. | |
* #9555: autosummary: Improve error messages on failure to load target object | |
* #9800: extlinks: Emit warning if a hardcoded link is replaceable | |
by an extlink, suggesting a replacement. | |
* #9961: html: Support nested <kbd> HTML elements in other HTML builders | |
* #10013: html: Allow to change the loading method of JS via ``loading_method`` | |
parameter for :meth:`.Sphinx.add_js_file()` | |
* #9551: html search: "Hide Search Matches" link removes "highlight" parameter | |
from URL | |
* #9815: html theme: Wrap sidebar components in div to allow customizing their | |
layout via CSS | |
* #9827: i18n: Sort items in glossary by translated terms | |
* #9899: py domain: Allows to specify cross-reference specifier (``.`` and | |
``~``) as ``:type:`` option | |
* #9894: linkcheck: add option ``linkcheck_exclude_documents`` to disable link | |
checking in matched documents. | |
* #9793: sphinx-build: Allow to use the parallel build feature in macOS on macOS | |
and Python3.8+ | |
* #10055: sphinx-build: Create directories when ``-w`` option given | |
* #9993: std domain: Allow to refer an inline target (ex. ``_`target name```) | |
via :rst:role:`ref` role | |
* #9981: std domain: Strip value part of the option directive from general index | |
* #9391: texinfo: improve variable in ``samp`` role | |
* #9578: texinfo: Add :confval:`texinfo_cross_references` to disable cross | |
references for readability with standalone readers | |
* #9822 (and #9062), add new Intersphinx role :rst:role:`external` for explict | |
lookup in the external projects, without resolving to the local project. | |
Bugs fixed | |
---------- | |
* #9866: autodoc: doccomment for the imported class was ignored | |
* #9883: autodoc: doccomment for the alias to mocked object was ignored | |
* #9908: autodoc: debug message is shown on building document using NewTypes | |
with Python 3.10 | |
* #9968: autodoc: instance variables are not shown if __init__ method has | |
position-only-arguments | |
* #9194: autodoc: types under the "typing" module are not hyperlinked | |
* #10009: autodoc: Crashes if target object raises an error on getting docstring | |
* #10058: autosummary: Imported members are not shown when | |
``autodoc_class_signature = 'separated'`` | |
* #9947: i18n: topic directive having a bullet list can't be translatable | |
* #9878: mathjax: MathJax configuration is placed after loading MathJax itself | |
* #9932: napoleon: empty "returns" section is generated even if no description | |
* #9857: Generated RFC links use outdated base url | |
* #9909: HTML, prevent line-wrapping in literal text. | |
* #10061: html theme: Configuration values added by themes are not be able to | |
override from conf.py | |
* #10073: imgconverter: Unnecessary availablity check is called for "data" URIs | |
* #9925: LaTeX: prohibit also with ``'xelatex'`` line splitting at dashes of | |
inline and parsed literals | |
* #9944: LaTeX: extra vertical whitespace for some nested declarations | |
* #9940: LaTeX: Multi-function declaration in Python domain has cramped | |
vertical spacing in latexpdf output | |
* #10015: py domain: types under the "typing" module are not hyperlinked defined | |
at info-field-list | |
* #9390: texinfo: Do not emit labels inside footnotes | |
* #9413: xml: Invalid XML was generated when cross referencing python objects | |
* #9979: Error level messages were displayed as warning messages | |
* #10057: Failed to scan documents if the project is placed onto the root | |
directory | |
* #9636: code-block: ``:dedent:`` without argument did strip newlines | |
Release 4.3.2 (released Dec 19, 2021) | |
===================================== | |
Bugs fixed | |
---------- | |
* #9917: C and C++, parse fundamental types no matter the order of simple type | |
specifiers. | |
Release 4.3.1 (released Nov 28, 2021) | |
===================================== | |
Features added | |
-------------- | |
* #9864: mathjax: Support chnaging the loading method of MathJax to "defer" via | |
:confval:`mathjax_options` | |
Bugs fixed | |
---------- | |
* #9838: autodoc: AttributeError is raised on building document for functions | |
decorated by functools.lru_cache | |
* #9879: autodoc: AttributeError is raised on building document for an object | |
having invalid __doc__ attribute | |
* #9844: autodoc: Failed to process a function wrapped with functools.partial if | |
:confval:`autodoc_preserve_defaults` enabled | |
* #9872: html: Class namespace collision between autodoc signatures and | |
docutils-0.17 | |
* #9868: imgmath: Crashed if the dvisvgm command failed to convert equation | |
* #9864: mathjax: Failed to render equations via MathJax v2. The loading method | |
of MathJax is back to "async" method again | |
Release 4.3.0 (released Nov 11, 2021) | |
===================================== | |
Dependencies | |
------------ | |
* Support Python 3.10 | |
Incompatible changes | |
-------------------- | |
* #9649: ``searchindex.js``: the embedded data has changed format to allow | |
objects with the same name in different domains. | |
* #9672: The rendering of Python domain declarations is implemented | |
with more docutils nodes to allow better CSS styling. | |
It may break existing styling. | |
* #9672: the signature of | |
``domains.python.PyObject.get_signature_prefix`` has changed to | |
return a list of nodes instead of a plain string. | |
* #9695: ``domains.js.JSObject.display_prefix`` has been changed into a method | |
``get_display_prefix`` which now returns a list of nodes | |
instead of a plain string. | |
* #9695: The rendering of Javascript domain declarations is implemented | |
with more docutils nodes to allow better CSS styling. | |
It may break existing styling. | |
* #9450: mathjax: Load MathJax via "defer" strategy | |
Deprecated | |
---------- | |
* ``sphinx.ext.autodoc.AttributeDocumenter._datadescriptor`` | |
* ``sphinx.writers.html.HTMLTranslator._fieldlist_row_index`` | |
* ``sphinx.writers.html.HTMLTranslator._table_row_index`` | |
* ``sphinx.writers.html5.HTML5Translator._fieldlist_row_index`` | |
* ``sphinx.writers.html5.HTML5Translator._table_row_index`` | |
Features added | |
-------------- | |
* #9639: autodoc: Support asynchronous generator functions | |
* #9664: autodoc: ``autodoc-process-bases`` supports to inject reST snippet as a | |
base class | |
* #9691: C, added new info-field ``retval`` | |
for :rst:dir:`c:function` and :rst:dir:`c:macro`. | |
* C++, added new info-field ``retval`` for :rst:dir:`cpp:function`. | |
* #9618: i18n: Add :confval:`gettext_allow_fuzzy_translations` to allow "fuzzy" | |
messages for translation | |
* #9672: More CSS classes on Python domain descriptions | |
* #9695: More CSS classes on Javascript domain descriptions | |
* #9683: Revert the removal of ``add_stylesheet()`` API. It will be kept until | |
the Sphinx 6.0 release | |
* #2068, add :confval:`intersphinx_disabled_reftypes` for disabling | |
interphinx resolution of cross-references that do not have an explicit | |
inventory specification. Specific types of cross-references can be disabled, | |
e.g., ``std:doc`` or all cross-references in a specific domain, | |
e.g., ``std:*``. | |
* #9623: Allow to suppress "toctree contains reference to excluded document" | |
warnings using :confval:`suppress_warnings` | |
Bugs fixed | |
---------- | |
* #9630: autodoc: Failed to build cross references if :confval:`primary_domain` | |
is not 'py' | |
* #9644: autodoc: Crashed on getting source info from problematic object | |
* #9655: autodoc: mocked object having doc comment is warned unexpectedly | |
* #9651: autodoc: return type field is not generated even if | |
:confval:`autodoc_typehints_description_target` is set to "documented" when | |
its info-field-list contains ``:returns:`` field | |
* #9657: autodoc: The base class for a subclass of mocked object is incorrect | |
* #9607: autodoc: Incorrect base class detection for the subclasses of the | |
generic class | |
* #9755: autodoc: memory addresses are shown for aliases | |
* #9752: autodoc: Failed to detect type annotation for slots attribute | |
* #9756: autodoc: Crashed if classmethod does not have __func__ attribute | |
* #9757: autodoc: :confval:`autodoc_inherit_docstrings` does not effect to | |
overridden classmethods | |
* #9781: autodoc: :confval:`autodoc_preserve_defaults` does not support | |
hexadecimal numeric | |
* #9630: autosummary: Failed to build summary table if :confval:`primary_domain` | |
is not 'py' | |
* #9670: html: Fix download file with special characters | |
* #9710: html: Wrong styles for even/odd rows in nested tables | |
* #9763: html: parameter name and its type annotation are not separated in HTML | |
* #9649: HTML search: when objects have the same name but in different domains, | |
return all of them as result instead of just one. | |
* #7634: intersphinx: references on the file in sub directory are broken | |
* #9737: LaTeX: hlist is rendered as a list containing "aggedright" text | |
* #9678: linkcheck: file extension was shown twice in warnings | |
* #9697: py domain: An index entry with parens was registered for ``py:method`` | |
directive with ``:property:`` option | |
* #9775: py domain: Literal typehint was converted to a cross reference when | |
:confval:`autodoc_typehints`\ ``='description'`` | |
* #9708: needs_extension failed to check double-digit version correctly | |
* #9688: Fix Sphinx patched :dudir:`code` does not recognize ``:class:`` option | |
* #9733: Fix for logging handler flushing warnings in the middle of the docs | |
build | |
* #9656: Fix warnings without subtype being incorrectly suppressed | |
* Intersphinx, for unresolved references with an explicit inventory, | |
e.g., ``proj:myFunc``, leave the inventory prefix in the unresolved text. | |
Release 4.2.0 (released Sep 12, 2021) | |
===================================== | |
Features added | |
-------------- | |
* #9445: autodoc: Support class properties | |
* #9479: autodoc: Emit a warning if target is a mocked object | |
* #9560: autodoc: Allow to refer NewType instances with module name in Python | |
3.10 or above | |
* #9447: html theme: Expose the version of Sphinx in the form of tuple as a | |
template variable ``sphinx_version_tuple`` | |
* #9594: manpage: Suppress the title of man page if description is empty | |
* #9445: py domain: :rst:dir:`py:property` directive supports ``:classmethod:`` | |
option to describe the class property | |
* #9524: test: SphinxTestApp can take ``builddir`` as an argument | |
* #9535: C and C++, support more fundamental types, including GNU extensions. | |
Bugs fixed | |
---------- | |
* #9608: apidoc: apidoc does not generate a module definition for implicit | |
namespace package | |
* #9504: autodoc: generate incorrect reference to the parent class if the target | |
class inherites the class having ``_name`` attribute | |
* #9537, #9589: autodoc: Some objects under ``typing`` module are not displayed | |
well with the HEAD of 3.10 | |
* #9487: autodoc: typehint for cached_property is not shown | |
* #9509: autodoc: AttributeError is raised on failed resolving typehints | |
* #9518: autodoc: autodoc_docstring_signature does not effect to ``__init__()`` | |
and ``__new__()`` | |
* #9522: autodoc: PEP 585 style typehints having arguments (ex. ``list[int]``) | |
are not displayed well | |
* #9481: autosummary: some warnings contain non-existing filenames | |
* #9568: autosummary: summarise overlined sectioned headings correctly | |
* #9600: autosummary: Type annotations which contain commas in autosummary table | |
are not removed completely | |
* #9481: c domain: some warnings contain non-existing filenames | |
* #9481: cpp domain: some warnings contain non-existing filenames | |
* #9456: html search: abbreation marks are inserted to the search result if | |
failed to fetch the content of the page | |
* #9617: html search: The JS requirement warning is shown if browser is slow | |
* #9267: html theme: CSS and JS files added by theme were loaded twice | |
* #9585: py domain: ``:type:`` option for :rst:dir:`py:property` directive does | |
not create a hyperlink | |
* #9576: py domain: Literal typehint was converted to a cross reference | |
* #9535 comment: C++, fix parsing of defaulted function parameters that are | |
function pointers. | |
* #9564: smartquotes: don't adjust typography for text with | |
language-highlighted ``:code:`` role. | |
* #9512: sphinx-build: crashed with the HEAD of Python 3.10 | |
Release 4.1.2 (released Jul 27, 2021) | |
===================================== | |
Incompatible changes | |
-------------------- | |
* #9435: linkcheck: Disable checking automatically generated anchors on | |
github.com (ex. anchors in reST/Markdown documents) | |
Bugs fixed | |
---------- | |
* #9489: autodoc: Custom types using ``typing.NewType`` are not displayed well | |
with the HEAD of 3.10 | |
* #9490: autodoc: Some objects under ``typing`` module are not displayed well | |
with the HEAD of 3.10 | |
* #9436, #9471: autodoc: crashed if ``autodoc_class_signature = "separated"`` | |
* #9456: html search: html_copy_source can't control the search summaries | |
* #9500: LaTeX: Failed to build Japanese document on Windows | |
* #9435: linkcheck: Failed to check anchors in github.com | |
Release 4.1.1 (released Jul 15, 2021) | |
===================================== | |
Dependencies | |
------------ | |
* #9434: sphinxcontrib-htmlhelp-2.0.0 or above | |
* #9434: sphinxcontrib-serializinghtml-1.1.5 or above | |
Bugs fixed | |
---------- | |
* #9438: html: HTML logo or Favicon specified as file not being found on output | |
Release 4.1.0 (released Jul 12, 2021) | |
===================================== | |
Dependencies | |
------------ | |
* Support jinja2-3.0 | |
Deprecated | |
---------- | |
* The ``app`` argument of ``sphinx.environment.BuildEnvironment`` becomes | |
required | |
* ``sphinx.application.Sphinx.html_theme`` | |
* ``sphinx.ext.autosummary._app`` | |
* ``sphinx.util.docstrings.extract_metadata()`` | |
Features added | |
-------------- | |
* #8107: autodoc: Add ``class-doc-from`` option to :rst:dir:`autoclass` | |
directive to control the content of the specific class like | |
:confval:`autoclass_content` | |
* #8588: autodoc: :confval:`autodoc_type_aliases` now supports dotted name. It | |
allows you to define an alias for a class with module name like | |
``foo.bar.BazClass`` | |
* #9175: autodoc: Special member is not documented in the module | |
* #9195: autodoc: The arguments of ``typing.Literal`` are wrongly rendered | |
* #9185: autodoc: :confval:`autodoc_typehints` allows ``'both'`` setting to | |
allow typehints to be included both in the signature and description | |
* #4257: autodoc: Add :confval:`autodoc_class_signature` to separate the class | |
entry and the definition of ``__init__()`` method | |
* #8061, #9218: autodoc: Support variable comment for alias classes | |
* #3014: autodoc: Add :event:`autodoc-process-bases` to modify the base classes | |
of the class definitions | |
* #9272: autodoc: Render enum values for the default argument value better | |
* #9384: autodoc: ``autodoc_typehints='none'`` now erases typehints for | |
variables, attributes and properties | |
* #3257: autosummary: Support instance attributes for classes | |
* #9358: html: Add "heading" role to the toctree items | |
* #9225: html: Add span tag to the return typehint of method/function | |
* #9129: html search: Show search summaries when html_copy_source = False | |
* #9307: html search: Prevent corrections and completions in search field | |
* #9120: html theme: Eliminate prompt characters of code-block from copyable | |
text | |
* #9176: i18n: Emit a debug message if message catalog file not found under | |
:confval:`locale_dirs` | |
* #9414: LaTeX: Add xeCJKVerbAddon to default fvset config for Chinese documents | |
* #9016: linkcheck: Support checking anchors on github.com | |
* #9016: linkcheck: Add a new event :event:`linkcheck-process-uri` to modify | |
URIs before checking hyperlinks | |
* #6525: linkcheck: Add :confval:`linkcheck_allowed_redirects` to mark | |
hyperlinks that are redirected to expected URLs as "working" | |
* #1874: py domain: Support union types using ``|`` in info-field-list | |
* #9268: py domain: :confval:`python_use_unqualified_type_names` supports type | |
field in info-field-list | |
* #9097: Optimize the parallel build | |
* #9131: Add :confval:`nitpick_ignore_regex` to ignore nitpicky warnings using | |
regular expressions | |
* #9174: Add ``Sphinx.set_html_assets_policy`` to tell extensions to include | |
HTML assets in all the pages. Extensions can check this via | |
``Sphinx.registry.html_assets_policy`` | |
* C++, add support for | |
- ``inline`` variables, | |
- ``consteval`` functions, | |
- ``constinit`` variables, | |
- ``char8_t``, | |
- ``explicit(<constant expression>)`` specifier, | |
- digit separators in literals, and | |
- constraints in placeholder type specifiers, aka. adjective syntax | |
(e.g., ``Sortable auto &v``). | |
* C, add support for digit separators in literals. | |
* #9166: LaTeX: support containers in LaTeX output | |
Bugs fixed | |
---------- | |
* #8872: autodoc: stacked singledispatches are wrongly rendered | |
* #8597: autodoc: a docsting having metadata only should be treated as | |
undocumented | |
* #9185: autodoc: typehints for overloaded functions and methods are inaccurate | |
* #9250: autodoc: The inherited method not having docstring is wrongly parsed | |
* #9283: autodoc: autoattribute directive failed to generate document for an | |
attribute not having any comment | |
* #9364: autodoc: single element tuple on the default argument value is wrongly | |
rendered | |
* #9362: autodoc: AttributeError is raised on processing a subclass of Tuple[()] | |
* #9404: autodoc: TypeError is raised on processing dict-like object (not a | |
class) via autoclass directive | |
* #9317: html: Pushing left key causes visiting the next page at the first page | |
* #9381: html: URL for html_favicon and html_log does not work | |
* #9270: html theme : pyramid theme generates incorrect logo links | |
* #9217: manpage: The name of manpage directory that is generated by | |
:confval:`man_make_section_directory` is not correct | |
* #9350: manpage: Fix font isn't reset after keyword at the top of samp role | |
* #9306: Linkcheck reports broken link when remote server closes the connection | |
on HEAD request | |
* #9280: py domain: "exceptions" module is not displayed | |
* #9418: py domain: a Callable annotation with no parameters | |
(e.g. ``Callable[[], None])`` will be rendered with a bracket missing | |
(``Callable[], None]``) | |
* #9319: quickstart: Make sphinx-quickstart exit when conf.py already exists | |
* #9387: xml: XML Builder ignores custom visitors | |
* #9224: ``:param:`` and ``:type:`` fields does not support a type containing | |
whitespace (ex. ``Dict[str, str]``) | |
* #8945: when transforming typed fields, call the specified role instead of | |
making an single xref. For C and C++, use the ``expr`` role for typed fields. | |
Release 4.0.3 (released Jul 05, 2021) | |
===================================== | |
Features added | |
-------------- | |
* C, add C23 keywords ``_Decimal32``, ``_Decimal64``, and ``_Decimal128``. | |
* #9354: C, add :confval:`c_extra_keywords` to allow user-defined keywords | |
during parsing. | |
* Revert the removal of ``sphinx.util:force_decode()`` to become some 3rd party | |
extensions available again during 5.0 | |
Bugs fixed | |
---------- | |
* #9330: changeset domain: :rst:dir:`versionchanged` with contents being a list | |
will cause error during pdf build | |
* #9313: LaTeX: complex table with merged cells broken since 4.0 | |
* #9305: LaTeX: backslash may cause Improper discretionary list pdf build error | |
with Japanese engines | |
* #9354: C, remove special macro names from the keyword list. | |
See also :confval:`c_extra_keywords`. | |
* #9322: KeyError is raised on PropagateDescDomain transform | |
Release 4.0.2 (released May 20, 2021) | |
===================================== | |
Dependencies | |
------------ | |
* #9216: Support jinja2-3.0 | |
Incompatible changes | |
-------------------- | |
* #9222: Update Underscore.js to 1.13.1 | |
* #9217: manpage: Stop creating a section directory on build manpage by default | |
(see :confval:`man_make_section_directory`) | |
Bugs fixed | |
---------- | |
* #9210: viewcode: crashed if non importable modules found on parallel build | |
* #9240: Unknown node error for pending_xref_condition is raised if an extension | |
that does not support the node installs a missing-reference handler | |
Release 4.0.1 (released May 11, 2021) | |
===================================== | |
Bugs fixed | |
---------- | |
* #9189: autodoc: crashed when ValueError is raised on generating signature | |
from a property of the class | |
* #9188: autosummary: warning is emitted if list value is set to | |
autosummary_generate | |
* #8380: html search: tags for search result are broken | |
* #9198: i18n: Babel emits errors when running compile_catalog | |
* #9205: py domain: The :canonical: option causes "more than one target for | |
cross-reference" warning | |
* #9201: websupport: UndefinedError is raised: 'css_tag' is undefined | |
Release 4.0.0 (released May 09, 2021) | |
===================================== | |
Dependencies | |
------------ | |
4.0.0b1 | |
* Drop python 3.5 support | |
* Drop docutils 0.12 and 0.13 support | |
* LaTeX: add ``tex-gyre`` font dependency | |
4.0.0b2 | |
* Support docutils-0.17. Please notice it changes the output of HTML builder. | |
Some themes do not support it, and you need to update your custom CSS to | |
upgrade it. | |
Incompatible changes | |
-------------------- | |
4.0.0b1 | |
* #8539: autodoc: info-field-list is generated into the class description when | |
:confval:`autodoc_typehints`\ ``='description'`` and | |
:confval:`autoclass_content`\ ``='class'`` set | |
* #8898: extlinks: "%s" becomes required keyword in the link caption string | |
* domain: The ``Index`` class becomes subclasses of ``abc.ABC`` to indicate | |
methods that must be overridden in the concrete classes | |
* #4826: py domain: The structure of python objects is changed. A boolean value | |
is added to indicate that the python object is canonical one | |
* #7425: MathJax: The MathJax was changed from 2 to 3. Users using a custom | |
MathJax configuration may have to set the old MathJax path or update their | |
configuration for version 3. See :mod:`sphinx.ext.mathjax`. | |
* #7784: i18n: The msgid for alt text of image is changed | |
* #5560: napoleon: :confval:`napoleon_use_param` also affect "other parameters" | |
section | |
* #7996: manpage: Make a section directory on build manpage by default (see | |
:confval:`man_make_section_directory`) | |
* #7849: html: Change the default setting of | |
:confval:`html_codeblock_linenos_style` to ``'inline'`` | |
* #8380: html search: search results are wrapped with ``<p>`` instead of | |
``<div>`` | |
* html theme: Move a script tag for documentation_options.js in | |
basic/layout.html to ``script_files`` variable | |
* html theme: Move CSS tags in basic/layout.html to ``css_files`` variable | |
* #8915: html theme: Emit a warning for sphinx_rtd_theme-0.2.4 or older | |
* #8508: LaTeX: uplatex becomes a default setting of latex_engine for Japanese | |
documents | |
* #5977: py domain: ``:var:``, ``:cvar:`` and ``:ivar:`` fields do not create | |
cross-references | |
* #4550: The ``align`` attribute of ``figure`` and ``table`` nodes becomes | |
``None`` by default instead of ``'default'`` | |
* #8769: LaTeX refactoring: split sphinx.sty into multiple files and rename | |
some auxiliary files created in ``latex`` build output repertory | |
* #8937: Use explicit title instead of <no title> | |
* #8487: The :file: option for csv-table directive now recognizes an absolute | |
path as a relative path from source directory | |
4.0.0b2 | |
* #9023: Change the CSS classes on :rst:role:`cpp:expr` and | |
:rst:role:`cpp:texpr`. | |
Deprecated | |
---------- | |
* :confval:`html_codeblock_linenos_style` | |
* ``favicon`` and ``logo`` variable in HTML templates | |
* ``sphinx.directives.patches.CSVTable`` | |
* ``sphinx.directives.patches.ListTable`` | |
* ``sphinx.directives.patches.RSTTable`` | |
* ``sphinx.ext.autodoc.directive.DocumenterBridge.filename_set`` | |
* ``sphinx.ext.autodoc.directive.DocumenterBridge.warn()`` | |
* ``sphinx.registry.SphinxComponentRegistry.get_source_input()`` | |
* ``sphinx.registry.SphinxComponentRegistry.source_inputs`` | |
* ``sphinx.transforms.FigureAligner`` | |
* ``sphinx.util.pycompat.convert_with_2to3()`` | |
* ``sphinx.util.pycompat.execfile_()`` | |
* ``sphinx.util.smartypants`` | |
* ``sphinx.util.typing.DirectiveOption`` | |
Features added | |
-------------- | |
4.0.0b1 | |
* #8924: autodoc: Support ``bound`` argument for TypeVar | |
* #7383: autodoc: Support typehints for properties | |
* #5603: autodoc: Allow to refer to a python class using its canonical name | |
when the class has two different names; a canonical name and an alias name | |
* #8539: autodoc: Add :confval:`autodoc_typehints_description_target` to control | |
the behavior of ``autodoc_typehints=description`` | |
* #8841: autodoc: :confval:`autodoc_docstring_signature` will continue to look | |
for multiple signature lines without backslash character | |
* #7549: autosummary: Enable :confval:`autosummary_generate` by default | |
* #8898: extlinks: Allow %s in link caption string | |
* #4826: py domain: Add ``:canonical:`` option to python directives to describe | |
the location where the object is defined | |
* #7199: py domain: Add :confval:`python_use_unqualified_type_names` to suppress | |
the module name of the python reference if it can be resolved (experimental) | |
* #7068: py domain: Add :rst:dir:`py:property` directive to describe a property | |
* #7784: i18n: The alt text for image is translated by default (without | |
:confval:`gettext_additional_targets` setting) | |
* #2018: html: :confval:`html_favicon` and :confval:`html_logo` now accept URL | |
for the image | |
* #8070: html search: Support searching for 2characters word | |
* #9036: html theme: Allow to inherite the search page | |
* #8938: imgconverter: Show the error of the command availability check | |
* #7830: Add debug logs for change detection of sources and templates | |
* #8201: Emit a warning if toctree contains duplicated entries | |
* #8326: ``master_doc`` is now renamed to :confval:`root_doc` | |
* #8942: C++, add support for the C++20 spaceship operator, ``<=>``. | |
* #7199: A new node, ``sphinx.addnodes.pending_xref_condition`` has been added. | |
It can be used to choose appropriate content of the reference by conditions. | |
4.0.0b2 | |
* #8818: autodoc: Super class having ``Any`` arguments causes nit-picky warning | |
* #9095: autodoc: TypeError is raised on processing broken metaclass | |
* #9110: autodoc: metadata of GenericAlias is not rendered as a reference in | |
py37+ | |
* #9098: html: copy-range protection for doctests doesn't work in Safari | |
* #9103: LaTeX: imgconverter: conversion runs even if not needed | |
* #8127: py domain: Ellipsis in info-field-list causes nit-picky warning | |
* #9121: py domain: duplicated warning is emitted when both canonical and its | |
alias objects are defined on the document | |
* #9023: More CSS classes on domain descriptions, see :ref:`nodes` for details. | |
* #8195: mathjax: Rename :confval:`mathjax_config` to | |
:confval:`mathjax2_config` and add :confval:`mathjax3_config` | |
Bugs fixed | |
---------- | |
4.0.0b1 | |
* #8917: autodoc: Raises a warning if function has wrong __globals__ value | |
* #8415: autodoc: a TypeVar imported from other module is not resolved (in | |
Python 3.7 or above) | |
* #8992: autodoc: Failed to resolve types.TracebackType type annotation | |
* #8905: html: html_add_permalinks=None and html_add_permalinks="" are ignored | |
* #8380: html search: Paragraphs in search results are not identified as ``<p>`` | |
* #8915: html theme: The translation of sphinx_rtd_theme does not work | |
* #8342: Emit a warning if a unknown domain is given for directive or role (ex. | |
``:unknown:doc:``) | |
* #7241: LaTeX: No wrapping for ``cpp:enumerator`` | |
* #8711: LaTeX: backticks in code-blocks trigger latexpdf build warning (and font | |
change) with late TeXLive 2019 | |
* #8253: LaTeX: Figures with no size defined get overscaled (compared to images | |
with size explicitly set in pixels) (fixed for ``'pdflatex'/'lualatex'`` only) | |
* #8881: LaTeX: The depth of bookmarks panel in PDF is not enough for navigation | |
* #8874: LaTeX: the fix to two minor Pygments LaTeXFormatter output issues ignore | |
Pygments style | |
* #8925: LaTeX: 3.5.0 ``verbatimmaxunderfull`` setting does not work as | |
expected | |
* #8980: LaTeX: missing line break in ``\pysigline`` | |
* #8995: LaTeX: legacy ``\pysiglinewithargsret`` does not compute correctly | |
available horizontal space and should use a ragged right style | |
* #9009: LaTeX: "release" value with underscore leads to invalid LaTeX | |
* #8911: C++: remove the longest matching prefix in | |
:confval:`cpp_index_common_prefix` instead of the first that matches. | |
* C, properly reject function declarations when a keyword is used | |
as parameter name. | |
* #8933: viewcode: Failed to create back-links on parallel build | |
* #8960: C and C++, fix rendering of (member) function pointer types in | |
function parameter lists. | |
* C++, fix linking of names in array declarators, pointer to member | |
(function) declarators, and in the argument to ``sizeof...``. | |
* C, fix linking of names in array declarators. | |
4.0.0b2 | |
* C, C++, fix ``KeyError`` when an ``alias`` directive is the first C/C++ | |
directive in a file with another C/C++ directive later. | |
4.0.0b3 | |
* #9167: html: Failed to add CSS files to the specific page | |
Release 3.5.5 (in development) | |
============================== | |
Release 3.5.4 (released Apr 11, 2021) | |
===================================== | |
Dependencies | |
------------ | |
* #9071: Restrict docutils to 0.16 | |
Bugs fixed | |
---------- | |
* #9078: autodoc: Async staticmethods and classmethods are considered as non | |
async coroutine-functions with Python3.10 | |
* #8870, #9001, #9051: html theme: The style are not applied with docutils-0.17 | |
- toctree captions | |
- The content of ``sidebar`` directive | |
- figures | |
Release 3.5.3 (released Mar 20, 2021) | |
===================================== | |
Features added | |
-------------- | |
* #8959: using UNIX path separator in image directive confuses Sphinx on Windows | |
Release 3.5.2 (released Mar 06, 2021) | |
===================================== | |
Bugs fixed | |
---------- | |
* #8943: i18n: Crashed by broken translation messages in ES, EL and HR | |
* #8936: LaTeX: A custom LaTeX builder fails with unknown node error | |
* #8952: Exceptions raised in a Directive cause parallel builds to hang | |
Release 3.5.1 (released Feb 16, 2021) | |
===================================== | |
Bugs fixed | |
---------- | |
* #8883: autodoc: AttributeError is raised on assigning __annotations__ on | |
read-only class | |
* #8884: html: minified js stemmers not included in the distributed package | |
* #8885: html: AttributeError is raised if CSS/JS files are installed via | |
:confval:`html_context` | |
* #8880: viewcode: ExtensionError is raised on incremental build after | |
unparsable python module found | |
Release 3.5.0 (released Feb 14, 2021) | |
===================================== | |
Dependencies | |
------------ | |
* LaTeX: ``multicol`` (it is anyhow a required part of the official latex2e | |
base distribution) | |
Incompatible changes | |
-------------------- | |
* Update Underscore.js to 1.12.0 | |
* #6550: html: The config variable ``html_add_permalinks`` is replaced by | |
:confval:`html_permalinks` and :confval:`html_permalinks_icon` | |
Deprecated | |
---------- | |
* pending_xref node for viewcode extension | |
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.anchors_ignore`` | |
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.auth`` | |
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.broken`` | |
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.good`` | |
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.redirected`` | |
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.rqueue`` | |
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.to_ignore`` | |
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.workers`` | |
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.wqueue`` | |
* ``sphinx.builders.linkcheck.node_line_or_0()`` | |
* ``sphinx.ext.autodoc.AttributeDocumenter.isinstanceattribute()`` | |
* ``sphinx.ext.autodoc.directive.DocumenterBridge.reporter`` | |
* ``sphinx.ext.autodoc.importer.get_module_members()`` | |
* ``sphinx.ext.autosummary.generate._simple_info()`` | |
* ``sphinx.ext.autosummary.generate._simple_warn()`` | |
* ``sphinx.writers.html.HTMLTranslator.permalink_text`` | |
* ``sphinx.writers.html5.HTML5Translator.permalink_text`` | |
Features added | |
-------------- | |
* #8022: autodoc: autodata and autoattribute directives does not show right-hand | |
value of the variable if docstring contains ``:meta hide-value:`` in | |
info-field-list | |
* #8514: autodoc: Default values of overloaded functions are taken from actual | |
implementation if they're ellipsis | |
* #8775: autodoc: Support type union operator (PEP-604) in Python 3.10 or above | |
* #8297: autodoc: Allow to extend :confval:`autodoc_default_options` via | |
directive options | |
* #759: autodoc: Add a new configuration :confval:`autodoc_preserve_defaults` as | |
an experimental feature. It preserves the default argument values of | |
functions in source code and keep them not evaluated for readability. | |
* #8619: html: kbd role generates customizable HTML tags for compound keys | |
* #8634: html: Allow to change the order of JS/CSS via ``priority`` parameter | |
for :meth:`.Sphinx.add_js_file()` and :meth:`.Sphinx.add_css_file()` | |
* #6241: html: Allow to add JS/CSS files to the specific page when an extension | |
calls ``app.add_js_file()`` or ``app.add_css_file()`` on | |
:event:`html-page-context` event | |
* #6550: html: Allow to use HTML permalink texts via | |
:confval:`html_permalinks_icon` | |
* #1638: html: Add permalink icons to glossary terms | |
* #8868: html search: performance issue with massive lists | |
* #8867: html search: Update JavaScript stemmer code to the latest version of | |
Snowball (v2.1.0) | |
* #8852: i18n: Allow to translate heading syntax in MyST-Parser | |
* #8649: imgconverter: Skip availability check if builder supports the image | |
type | |
* #8573: napoleon: Allow to change the style of custom sections using | |
:confval:`napoleon_custom_sections` | |
* #8004: napoleon: Type definitions in Google style docstrings are rendered as | |
references when :confval:`napoleon_preprocess_types` enabled | |
* #6241: mathjax: Include mathjax.js only on the document using equations | |
* #8775: py domain: Support type union operator (PEP-604) | |
* #8651: std domain: cross-reference for a rubric having inline item is broken | |
* #7642: std domain: Optimize case-insensitive match of term | |
* #8681: viewcode: Support incremental build | |
* #8132: Add :confval:`project_copyright` as an alias of :confval:`copyright` | |
* #207: Now :confval:`highlight_language` supports multiple languages | |
* #2030: :rst:dir:`code-block` and :rst:dir:`literalinclude` supports automatic | |
dedent via no-argument ``:dedent:`` option | |
* C++, also hyperlink operator overloads in expressions and alias declarations. | |
* #8247: Allow production lists to refer to tokens from other production groups | |
* #8813: Show what extension (or module) caused it on errors on event handler | |
* #8213: C++: add ``maxdepth`` option to :rst:dir:`cpp:alias` to insert nested | |
declarations. | |
* C, add ``noroot`` option to :rst:dir:`c:alias` to render only nested | |
declarations. | |
* C++, add ``noroot`` option to :rst:dir:`cpp:alias` to render only nested | |
declarations. | |
Bugs fixed | |
---------- | |
* #8727: apidoc: namespace module file is not generated if no submodules there | |
* #741: autodoc: inherited-members doesn't work for instance attributes on super | |
class | |
* #8592: autodoc: ``:meta public:`` does not effect to variables | |
* #8594: autodoc: empty __all__ attribute is ignored | |
* #8315: autodoc: Failed to resolve struct.Struct type annotation | |
* #8652: autodoc: All variable comments in the module are ignored if the module | |
contains invalid type comments | |
* #8693: autodoc: Default values for overloaded functions are rendered as string | |
* #8134: autodoc: crashes when mocked decorator takes arguments | |
* #8800: autodoc: Uninitialized attributes in superclass are recognized as | |
undocumented | |
* #8655: autodoc: Failed to generate document if target module contains an | |
object that raises an exception on ``hasattr()`` | |
* #8306: autosummary: mocked modules are documented as empty page when using | |
:recursive: option | |
* #8232: graphviz: Image node is not rendered if graph file is in subdirectory | |
* #8618: html: kbd role produces incorrect HTML when compound-key separators (-, | |
+ or ^) are used as keystrokes | |
* #8629: html: A type warning for html_use_opensearch is shown twice | |
* #8714: html: kbd role with "Caps Lock" rendered incorrectly | |
* #8123: html search: fix searching for terms containing + (Requires a custom | |
search language that does not split on +) | |
* #8665: html theme: Could not override globaltoc_maxdepth in theme.conf | |
* #8446: html: consecutive spaces are displayed as single space | |
* #8745: i18n: crashes with KeyError when translation message adds a new auto | |
footnote reference | |
* #4304: linkcheck: Fix race condition that could lead to checking the | |
availability of the same URL twice | |
* #8791: linkcheck: The docname for each hyperlink is not displayed | |
* #7118: sphinx-quickstart: questionare got Mojibake if libreadline unavailable | |
* #8094: texinfo: image files on the different directory with document are not | |
copied | |
* #8782: todo: Cross references in todolist get broken | |
* #8720: viewcode: module pages are generated for epub on incremental build | |
* #8704: viewcode: anchors are generated in incremental build after singlehtml | |
* #8756: viewcode: highlighted code is generated even if not referenced | |
* #8671: :confval:`highlight_options` is not working | |
* #8341: C, fix intersphinx lookup types for names in declarations. | |
* C, C++: in general fix intersphinx and role lookup types. | |
* #8683: :confval:`html_last_updated_fmt` does not support UTC offset (%z) | |
* #8683: :confval:`html_last_updated_fmt` generates wrong time zone for %Z | |
* #1112: ``download`` role creates duplicated copies when relative path is | |
specified | |
* #2616 (fifth item): LaTeX: footnotes from captions are not clickable, | |
and for manually numbered footnotes only first one with same number is | |
an hyperlink | |
* #7576: LaTeX with French babel and memoir crash: "Illegal parameter number | |
in definition of ``\FNH@prefntext``" | |
* #8055: LaTeX (docs): A potential display bug with the LaTeX generation step | |
in Sphinx (how to generate one-column index) | |
* #8072: LaTeX: Directive :rst:dir:`hlist` not implemented in LaTeX | |
* #8214: LaTeX: The :rst:role:`index` role and the glossary generate duplicate | |
entries in the LaTeX index (if both used for same term) | |
* #8735: LaTeX: wrong internal links in pdf to captioned code-blocks when | |
:confval:`numfig` is not True | |
* #8442: LaTeX: some indexed terms are ignored when using xelatex engine | |
(or pdflatex and :confval:`latex_use_xindy` set to True) with memoir class | |
* #8750: LaTeX: URLs as footnotes fail to show in PDF if originating from | |
inside function type signatures | |
* #8780: LaTeX: long words in narrow columns may not be hyphenated | |
* #8788: LaTeX: ``\titleformat`` last argument in sphinx.sty should be | |
bracketed, not braced (and is anyhow not needed) | |
* #8849: LaTex: code-block printed out of margin (see the opt-in LaTeX syntax | |
boolean :ref:`verbatimforcewraps <latexsphinxsetupforcewraps>` for use via | |
the :ref:`'sphinxsetup' <latexsphinxsetup>` key of ``latex_elements``) | |
* #8183: LaTeX: Remove substitution_reference nodes from doctree only on LaTeX | |
builds | |
* #8865: LaTeX: Restructure the index nodes inside title nodes only on LaTeX | |
builds | |
* #8796: LaTeX: potentially critical low level TeX coding mistake has gone | |
unnoticed so far | |
* C, :rst:dir:`c:alias` skip symbols without explicit declarations | |
instead of crashing. | |
* C, :rst:dir:`c:alias` give a warning when the root symbol is not declared. | |
* C, ``expr`` role should start symbol lookup in the current scope. | |
Release 3.4.3 (released Jan 08, 2021) | |
===================================== | |
Bugs fixed | |
---------- | |
* #8655: autodoc: Failed to generate document if target module contains an | |
object that raises an exception on ``hasattr()`` | |
Release 3.4.2 (released Jan 04, 2021) | |
===================================== | |
Bugs fixed | |
---------- | |
* #8164: autodoc: Classes that inherit mocked class are not documented | |
* #8602: autodoc: The ``autodoc-process-docstring`` event is emitted to the | |
non-datadescriptors unexpectedly | |
* #8616: autodoc: AttributeError is raised on non-class object is passed to | |
autoclass directive | |
Release 3.4.1 (released Dec 25, 2020) | |
===================================== | |
Bugs fixed | |
---------- | |
* #8559: autodoc: AttributeError is raised when using forward-reference type | |
annotations | |
* #8568: autodoc: TypeError is raised on checking slots attribute | |
* #8567: autodoc: Instance attributes are incorrectly added to Parent class | |
* #8566: autodoc: The ``autodoc-process-docstring`` event is emitted to the | |
alias classes unexpectedly | |
* #8583: autodoc: Unnecessary object comparison via ``__eq__`` method | |
* #8565: linkcheck: Fix PriorityQueue crash when link tuples are not | |
comparable | |
Release 3.4.0 (released Dec 20, 2020) | |
===================================== | |
Incompatible changes | |
-------------------- | |
* #8105: autodoc: the signature of class constructor will be shown for decorated | |
classes, not a signature of decorator | |
Deprecated | |
---------- | |
* The ``follow_wrapped`` argument of ``sphinx.util.inspect.signature()`` | |
* The ``no_docstring`` argument of | |
``sphinx.ext.autodoc.Documenter.add_content()`` | |
* ``sphinx.ext.autodoc.Documenter.get_object_members()`` | |
* ``sphinx.ext.autodoc.DataDeclarationDocumenter`` | |
* ``sphinx.ext.autodoc.GenericAliasDocumenter`` | |
* ``sphinx.ext.autodoc.InstanceAttributeDocumenter`` | |
* ``sphinx.ext.autodoc.SlotsAttributeDocumenter`` | |
* ``sphinx.ext.autodoc.TypeVarDocumenter`` | |
* ``sphinx.ext.autodoc.importer._getannotations()`` | |
* ``sphinx.ext.autodoc.importer._getmro()`` | |
* ``sphinx.pycode.ModuleAnalyzer.parse()`` | |
* ``sphinx.util.osutil.movefile()`` | |
* ``sphinx.util.requests.is_ssl_error()`` | |
Features added | |
-------------- | |
* #8119: autodoc: Allow to determine whether a member not included in | |
``__all__`` attribute of the module should be documented or not via | |
:event:`autodoc-skip-member` event | |
* #8219: autodoc: Parameters for generic class are not shown when super class is | |
a generic class and show-inheritance option is given (in Python 3.7 or above) | |
* autodoc: Add ``Documenter.config`` as a shortcut to access the config object | |
* autodoc: Add Optional[t] to annotation of function and method if a default | |
value equal to None is set. | |
* #8209: autodoc: Add ``:no-value:`` option to :rst:dir:`autoattribute` and | |
:rst:dir:`autodata` directive to suppress the default value of the variable | |
* #8460: autodoc: Support custom types defined by typing.NewType | |
* #8285: napoleon: Add :confval:`napoleon_attr_annotations` to merge type hints | |
on source code automatically if any type is specified in docstring | |
* #8236: napoleon: Support numpydoc's "Receives" section | |
* #6914: Add a new event :event:`warn-missing-reference` to custom warning | |
messages when failed to resolve a cross-reference | |
* #6914: Emit a detailed warning when failed to resolve a ``:ref:`` reference | |
* #6629: linkcheck: The builder now handles rate limits. See | |
:confval:`linkcheck_rate_limit_timeout` for details. | |
Bugs fixed | |
---------- | |
* #7613: autodoc: autodoc does not respect __signature__ of the class | |
* #4606: autodoc: the location of the warning is incorrect for inherited method | |
* #8105: autodoc: the signature of class constructor is incorrect if the class | |
is decorated | |
* #8434: autodoc: :confval:`autodoc_type_aliases` does not effect to variables | |
and attributes | |
* #8443: autodoc: autodata directive can't create document for PEP-526 based | |
type annotated variables | |
* #8443: autodoc: autoattribute directive can't create document for PEP-526 | |
based uninitialized variables | |
* #8480: autodoc: autoattribute could not create document for __slots__ | |
attributes | |
* #8503: autodoc: autoattribute could not create document for a GenericAlias as | |
class attributes correctly | |
* #8534: autodoc: autoattribute could not create document for a commented | |
attribute in alias class | |
* #8452: autodoc: autodoc_type_aliases doesn't work when autodoc_typehints is | |
set to "description" | |
* #8541: autodoc: autodoc_type_aliases doesn't work for the type annotation to | |
instance attributes | |
* #8460: autodoc: autodata and autoattribute directives do not display type | |
information of TypeVars | |
* #8493: autodoc: references to builtins not working in class aliases | |
* #8522: autodoc: ``__bool__`` method could be called | |
* #8067: autodoc: A typehint for the instance variable having type_comment on | |
super class is not displayed | |
* #8545: autodoc: a __slots__ attribute is not documented even having docstring | |
* #741: autodoc: inherited-members doesn't work for instance attributes on super | |
class | |
* #8477: autosummary: non utf-8 reST files are generated when template contains | |
multibyte characters | |
* #8501: autosummary: summary extraction splits text after "el at." unexpectedly | |
* #8524: html: Wrong url_root has been generated on a document named "index" | |
* #8419: html search: Do not load ``language_data.js`` in non-search pages | |
* #8549: i18n: ``-D gettext_compact=0`` is no longer working | |
* #8454: graphviz: The layout option for graph and digraph directives don't work | |
* #8131: linkcheck: Use GET when HEAD requests cause Too Many Redirects, to | |
accommodate infinite redirect loops on HEAD | |
* #8437: Makefile: ``make clean`` with empty BUILDDIR is dangerous | |
* #8365: py domain: ``:type:`` and ``:rtype:`` gives false ambiguous class | |
lookup warnings | |
* #8352: std domain: Failed to parse an option that starts with bracket | |
* #8519: LaTeX: Prevent page brake in the middle of a seealso | |
* #8520: C, fix copying of AliasNode. | |
Release 3.3.1 (released Nov 12, 2020) | |
===================================== | |
Bugs fixed | |
---------- | |
* #8372: autodoc: autoclass directive became slower than Sphinx 3.2 | |
* #7727: autosummary: raise PycodeError when documenting python package | |
without __init__.py | |
* #8350: autosummary: autosummary_mock_imports causes slow down builds | |
* #8364: C, properly initialize attributes in empty symbols. | |
* #8399: i18n: Put system locale path after the paths specified by configuration | |
Release 3.3.0 (released Nov 02, 2020) | |
===================================== | |
Deprecated | |
---------- | |
* ``sphinx.builders.latex.LaTeXBuilder.usepackages`` | |
* ``sphinx.builders.latex.LaTeXBuilder.usepackages_afger_hyperref`` | |
* ``sphinx.ext.autodoc.SingledispatchFunctionDocumenter`` | |
* ``sphinx.ext.autodoc.SingledispatchMethodDocumenter`` | |
Features added | |
-------------- | |
* #8100: html: Show a better error message for failures on copying | |
html_static_files | |
* #8141: C: added a ``maxdepth`` option to :rst:dir:`c:alias` to insert | |
nested declarations. | |
* #8081: LaTeX: Allow to add LaTeX package via ``app.add_latex_package()`` until | |
just before writing .tex file | |
* #7996: manpage: Add :confval:`man_make_section_directory` to make a section | |
directory on build man page | |
* #8289: epub: Allow to suppress "duplicated ToC entry found" warnings from epub | |
builder using :confval:`suppress_warnings`. | |
* #8298: sphinx-quickstart: Add :option:`sphinx-quickstart --no-sep` option | |
* #8304: sphinx.testing: Register public markers in sphinx.testing.fixtures | |
* #8051: napoleon: use the obj role for all See Also items | |
* #8050: napoleon: Apply :confval:`napoleon_preprocess_types` to every field | |
* C and C++, show line numbers for previous declarations when duplicates are | |
detected. | |
* #8183: Remove substitution_reference nodes from doctree only on LaTeX builds | |
Bugs fixed | |
---------- | |
* #8085: i18n: Add support for having single text domain | |
* #6640: i18n: Failed to override system message translation | |
* #8143: autodoc: AttributeError is raised when False value is passed to | |
autodoc_default_options | |
* #8103: autodoc: functools.cached_property is not considered as a property | |
* #8190: autodoc: parsing error is raised if some extension replaces docstring | |
by string not ending with blank lines | |
* #8142: autodoc: Wrong constructor signature for the class derived from | |
typing.Generic | |
* #8157: autodoc: TypeError is raised when annotation has invalid __args__ | |
* #7964: autodoc: Tuple in default value is wrongly rendered | |
* #8200: autodoc: type aliases break type formatting of autoattribute | |
* #7786: autodoc: can't detect overloaded methods defined in other file | |
* #8294: autodoc: single-string __slots__ is not handled correctly | |
* #7785: autodoc: autodoc_typehints='none' does not effect to overloaded functions | |
* #8192: napoleon: description is disappeared when it contains inline literals | |
* #8142: napoleon: Potential of regex denial of service in google style docs | |
* #8169: LaTeX: pxjahyper loaded even when latex_engine is not platex | |
* #8215: LaTeX: 'oneside' classoption causes build warning | |
* #8175: intersphinx: Potential of regex denial of service by broken inventory | |
* #8277: sphinx-build: missing and redundant spacing (and etc) for console | |
output on building | |
* #7973: imgconverter: Check availability of imagemagick many times | |
* #8255: py domain: number in default argument value is changed from hexadecimal | |
to decimal | |
* #8316: html: Prevent arrow keys changing page when button elements are focused | |
* #8343: html search: Fix unnecessary load of images when parsing the document | |
* #8254: html theme: Line numbers misalign with code lines | |
* #8093: The highlight warning has wrong location in some builders (LaTeX, | |
singlehtml and so on) | |
* #8215: Eliminate Fancyhdr build warnings for oneside documents | |
* #8239: Failed to refer a token in productionlist if it is indented | |
* #8268: linkcheck: Report HTTP errors when ``linkcheck_anchors`` is ``True`` | |
* #8245: linkcheck: take source directory into account for local files | |
* #8321: linkcheck: ``tel:`` schema hyperlinks are detected as errors | |
* #8323: linkcheck: An exit status is incorrect when links having unsupported | |
schema found | |
* #8188: C, add missing items to internal object types dictionary, | |
e.g., preventing intersphinx from resolving them. | |
* C, fix anon objects in intersphinx. | |
* #8270, C++, properly reject functions as duplicate declarations if a | |
non-function declaration of the same name already exists. | |
* C, fix references to function parameters. | |
Link to the function instead of a non-existing anchor. | |
* #6914: figure numbers are unexpectedly assigned to uncaptioned items | |
* #8320: make "inline" line numbers un-selectable | |
Testing | |
-------- | |
* #8257: Support parallel build in sphinx.testing | |
Release 3.2.1 (released Aug 14, 2020) | |
===================================== | |
Features added | |
-------------- | |
* #8095: napoleon: Add :confval:`napoleon_preprocess_types` to enable the type | |
preprocessor for numpy style docstrings | |
* #8114: C and C++, parse function attributes after parameters and qualifiers. | |
Bugs fixed | |
---------- | |
* #8074: napoleon: Crashes during processing C-ext module | |
* #8088: napoleon: "Inline literal start-string without end-string" warning in | |
Numpy style Parameters section | |
* #8084: autodoc: KeyError is raised on documenting an attribute of the broken | |
class | |
* #8091: autodoc: AttributeError is raised on documenting an attribute on Python | |
3.5.2 | |
* #8099: autodoc: NameError is raised when target code uses ``TYPE_CHECKING`` | |
* C++, fix parsing of template template parameters, broken by the fix of #7944 | |
Release 3.2.0 (released Aug 08, 2020) | |
===================================== | |
Deprecated | |
---------- | |
* ``sphinx.ext.autodoc.members_set_option()`` | |
* ``sphinx.ext.autodoc.merge_special_members_option()`` | |
* ``sphinx.writers.texinfo.TexinfoWriter.desc`` | |
* C, parsing of pre-v3 style type directives and roles, along with the options | |
:confval:`!c_allow_pre_v3` and :confval:`!c_warn_on_allowed_pre_v3`. | |
Features added | |
-------------- | |
* #2076: autodoc: Allow overriding of exclude-members in skip-member function | |
* #8034: autodoc: ``:private-member:`` can take an explicit list of member names | |
to be documented | |
* #2024: autosummary: Add :confval:`autosummary_filename_map` to avoid conflict | |
of filenames between two object with different case | |
* #8011: autosummary: Support instance attributes as a target of autosummary | |
directive | |
* #7849: html: Add :confval:`html_codeblock_linenos_style` to change the style | |
of line numbers for code-blocks | |
* #7853: C and C++, support parameterized GNU style attributes. | |
* #7888: napoleon: Add aliases Warn and Raise. | |
* #7690: napoleon: parse type strings and make them hyperlinks as possible. The | |
conversion rule can be updated via :confval:`napoleon_type_aliases` | |
* #8049: napoleon: Create a hyperlink for each the type of parameter when | |
:confval:`napoleon_use_param` is False | |
* C, added :rst:dir:`c:alias` directive for inserting copies | |
of existing declarations. | |
* #7745: html: inventory is broken if the docname contains a space | |
* #7991: html search: Allow searching for numbers | |
* #7902: html theme: Add a new option :confval:`globaltoc_maxdepth` to control | |
the behavior of globaltoc in sidebar | |
* #7840: i18n: Optimize the dependencies check on bootstrap | |
* #7768: i18n: :confval:`figure_language_filename` supports ``docpath`` token | |
* #5208: linkcheck: Support checks for local links | |
* #5090: setuptools: Link verbosity to distutils' -v and -q option | |
* #6698: doctest: Add ``:trim-doctest-flags:`` and ``:no-trim-doctest-flags:`` | |
options to doctest, testcode and testoutput directives | |
* #7052: add ``:noindexentry:`` to the Python, C, C++, and Javascript domains. | |
Update the documentation to better reflect the relationship between this option | |
and the ``:noindex:`` option. | |
* #7899: C, add possibility of parsing of some pre-v3 style type directives and | |
roles and try to convert them to equivalent v3 directives/roles. | |
Set the new option :confval:`!c_allow_pre_v3` to ``True`` to enable this. | |
The warnings printed from this functionality can be suppressed by setting | |
:confval:`!c_warn_on_allowed_pre_v3` to ``True``. | |
The functionality is immediately deprecated. | |
* #7999: C, add support for named variadic macro arguments. | |
* #8071: Allow to suppress "self referenced toctrees" warning | |
Bugs fixed | |
---------- | |
* #7886: autodoc: TypeError is raised on mocking generic-typed classes | |
* #7935: autodoc: function signature is not shown when the function has a | |
parameter having ``inspect._empty`` as its default value | |
* #7901: autodoc: type annotations for overloaded functions are not resolved | |
* #904: autodoc: An instance attribute cause a crash of autofunction directive | |
* #1362: autodoc: ``private-members`` option does not work for class attributes | |
* #7983: autodoc: Generator type annotation is wrongly rendered in py36 | |
* #8030: autodoc: An uninitialized annotated instance variable is not documented | |
when ``:inherited-members:`` option given | |
* #8032: autodoc: A type hint for the instance variable defined at parent class | |
is not shown in the document of the derived class | |
* #8041: autodoc: An annotated instance variable on super class is not | |
documented when derived class has other annotated instance variables | |
* #7839: autosummary: cannot handle umlauts in function names | |
* #7865: autosummary: Failed to extract summary line when abbreviations found | |
* #7866: autosummary: Failed to extract correct summary line when docstring | |
contains a hyperlink target | |
* #7469: autosummary: "Module attributes" header is not translatable | |
* #7940: apidoc: An extra newline is generated at the end of the rst file if a | |
module has submodules | |
* #4258: napoleon: decorated special methods are not shown | |
* #7799: napoleon: parameters are not escaped for combined params in numpydoc | |
* #7780: napoleon: multiple parameters declaration in numpydoc was wrongly | |
recognized when ``napoleon_use_param=True`` | |
* #7715: LaTeX: ``numfig_secnum_depth > 1`` leads to wrong figure links | |
* #7846: html theme: XML-invalid files were generated | |
* #7894: gettext: Wrong source info is shown when using rst_epilog | |
* #7691: linkcheck: HEAD requests are not used for checking | |
* #4888: i18n: Failed to add an explicit title to ``:ref:`` role on translation | |
* #7928: py domain: failed to resolve a type annotation for the attribute | |
* #8008: py domain: failed to parse a type annotation containing ellipsis | |
* #7994: std domain: option directive does not generate old node_id compatible | |
with 2.x or older | |
* #7968: i18n: The content of ``math`` directive is interpreted as reST on | |
translation | |
* #7768: i18n: The ``root`` element for :confval:`figure_language_filename` is | |
not a path that user specifies in the document | |
* #7993: texinfo: TypeError is raised for nested object descriptions | |
* #7993: texinfo: a warning not supporting desc_signature_line node is shown | |
* #7869: :rst:role:`abbr` role without an explanation will show the explanation | |
from the previous abbr role | |
* #8048: graphviz: graphviz.css was copied on building non-HTML document | |
* C and C++, removed ``noindex`` directive option as it did | |
nothing. | |
* #7619: Duplicated node IDs are generated if node has multiple IDs | |
* #2050: Symbols sections are appeared twice in the index page | |
* #8017: Fix circular import in sphinx.addnodes | |
* #7986: CSS: make "highlight" selector more robust | |
* #7944: C++, parse non-type template parameters starting with | |
a dependent qualified name. | |
* C, don't deepcopy the entire symbol table and make a mess every time an | |
enumerator is handled. | |
Release 3.1.2 (released Jul 05, 2020) | |
===================================== | |
Incompatible changes | |
-------------------- | |
* #7650: autodoc: the signature of base function will be shown for decorated | |
functions, not a signature of decorator | |
Bugs fixed | |
---------- | |
* #7844: autodoc: Failed to detect module when relative module name given | |
* #7856: autodoc: AttributeError is raised when non-class object is given to | |
the autoclass directive | |
* #7850: autodoc: KeyError is raised for invalid mark up when autodoc_typehints | |
is 'description' | |
* #7812: autodoc: crashed if the target name matches to both an attribute and | |
module that are same name | |
* #7650: autodoc: function signature becomes ``(*args, **kwargs)`` if the | |
function is decorated by generic decorator | |
* #7812: autosummary: generates broken stub files if the target code contains | |
an attribute and module that are same name | |
* #7806: viewcode: Failed to resolve viewcode references on 3rd party builders | |
* #7838: html theme: List items have extra vertical space | |
* #7878: html theme: Undesired interaction between "overflow" and "float" | |
Release 3.1.1 (released Jun 14, 2020) | |
===================================== | |
Incompatible changes | |
-------------------- | |
* #7808: napoleon: a type for attribute are represented as typed field | |
Features added | |
-------------- | |
* #7807: autodoc: Show detailed warning when type_comment is mismatched with its | |
signature | |
Bugs fixed | |
---------- | |
* #7808: autodoc: Warnings raised on variable and attribute type annotations | |
* #7802: autodoc: EOFError is raised on parallel build | |
* #7821: autodoc: TypeError is raised for overloaded C-ext function | |
* #7805: autodoc: an object which descriptors returns is unexpectedly documented | |
* #7807: autodoc: wrong signature is shown for the function using contextmanager | |
* #7812: autosummary: generates broken stub files if the target code contains | |
an attribute and module that are same name | |
* #7808: napoleon: Warnings raised on variable and attribute type annotations | |
* #7811: sphinx.util.inspect causes circular import problem | |
Release 3.1.0 (released Jun 08, 2020) | |
===================================== | |
Dependencies | |
------------ | |
* #7746: mathjax: Update to 2.7.5 | |
Incompatible changes | |
-------------------- | |
* #7477: imgconverter: Invoke "magick convert" command by default on Windows | |
Deprecated | |
---------- | |
* The first argument for sphinx.ext.autosummary.generate.AutosummaryRenderer has | |
been changed to Sphinx object | |
* ``sphinx.ext.autosummary.generate.AutosummaryRenderer`` takes an object type | |
as an argument | |
* The ``ignore`` argument of ``sphinx.ext.autodoc.Documenter.get_doc()`` | |
* The ``template_dir`` argument of ``sphinx.ext.autosummary.generate. | |
AutosummaryRenderer`` | |
* The ``module`` argument of ``sphinx.ext.autosummary.generate. | |
find_autosummary_in_docstring()`` | |
* The ``builder`` argument of ``sphinx.ext.autosummary.generate. | |
generate_autosummary_docs()`` | |
* The ``template_dir`` argument of ``sphinx.ext.autosummary.generate. | |
generate_autosummary_docs()`` | |
* The ``ignore`` argument of ``sphinx.util.docstring.prepare_docstring()`` | |
* ``sphinx.ext.autosummary.generate.AutosummaryRenderer.exists()`` | |
* ``sphinx.util.rpartition()`` | |
Features added | |
-------------- | |
* LaTeX: Make the ``toplevel_sectioning`` setting optional in LaTeX theme | |
* LaTeX: Allow to override papersize and pointsize from LaTeX themes | |
* LaTeX: Add :confval:`latex_theme_options` to override theme options | |
* #7410: Allow to suppress "circular toctree references detected" warnings using | |
:confval:`suppress_warnings` | |
* C, added scope control directives, :rst:dir:`c:namespace`, | |
:rst:dir:`c:namespace-push`, and :rst:dir:`c:namespace-pop`. | |
* #2044: autodoc: Suppress default value for instance attributes | |
* #7473: autodoc: consider a member public if docstring contains | |
``:meta public:`` in info-field-list | |
* #7487: autodoc: Allow to generate docs for singledispatch functions by | |
py:autofunction | |
* #7143: autodoc: Support final classes and methods | |
* #7384: autodoc: Support signatures defined by ``__new__()``, metaclasses and | |
builtin base classes | |
* #2106: autodoc: Support multiple signatures on docstring | |
* #4422: autodoc: Support GenericAlias in Python 3.7 or above | |
* #3610: autodoc: Support overloaded functions | |
* #7722: autodoc: Support TypeVar | |
* #7466: autosummary: headings in generated documents are not translated | |
* #7490: autosummary: Add ``:caption:`` option to autosummary directive to set a | |
caption to the toctree | |
* #7469: autosummary: Support module attributes | |
* #248, #6040: autosummary: Add ``:recursive:`` option to autosummary directive | |
to generate stub files recursively | |
* #4030: autosummary: Add :confval:`autosummary_context` to add template | |
variables for custom templates | |
* #7530: html: Support nested <kbd> elements | |
* #7481: html theme: Add right margin to footnote/citation labels | |
* #7482, #7717: html theme: CSS spacing for code blocks with captions and line | |
numbers | |
* #7443: html theme: Add new options :confval:`globaltoc_collapse` and | |
:confval:`globaltoc_includehidden` to control the behavior of globaltoc in | |
sidebar | |
* #7484: html theme: Avoid clashes between sidebar and other blocks | |
* #7476: html theme: Relbar breadcrumb should contain current page | |
* #7506: html theme: A canonical URL is not escaped | |
* #7533: html theme: Avoid whitespace at the beginning of genindex.html | |
* #7541: html theme: Add a "clearer" at the end of the "body" | |
* #7542: html theme: Make admonition/topic/sidebar scrollable | |
* #7543: html theme: Add top and bottom margins to tables | |
* #7695: html theme: Add viewport meta tag for basic theme | |
* #7721: html theme: classic: default codetextcolor/codebgcolor doesn't override | |
Pygments | |
* C and C++: allow semicolon in the end of declarations. | |
* C++, parse parameterized noexcept specifiers. | |
* #7294: C++, parse expressions with user-defined literals. | |
* C++, parse trailing return types. | |
* #7143: py domain: Add ``:final:`` option to :rst:dir:`py:class`, | |
:rst:dir:`py:exception` and :rst:dir:`py:method` directives | |
* #7596: py domain: Change a type annotation for variables to a hyperlink | |
* #7770: std domain: :rst:dir:`option` directive support arguments in the form | |
of ``foo[=bar]`` | |
* #7582: napoleon: a type for attribute are represented like type annotation | |
* #7734: napoleon: overescaped trailing underscore on attribute | |
* #7247: linkcheck: Add :confval:`linkcheck_request_headers` to send custom HTTP | |
headers for specific host | |
* #7792: setuptools: Support ``--verbosity`` option | |
* #7683: Add ``allowed_exceptions`` parameter to ``Sphinx.emit()`` to allow | |
handlers to raise specified exceptions | |
* #7295: C++, parse (trailing) requires clauses. | |
Bugs fixed | |
---------- | |
* #6703: autodoc: incremental build does not work for imported objects | |
* #7564: autodoc: annotations not to be shown for descriptors | |
* #6588: autodoc: Decorated inherited method has no documentation | |
* #7469: autodoc: The change of autodoc-process-docstring for variables is | |
cached unexpectedly | |
* #7559: autodoc: misdetects a sync function is async | |
* #6857: autodoc: failed to detect a classmethod on Enum class | |
* #7562: autodoc: a typehint contains spaces is wrongly rendered under | |
:confval:`autodoc_typehints`\ ``='description'`` mode | |
* #7551: autodoc: failed to import nested class | |
* #7362: autodoc: does not render correct signatures for built-in functions | |
* #7654: autodoc: ``Optional[Union[foo, bar]]`` is presented as | |
``Union[foo, bar, None]`` | |
* #7629: autodoc: autofunction emits an unfriendly warning if an invalid object | |
specified | |
* #7650: autodoc: undecorated signature is shown for decorated functions | |
* #7676: autodoc: typo in the default value of autodoc_member_order | |
* #7676: autodoc: wrong value for :member-order: option is ignored silently | |
* #7676: autodoc: member-order="bysource" does not work for C module | |
* #3673: autodoc: member-order="bysource" does not work for a module having | |
__all__ | |
* #7668: autodoc: wrong retann value is passed to a handler of | |
autodoc-process-signature | |
* #7711: autodoc: fails with ValueError when processing numpy objects | |
* #7791: autodoc: TypeError is raised on documenting singledispatch function | |
* #7551: autosummary: a nested class is indexed as non-nested class | |
* #7661: autosummary: autosummary directive emits warnings twices if failed to | |
import the target module | |
* #7685: autosummary: The template variable "members" contains imported members | |
even if :confval:`autossummary_imported_members` is False | |
* #7671: autosummary: The location of import failure warning is missing | |
* #7535: sphinx-autogen: crashes when custom template uses inheritance | |
* #7536: sphinx-autogen: crashes when template uses i18n feature | |
* #7781: sphinx-build: Wrong error message when outdir is not directory | |
* #7653: sphinx-quickstart: Fix multiple directory creation for nested relpath | |
* #2785: html: Bad alignment of equation links | |
* #7718: html theme: some themes does not respect background color of Pygments | |
style (agogo, haiku, nature, pyramid, scrolls, sphinxdoc and traditional) | |
* #7544: html theme: inconsistent padding in admonitions | |
* #7581: napoleon: bad parsing of inline code in attribute docstrings | |
* #7628: imgconverter: runs imagemagick once unnecessary for builders not | |
supporting images | |
* #7610: incorrectly renders consecutive backslashes for docutils-0.16 | |
* #7646: handle errors on event handlers | |
* #4187: LaTeX: EN DASH disappears from PDF bookmarks in Japanese documents | |
* #7701: LaTeX: Anonymous indirect hyperlink target causes duplicated labels | |
* #7723: LaTeX: pdflatex crashed when URL contains a single quote | |
* #7756: py domain: The default value for positional only argument is not shown | |
* #7760: coverage: Add :confval:`coverage_show_missing_items` to show coverage | |
result to console | |
* C++, fix rendering and xrefs in nested names explicitly starting | |
in global scope, e.g., ``::A::B``. | |
* C, fix rendering and xrefs in nested names explicitly starting | |
in global scope, e.g., ``.A.B``. | |
* #7763: C and C++, don't crash during display stringification of unary | |
expressions and fold expressions. | |
Release 3.0.4 (released May 27, 2020) | |
===================================== | |
Bugs fixed | |
---------- | |
* #7567: autodoc: parametrized types are shown twice for generic types | |
* #7637: autodoc: system defined TypeVars are shown in Python 3.9 | |
* #7696: html: Updated jQuery version from 3.4.1 to 3.5.1 for security reasons | |
* #7611: md5 fails when OpenSSL FIPS is enabled | |
* #7626: release package does not contain ``CODE_OF_CONDUCT`` | |
Release 3.0.3 (released Apr 26, 2020) | |
===================================== | |
Features added | |
-------------- | |
* C, parse array declarators with static, qualifiers, and VLA specification. | |
Bugs fixed | |
---------- | |
* #7516: autodoc: crashes if target object raises an error on accessing | |
its attributes | |
Release 3.0.2 (released Apr 19, 2020) | |
===================================== | |
Features added | |
-------------- | |
* C, parse attributes and add :confval:`c_id_attributes` | |
and :confval:`c_paren_attributes` to support user-defined attributes. | |
Bugs fixed | |
---------- | |
* #7461: py domain: fails with IndexError for empty tuple in type annotation | |
* #7510: py domain: keyword-only arguments are documented as having a default of | |
None | |
* #7418: std domain: :rst:role:`term` role could not match case-insensitively | |
* #7461: autodoc: empty tuple in type annotation is not shown correctly | |
* #7479: autodoc: Sphinx builds has been slower since 3.0.0 on mocking | |
* C++, fix spacing issue in east-const declarations. | |
* #7414: LaTeX: Xindy language options were incorrect | |
* sphinx crashes with ImportError on python3.5.1 | |
Release 3.0.1 (released Apr 11, 2020) | |
===================================== | |
Incompatible changes | |
-------------------- | |
* #7418: std domain: :rst:role:`term` role becomes case sensitive | |
Bugs fixed | |
---------- | |
* #7428: py domain: a reference to class ``None`` emits a nitpicky warning | |
* #7445: py domain: a return annotation ``None`` in the function signature is | |
not converted to a hyperlink when using intersphinx | |
* #7418: std domain: duplication warning for glossary terms is case insensitive | |
* #7438: C++, fix merging overloaded functions in parallel builds. | |
* #7422: autodoc: fails with ValueError when using autodoc_mock_imports | |
* #7435: autodoc: :confval:`autodoc_typehints`\ ``='description'`` doesn't | |
suppress typehints in signature for classes/methods | |
* #7451: autodoc: fails with AttributeError when an object returns non-string | |
object as a ``__doc__`` member | |
* #7423: crashed when giving a non-string object to logger | |
* #7479: html theme: Do not include xmlns attribute with HTML 5 doctype | |
* #7426: html theme: Escape some links in HTML templates | |
Release 3.0.0 (released Apr 06, 2020) | |
===================================== | |
Dependencies | |
------------ | |
3.0.0b1 | |
* LaTeX: drop dependency on :program:`extractbb` for image inclusion in | |
Japanese documents as ``.xbb`` files are unneeded by :program:`dvipdfmx` | |
since TeXLive2015 (refs: #6189) | |
* babel-2.0 or above is available (Unpinned) | |
Incompatible changes | |
-------------------- | |
3.0.0b1 | |
* Drop features and APIs deprecated in 1.8.x | |
* #247: autosummary: stub files are overwritten automatically by default. see | |
:confval:`autosummary_generate_overwrite` to change the behavior | |
* #5923: autodoc: the members of ``object`` class are not documented by default | |
when ``:inherited-members:`` and ``:special-members:`` are given. | |
* #6830: py domain: ``meta`` fields in info-field-list becomes reserved. They | |
are not displayed on output document now | |
* #6417: py domain: doctree of desc_parameterlist has been changed. The | |
argument names, annotations and default values are wrapped with inline node | |
* The structure of ``sphinx.events.EventManager.listeners`` has changed | |
* Due to the scoping changes for :rst:dir:`productionlist` some uses of | |
:rst:role:`token` must be modified to include the scope which was previously | |
ignored. | |
* #6903: Internal data structure of Python, reST and standard domains have | |
changed. The node_id is added to the index of objects and modules. Now they | |
contains a pair of docname and node_id for cross reference. | |
* #7276: C++ domain: Non intended behavior is removed such as ``say_hello_`` | |
links to ``.. cpp:function:: say_hello()`` | |
* #7210: js domain: Non intended behavior is removed such as ``parseInt_`` links | |
to ``.. js:function:: parseInt`` | |
* #7229: rst domain: Non intended behavior is removed such as ``numref_`` links | |
to ``.. rst:role:: numref`` | |
* #6903: py domain: Non intended behavior is removed such as ``say_hello_`` | |
links to ``.. py:function:: say_hello()`` | |
* #7246: py domain: Drop special cross reference helper for exceptions, | |
functions and methods | |
* The C domain has been rewritten, with additional directives and roles. | |
The existing ones are now more strict, resulting in new warnings. | |
* The attribute ``sphinx_cpp_tagname`` in the ``desc_signature_line`` node | |
has been renamed to ``sphinx_line_type``. | |
* #6462: double backslashes in domain directives are no longer replaced by | |
single backslashes as default. A new configuration value | |
:confval:`strip_signature_backslash` can be used by users to re-enable it. | |
3.0.0 final | |
* #7222: ``sphinx.util.inspect.unwrap()`` is renamed to ``unwrap_all()`` | |
Deprecated | |
---------- | |
3.0.0b1 | |
* ``desc_signature['first']`` | |
* ``sphinx.directives.DescDirective`` | |
* ``sphinx.domains.std.StandardDomain.add_object()`` | |
* ``sphinx.domains.python.PyDecoratorMixin`` | |
* ``sphinx.ext.autodoc.get_documenters()`` | |
* ``sphinx.ext.autosummary.process_autosummary_toc()`` | |
* ``sphinx.parsers.Parser.app`` | |
* ``sphinx.testing.path.Path.text()`` | |
* ``sphinx.testing.path.Path.bytes()`` | |
* ``sphinx.util.inspect.getargspec()`` | |
* ``sphinx.writers.latex.LaTeXWriter.format_docclass()`` | |
Features added | |
-------------- | |
3.0.0b1 | |
* #247: autosummary: Add :confval:`autosummary_generate_overwrite` to overwrite | |
old stub file | |
* #5923: autodoc: ``:inherited-members:`` option takes a name of anchestor class | |
not to document inherited members of the class and uppers | |
* #6830: autodoc: consider a member private if docstring contains | |
``:meta private:`` in info-field-list | |
* #7165: autodoc: Support Annotated type (PEP-593) | |
* #2815: autodoc: Support singledispatch functions and methods | |
* #7079: autodoc: :confval:`autodoc_typehints` accepts ``"description"`` | |
configuration. It shows typehints as object description | |
* #7314: apidoc: Propagate ``--maxdepth`` option through package documents | |
* #6558: glossary: emit a warning for duplicated glossary entry | |
* #3106: domain: Register hyperlink target for index page automatically | |
* #6558: std domain: emit a warning for duplicated generic objects | |
* #6830: py domain: Add new event: :event:`object-description-transform` | |
* #6895: py domain: Do not emit nitpicky warnings for built-in types | |
* py domain: Support lambda functions in function signature | |
* #6417: py domain: Allow to make a style for arguments of functions and methods | |
* #7238, #7239: py domain: Emit a warning on describing a python object if the | |
entry is already added as the same name | |
* #7341: py domain: type annotations in signature are converted to cross refs | |
* Support priority of event handlers. For more detail, see | |
:py:meth:`.Sphinx.connect()` | |
* #3077: Implement the scoping for :rst:dir:`productionlist` as indicated | |
in the documentation. | |
* #1027: Support backslash line continuation in :rst:dir:`productionlist`. | |
* #7108: config: Allow to show an error message from conf.py via ``ConfigError`` | |
* #7032: html: :confval:`html_scaled_image_link` will be disabled for images having | |
``no-scaled-link`` class | |
* #7144: Add CSS class indicating its domain for each desc node | |
* #7211: latex: Use babel for Chinese document when using XeLaTeX | |
* #6672: LaTeX: Support LaTeX Theming (experimental) | |
* #7005: LaTeX: Add LaTeX styling macro for :rst:role:`kbd` role | |
* #7220: genindex: Show "main" index entries at first | |
* #7103: linkcheck: writes all links to ``output.json`` | |
* #7025: html search: full text search can be disabled for individual document | |
using ``:nosearch:`` file-wide metadata | |
* #7293: html search: Allow to override JavaScript splitter via | |
``SearchLanguage.js_splitter_code`` | |
* #7142: html theme: Add a theme option: ``pygments_dark_style`` to switch the | |
style of code-blocks in dark mode | |
* The C domain has been rewritten adding for example: | |
- Cross-referencing respecting the current scope. | |
- Possible to document anonymous entities. | |
- More specific directives and roles for each type of entity, | |
e.g., handling scoping of enumerators. | |
- New role :rst:role:`c:expr` for rendering expressions and types | |
in text. | |
* Added ``SphinxDirective.get_source_info()`` | |
and ``SphinxRole.get_source_info()``. | |
* #7324: sphinx-build: Emit a warning if multiple files having different file | |
extensions for same document found | |
3.0.0 final | |
* Added ``ObjectDescription.transform_content()``. | |
Bugs fixed | |
---------- | |
3.0.0b1 | |
* C++, fix cross reference lookup in certain cases involving | |
function overloads. | |
* #5078: C++, fix cross reference lookup when a directive contains multiple | |
declarations. | |
* C++, suppress warnings for directly dependent typenames in cross references | |
generated automatically in signatures. | |
* #5637: autodoc: Incorrect handling of nested class names on show-inheritance | |
* #7267: autodoc: error message for invalid directive options has wrong location | |
* #7329: autodoc: info-field-list is wrongly generated from type hints into the | |
class description even if ``autoclass_content='class'`` set | |
* #7331: autodoc: a cython-function is not recognized as a function | |
* #5637: inheritance_diagram: Incorrect handling of nested class names | |
* #7139: ``code-block:: guess`` does not work | |
* #7325: html: source_suffix containing dot leads to wrong source link | |
* #7357: html: Resizing SVG image fails with ValueError | |
* #7278: html search: Fix use of ``html_file_suffix`` instead of | |
``html_link_suffix`` in search results | |
* #7297: html theme: ``bizstyle`` does not support ``sidebarwidth`` | |
* #3842: singlehtml: Path to images broken when master doc is not in source root | |
* #7179: std domain: Fix whitespaces are suppressed on referring GenericObject | |
* #7289: console: use bright colors instead of bold | |
* #1539: C, parse array types. | |
* #2377: C, parse function pointers even in complex types. | |
* #7345: sphinx-build: Sphinx crashes if output directory exists as a file | |
* #7290: sphinx-build: Ignore bdb.BdbQuit when handling exceptions | |
* #6240: napoleon: Attributes and Methods sections ignore :noindex: option | |
3.0.0 final | |
* #7364: autosummary: crashed when :confval:`autosummary_generate` is False | |
* #7370: autosummary: raises UnboundLocalError when unknown module given | |
* #7367: C++, alternate operator spellings are now supported. | |
* C, alternate operator spellings are now supported. | |
* #7368: C++, comma operator in expressions, pack expansion in template | |
argument lists, and more comprehensive error messages in some cases. | |
* C, C++, fix crash and wrong duplicate warnings related to anon symbols. | |
* #6477: Escape first "!" in a cross reference linking no longer possible | |
* #7219: py domain: The index entry generated by ``py:function`` directive is | |
different with one from ``index`` directive with "builtin" type | |
* #7301: capital characters are not allowed for node_id | |
* #7301: epub: duplicated node_ids are generated | |
* #6564: html: a width of table was ignored on HTML builder | |
* #7401: Incorrect argument is passed for :event:`env-get-outdated` handlers | |
* #7355: autodoc: a signature of cython-function is not recognized well | |
* #7222: autodoc: ``__wrapped__`` functions are not documented correctly | |
* #7409: intersphinx: ValueError is raised when an extension sets up | |
:confval:`intersphinx_mapping` on :event:`config-inited` event | |
* #7343: Sphinx builds has been slower since 2.4.0 on debug mode | |
Release 2.4.5 (released Nov 18, 2021) | |
===================================== | |
Dependencies | |
------------ | |
* #9807: Restrict docutils to 0.17.x or older | |
Release 2.4.4 (released Mar 05, 2020) | |
===================================== | |
Bugs fixed | |
---------- | |
* #7197: LaTeX: platex cause error to build image directive with target url | |
* #7223: Sphinx builds has been slower since 2.4.0 | |
Release 2.4.3 (released Feb 22, 2020) | |
===================================== | |
Bugs fixed | |
---------- | |
* #7184: autodoc: ``*args`` and ``**kwarg`` in type comments are not handled | |
properly | |
* #7189: autodoc: classmethod coroutines are not detected | |
* #7183: intersphinx: ``:attr:`` reference to property is broken | |
* #6244, #6387: html search: Search breaks/hangs when built with dirhtml builder | |
* #7195: todo: emit doctree-resolved event with non-document node incorrectly | |
Release 2.4.2 (released Feb 19, 2020) | |
===================================== | |
Bugs fixed | |
---------- | |
* #7138: autodoc: ``autodoc.typehints`` crashed when variable has unbound object | |
as a value | |
* #7156: autodoc: separator for keyword only arguments is not shown | |
* #7146: autodoc: IndexError is raised on suppressed type_comment found | |
* #7161: autodoc: typehints extension does not support parallel build | |
* #7178: autodoc: TypeError is raised on fetching type annotations | |
* #7151: crashed when extension assigns a value to ``env.indexentries`` | |
* #7170: text: Remove debug print | |
* #7137: viewcode: Avoid to crash when non-python code given | |
Release 2.4.1 (released Feb 11, 2020) | |
===================================== | |
Bugs fixed | |
---------- | |
* #7120: html: crashed when on scaling SVG images which have float dimensions | |
* #7126: autodoc: TypeError: 'getset_descriptor' object is not iterable | |
Release 2.4.0 (released Feb 09, 2020) | |
===================================== | |
Deprecated | |
---------- | |
* The ``decode`` argument of ``sphinx.pycode.ModuleAnalyzer()`` | |
* ``sphinx.directives.other.Index`` | |
* ``sphinx.environment.temp_data['gloss_entries']`` | |
* ``sphinx.environment.BuildEnvironment.indexentries`` | |
* ``sphinx.environment.collectors.indexentries.IndexEntriesCollector`` | |
* ``sphinx.ext.apidoc.INITPY`` | |
* ``sphinx.ext.apidoc.shall_skip()`` | |
* ``sphinx.io.FiletypeNotFoundError`` | |
* ``sphinx.io.get_filetype()`` | |
* ``sphinx.pycode.ModuleAnalyzer.encoding`` | |
* ``sphinx.roles.Index`` | |
* ``sphinx.util.detect_encoding()`` | |
* ``sphinx.util.get_module_source()`` | |
* ``sphinx.util.inspect.Signature`` | |
* ``sphinx.util.inspect.safe_getmembers()`` | |
* ``sphinx.writers.latex.LaTeXTranslator.settings.author`` | |
* ``sphinx.writers.latex.LaTeXTranslator.settings.contentsname`` | |
* ``sphinx.writers.latex.LaTeXTranslator.settings.docclass`` | |
* ``sphinx.writers.latex.LaTeXTranslator.settings.docname`` | |
* ``sphinx.writers.latex.LaTeXTranslator.settings.title`` | |
* ``sphinx.writers.latex.ADDITIONAL_SETTINGS`` | |
* ``sphinx.writers.latex.DEFAULT_SETTINGS`` | |
* ``sphinx.writers.latex.LUALATEX_DEFAULT_FONTPKG`` | |
* ``sphinx.writers.latex.PDFLATEX_DEFAULT_FONTPKG`` | |
* ``sphinx.writers.latex.XELATEX_DEFAULT_FONTPKG`` | |
* ``sphinx.writers.latex.XELATEX_GREEK_DEFAULT_FONTPKG`` | |
Features added | |
-------------- | |
* #6910: inheritance_diagram: Make the background of diagrams transparent | |
* #6446: duration: Add ``sphinx.ext.durations`` to inspect which documents slow | |
down the build | |
* #6837: LaTeX: Support a nested table | |
* #7115: LaTeX: Allow to override LATEXOPTS and LATEXMKOPTS via environment | |
variable | |
* #6966: graphviz: Support ``:class:`` option | |
* #6696: html: ``:scale:`` option of image/figure directive not working for SVG | |
images (imagesize-1.2.0 or above is required) | |
* #6994: imgconverter: Support illustrator file (.ai) to .png conversion | |
* autodoc: Support Positional-Only Argument separator (PEP-570 compliant) | |
* autodoc: Support type annotations for variables | |
* #2755: autodoc: Add new event: :event:`autodoc-before-process-signature` | |
* #2755: autodoc: Support type_comment style (ex. ``# type: (str) -> str``) | |
annotation (python3.8+ or `typed_ast <https://github.com/python/typed_ast>`_ | |
is required) | |
* #7051: autodoc: Support instance variables without defaults (PEP-526) | |
* #6418: autodoc: Add a new extension ``sphinx.ext.autodoc.typehints``. It shows | |
typehints as object description if ``autodoc_typehints = "description"`` set. | |
This is an experimental extension and it will be integrated into autodoc core | |
in Sphinx 3.0 | |
* SphinxTranslator now calls visitor/departure method for super node class if | |
visitor/departure method for original node class not found | |
* #6418: Add new event: :event:`object-description-transform` | |
* py domain: :rst:dir:`py:data` and :rst:dir:`py:attribute` take new options | |
named ``:type:`` and ``:value:`` to describe its type and initial value | |
* #6785: py domain: ``:py:attr:`` is able to refer properties again | |
* #6772: apidoc: Add ``-q`` option for quiet mode | |
Bugs fixed | |
---------- | |
* #6925: html: Remove redundant type="text/javascript" from <script> elements | |
* #7112: html: SVG image is not layouted as float even if aligned | |
* #6906, #6907: autodoc: failed to read the source codes encoeded in cp1251 | |
* #6961: latex: warning for babel shown twice | |
* #7059: latex: LaTeX compilation falls into infinite loop (wrapfig issue) | |
* #6581: latex: ``:reversed:`` option for toctree does not effect to LaTeX build | |
* #6559: Wrong node-ids are generated in glossary directive | |
* #6986: apidoc: misdetects module name for .so file inside module | |
* #6899: apidoc: private members are not shown even if ``--private`` given | |
* #6327: apidoc: Support a python package consisted of __init__.so file | |
* #6999: napoleon: fails to parse tilde in :exc: role | |
* #7019: gettext: Absolute path used in message catalogs | |
* #7023: autodoc: nested partial functions are not listed | |
* #7023: autodoc: partial functions imported from other modules are listed as | |
module members without :impoprted-members: option | |
* #6889: autodoc: Trailing comma in ``:members::`` option causes cryptic warning | |
* #6568: autosummary: ``autosummary_imported_members`` is ignored on generating | |
a stub file for submodule | |
* #7055: linkcheck: redirect is treated as an error | |
* #7088: HTML template: If ``navigation_with_keys`` option is activated, | |
modifier keys are ignored, which means the feature can interfere with browser | |
features | |
* #7090: std domain: Can't assign numfig-numbers for custom container nodes | |
* #7106: std domain: enumerated nodes are marked as duplicated when extensions | |
call ``note_explicit_target()`` | |
* #7095: dirhtml: Cross references are broken via intersphinx and ``:doc:`` role | |
* C++: | |
- Don't crash when using the ``struct`` role in some cases. | |
- Don't warn when using the ``var``/``member`` role for function | |
parameters. | |
- Render call and braced-init expressions correctly. | |
* #7097: Filenames of images generated by | |
``sphinx.transforms.post_transforms.images.ImageConverter`` | |
or its subclasses (used for latex build) are now sanitized, | |
to prevent broken paths | |
Release 2.3.1 (released Dec 22, 2019) | |
===================================== | |
Bugs fixed | |
---------- | |
* #6936: sphinx-autogen: raises AttributeError | |
Release 2.3.0 (released Dec 15, 2019) | |
===================================== | |
Incompatible changes | |
-------------------- | |
* #6742: ``end-before`` option of :rst:dir:`literalinclude` directive does not | |
match the first line of the code block. | |
* #1331: Change default User-Agent header to ``"Sphinx/X.Y.Z requests/X.Y.Z | |
python/X.Y.Z"``. It can be changed via :confval:`user_agent`. | |
* #6867: text: content of admonitions starts after a blank line | |
Deprecated | |
---------- | |
* ``sphinx.builders.gettext.POHEADER`` | |
* ``sphinx.io.SphinxStandaloneReader.app`` | |
* ``sphinx.io.SphinxStandaloneReader.env`` | |
* ``sphinx.util.texescape.tex_escape_map`` | |
* ``sphinx.util.texescape.tex_hl_escape_map_new`` | |
* ``sphinx.writers.latex.LaTeXTranslator.no_contractions`` | |
Features added | |
-------------- | |
* #6707: C++, support bit-fields. | |
* #267: html: Eliminate prompt characters of doctest block from copyable text | |
* #6548: html: Use favicon for OpenSearch if available | |
* #6729: html theme: agogo theme now supports ``rightsidebar`` option | |
* #6780: Add PEP-561 Support | |
* #6762: latex: Allow to load additional LaTeX packages via ``extrapackages`` key | |
of :confval:`latex_elements` | |
* #1331: Add new config variable: :confval:`user_agent` | |
* #6000: LaTeX: have backslash also be an inline literal word wrap break | |
character | |
* #4186: LaTeX: Support upLaTeX as a new :confval:`latex_engine` (experimental) | |
* #6812: Improve a warning message when extensions are not parallel safe | |
* #6818: Improve Intersphinx performance for multiple remote inventories. | |
* #2546: apidoc: .so file support | |
* #6798: autosummary: emit ``autodoc-skip-member`` event on generating stub file | |
* #6483: i18n: make explicit titles in toctree translatable | |
* #6816: linkcheck: Add :confval:`linkcheck_auth` option to provide | |
authentication information when doing ``linkcheck`` builds | |
* #6872: linkcheck: Handles HTTP 308 Permanent Redirect | |
* #6613: html: Wrap section number in span tag | |
* #6781: gettext: Add :confval:`gettext_last_translator` and | |
:confval:`gettext_language_team` to customize headers of POT file | |
Bugs fixed | |
---------- | |
* #6668: LaTeX: Longtable before header has incorrect distance | |
(refs: `latex3/latex2e#173`_) | |
.. _latex3/latex2e#173: https://github.com/latex3/latex2e/issues/173 | |
* #6618: LaTeX: Avoid section names at the end of a page | |
* #6738: LaTeX: Do not replace unicode characters by LaTeX macros on unicode | |
supported LaTeX engines: ¶, §, €, ∞, ±, →, ‣, –, superscript and subscript | |
digits go through "as is" (as default OpenType font supports them) | |
* #6704: linkcheck: Be defensive and handle newly defined HTTP error code | |
* #6806: linkcheck: Failure on parsing content | |
* #6655: image URLs containing ``data:`` causes gettext builder crashed | |
* #6584: i18n: Error when compiling message catalogs on Hindi | |
* #6718: i18n: KeyError is raised if section title and table title are same | |
* #6743: i18n: :confval:`rst_prolog` breaks the translation | |
* #6708: mathbase: Some deprecated functions have removed | |
* #6709: autodoc: mock object does not work as a class decorator | |
* #5070: epub: Wrong internal href fragment links | |
* #6712: Allow not to install sphinx.testing as runtime (mainly for ALT Linux) | |
* #6741: html: search result was broken with empty :confval:`html_file_suffix` | |
* #6001: LaTeX does not wrap long code lines at backslash character | |
* #6804: LaTeX: PDF build breaks if admonition of danger type contains | |
code-block long enough not to fit on one page | |
* #6809: LaTeX: code-block in a danger type admonition can easily spill over | |
bottom of page | |
* #6793: texinfo: Code examples broken following "sidebar" | |
* #6813: An orphan warning is emitted for included document on Windows. Thanks | |
to @drillan | |
* #6850: Fix smartypants module calls re.sub() with wrong options | |
* #6824: HTML search: If a search term is partially matched in the title and | |
fully matched in a text paragraph on the same page, the search does not | |
include this match. | |
* #6848: config.py shouldn't pop extensions from overrides | |
* #6867: text: extra spaces are inserted to hyphenated words on folding lines | |
* #6886: LaTeX: xelatex converts straight double quotes into right curly ones | |
(shows when :confval:`smartquotes` is ``False``) | |
* #6890: LaTeX: even with smartquotes off, PDF output transforms straight | |
quotes and consecutive hyphens into curly quotes and dashes | |
* #6876: LaTeX: multi-line display of authors on title page has ragged edges | |
* #6887: Sphinx crashes with docutils-0.16b0 | |
* #6920: sphinx-build: A console message is wrongly highlighted | |
* #6900: sphinx-build: ``-D`` option does not considers ``0`` and ``1`` as a | |
boolean value | |
Release 2.2.2 (released Dec 03, 2019) | |
===================================== | |
Incompatible changes | |
-------------------- | |
* #6803: For security reason of python, parallel mode is disabled on macOS and | |
Python3.8+ | |
Bugs fixed | |
---------- | |
* #6776: LaTeX: 2019-10-01 LaTeX release breaks :file:`sphinxcyrillic.sty` | |
* #6815: i18n: French, Hindi, Chinese, Japanese and Korean translation messages | |
has been broken | |
* #6803: parallel build causes AttributeError on macOS and Python3.8 | |
Release 2.2.1 (released Oct 26, 2019) | |
===================================== | |
Bugs fixed | |
---------- | |
* #6641: LaTeX: Undefined control sequence ``\sphinxmaketitle`` | |
* #6710: LaTeX not well configured for Greek language as main language | |
* #6759: validation of html static paths and extra paths no longer throws | |
an error if the paths are in different directories | |
Release 2.2.0 (released Aug 19, 2019) | |
===================================== | |
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 rebuilt | |
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: :data:`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 | |
Release 2.1.2 (released Jun 19, 2019) | |
===================================== | |
Bugs fixed | |
---------- | |
* #6497: custom lexers fails highlighting when syntax error | |
* #6478, #6488: info field lists are incorrectly recognized | |
Release 2.1.1 (released Jun 10, 2019) | |
===================================== | |
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 | |
Release 2.1.0 (released Jun 02, 2019) | |
===================================== | |
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:`rst: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) | |
Release 2.0.1 (released Apr 08, 2019) | |
===================================== | |
Bugs fixed | |
---------- | |
* LaTeX: some system labels are not translated | |
* RemovedInSphinx30Warning is marked as pending | |
* deprecation warnings are not emitted | |
- ``sphinx.application.CONFIG_FILENAME`` | |
- ``sphinx.builders.htmlhelp`` | |
- :confval:`!viewcode_import` | |
* #6208: C++, properly parse full xrefs that happen to have a short xref as | |
prefix | |
* #6220, #6225: napoleon: AttributeError is raised for raised section having | |
references | |
* #6245: circular import error on importing SerializingHTMLBuilder | |
* #6243: LaTeX: 'releasename' setting for latex_elements is ignored | |
* #6244: html: Search function is broken with 3rd party themes | |
* #6263: html: HTML5Translator crashed with invalid field node | |
* #6262: html theme: The style of field lists has changed in bizstyle theme | |
Release 2.0.0 (released Mar 29, 2019) | |
===================================== | |
Dependencies | |
------------ | |
2.0.0b1 | |
* LaTeX builder now depends on TeX Live 2015 or above. | |
* LaTeX builder (with ``'pdflatex'`` :confval:`latex_engine`) will process | |
Unicode Greek letters in text (not in math mark-up) via the text font and | |
will not escape them to math mark-up. See the discussion of the | |
``'fontenc'`` key of :confval:`latex_elements`; such (optional) support for | |
Greek adds, for example on Ubuntu xenial, the ``texlive-lang-greek`` and (if | |
default font set-up is not modified) ``cm-super(-minimal)`` as additional | |
Sphinx LaTeX requirements. | |
* LaTeX builder with :confval:`latex_engine` set to ``'xelatex'`` or to | |
``'lualatex'`` requires (by default) the ``FreeFont`` fonts, | |
which in Ubuntu xenial are provided by package ``fonts-freefont-otf``, and | |
e.g. in Fedora 29 via package ``texlive-gnu-freefont``. | |
* requests 2.5.0 or above | |
* The six package is no longer a dependency | |
* The sphinxcontrib-websupport package is no longer a dependency | |
* Some packages are separated to sub packages: | |
- sphinxcontrib.applehelp | |
- sphinxcontrib.devhelp | |
- sphinxcontrib.htmlhelp | |
- sphinxcontrib.jsmath | |
- sphinxcontrib.serializinghtml | |
- sphinxcontrib.qthelp | |
Incompatible changes | |
-------------------- | |
2.0.0b1 | |
* Drop python 2.7 and 3.4 support | |
* Drop docutils 0.11 support | |
* Drop features and APIs deprecated in 1.7.x | |
* The default setting for :confval:`master_doc` is changed to ``'index'`` which | |
has been longly used as default of sphinx-quickstart. | |
* LaTeX: Move message resources to ``sphinxmessage.sty`` | |
* LaTeX: Stop using ``\captions<lang>`` macro for some labels | |
* LaTeX: for ``'xelatex'`` and ``'lualatex'``, use the ``FreeFont`` OpenType | |
fonts as default choice (refs: #5645) | |
* LaTeX: ``'xelatex'`` and ``'lualatex'`` now use ``\small`` in code-blocks | |
(due to ``FreeMono`` character width) like ``'pdflatex'`` already did (due | |
to ``Courier`` character width). You may need to adjust this via | |
:confval:`latex_elements` ``'fvset'`` key, in case of usage of some other | |
OpenType fonts (refs: #5768) | |
* LaTeX: Greek letters in text are not escaped to math mode mark-up, and they | |
will use the text font not the math font. The ``LGR`` font encoding must be | |
added to the ``'fontenc'`` key of :confval:`latex_elements` for this to work | |
(only if it is needed by the document, of course). | |
* LaTeX: setting the :confval:`language` to ``'en'`` triggered ``Sonny`` option | |
of ``fncychap``, now it is ``Bjarne`` to match case of no language specified. | |
(refs: #5772) | |
* #5770: doctest: Follow :confval:`highlight_language` on highlighting doctest | |
block. As a result, they are highlighted as python3 by default. | |
* The order of argument for ``HTMLTranslator``, ``HTML5Translator`` and | |
``ManualPageTranslator`` are changed | |
* LaTeX: hard-coded redefinitions of ``\l@section`` and ``\l@subsection`` | |
formerly done during loading of ``'manual'`` docclass get executed later, at | |
time of ``\sphinxtableofcontents``. This means that custom user definitions | |
from LaTeX preamble now get overwritten. Use ``\sphinxtableofcontentshook`` | |
to insert custom user definitions. See :ref:`latex-macros`. | |
* quickstart: Simplify generated ``conf.py`` | |
* #4148: quickstart: some questions are removed. They are still able to specify | |
via command line options | |
* websupport: unbundled from sphinx core. Please use sphinxcontrib-websupport | |
* C++, the visibility of base classes is now always rendered as present in the | |
input. That is, ``private`` is now shown, where it was ellided before. | |
* LaTeX: graphics inclusion of oversized images rescales to not exceed | |
the text width and height, even if width and/or height option were used. | |
(refs: #5956) | |
* epub: ``epub_title`` defaults to the :confval:`project` option | |
* #4550: All tables and figures without ``align`` option are displayed to center | |
* #4587: html: Output HTML5 by default | |
2.0.0b2 | |
* texinfo: image files are copied into ``name-figure`` directory | |
Deprecated | |
---------- | |
2.0.0b1 | |
* Support for evaluating Python 2 syntax is deprecated. This includes | |
configuration files which should be converted to Python 3. | |
* The arguments of ``EpubBuilder.build_mimetype()``, | |
``EpubBuilder.build_container()``, ``EpubBuilder.bulid_content()``, | |
``EpubBuilder.build_toc()`` and ``EpubBuilder.build_epub()`` | |
* The arguments of ``Epub3Builder.build_navigation_doc()`` | |
* The config variables | |
- :confval:`html_experimental_html5_writer` | |
* The ``encoding`` argument of ``autodoc.Documenter.get_doc()``, | |
``autodoc.DocstringSignatureMixin.get_doc()``, | |
``autodoc.DocstringSignatureMixin._find_signature()``, and | |
``autodoc.ClassDocumenter.get_doc()`` are deprecated. | |
* The ``importer`` argument of ``sphinx.ext.autodoc.importer._MockModule`` | |
* The ``nodetype`` argument of ``sphinx.search.WordCollector. | |
is_meta_keywords()`` | |
* The ``suffix`` argument of ``env.doc2path()`` is deprecated. | |
* The string style ``base`` argument of ``env.doc2path()`` is deprecated. | |
* The fallback to allow omitting the ``filename`` argument from an overridden | |
``IndexBuilder.feed()`` method is deprecated. | |
* ``sphinx.addnodes.abbreviation`` | |
* ``sphinx.application.Sphinx._setting_up_extension`` | |
* ``sphinx.builders.epub3.Epub3Builder.validate_config_value()`` | |
* ``sphinx.builders.html.SingleFileHTMLBuilder`` | |
* ``sphinx.builders.htmlhelp.HTMLHelpBuilder.open_file()`` | |
* ``sphinx.cmd.quickstart.term_decode()`` | |
* ``sphinx.cmd.quickstart.TERM_ENCODING`` | |
* ``sphinx.config.check_unicode()`` | |
* ``sphinx.config.string_classes`` | |
* ``sphinx.domains.cpp.DefinitionError.description`` | |
* ``sphinx.domains.cpp.NoOldIdError.description`` | |
* ``sphinx.domains.cpp.UnsupportedMultiCharacterCharLiteral.decoded`` | |
* ``sphinx.ext.autodoc.importer._MockImporter`` | |
* ``sphinx.ext.autosummary.Autosummary.warn()`` | |
* ``sphinx.ext.autosummary.Autosummary.genopt`` | |
* ``sphinx.ext.autosummary.Autosummary.warnings`` | |
* ``sphinx.ext.autosummary.Autosummary.result`` | |
* ``sphinx.ext.doctest.doctest_encode()`` | |
* ``sphinx.io.SphinxBaseFileInput`` | |
* ``sphinx.io.SphinxFileInput.supported`` | |
* ``sphinx.io.SphinxRSTFileInput`` | |
* ``sphinx.registry.SphinxComponentRegistry.add_source_input()`` | |
* ``sphinx.roles.abbr_role()`` | |
* ``sphinx.roles.emph_literal_role()`` | |
* ``sphinx.roles.menusel_role()`` | |
* ``sphinx.roles.index_role()`` | |
* ``sphinx.roles.indexmarkup_role()`` | |
* ``sphinx.testing.util.remove_unicode_literal()`` | |
* ``sphinx.util.attrdict`` | |
* ``sphinx.util.force_decode()`` | |
* ``sphinx.util.get_matching_docs()`` | |
* ``sphinx.util.inspect.Parameter`` | |
* ``sphinx.util.jsonimpl`` | |
* ``sphinx.util.osutil.EEXIST`` | |
* ``sphinx.util.osutil.EINVAL`` | |
* ``sphinx.util.osutil.ENOENT`` | |
* ``sphinx.util.osutil.EPIPE`` | |
* ``sphinx.util.osutil.walk()`` | |
* ``sphinx.util.PeekableIterator`` | |
* ``sphinx.util.pycompat.NoneType`` | |
* ``sphinx.util.pycompat.TextIOWrapper`` | |
* ``sphinx.util.pycompat.UnicodeMixin`` | |
* ``sphinx.util.pycompat.htmlescape`` | |
* ``sphinx.util.pycompat.indent`` | |
* ``sphinx.util.pycompat.sys_encoding`` | |
* ``sphinx.util.pycompat.terminal_safe()`` | |
* ``sphinx.util.pycompat.u`` | |
* ``sphinx.writers.latex.ExtBabel`` | |
* ``sphinx.writers.latex.LaTeXTranslator._make_visit_admonition()`` | |
* ``sphinx.writers.latex.LaTeXTranslator.babel_defmacro()`` | |
* ``sphinx.writers.latex.LaTeXTranslator.collect_footnotes()`` | |
* ``sphinx.writers.latex.LaTeXTranslator.generate_numfig_format()`` | |
* ``sphinx.writers.texinfo.TexinfoTranslator._make_visit_admonition()`` | |
* ``sphinx.writers.text.TextTranslator._make_depart_admonition()`` | |
* template variables for LaTeX template | |
- ``logo`` | |
- ``numfig_format`` | |
- ``pageautorefname`` | |
- ``translatablestrings`` | |
For more details, see :ref:`deprecation APIs list <dev-deprecated-apis>`. | |
Features added | |
-------------- | |
2.0.0b1 | |
* #1618: The search results preview of generated HTML documentation is | |
reader-friendlier: instead of showing the snippets as raw reStructuredText | |
markup, Sphinx now renders the corresponding HTML. This means the Sphinx | |
extension `Sphinx: pretty search results`__ is no longer necessary. Note that | |
changes to the search function of your custom or 3rd-party HTML template might | |
overwrite this improvement. | |
__ https://github.com/sphinx-contrib/sphinx-pretty-searchresults | |
* #4182: autodoc: Support :confval:`suppress_warnings` | |
* #5533: autodoc: :confval:`autodoc_default_options` supports ``member-order`` | |
* #5394: autodoc: Display readable names in type annotations for mocked objects | |
* #5459: autodoc: :confval:`autodoc_default_options` accepts ``True`` as a value | |
* #1148: autodoc: Add :rst:dir:`autodecorator` directive for decorators | |
* #5635: autosummary: Add :confval:`autosummary_mock_imports` to mock external | |
libraries on importing targets | |
* #4018: htmlhelp: Add :confval:`htmlhelp_file_suffix` and | |
:confval:`htmlhelp_link_suffix` | |
* #5559: text: Support complex tables (colspan and rowspan) | |
* LaTeX: support rendering (not in math, yet) of Greek and Cyrillic Unicode | |
letters in non-Cyrillic document even with ``'pdflatex'`` as | |
:confval:`latex_engine` (refs: #5645) | |
* #5660: The ``versionadded``, ``versionchanged`` and ``deprecated`` directives | |
are now generated with their own specific CSS classes | |
(``added``, ``changed`` and ``deprecated``, respectively) in addition to the | |
generic ``versionmodified`` class. | |
* #5841: apidoc: Add --extensions option to sphinx-apidoc | |
* #4981: C++, added an alias directive for inserting lists of declarations, | |
that references existing declarations (e.g., for making a synopsis). | |
* C++: add ``cpp:struct`` to complement ``cpp:class``. | |
* #1341 the HTML search considers words that contain a search term of length | |
three or longer a match. | |
* #4611: epub: Show warning for duplicated ToC entries | |
* #1851: Allow to omit an argument for :rst:dir:`code-block` directive. If | |
omitted, it follows :rst:dir:`highlight` or :confval:`highlight_language` | |
* #4587: html: Add :confval:`html4_writer` to use old HTML4 writer | |
* #6016: HTML search: A placeholder for the search summary prevents search | |
result links from changing their position when the search terminates. This | |
makes navigating search results easier. | |
* #5196: linkcheck also checks remote images exist | |
* #5924: githubpages: create CNAME file for custom domains when | |
:confval:`html_baseurl` set | |
* #4261: autosectionlabel: restrict the labeled sections by new config value; | |
:confval:`autosectionlabel_maxdepth` | |
Bugs fixed | |
---------- | |
2.0.0b1 | |
* #1682: LaTeX: writer should not translate Greek unicode, but use textgreek | |
package | |
* #5247: LaTeX: PDF does not build with default font config for Russian | |
language and ``'xelatex'`` or ``'lualatex'`` as :confval:`latex_engine` | |
(refs: #5251) | |
* #5248: LaTeX: Greek letters in section titles disappear from PDF bookmarks | |
* #5249: LaTeX: Unicode Greek letters in math directive break PDF build | |
(fix requires extra set-up, see :confval:`latex_elements` ``'textgreek'`` key | |
and/or :confval:`latex_engine` setting) | |
* #5772: LaTeX: should the Bjarne style of fncychap be used for English also | |
if passed as language option? | |
* #5179: LaTeX: (lualatex only) escaping of ``>`` by ``\textgreater{}`` is not | |
enough as ``\textgreater{}\textgreater{}`` applies TeX-ligature | |
* LaTeX: project name is not escaped if :confval:`latex_documents` omitted | |
* LaTeX: authors are not shown if :confval:`latex_documents` omitted | |
* HTML: Invalid HTML5 file is generated for a glossary having multiple terms for | |
one description (refs: #4611) | |
* QtHelp: OS dependent path separator is used in .qhp file | |
* HTML search: search always returns nothing when multiple search terms are | |
used and one term is shorter than three characters | |
2.0.0b2 | |
* #6096: html: Anchor links are not added to figures | |
* #3620: html: Defer searchindex.js rather than loading it via ajax | |
* #6113: html: Table cells and list items have large margins | |
* #5508: ``linenothreshold`` option for ``highlight`` directive was ignored | |
* texinfo: ``make install-info`` causes syntax error | |
* texinfo: ``make install-info`` fails on macOS | |
* #3079: texinfo: image files are not copied on ``make install-info`` | |
* #5391: A cross reference in heading is rendered as literal | |
* #5946: C++, fix ``cpp:alias`` problems in LaTeX (and singlehtml) | |
* #6147: classes attribute of ``citation_reference`` node is lost | |
* AssertionError is raised when custom ``citation_reference`` node having | |
classes attribute refers missing citation (refs: #6147) | |
* #2155: Support ``code`` directive | |
* C++, fix parsing of braced initializers. | |
* #6172: AttributeError is raised for old styled index nodes | |
* #4872: inheritance_diagram: correctly describe behavior of ``parts`` option in | |
docs, allow negative values. | |
* #6178: i18n: Captions missing in translations for hidden TOCs | |
2.0.0 final | |
* #6196: py domain: unexpected prefix is generated | |
Testing | |
-------- | |
2.0.0b1 | |
* Stop to use ``SPHINX_TEST_TEMPDIR`` envvar | |
2.0.0b2 | |