Skip to content

Update dependency sphinx to v7

Renovate Bot requested to merge renovate/sphinx-7.x into main

This MR contains the following updates:

Package Update Change
sphinx (changelog) major ==6.2.1 -> ==7.2.6

Release Notes

sphinx-doc/sphinx (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.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - 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, check this box

Merge request reports