chore(docs): update dependency sphinx to v7 (develop)
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
sphinx (changelog) | dependencies | major |
==5.3.0 -> ==7.2.6
|
Release Notes
sphinx-doc/sphinx (sphinx)
v7.2.6
=====================================
Bugs fixed
-
#11679: Add the :envvar:
!SPHINX_AUTODOC_RELOAD_MODULES
environment variable, which if set reloads modules when using autodoc withTYPE_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
=====================================
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
whenSOURCE_DATE_EPOCH
is set.
v7.2.4
=====================================
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
=====================================
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 whenautodoc_preserve_defaults
isTrue
. - 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
=====================================
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:
forPyModule
andJSModule
.
v7.2.1
=====================================
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
=====================================
Dependencies
Deprecated
-
#11512: Deprecate
sphinx.util.md5
andsphinx.util.sha1
. Usehashlib
instead. -
#11526: Deprecate
sphinx.testing.path
. Useos.path
orpathlib
instead. -
#11528: Deprecate
sphinx.util.split_index_msg
andsphinx.util.split_into
. Usesphinx.util.index_entries.split_index_msg
instead. - Deprecate
sphinx.builders.html.Stylesheet
andsphinx.builders.html.Javascript
. Usesphinx.application.Sphinx.add_css_file()
andsphinx.application.Sphinx.add_js_file()
instead. -
#11582: Deprecate
sphinx.builders.html.StandaloneHTMLBuilder.css_files
andsphinx.builders.html.StandaloneHTMLBuilder.script_files
. Usesphinx.application.Sphinx.add_css_file()
andsphinx.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 andpathlib.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
=====================================
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
=====================================
Bugs fixed
-
#11514: Fix
SOURCE_DATE_EPOCH
in multi-line copyright footer. Patch by Bénédikt Tran.
v7.1.0
=====================================
Incompatible changes
-
Releases are no longer signed, given the
change in PyPI policy
_... _change in PyPI policy: https://blog.pypi.org/posts/2023-05-23-removing-pgp/
Deprecated
-
#11412: Emit warnings on using a deprecated Python-specific index entry type
(namely,
module
,keyword
,operator
,object
,exception
,statement
, andbuiltin
) 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 fromepubcheck
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
lobster
-- The lobster module...
Patch by Bénédikt Tran.
-
#11337: Fix a
MemoryError
insphinx.ext.intersphinx
when usingNone
ortyping.*
as inline type references. Patch by Bénédikt Tran (picnixz)
Testing
-
#11345: Always delete
docutils.conf
in test directories when runningSphinxTestApp.cleanup()
.
v7.0.1
=====================================
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
=====================================
Incompatible changes
-
#11359: Remove long-deprecated aliases for
MecabSplitter
andDefaultSplitter
insphinx.search.ja
. -
#11360: Remove deprecated
make_old_id
functions in domain object description classes. -
#11363: Remove the Setuptools integration (
build_sphinx
hook insetup.py
). -
#11364: Remove deprecated
sphinx.ext.napoleon.iterators
module. -
#11365: Remove support for the
jsdump
format insphinx.search
. -
#11366: Make
locale
a required argument tosphinx.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 toBuilder
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
andsphinx.builders.html.HTMLTranslator
attributes. - #11385: Remove support for HTML 4 output.
v6.2.1
=====================================
Bugs fixed
-
#11355: Revert the default type of :confval:
nitpick_ignore
and :confval:nitpick_ignore_regex
tolist
.
v6.2.0
=====================================
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 insphinx.sty
:\sphinxverbatimsep
,\sphinxverbatimborder
,\sphinxshadowsep
,\sphinxshadowsize
, and\sphinxshadowrule
. (refs: #11105) - Remove
.egg
support from pycodeModuleAnalyser
; 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 ofcontextlib.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 optionautosummary_ignore_module_all
is set toFalse
. Patch by Clement Pinard -
#11147: Add a
content_offset
parameter tonested_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
, supportbox-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 ofLiteral
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
=====================================
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 thelinkcheck
builder
v6.1.2
=====================================
Bugs fixed
-
#11101: LaTeX:
div.topic_padding
key of sphinxsetup documented at 5.1.0 was implemented with nametopic_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
=====================================
Bugs fixed
-
#11091: Fix
util.nodes.apply_source_workaround
forliteral_block
nodes with no source information in the node or the node's parents.
v6.1.0
=====================================
Dependencies
-
Adopted the
Ruff
_ code linter... _Ruff: https://github.com/charliermarsh/ruff
Incompatible changes
-
#10979: gettext: Removed support for pluralisation in
get_translation
. This was unused and complicated other changes tosphinx.locale
.
Deprecated
-
sphinx.util
functions:- Renamed
sphinx.util.typing.stringify()
tosphinx.util.typing.stringify_annotation()
- Moved
sphinx.util.xmlname_checker()
tosphinx.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
- Renamed
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 fortyping.Optional
andtyping.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
=====================================
Dependencies
- Require Pygments 2.13 or later.
Bugs fixed
- #10944: imgmath: Fix resolving image paths for files in nested folders.
v6.0.0
=====================================
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 theextensions
list inconf.py
, or callapp.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
andunderscore.js
fromthe Sphinx repository
_ to yourstatic
directory, and add the following to yourlayout.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
andc_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 thepre_border-radius
andpre_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.
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.