Sphinx 4.4

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 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 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 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 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 texinfo_cross_references to disable cross references for readability with standalone readers

  • #9822, #9062: add new Intersphinx role external for explicit 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 availability 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