Sphinx 4.1

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 autoclass directive to control the content of the specific class like autoclass_content

  • #8588: autodoc: 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: autodoc_typehints allows 'both' setting to allow typehints to be included both in the signature and description

  • #4257: autodoc: Add 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 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 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 linkcheck-process-uri to modify URIs before checking hyperlinks

  • #6525: linkcheck: Add 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: python_use_unqualified_type_names supports type field in info-field-list

  • #9097: Optimize the parallel build

  • #9131: Add 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 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.