Sphinx 3.2

Release 3.2.1 (released Aug 14, 2020)

Features added

  • #8095: napoleon: Add 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 c_allow_pre_v3 and 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 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 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 napoleon_type_aliases

  • #8049: napoleon: Create a hyperlink for each the type of parameter when napoleon_use_param is False

  • C, added 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 globaltoc_maxdepth to control the behavior of globaltoc in sidebar

  • #7840: i18n: Optimize the dependencies check on bootstrap

  • #7768: i18n: 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 c_allow_pre_v3 to True to enable this. The warnings printed from this functionality can be suppressed by setting 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 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: 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.