Skip to content

Update dependency sphinx to v7

Tine Wittler requested to merge renovate/sphinx-7.x into master

This MR contains the following updates:

Package Type Update Change
sphinx (changelog) dev-dependencies major ^3.0.4 -> ^7.0.0

Release Notes

sphinx-doc/sphinx

v7.2.6

Compare Source

=====================================

Bugs fixed

  • #​11679: Add the :envvar:!SPHINX_AUTODOC_RELOAD_MODULES environment variable, which if set reloads modules when using autodoc with TYPE_CHECKING = True. Patch by Matt Wozniski and Adam Turner.
  • #​11679: Use :py:func:importlib.reload to reload modules in autodoc. Patch by Matt Wozniski and Adam Turner.

v7.2.5

Compare Source

=====================================

Bugs fixed

  • #​11645: Fix a regression preventing autodoc from importing modules within packages that make use of if typing.TYPE_CHECKING: to guard circular imports needed by type checkers. Patch by Matt Wozniski.
  • #​11634: Fixed inheritance diagram relative link resolution for sibling files in a subdirectory. Patch by Albert Shih.
  • #​11659: Allow ?config=... in :confval:mathjax_path.
  • #​11654: autodoc: Fail with a more descriptive error message when an object claims to be an instance of type, but is not a class. Patch by James Braza.
  • 11620: Cease emitting :event:source-read events for files read via the :dudir:include directive.
  • 11620: Add a new :event:include-read for observing and transforming the content of included files via the :dudir:include directive.
  • #​11627: Restore support for copyright lines of the form YYYY when SOURCE_DATE_EPOCH is set.

v7.2.4

Compare Source

=====================================

Bugs fixed

  • #​11618: Fix a regression in the MoveModuleTargets transform, introduced in #​10478 (#​9662).
  • #​11649: linkcheck: Resolve hanging tests for timezones west of London and incorrect conversion from UTC to offsets from the UNIX epoch. Patch by Dmitry Shachnev and Adam Turner.

v7.2.3

Compare Source

=====================================

Dependencies

  • #​11576: Require sphinxcontrib-serializinghtml 1.1.9.

Bugs fixed

  • Fix regression in autodoc.Documenter.parse_name().
  • Fix regression in JSON serialisation.
  • #​11543: autodoc: Support positional-only parameters in classmethod methods when autodoc_preserve_defaults is True.
  • Restore support string methods on path objects. This is deprecated and will be removed in Sphinx 8. Use :py:func:os.fspath to convert :py:class:~pathlib.Path objects to strings, or :py:class:~pathlib.Path's methods to work with path objects.

v7.2.2

Compare Source

=====================================

Bugs fixed

  • Fix the signature of the StateMachine.insert_input() patch, for when calling with keyword arguments.
  • Fixed membership testing (in) for the :py:class:str interface of the asset classes (_CascadingStyleSheet and _JavaScript), which several extensions relied upon.
  • Fixed a type error in SingleFileHTMLBuilder._get_local_toctree, includehidden may be passed as a string or a boolean.
  • Fix :noindex: for PyModule and JSModule.

v7.2.1

Compare Source

=====================================

Bugs fixed

  • Restored the the :py:class:str interface of the asset classes (_CascadingStyleSheet and _JavaScript), which several extensions relied upon. This will be removed in Sphinx 9.
  • Restored calls to Builder.add_{css,js}_file(), which several extensions relied upon.
  • Restored the private API TocTree.get_toctree_ancestors(), which several extensions relied upon.

v7.2.0

Compare Source

=====================================

Dependencies

Deprecated

  • #​11512: Deprecate sphinx.util.md5 and sphinx.util.sha1. Use hashlib instead.
  • #​11526: Deprecate sphinx.testing.path. Use os.path or pathlib instead.
  • #​11528: Deprecate sphinx.util.split_index_msg and sphinx.util.split_into. Use sphinx.util.index_entries.split_index_msg instead.
  • Deprecate sphinx.builders.html.Stylesheet and sphinx.builders.html.Javascript. Use sphinx.application.Sphinx.add_css_file() and sphinx.application.Sphinx.add_js_file() instead.
  • #​11582: Deprecate sphinx.builders.html.StandaloneHTMLBuilder.css_files and sphinx.builders.html.StandaloneHTMLBuilder.script_files. Use sphinx.application.Sphinx.add_css_file() and sphinx.application.Sphinx.add_js_file() instead.
  • #​11459: Deprecate sphinx.ext.autodoc.preserve_defaults.get_function_def(). Patch by Bénédikt Tran.

Features added

  • #​11526: Support os.PathLike types and pathlib.Path objects in many more places.
  • #​5474: coverage: Print summary statistics tables. Patch by Jorge Leitao.
  • #​6319: viewcode: Add :confval:viewcode_line_numbers to control whether line numbers are added to rendered source code. Patch by Ben Krikler.
  • #​9662: Add the :no-typesetting: option to suppress textual output and only create a linkable anchor. Patch by Latosha Maltba.
  • #​11221: C++: Support domain objects in the table of contents. Patch by Rouslan Korneychuk.
  • #​10938: doctest: Add :confval:doctest_show_successes option. Patch by Trey Hunner.
  • #​11533: Add :no-index:, :no-index-entry:, and :no-contents-entry:.
  • #​11572: Improve debug logging of reasons why files are detected as out of date. Patch by Eric Larson.
  • #​10678: Emit :event:source-read events for files read via the :dudir:include directive. Patch by Halldor Fannar.
  • #​11570: Use short names when using :pep:585 built-in generics. Patch by Riccardo Mori.
  • #​11300: Improve SigElementFallbackTransform fallback logic and signature text elements nodes. See :doc:the documentation </extdev/nodes> for more details. Patch by Bénédikt Tran.
  • Allow running Sphinx with python -m sphinx build ....

Bugs fixed

  • #​11077: graphviz: Fix relative links from within the graph. Patch by Ralf Grubenmann.
  • #​11529: Line Block in LaTeX builder outputs spurious empty token. Patch by Adrian Vollmer.
  • #​11196: autosummary: Summary line extraction failed with "e.g."
  • #​10614: Fixed a number of bugs in inheritance diagrams that resulted in missing or broken links. Patch by Albert Shih.
  • #​9428: Exclude substitution definitions when running the gettext builder. Patch by Alvin Wong.
  • #​10795: Raise a descriptive error if graphviz_dot is falsy.
  • #​11546: Translated nodes identical to their original text are now marked with the translated=True attribute.
  • #​10049: html: Change "Permalink" to "Link" for title text in link anchors.
  • #​4225: Relax Pygments parsing on lexing failures.
  • #​11246: Allow inline links in the first line of a docstring and one-line type comments #: :meta ...: when using :mod:sphinx.ext.napoleon. Patch by Bénédikt Tran.
  • #​10930: Highlight all search terms on the search results page. Patch by Dmitry Shachnev.
  • #​11473: Type annotations containing :py:data:~typing.Literal enumeration values now render correctly. Patch by Bénédikt Tran.
  • #​11591: Fix support for C coverage in sphinx.ext.coverage extension. Patch by Stephen Finucane.
  • #​11594: HTML Theme: Enhancements to horizontal scrolling on smaller devices in the agogo theme. Patch by Lukas Engelter.
  • #​11459: Fix support for async and lambda functions in sphinx.ext.autodoc.preserve_defaults. Patch by Bénédikt Tran.

Testing

  • #​11577: pytest: Fail tests on "XPASS".
  • #​11577: pytest: Use "importlib" import mode.
  • #​11577: pytest: Set PYTHONWARNINGS=error.
  • #​11577: pytest: Set strict config and strict markers.

v7.1.2

Compare Source

=====================================

Bugs fixed

  • #​11542: linkcheck: Properly respect :confval:linkcheck_anchors and do not spuriously report failures to validate anchors. Patch by James Addison.

v7.1.1

Compare Source

=====================================

Bugs fixed

  • #​11514: Fix SOURCE_DATE_EPOCH in multi-line copyright footer. Patch by Bénédikt Tran.

v7.1.0

Compare Source

=====================================

Incompatible changes

Deprecated

  • #​11412: Emit warnings on using a deprecated Python-specific index entry type (namely, module, keyword, operator, object, exception, statement, and builtin) in the :rst:dir:index directive, and set the removal version to Sphinx 9. Patch by Adam Turner.

Features added

  • #​11415: Add a checksum to JavaScript and CSS asset URIs included within generated HTML, using the CRC32 algorithm.
  • :meth:~sphinx.application.Sphinx.require_sphinx now allows the version requirement to be specified as (major, minor).
  • #​11011: Allow configuring a line-length limit for object signatures, via :confval:maximum_signature_line_length and the domain-specific variants. If the length of the signature (in characters) is greater than the configured limit, each parameter in the signature will be split to its own logical line. This behaviour may also be controlled by options on object description directives, for example :rst:dir:py:function:single-line-parameter-list. Patch by Thomas Louf, Adam Turner, and Jean-François B.
  • #​10983: Support for multiline copyright statements in the footer block. Patch by Stefanie Molin
  • sphinx.util.display.status_iterator now clears the current line with ANSI control codes, rather than overprinting with space characters.
  • #​11431: linkcheck: Treat SSL failures as broken links. Patch by James Addison.
  • #​11157: Keep the translated attribute on translated nodes.
  • #​11451: Improve the traceback displayed when using :option:sphinx-build -T in parallel builds. Patch by Bénédikt Tran
  • #​11324: linkcheck: Use session-basd HTTP requests.
  • #​11438: Add support for the :rst:dir:py:class and :rst:dir:py:function directives for PEP 695 (generic classes and functions declarations) and PEP 696 (default type parameters). Multi-line support (#​11011) is enabled for type parameters list and can be locally controlled on object description directives, e.g., :rst:dir:py:function:single-line-type-parameter-list. Patch by Bénédikt Tran.
  • #​11484: linkcheck: Allow HTML anchors to be ignored on a per-URL basis via :confval:linkcheck_anchors_ignore_for_url while still checking the validity of the page itself. Patch by Bénédikt Tran
  • #​1246: Add translation progress statistics and inspection support, via a new substitution (|translation progress|) and a new configuration variable (:confval:translation_progress_classes). These enable determining the percentage of translated elements within a document, and the remaining translated and untranslated elements.

Bugs fixed

  • Restored the footnote-reference class that has been removed in the latest (unreleased) version of Docutils.

  • #​11486: Use :rfc:8081 font file MIME types in the EPUB builder. Using the correct MIME type will prevent warnings from epubcheck and will generate a valid EPUB.

  • #​11435: Use microsecond-resolution timestamps for outdated file detection in BuildEnvironment.get_outdated_files.

  • #​11437: Top-level headings starting with a reStructuredText role now render properly when :confval:rst_prolog is set. Previously, a file starting with the below would have improperly rendered due to where the prologue text was inserted into the document.

    .. code:: rst

    :mod:lobster -- The lobster module

    ...

    Patch by Bénédikt Tran.

  • #​11337: Fix a MemoryError in sphinx.ext.intersphinx when using None or typing.* as inline type references. Patch by Bénédikt Tran (picnixz)

Testing

  • #​11345: Always delete docutils.conf in test directories when running SphinxTestApp.cleanup().

v7.0.1

Compare Source

=====================================

Dependencies

  • #​11411: Support Docutils 0.20_. Patch by Adam Turner.

.. _Docutils 0.20: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-20-2023-05-04

Bugs fixed

  • #​11418: Clean up remaining references to sphinx.setup_command following the removal of support for setuptools. Patch by Willem Mulder.

v7.0.0

Compare Source

=====================================

Incompatible changes

  • #​11359: Remove long-deprecated aliases for MecabSplitter and DefaultSplitter in sphinx.search.ja.
  • #​11360: Remove deprecated make_old_id functions in domain object description classes.
  • #​11363: Remove the Setuptools integration (build_sphinx hook in setup.py).
  • #​11364: Remove deprecated sphinx.ext.napoleon.iterators module.
  • #​11365: Remove support for the jsdump format in sphinx.search.
  • #​11366: Make locale a required argument to sphinx.util.i18n.format_date().
  • #​11370: Remove deprecated sphinx.util.stemmer module.
  • #​11371: Remove deprecated sphinx.pycode.ast.parse() function.
  • #​11372: Remove deprecated sphinx.io.read_doc() function.
  • #​11373: Removed deprecated sphinx.util.get_matching_files() function.
  • #​11378: Remove deprecated sphinx.util.docutils.is_html5_writer_available() function.
  • #​11379: Make the env argument to Builder subclasses required.
  • #​11380: autosummary: Always emit grouped import exceptions.
  • #​11381: Remove deprecated style key for HTML templates.
  • #​11382: Remove deprecated sphinx.writers.latex.LaTeXTranslator.docclasses attribute.
  • #​11383: Remove deprecated sphinx.builders.html.html5_ready and sphinx.builders.html.HTMLTranslator attributes.
  • #​11385: Remove support for HTML 4 output.

v6.2.1

Compare Source

=====================================

Bugs fixed

  • #​11355: Revert the default type of :confval:nitpick_ignore and :confval:nitpick_ignore_regex to list.

v6.2.0

Compare Source

=====================================

Dependencies

  • Require Docutils 0.18.1 or greater.

Incompatible changes

  • LaTeX: removal of some internal TeX \dimen registers (not previously publicly documented) as per 5.1.0 code comments in sphinx.sty: \sphinxverbatimsep, \sphinxverbatimborder, \sphinxshadowsep, \sphinxshadowsize, and \sphinxshadowrule. (refs: #​11105)
  • Remove .egg support from pycode ModuleAnalyser; Python eggs are a now-obsolete binary distribution format
  • #​11089: Remove deprecated code in sphinx.builders.linkcheck. Patch by Daniel Eades
  • Remove internal-only sphinx.locale.setlocale

Deprecated

  • #​11247: Deprecate the legacy intersphinx_mapping format
  • sphinx.util.osutil.cd is deprecated in favour of contextlib.chdir.

Features added

  • #​11277: :rst:dir:autoproperty allows the return type to be specified as a type comment (e.g., # type: () -> int). Patch by Bénédikt Tran
  • #​10811: Autosummary: extend __all__ to imported members for template rendering when option autosummary_ignore_module_all is set to False. Patch by Clement Pinard
  • #​11147: Add a content_offset parameter to nested_parse_with_titles(), allowing for correct line numbers during nested parsing. Patch by Jeremy Maitin-Shepard
  • Update to Unicode CLDR 42
  • Add a --jobs synonym for -j. Patch by Hugo van Kemenade
  • LaTeX: a command \sphinxbox for styling text elements with a (possibly rounded) box, optional background color and shadow, has been added. See :ref:sphinxbox. (refs: #​11224)
  • LaTeX: add \sphinxstylenotetitle, ..., \sphinxstylewarningtitle, ..., for an extra layer of mark-up freeing up \sphinxstrong for other uses. See :ref:latex-macros. (refs: #​11267)
  • LaTeX: :dudir:note, :dudir:hint, :dudir:important and :dudir:tip can now each be styled as the other admonitions, i.e. possibly with a background color, individual border widths and paddings, possibly rounded corners, and optional shadow. See :ref:additionalcss. (refs: #​11234)
  • LaTeX: admonitions and :dudir:topic (and :dudir:contents <table-of-contents>) directives, and not only :rst:dir:code-block, support box-decoration-break=slice.
  • LaTeX: let rounded boxes support up to 4 distinct border-widths (refs: #​11243)
  • LaTeX: new options noteTextColor, noteTeXextras et al. See :ref:additionalcss.
  • LaTeX: support elliptical corners in rounded boxes. (refs: #​11254)
  • #​11150: Include source location in highlighting warnings, when lexing fails. Patch by Jeremy Maitin-Shepard
  • #​11281: Support for :confval:imgmath_latex = 'tectonic' or = 'xelatex'. Patch by Dimitar Dimitrov
  • #​11109, #​9643: Add :confval:python_display_short_literal_types option for condensed rendering of Literal types.

Bugs fixed

  • #​11079: LaTeX: figures with align attribute may disappear and strangely impact following lists
  • #​11093: LaTeX: fix "multiply-defined references" PDF build warnings when one or more reST labels directly precede an :rst:dir:py:module or :rst:dir:automodule directive. Patch by Bénédikt Tran (picnixz)
  • #​11110: LaTeX: Figures go missing from latex pdf if their files have the same base name and they use a post transform. Patch by aaron-cooper
  • LaTeX: fix potential color leak from shadow to border of rounded boxes, if shadow color is set but border color is not
  • LaTeX: fix unintended 1pt upwards vertical shift of code blocks frames respective to contents (when using rounded corners)
  • #​11235: LaTeX: added \color in topic (or admonition) contents may cause color leak to the shadow and border at a page break
  • #​11264: LaTeX: missing space before colon after "Voir aussi" for :rst:dir:seealso directive in French
  • #​11268: LaTeX: longtable with left alignment breaks out of current list indentation context in PDF. Thanks to picnixz.
  • #​11274: LaTeX: external links are not properly escaped for \sphinxupquote compatibility
  • #​11147: Fix source file/line number info in object description content and in other uses of nested_parse_with_titles. Patch by Jeremy Maitin-Shepard.
  • #​11192: Restore correct parallel search index building. Patch by Jeremy Maitin-Shepard
  • Use the new Transifex tx client

Testing

  • Fail testing when any Python warnings are emitted
  • Migrate remaining unittest.TestCase style test functions to pytest style
  • Remove tests that rely on setuptools

v6.1.3

Compare Source

=====================================

Bugs fixed

  • #​11116: Reverted to previous Sphinx 5 node copying method
  • #​11117: Reverted changes to parallel image processing from Sphinx 6.1.0
  • #​11119: Supress ValueError in the linkcheck builder

v6.1.2

Compare Source

=====================================

Bugs fixed

  • #​11101: LaTeX: div.topic_padding key of sphinxsetup documented at 5.1.0 was implemented with name topic_padding
  • #​11099: LaTeX: shadowrule key of sphinxsetup causes PDF build to crash since Sphinx 5.1.0
  • #​11096: LaTeX: shadowsize key of sphinxsetup causes PDF build to crash since Sphinx 5.1.0
  • #​11095: LaTeX: shadow of :dudir:topic and :dudir:contents <table-of-contents> boxes not in page margin since Sphinx 5.1.0
  • #​11100: Fix copying images when running under parallel mode.

v6.1.1

Compare Source

=====================================

Bugs fixed

  • #​11091: Fix util.nodes.apply_source_workaround for literal_block nodes with no source information in the node or the node's parents.

v6.1.0

Compare Source

=====================================

Dependencies

Incompatible changes

  • #​10979: gettext: Removed support for pluralisation in get_translation. This was unused and complicated other changes to sphinx.locale.

Deprecated

  • sphinx.util functions:

    • Renamed sphinx.util.typing.stringify() to sphinx.util.typing.stringify_annotation()
    • Moved sphinx.util.xmlname_checker() to sphinx.builders.epub3._XML_NAME_PATTERN

    Moved to sphinx.util.display:

    • sphinx.util.status_iterator
    • sphinx.util.display_chunk
    • sphinx.util.SkipProgressMessage
    • sphinx.util.progress_message

    Moved to sphinx.util.http_date:

    • sphinx.util.epoch_to_rfc1123
    • sphinx.util.rfc1123_to_epoch

    Moved to sphinx.util.exceptions:

    • sphinx.util.save_traceback
    • sphinx.util.format_exception_cut_frames

Features added

  • Cache doctrees in the build environment during the writing phase.
  • Make all writing phase tasks support parallel execution.
  • #​11072: Use PEP 604 (X | Y) display conventions for typing.Optional and typing.Optional types within the Python domain and autodoc.
  • #​10700: autodoc: Document typing.NewType() types as classes rather than 'data'.
  • Cache doctrees between the reading and writing phases.

Bugs fixed

  • #​10962: HTML: Fix the multi-word key name lookup table.
  • Fixed support for Python 3.12 alpha 3 (changes in the enum module).
  • #​11069: HTML Theme: Removed outdated "shortcut" link relation keyword.
  • #​10952: Properly terminate parallel processes on programme interuption.
  • #​10988: Speed up TocTree.resolve() through more efficient copying.
  • #​6744: LaTeX: support for seealso directive should be via an environment to allow styling.
  • #​11074: LaTeX: Can't change sphinxnote to use sphinxheavybox starting with 5.1.0

v6.0.1

Compare Source

=====================================

Dependencies

  • Require Pygments 2.13 or later.

Bugs fixed

  • #​10944: imgmath: Fix resolving image paths for files in nested folders.

v6.0.0

Compare Source

=====================================

Dependencies

  • #​10468: Drop Python 3.6 support
  • #​10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and Docutils 0.17 support. Patch by Adam Turner

Incompatible changes

  • #​7405: Removed the jQuery and underscore.js JavaScript frameworks.

    These frameworks are 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 to modern standards, or use the mitigation below.

    The first option is to use the sphinxcontrib.jquery_ extension, which has been developed by the Sphinx team and contributors. To use this, add sphinxcontrib.jquery to the extensions list in conf.py, or call app.setup_extension("sphinxcontrib.jquery") if you develop a Sphinx theme or extension.

    The second option is to manually ensure that the frameworks are present. 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:

    .. code-block:: html+jinja

    {%- block scripts %} {{ super() }} {%- endblock %}

    .. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/

    Patch by Adam Turner.

  • #​10471, #​10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See :ref:dev-deprecated-apis for details. Patch by Adam Turner.

  • #​10901: C Domain: Remove support for parsing pre-v3 style type directives and roles. Also remove associated configuration variables c_allow_pre_v3 and c_warn_on_allowed_pre_v3. Patch by Adam Turner.

Features added

  • #​10924: LaTeX: adopt better looking defaults for tables and code-blocks. See :confval:latex_table_style and the pre_border-radius and pre_background-TeXcolor :ref:additionalcss for the former defaults and how to re-enact them if desired.

Bugs fixed

  • #​10984: LaTeX: Document :confval:latex_additional_files behavior for files with .tex extension.

v5.3.0

Compare Source

=====================================

  • #​10759: LaTeX: add :confval:latex_table_style and support the 'booktabs', 'borderless', and 'colorrows' styles. (thanks to Stefan Wiehler for initial pull requests #​6666, #​6671)
  • #​10840: One can cross-reference including an option value like :option:`--module=foobar```, :option:--module[=foobar]```, or ``:option:--module foobar```. Patch by Martin Liska.
  • #​10881: autosectionlabel: Record the generated section label to the debug log.
  • #​10268: Correctly URI-escape image filenames.
  • #​10887: domains: Allow sections in all the content of all object description directives (e.g. :rst:dir:py:function). Patch by Adam Turner

v5.2.3

Compare Source

=====================================

  • #​10878: Fix base64 image embedding in sphinx.ext.imgmath
  • #​10886: Add :nocontentsentry: flag and global domain table of contents entry control option. Patch by Adam Turner

v5.2.2

Compare Source

=====================================

  • #​10872: Restore link targets for autodoc modules to the top of content. Patch by Dominic Davis-Foster.

v5.2.1

Compare Source

=====================================

Bugs fixed

  • #​10861: Always normalise the pycon3 lexer to pycon.
  • Fix using sphinx.ext.autosummary with modules containing titles in the module-level docstring.

v5.2.0

Compare Source

===========================================

  • Recreated source tarballs for Debian maintainers.

v5.1.1

Compare Source

=====================================

Bugs fixed

  • #​10701: Fix ValueError in the new deque based sphinx.ext.napolean iterator implementation.
  • #​10702: Restore compatability with third-party builders.

v5.1.0

Compare Source

=====================================

Dependencies

  • #​10656: Support Docutils 0.19_. Patch by Adam Turner.

.. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05

Deprecated

  • #​10467: Deprecated sphinx.util.stemmer in favour of snowballstemmer. Patch by Adam Turner.
  • #​9856: Deprecated sphinx.ext.napoleon.iterators.

Features added

  • #​10444: html theme: Allow specifying multiple CSS files through the stylesheet setting in theme.conf or by setting html_style to an iterable of strings.
  • #​10366: std domain: Add support for emphasising placeholders in :rst:dir:option directives through a new :confval:option_emphasise_placeholders configuration option.
  • #​10439: std domain: Use the repr of some variables when displaying warnings, making whitespace issues easier to identify.
  • #​10571: quickstart: Reduce content in the generated conf.py file. Patch by Pradyun Gedam.
  • #​10648: LaTeX: CSS-named-alike additional :ref:'sphinxsetup' <latexsphinxsetup> keys allow to configure four separate border-widths, four paddings, four corner radii, a shadow (possibly inset), colours for border, background, shadow for each of the code-block, topic, attention, caution, danger, error and warning directives.
  • #​10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
  • #​10599: HTML Theme: Wrap consecutive footnotes in an <aside> element when using Docutils 0.18 or later, to allow for easier styling. This matches the behaviour introduced in Docutils 0.19. Patch by Adam Turner.
  • #​10518: config: Add include_patterns as the opposite of exclude_patterns. Patch by Adam Turner.

Bugs fixed

  • #​10594: HTML Theme: field term colons are doubled if using Docutils 0.18+
  • #​10596: Build failure if Docutils version is 0.18 (not 0.18.1) due to missing Node.findall()
  • #​10506: LaTeX: build error if highlighting inline code role in figure caption (refs: #​10251)
  • #​10634: Make -P (pdb) option work better with exceptions triggered from events
  • #​10550: py domain: Fix spurious whitespace in unparsing various operators (+, -, ~, and **). Patch by Adam Turner (refs: #​10551).
  • #​10460: logging: Always show node source locations as absolute paths.
  • HTML Search: HTML tags are displayed as a part of object name
  • HTML Search: search snipets should not be folded
  • HTML Search: Minor errors are emitted on fetching search snipets
  • HTML Search: The markers for header links are shown in the search result
  • #​10520: HTML Theme: Fix use of sidebar classes in agogo.css_t.
  • #​6679: HTML Theme: Fix inclusion of hidden toctrees in the agogo theme.
  • #​10566: HTML Theme: Fix enable_search_shortcuts does not work
  • #​8686: LaTeX: Text can fall out of code-block at end of page and leave artifact on next page
  • #​10633: LaTeX: user injected \color commands in topic or admonition boxes may cause color leaks in PDF due to upstream framed.sty <https://ctan.org/pkg/framed>_ bug
  • #​10638: LaTeX: framed coloured boxes in highlighted code (e.g. highlighted diffs using Pygments style 'manni') inherit thickness of code-block frame
  • #​10647: LaTeX: Only one \label is generated for desc_signature node even if it has multiple node IDs
  • #​10579: i18n: UnboundLocalError is raised on translating raw directive
  • #​9577, #​10088: py domain: Fix warning for duplicate Python references when using :any: and autodoc.
  • #​10548: HTML Search: fix minor summary issues.

v5.0.2

Compare Source

=====================================

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

v5.0.1

Compare Source

=====================================

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: :dudir:topic directive is rendered incorrectly with Docutils 0.18. Patch by Adam Turner.
  • #​10495: IndexError is raised for a :rst:role:kbd role having a separator. Patch by Adam Turner.

v5.0.0

Compare Source

=====================================

Dependencies

5.0.0 b1

  • #​10164: Support Docutils 0.18_. Patch by Adam Turner.

.. _Docutils 0.18: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-18-2021-10-26

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

    .. _the Sphinx repository: https://github.com/sphinx-doc/sphinx/tree/v5.3.0/sphinx/themes/basic/static .. code-block:: html+jinja

    {%- block scripts %} {{ 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 :confval: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 :rst:dir: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: :confval: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 :dudir: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: :confval:autodoc_docstring_signature unexpectedly generates return value typehint for constructors if docstring has multiple signatures
  • #​10266: autodoc: :confval: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 :confval:autodoc_type_aliases
  • #​10421: autodoc: :confval:autodoc_preserve_defaults doesn't work on class methods
  • #​10214: html: invalid language tag was generated if :confval: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 bulding 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 :rst:dir: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 paralle build is wrong
  • #​10110: sphinx-build: exit code is not changed when error is raised on builder-finished event

v4.5.0

Compare Source

=====================================

Incompatible changes

  • #​10112: extlinks: Disable hardcoded links detector by default
  • #​9993, #​10177: std domain: Disallow to refer an inline target via :rst:role:ref role

Deprecated

  • sphinx.ext.napoleon.docstring.GoogleDocstring._qualify_name()

Features added

  • #​10260: Enable FORCE_COLOR and NO_COLOR for terminal colouring
  • #​10234: autosummary: Add "autosummary" CSS class to summary tables
  • #​10125: extlinks: Improve suggestion message for a reference having title
  • #​10112: extlinks: Add :confval:extlinks_detect_hardcoded_links to enable hardcoded links detector feature
  • #​9494, #​9456: html search: Add a config variable :confval:html_show_search_summary to enable/disable the search summaries
  • #​9337: HTML theme, add option enable_search_shortcuts that enables :kbd:/ as a Quick search shortcut and :kbd:Esc shortcut that removes search highlighting.
  • #​10107: i18n: Allow to suppress translation warnings by adding #noqa comment to the tail of each translation message
  • #​10252: C++, support attributes on classes, unions, and enums.
  • #​10253: :rst:role:pep role now generates URLs based on peps.python.org <https://peps.python.org>_

Bugs fixed

  • #​9876: autodoc: Failed to document an imported class that is built from native binary module
  • #​10133: autodoc: Crashed when mocked module is used for type annotation
  • #​10146: autodoc: :confval:autodoc_default_options does not support no-value option
  • #​9971: autodoc: TypeError is raised when the target object is annotated by unhashable object
  • #​10205: extlinks: Failed to compile regexp on checking hardcoded links
  • #​10277: html search: Could not search short words (ex. "use")
  • #​9529: LaTeX: named auto numbered footnote (ex. [#named]) that is referred multiple times was rendered to a question mark
  • #​9924: LaTeX: multi-line :rst:dir:cpp:function directive has big vertical spacing in Latexpdf
  • #​10158: LaTeX: excessive whitespace since v4.4.0 for undocumented variables/structure members
  • #​10175: LaTeX: named footnote reference is linked to an incorrect footnote if the name is also used in the different document
  • #​10269: manpage: Failed to resolve the title of :rst:role:ref cross references
  • #​10179: i18n: suppress "rST localization" warning
  • #​10118: imgconverter: Unnecessary availablity check is called for remote URIs
  • #​10181: napoleon: attributes are displayed like class attributes for google style docstrings when :confval:napoleon_use_ivar is enabled
  • #​10122: sphinx-build: make.bat does not check the installation of sphinx-build command before showing help

v4.4.0

Compare Source

=====================================

Dependencies

Features added

  • #​9075: autodoc: Add a config variable :confval: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 :confval: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 HTML elements in other HTML builders
  • #​10013: html: Allow to change the loading method of JS via loading_method parameter for :meth:.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 :rst:role: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 :confval:texinfo_cross_references to disable cross references for readability with standalone readers
  • #​9822 (and #​9062), add new Intersphinx role :rst:role:external for explict 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 availablity 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

v4.3.2

Compare Source

=====================================

Bugs fixed

  • #​9917: C and C++, parse fundamental types no matter the order of simple type specifiers.

v4.3.1

Compare Source

=====================================

Features added

  • #​9864: mathjax: Support chnaging the loading method of MathJax to "defer" via :confval: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 :confval: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

v4.3.0

Compare Source

=====================================

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 :rst:dir:c:function and :rst:dir:c:macro.
  • C++, added new info-field retval for :rst:dir:cpp:function.
  • #​9618: i18n: Add :confval: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 :confval: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 :confval:suppress_warnings

Bugs fixed

  • #​9630: autodoc: Failed to build cross references if :confval: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 :confval: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: :confval:autodoc_inherit_docstrings does not effect to overridden classmethods
  • #​9781: autodoc: :confval:autodoc_preserve_defaults does not support hexadecimal numeric
  • #​9630: autosummary: Failed to build summary table if :confval: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 :confval:autodoc_typehints\ ='description'
  • #​9708: needs_extension failed to check double-digit version correctly
  • #​9688: Fix Sphinx patched :dudir: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.

v4.2.0

Compare Source

=====================================

Features added

  • #​9445: autodoc: Support class properties
  • #​9479: autodoc: Emit a warning if target is a mocked object
  • #​9560: autodoc: Allow to refer NewType instances with module name in Python 3.10 or above
  • #​9447: html theme: Expose the version of Sphinx in the form of tuple as a template variable sphinx_version_tuple
  • #​9594: manpage: Suppress the title of man page if description is empty
  • #​9445: py domain: :rst:dir:py:property directive supports :classmethod: option to describe the class property
  • #​9524: test: SphinxTestApp can take builddir as an argument
  • #​9535: C and C++, support more fundamental types, including GNU extensions.

Bugs fixed

  • #​9608: apidoc: apidoc does not generate a module definition for implicit namespace package
  • #​9504: autodoc: generate incorrect reference to the parent class if the target class inherites the class having _name attribute
  • #​9537, #​9589: autodoc: Some objects under typing module are not displayed well with the HEAD of 3.10
  • #​9487: autodoc: typehint for cached_property is not shown
  • #​9509: autodoc: AttributeError is raised on failed resolving typehints
  • #​9518: autodoc: autodoc_docstring_signature does not effect to __init__() and __new__()
  • #​9522: autodoc: PEP 585 style typehints having arguments (ex. list[int]) are not displayed well
  • #​9481: autosummary: some warnings contain non-existing filenames
  • #​9568: autosummary: summarise overlined sectioned headings correctly
  • #​9600: autosummary: Type annotations which contain commas in autosummary table are not removed completely
  • #​9481: c domain: some warnings contain non-existing filenames
  • #​9481: cpp domain: some warnings contain non-existing filenames
  • #​9456: html search: abbreation marks are inserted to the search result if failed to fetch the content of the page
  • #​9617: html search: The JS requirement warning is shown if browser is slow
  • #​9267: html theme: CSS and JS files added by theme were loaded twice
  • #​9585: py domain: :type: option for :rst:dir:py:property directive does not create a hyperlink
  • #​9576: py domain: Literal typehint was converted to a cross reference
  • #​9535 comment: C++, fix parsing of defaulted function parameters that are function pointers.
  • #​9564: smartquotes: don't adjust typography for text with language-highlighted :code: role.
  • #​9512: sphinx-build: crashed with the HEAD of Python 3.10

v4.1.2

Compare Source

=====================================

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

v4.1.1

Compare Source

=====================================

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

v4.1.0

Compare Source

=====================================

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

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

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

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

  • #​9097: Optimize the parallel build

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

v4.0.3

Compare Source

=====================================

Features added

  • C, add C23 keywords _Decimal32, _Decimal64, and _Decimal128.
  • #​9354: C, add :confval:c_extra_keywords to allow user-defined keywords during parsing.
  • Revert the removal of sphinx.util:force_decode() to become some 3rd party extensions available again during 5.0

Bugs fixed

  • #​9330: changeset domain: :rst:dir:versionchanged with contents being a list will cause error during pdf build
  • #​9313: LaTeX: complex table with merged cells broken since 4.0
  • #​9305: LaTeX: backslash may cause Improper discretionary list pdf build error with Japanese engines
  • #​9354: C, remove special macro names from the keyword list. See also :confval:c_extra_keywords.
  • #​9322: KeyError is raised on PropagateDescDomain transform

v4.0.2

Compare Source

=====================================

Dependencies

Incompatible changes

  • #​9222: Update Underscore.js to 1.13.1
  • #​9217: manpage: Stop creating a section directory on build manpage by default (see :confval:man_make_section_directory)

Bugs fixed

  • #​9210: viewcode: crashed if non importable modules found on parallel build
  • #​9240: Unknown node error for pending_xref_condition is raised if an extension that does not support the node installs a missing-reference handler

v4.0.1

Compare Source

=====================================

Bugs fixed

  • #​9189: autodoc: crashed when ValueError is raised on generating signature from a property of the class
  • #​9188: autosummary: warning is emitted if list value is set to autosummary_generate
  • #​8380: html search: tags for search result are broken
  • #​9198: i18n: Babel emits errors when running compile_catalog
  • #​9205: py domain: The :canonical: option causes "more than one target for cross-reference" warning
  • #​9201: websupport: UndefinedError is raised: 'css_tag' is undefined

v4.0.0

Compare Source

=====================================

Dependencies

4.0.0b1

  • Drop python 3.5 support
  • Drop Docutils 0.12 and 0.13 support
  • LaTeX: add tex-gyre font dependency

4.0.0b2

  • Support Docutils 0.17. Please notice it changes the output of HTML builder. Some themes do not support it, and you need to update your custom CSS to upgrade it.

Incompatible changes

4.0.0b1

  • #​8539: autodoc: info-field-list is generated into the class description when :confval:autodoc_typehints\ ='description' and :confval:autoclass_content\ ='class' set
  • #​8898: extlinks: "%s" becomes required keyword in the link caption string
  • domain: The Index class becomes subclasses of abc.ABC to indicate methods that must be overridden in the concrete classes
  • #​4826: py domain: The structure of python objects is changed. A boolean value is added to indicate that the python object is canonical one
  • #​7425: MathJax: The MathJax was changed from 2 to 3. Users using a custom MathJax configuration may have to set the old MathJax path or update their configuration for version 3. See :mod:sphinx.ext.mathjax.
  • #​7784: i18n: The msgid for alt text of image is changed
  • #​5560: napoleon: :confval:napoleon_use_param also affect "other parameters" section
  • #​7996: manpage: Make a section directory on build manpage by default (see :confval:man_make_section_directory)
  • #​7849: html: Change the default setting of :confval:html_codeblock_linenos_style to 'inline'
  • #​8380: html search: search results are wrapped with <p> instead of <div>
  • html theme: Move a script tag for documentation_options.js in basic/layout.html to script_files variable
  • html theme: Move CSS tags in basic/layout.html to css_files variable
  • #​8915: html theme: Emit a warning for sphinx_rtd_theme 0.2.4 or older
  • #​8508: LaTeX: uplatex becomes a default setting of latex_engine for Japanese documents
  • #​5977: py domain: :var:, :cvar: and :ivar: fields do not create cross-references
  • #​4550: The align attribute of figure and table nodes becomes None by default instead of 'default'
  • #​8769: LaTeX refactoring: split sphinx.sty into multiple files and rename some auxiliary files created in latex build output repertory
  • #​8937: Use explicit title instead of
  • #​8487: The :file: option for csv-table directive now recognizes an absolute path as a relative path from source directory

4.0.0b2

  • #​9023: Change the CSS classes on :rst:role:cpp:expr and :rst:role:cpp:texpr.

Deprecated

  • :confval:html_codeblock_linenos_style
  • favicon and logo variable in HTML templates
  • sphinx.directives.patches.CSVTable
  • sphinx.directives.patches.ListTable
  • sphinx.directives.patches.RSTTable
  • sphinx.ext.autodoc.directive.DocumenterBridge.filename_set
  • sphinx.ext.autodoc.directive.DocumenterBridge.warn()
  • sphinx.registry.SphinxComponentRegistry.get_source_input()
  • sphinx.registry.SphinxComponentRegistry.source_inputs
  • sphinx.transforms.FigureAligner
  • sphinx.util.pycompat.convert_with_2to3()
  • sphinx.util.pycompat.execfile_()
  • sphinx.util.smartypants
  • sphinx.util.typing.DirectiveOption

Features added

4.0.0b1

  • #​8924: autodoc: Support bound argument for TypeVar
  • #​7383: autodoc: Support typehints for properties
  • #​5603: autodoc: Allow to refer to a python class using its canonical name when the class has two different names; a canonical name and an alias name
  • #​8539: autodoc: Add :confval:autodoc_typehints_description_target to control the behavior of autodoc_typehints=description
  • #​8841: autodoc: :confval:autodoc_docstring_signature will continue to look for multiple signature lines without backslash character
  • #​7549: autosummary: Enable :confval:autosummary_generate by default
  • #​8898: extlinks: Allow %s in link caption string
  • #​4826: py domain: Add :canonical: option to python directives to describe the location where the object is defined
  • #​7199: py domain: Add :confval:python_use_unqualified_type_names to suppress the module name of the python reference if it can be resolved (experimental)
  • #​7068: py domain: Add :rst:dir:py:property directive to describe a property
  • #​7784: i18n: The alt text for image is translated by default (without :confval:gettext_additional_targets setting)
  • #​2018: html: :confval:html_favicon and :confval:html_logo now accept URL for the image
  • #​8070: html search: Support searching for 2characters word
  • #​9036: html theme: Allow to inherite the search page
  • #​8938: imgconverter: Show the error of the command availability check
  • #​7830: Add debug logs for change detection of sources and templates
  • #​8201: Emit a warning if toctree contains duplicated entries
  • #​8326: master_doc is now renamed to :confval:root_doc
  • #​8942: C++, add support for the C++20 spaceship operator, <=>.
  • #​7199: A new node, sphinx.addnodes.pending_xref_condition has been added. It can be used to choose appropriate content of the reference by conditions.

4.0.0b2

  • #​8818: autodoc: Super class having Any arguments causes nit-picky warning
  • #​9095: autodoc: TypeError is raised on processing broken metaclass
  • #​9110: autodoc: metadata of GenericAlias is not rendered as a reference in py37+
  • #​9098: html: copy-range protection for doctests doesn't work in Safari
  • #​9103: LaTeX: imgconverter: conversion runs even if not needed
  • #​8127: py domain: Ellipsis in info-field-list causes nit-picky warning
  • #​9121: py domain: duplicated warning is emitted when both canonical and its alias objects are defined on the document
  • #​9023: More CSS classes on domain descriptions, see :ref:nodes for details.
  • #​8195: mathjax: Rename :confval:mathjax_config to :confval:mathjax2_config and add :confval:mathjax3_config

Bugs fixed

4.0.0b1

  • #​8917: autodoc: Raises a warning if function has wrong globals value
  • #​8415: autodoc: a TypeVar imported from other module is not resolved (in Python 3.7 or above)
  • #​8992: autodoc: Failed to resolve types.TracebackType type annotation
  • #​8905: html: html_add_permalinks=None and html_add_permalinks="" are ignored
  • #​8380: html search: Paragraphs in search results are not identified as <p>
  • #​8915: html theme: The translation of sphinx_rtd_theme does not work
  • #​8342: Emit a warning if a unknown domain is given for directive or role (ex. :unknown:doc:)
  • #​7241: LaTeX: No wrapping for cpp:enumerator
  • #​8711: LaTeX: backticks in code-blocks trigger latexpdf build warning (and font change) with late TeXLive 2019
  • #​8253: LaTeX: Figures with no size defined get overscaled (compared to images with size explicitly set in pixels) (fixed for 'pdflatex'/'lualatex' only)
  • #​8881: LaTeX: The depth of bookmarks panel in PDF is not enough for navigation
  • #​8874: LaTeX: the fix to two minor Pygments LaTeXFormatter output issues ignore Pygments style
  • #​8925: LaTeX: 3.5.0 verbatimmaxunderfull setting does not work as expected
  • #​8980: LaTeX: missing line break in \pysigline
  • #​8995: LaTeX: legacy \pysiglinewithargsret does not compute correctly available horizontal space and should use a ragged right style
  • #​9009: LaTeX: "release" value with underscore leads to invalid LaTeX
  • #​8911: C++: remove the longest matching prefix in :confval:cpp_index_common_prefix instead of the first that matches.
  • C, properly reject function declarations when a keyword is used as parameter name.
  • #​8933: viewcode: Failed to create back-links on parallel build
  • #​8960: C and C++, fix rendering of (member) function pointer types in function parameter lists.
  • C++, fix linking of names in array declarators, pointer to member (function) declarators, and in the argument to sizeof....
  • C, fix linking of names in array declarators.

4.0.0b2

  • C, C++, fix KeyError when an alias directive is the first C/C++ directive in a file with another C/C++ directive later.

4.0.0b3

  • #​9167: html: Failed to add CSS files to the specific page

Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Edited by Tine Wittler

Merge request reports