Sphinx 4.3

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 changing the loading method of MathJax to “defer” via 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 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 c:function and c:macro.

  • C++, added new info-field retval for cpp:function.

  • #9618: i18n: Add 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 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 suppress_warnings

Bugs fixed

  • #9630: autodoc: Failed to build cross references if 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 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: autodoc_inherit_docstrings does not effect to overridden classmethods

  • #9781: autodoc: autodoc_preserve_defaults does not support hexadecimal numeric

  • #9630: autosummary: Failed to build summary table if 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 autodoc_typehints='description'

  • #9708: needs_extension failed to check double-digit version correctly

  • #9688: Fix Sphinx patched 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.