Sphinx 5.0

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 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: topic directive is rendered incorrectly with Docutils 0.18. Patch by Adam Turner.

  • #10495: IndexError is raised for a kbd role having a separator. Patch by Adam Turner.

Release 5.0.0 (released May 30, 2022)

Dependencies

5.0.0 b1

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: 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: 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:

    {%- 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 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 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: 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 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: autodoc_docstring_signature unexpectedly generates return value typehint for constructors if docstring has multiple signatures

  • #10266: autodoc: 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 autodoc_type_aliases

  • #10421: autodoc: autodoc_preserve_defaults doesn’t work on class methods

  • #10214: html: invalid language tag was generated if 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 building 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 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 parallel build is wrong

  • #10110: sphinx-build: exit code is not changed when error is raised on builder-finished event