Update dependency sphinx to v6 - autoclosed
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
sphinx (changelog) | dev-dependencies | major |
^3.0 -> ^6.2
|
Release Notes
sphinx-doc/sphinx
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.
v5.3.0
=====================================
-
#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
=====================================
-
#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
=====================================
- #10872: Restore link targets for autodoc modules to the top of content. Patch by Dominic Davis-Foster.
v5.2.1
=====================================
Bugs fixed
-
#10861: Always normalise the
pycon3
lexer topycon
. - Fix using
sphinx.ext.autosummary
with modules containing titles in the module-level docstring.
v5.2.0
===========================================
- Recreated source tarballs for Debian maintainers.
v5.1.1
=====================================
Bugs fixed
-
#10701: Fix ValueError in the new
deque
basedsphinx.ext.napolean
iterator implementation. - #10702: Restore compatability with third-party builders.
v5.1.0
=====================================
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 ofsnowballstemmer
. Patch by Adam Turner. -
#9856: Deprecated
sphinx.ext.napoleon.iterators
.
Features added
-
#10444: html theme: Allow specifying multiple CSS files through the
stylesheet
setting intheme.conf
or by settinghtml_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 ofexclude_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 upstreamframed.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 fordesc_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
=====================================
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
=====================================
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
=====================================
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 raisesImportExceptionGroup
instead ofImportError
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 viagrouped_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 inconf.py
5.0.0 final
-
#10474: :confval:
language
does not acceptNone
as it value. The default value oflanguage
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
andunderscore.js
fromthe Sphinx repository
_ to yourstatic
directory, and add the following to yourlayout.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 ofsphinx.util.i18n:babel_format_date()
becomes required -
The
language
argument ofsphinx.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
andsearchtools.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 atwocolumn
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 whenautodoc_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
=====================================
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
andNO_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 onpeps.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 supportno-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
=====================================
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 toFalse
. 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
=====================================
Bugs fixed
- #9917: C and C++, parse fundamental types no matter the order of simple type specifiers.
v4.3.1
=====================================
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
=====================================
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 methodget_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
=====================================
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
=====================================
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
=====================================
Dependencies
Bugs fixed
- #9438: html: HTML logo or Favicon specified as file not being found on output
v4.1.0
=====================================
Dependencies
- Support jinja2-3.0
Deprecated
- The
app
argument ofsphinx.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 likefoo.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 viaSphinx.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
=====================================
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
=====================================
Dependencies
- #9216: Support jinja2-3.0
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
=====================================
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
=====================================
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 ofabc.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 offigure
andtable
nodes becomesNone
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
andlogo
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 ofautodoc_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 analias
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
v3.5.4
=====================================
Dependencies
- #9071: Restrict docutils to 0.16
Bugs fixed
-
#9078: autodoc: Async staticmethods and classmethods are considered as non async coroutine-functions with Python3.10
-
#8870, #9001, #9051: html theme: The style are not applied with docutils-0.17
- toctree captions
- The content of
sidebar
directive - figures
v3.5.3
=====================================
Features added
- #8959: using UNIX path separator in image directive confuses Sphinx on Windows
v3.5.2
=====================================
Bugs fixed
- #8943: i18n: Crashed by broken translation messages in ES, EL and HR
- #8936: LaTeX: A custom LaTeX builder fails with unknown node error
- #8952: Exceptions raised in a Directive cause parallel builds to hang
v3.5.1
=====================================
Bugs fixed
- #8883: autodoc: AttributeError is raised on assigning annotations on read-only class
- #8884: html: minified js stemmers not included in the distributed package
-
#8885: html: AttributeError is raised if CSS/JS files are installed via
:confval:
html_context
- #8880: viewcode: ExtensionError is raised on incremental build after unparsable python module found
v3.5.0
=====================================
Dependencies
- LaTeX:
multicol
(it is anyhow a required part of the official latex2e base distribution)
Incompatible changes
- Update Underscore.js to 1.12.0
-
#6550: html: The config variable
html_add_permalinks
is replaced by :confval:html_permalinks
and :confval:html_permalinks_icon
Deprecated
- pending_xref node for viewcode extension
sphinx.builders.linkcheck.CheckExternalLinksBuilder.anchors_ignore
sphinx.builders.linkcheck.CheckExternalLinksBuilder.auth
sphinx.builders.linkcheck.CheckExternalLinksBuilder.broken
sphinx.builders.linkcheck.CheckExternalLinksBuilder.good
sphinx.builders.linkcheck.CheckExternalLinksBuilder.redirected
sphinx.builders.linkcheck.CheckExternalLinksBuilder.rqueue
sphinx.builders.linkcheck.CheckExternalLinksBuilder.to_ignore
sphinx.builders.linkcheck.CheckExternalLinksBuilder.workers
sphinx.builders.linkcheck.CheckExternalLinksBuilder.wqueue
sphinx.builders.linkcheck.node_line_or_0()
sphinx.ext.autodoc.AttributeDocumenter.isinstanceattribute()
sphinx.ext.autodoc.directive.DocumenterBridge.reporter
sphinx.ext.autodoc.importer.get_module_members()
sphinx.ext.autosummary.generate._simple_info()
sphinx.ext.autosummary.generate._simple_warn()
sphinx.writers.html.HTMLTranslator.permalink_text
sphinx.writers.html5.HTML5Translator.permalink_text
Features added
-
#8022: autodoc: autodata and autoattribute directives does not show right-hand
value of the variable if docstring contains
:meta hide-value:
in info-field-list - #8514: autodoc: Default values of overloaded functions are taken from actual implementation if they're ellipsis
- #8775: autodoc: Support type union operator (PEP-604) in Python 3.10 or above
-
#8297: autodoc: Allow to extend :confval:
autodoc_default_options
via directive options -
#759: autodoc: Add a new configuration :confval:
autodoc_preserve_defaults
as an experimental feature. It preserves the default argument values of functions in source code and keep them not evaluated for readability. - #8619: html: kbd role generates customizable HTML tags for compound keys
-
#8634: html: Allow to change the order of JS/CSS via
priority
parameter for :meth:.Sphinx.add_js_file()
and :meth:.Sphinx.add_css_file()
-
#6241: html: Allow to add JS/CSS files to the specific page when an extension
calls
app.add_js_file()
orapp.add_css_file()
on :event:html-page-context
event -
#6550: html: Allow to use HTML permalink texts via
:confval:
html_permalinks_icon
- #1638: html: Add permalink icons to glossary terms
- #8868: html search: performance issue with massive lists
- #8867: html search: Update JavaScript stemmer code to the latest version of Snowball (v2.1.0)
- #8852: i18n: Allow to translate heading syntax in MyST-Parser
- #8649: imgconverter: Skip availability check if builder supports the image type
-
#8573: napoleon: Allow to change the style of custom sections using
:confval:
napoleon_custom_sections
-
#8004: napoleon: Type definitions in Google style docstrings are rendered as
references when :confval:
napoleon_preprocess_types
enabled - #6241: mathjax: Include mathjax.js only on the document using equations
- #8775: py domain: Support type union operator (PEP-604)
- #8651: std domain: cross-reference for a rubric having inline item is broken
- #7642: std domain: Optimize case-insensitive match of term
- #8681: viewcode: Support incremental build
-
#8132: Add :confval:
project_copyright
as an alias of :confval:copyright
-
#207: Now :confval:
highlight_language
supports multiple languages -
#2030: :rst:dir:
code-block
and :rst:dir:literalinclude
supports automatic dedent via no-argument:dedent:
option - C++, also hyperlink operator overloads in expressions and alias declarations.
- #8247: Allow production lists to refer to tokens from other production groups
- #8813: Show what extension (or module) caused it on errors on event handler
-
#8213: C++: add
maxdepth
option to :rst:dir:cpp:alias
to insert nested declarations. - C, add
noroot
option to :rst:dir:c:alias
to render only nested declarations. - C++, add
noroot
option to :rst:dir:cpp:alias
to render only nested declarations.
Bugs fixed
- #8727: apidoc: namespace module file is not generated if no submodules there
- #741: autodoc: inherited-members doesn't work for instance attributes on super class
-
#8592: autodoc:
:meta public:
does not effect to variables - #8594: autodoc: empty all attribute is ignored
- #8315: autodoc: Failed to resolve struct.Struct type annotation
- #8652: autodoc: All variable comments in the module are ignored if the module contains invalid type comments
- #8693: autodoc: Default values for overloaded functions are rendered as string
- #8134: autodoc: crashes when mocked decorator takes arguments
- #8800: autodoc: Uninitialized attributes in superclass are recognized as undocumented
-
#8655: autodoc: Failed to generate document if target module contains an
object that raises an exception on
hasattr()
- #8306: autosummary: mocked modules are documented as empty page when using :recursive: option
- #8232: graphviz: Image node is not rendered if graph file is in subdirectory
-
#8618: html: kbd role produces incorrect HTML when compound-key separators (-,
- or ^) are used as keystrokes
- #8629: html: A type warning for html_use_opensearch is shown twice
- #8714: html: kbd role with "Caps Lock" rendered incorrectly
- #8123: html search: fix searching for terms containing + (Requires a custom search language that does not split on +)
- #8665: html theme: Could not override globaltoc_maxdepth in theme.conf
- #8446: html: consecutive spaces are displayed as single space
- #8745: i18n: crashes with KeyError when translation message adds a new auto footnote reference
- #4304: linkcheck: Fix race condition that could lead to checking the availability of the same URL twice
- #8791: linkcheck: The docname for each hyperlink is not displayed
- #7118: sphinx-quickstart: questionare got Mojibake if libreadline unavailable
- #8094: texinfo: image files on the different directory with document are not copied
- #8782: todo: Cross references in todolist get broken
- #8720: viewcode: module pages are generated for epub on incremental build
- #8704: viewcode: anchors are generated in incremental build after singlehtml
- #8756: viewcode: highlighted code is generated even if not referenced
-
#8671: :confval:
highlight_options
is not working - #8341: C, fix intersphinx lookup types for names in declarations.
- C, C++: in general fix intersphinx and role lookup types.
-
#8683: :confval:
html_last_updated_fmt
does not support UTC offset (%z) -
#8683: :confval:
html_last_updated_fmt
generates wrong time zone for %Z -
#1112:
download
role creates duplicated copies when relative path is specified - #2616 (fifth item): LaTeX: footnotes from captions are not clickable, and for manually numbered footnotes only first one with same number is an hyperlink
-
#7576: LaTeX with French babel and memoir crash: "Illegal parameter number
in definition of
\FNH@prefntext
" - #8055: LaTeX (docs): A potential display bug with the LaTeX generation step in Sphinx (how to generate one-column index)
-
#8072: LaTeX: Directive :rst:dir:
hlist
not implemented in LaTeX -
#8214: LaTeX: The :rst:role:
index
role and the glossary generate duplicate entries in the LaTeX index (if both used for same term) -
#8735: LaTeX: wrong internal links in pdf to captioned code-blocks when
:confval:
numfig
is not True -
#8442: LaTeX: some indexed terms are ignored when using xelatex engine
(or pdflatex and :confval:
latex_use_xindy
set to True) with memoir class - #8750: LaTeX: URLs as footnotes fail to show in PDF if originating from inside function type signatures
- #8780: LaTeX: long words in narrow columns may not be hyphenated
-
#8788: LaTeX:
\titleformat
last argument in sphinx.sty should be bracketed, not braced (and is anyhow not needed) -
#8849: LaTex: code-block printed out of margin (see the opt-in LaTeX syntax
boolean :ref:
verbatimforcewraps <latexsphinxsetupforcewraps>
for use via the :ref:'sphinxsetup' <latexsphinxsetup>
key oflatex_elements
) - #8183: LaTeX: Remove substitution_reference nodes from doctree only on LaTeX builds
- #8865: LaTeX: Restructure the index nodes inside title nodes only on LaTeX builds
- #8796: LaTeX: potentially critical low level TeX coding mistake has gone unnoticed so far
- C, :rst:dir:
c:alias
skip symbols without explicit declarations instead of crashing. - C, :rst:dir:
c:alias
give a warning when the root symbol is not declared. - C,
expr
role should start symbol lookup in the current scope.
v3.4.3
=====================================
Bugs fixed
-
#8655: autodoc: Failed to generate document if target module contains an
object that raises an exception on
hasattr()
v3.4.2
=====================================
Bugs fixed
- #8164: autodoc: Classes that inherit mocked class are not documented
-
#8602: autodoc: The
autodoc-process-docstring
event is emitted to the non-datadescriptors unexpectedly - #8616: autodoc: AttributeError is raised on non-class object is passed to autoclass directive
v3.4.1
=====================================
Bugs fixed
- #8559: autodoc: AttributeError is raised when using forward-reference type annotations
- #8568: autodoc: TypeError is raised on checking slots attribute
- #8567: autodoc: Instance attributes are incorrectly added to Parent class
-
#8566: autodoc: The
autodoc-process-docstring
event is emitted to the alias classes unexpectedly -
#8583: autodoc: Unnecessary object comparison via
__eq__
method - #8565: linkcheck: Fix PriorityQueue crash when link tuples are not comparable
v3.4.0
=====================================
Incompatible changes
- #8105: autodoc: the signature of class constructor will be shown for decorated classes, not a signature of decorator
Deprecated
- The
follow_wrapped
argument ofsphinx.util.inspect.signature()
- The
no_docstring
argument ofsphinx.ext.autodoc.Documenter.add_content()
sphinx.ext.autodoc.Documenter.get_object_members()
sphinx.ext.autodoc.DataDeclarationDocumenter
sphinx.ext.autodoc.GenericAliasDocumenter
sphinx.ext.autodoc.InstanceAttributeDocumenter
sphinx.ext.autodoc.SlotsAttributeDocumenter
sphinx.ext.autodoc.TypeVarDocumenter
sphinx.ext.autodoc.importer._getannotations()
sphinx.ext.autodoc.importer._getmro()
sphinx.pycode.ModuleAnalyzer.parse()
sphinx.util.osutil.movefile()
sphinx.util.requests.is_ssl_error()
Features added
-
#8119: autodoc: Allow to determine whether a member not included in
__all__
attribute of the module should be documented or not via :event:autodoc-skip-member
event - #8219: autodoc: Parameters for generic class are not shown when super class is a generic class and show-inheritance option is given (in Python 3.7 or above)
- autodoc: Add
Documenter.config
as a shortcut to access the config object - autodoc: Add Optional[t] to annotation of function and method if a default value equal to None is set.
-
#8209: autodoc: Add
:no-value:
option to :rst:dir:autoattribute
and :rst:dir:autodata
directive to suppress the default value of the variable - #8460: autodoc: Support custom types defined by typing.NewType
-
#8285: napoleon: Add :confval:
napoleon_attr_annotations
to merge type hints on source code automatically if any type is specified in docstring - #8236: napoleon: Support numpydoc's "Receives" section
-
#6914: Add a new event :event:
warn-missing-reference
to custom warning messages when failed to resolve a cross-reference -
#6914: Emit a detailed warning when failed to resolve a
:ref:
reference -
#6629: linkcheck: The builder now handles rate limits. See
:confval:
linkcheck_rate_limit_timeout
for details.
Bugs fixed
- #7613: autodoc: autodoc does not respect signature of the class
- #4606: autodoc: the location of the warning is incorrect for inherited method
- #8105: autodoc: the signature of class constructor is incorrect if the class is decorated
-
#8434: autodoc: :confval:
autodoc_type_aliases
does not effect to variables and attributes - #8443: autodoc: autodata directive can't create document for PEP-526 based type annotated variables
- #8443: autodoc: autoattribute directive can't create document for PEP-526 based uninitialized variables
- #8480: autodoc: autoattribute could not create document for slots attributes
- #8503: autodoc: autoattribute could not create document for a GenericAlias as class attributes correctly
- #8534: autodoc: autoattribute could not create document for a commented attribute in alias class
- #8452: autodoc: autodoc_type_aliases doesn't work when autodoc_typehints is set to "description"
- #8541: autodoc: autodoc_type_aliases doesn't work for the type annotation to instance attributes
- #8460: autodoc: autodata and autoattribute directives do not display type information of TypeVars
- #8493: autodoc: references to builtins not working in class aliases
-
#8522: autodoc:
__bool__
method could be called - #8067: autodoc: A typehint for the instance variable having type_comment on super class is not displayed
- #8545: autodoc: a slots attribute is not documented even having docstring
- #741: autodoc: inherited-members doesn't work for instance attributes on super class
- #8477: autosummary: non utf-8 reST files are generated when template contains multibyte characters
- #8501: autosummary: summary extraction splits text after "el at." unexpectedly
- #8524: html: Wrong url_root has been generated on a document named "index"
-
#8419: html search: Do not load
language_data.js
in non-search pages -
#8549: i18n:
-D gettext_compact=0
is no longer working - #8454: graphviz: The layout option for graph and digraph directives don't work
- #8131: linkcheck: Use GET when HEAD requests cause Too Many Redirects, to accommodate infinite redirect loops on HEAD
-
#8437: Makefile:
make clean
with empty BUILDDIR is dangerous -
#8365: py domain:
:type:
and:rtype:
gives false ambiguous class lookup warnings - #8352: std domain: Failed to parse an option that starts with bracket
- #8519: LaTeX: Prevent page brake in the middle of a seealso
- #8520: C, fix copying of AliasNode.
v3.3.1
=====================================
Bugs fixed
- #8372: autodoc: autoclass directive became slower than Sphinx 3.2
- #7727: autosummary: raise PycodeError when documenting python package without init.py
- #8350: autosummary: autosummary_mock_imports causes slow down builds
- #8364: C, properly initialize attributes in empty symbols.
- #8399: i18n: Put system locale path after the paths specified by configuration
v3.3.0
=====================================
Deprecated
sphinx.builders.latex.LaTeXBuilder.usepackages
sphinx.builders.latex.LaTeXBuilder.usepackages_afger_hyperref
sphinx.ext.autodoc.SingledispatchFunctionDocumenter
sphinx.ext.autodoc.SingledispatchMethodDocumenter
Features added
- #8100: html: Show a better error message for failures on copying html_static_files
-
#8141: C: added a
maxdepth
option to :rst:dir:c:alias
to insert nested declarations. -
#8081: LaTeX: Allow to add LaTeX package via
app.add_latex_package()
until just before writing .tex file -
#7996: manpage: Add :confval:
man_make_section_directory
to make a section directory on build man page -
#8289: epub: Allow to suppress "duplicated ToC entry found" warnings from epub
builder using :confval:
suppress_warnings
. -
#8298: sphinx-quickstart: Add :option:
sphinx-quickstart --no-sep
option - #8304: sphinx.testing: Register public markers in sphinx.testing.fixtures
- #8051: napoleon: use the obj role for all See Also items
-
#8050: napoleon: Apply :confval:
napoleon_preprocess_types
to every field - C and C++, show line numbers for previous declarations when duplicates are detected.
- #8183: Remove substitution_reference nodes from doctree only on LaTeX builds
Bugs fixed
- #8085: i18n: Add support for having single text domain
- #6640: i18n: Failed to override system message translation
- #8143: autodoc: AttributeError is raised when False value is passed to autodoc_default_options
- #8103: autodoc: functools.cached_property is not considered as a property
- #8190: autodoc: parsing error is raised if some extension replaces docstring by string not ending with blank lines
- #8142: autodoc: Wrong constructor signature for the class derived from typing.Generic
- #8157: autodoc: TypeError is raised when annotation has invalid args
- #7964: autodoc: Tuple in default value is wrongly rendered
- #8200: autodoc: type aliases break type formatting of autoattribute
- #7786: autodoc: can't detect overloaded methods defined in other file
- #8294: autodoc: single-string slots is not handled correctly
- #7785: autodoc: autodoc_typehints='none' does not effect to overloaded functions
- #8192: napoleon: description is disappeared when it contains inline literals
- #8142: napoleon: Potential of regex denial of service in google style docs
- #8169: LaTeX: pxjahyper loaded even when latex_engine is not platex
- #8215: LaTeX: 'oneside' classoption causes build warning
- #8175: intersphinx: Potential of regex denial of service by broken inventory
- #8277: sphinx-build: missing and redundant spacing (and etc) for console output on building
- #7973: imgconverter: Check availability of imagemagick many times
- #8255: py domain: number in default argument value is changed from hexadecimal to decimal
- #8316: html: Prevent arrow keys changing page when button elements are focused
- #8343: html search: Fix unnecessary load of images when parsing the document
- #8254: html theme: Line numbers misalign with code lines
- #8093: The highlight warning has wrong location in some builders (LaTeX, singlehtml and so on)
- #8215: Eliminate Fancyhdr build warnings for oneside documents
- #8239: Failed to refer a token in productionlist if it is indented
-
#8268: linkcheck: Report HTTP errors when
linkcheck_anchors
isTrue
- #8245: linkcheck: take source directory into account for local files
-
#8321: linkcheck:
tel:
schema hyperlinks are detected as errors - #8323: linkcheck: An exit status is incorrect when links having unsupported schema found
- #8188: C, add missing items to internal object types dictionary, e.g., preventing intersphinx from resolving them.
- C, fix anon objects in intersphinx.
- #8270, C++, properly reject functions as duplicate declarations if a non-function declaration of the same name already exists.
- C, fix references to function parameters. Link to the function instead of a non-existing anchor.
- #6914: figure numbers are unexpectedly assigned to uncaptioned items
- #8320: make "inline" line numbers un-selectable
Testing
- #8257: Support parallel build in sphinx.testing
v3.2.1
=====================================
Features added
-
#8095: napoleon: Add :confval:
napoleon_preprocess_types
to enable the type preprocessor for numpy style docstrings - #8114: C and C++, parse function attributes after parameters and qualifiers.
Bugs fixed
- #8074: napoleon: Crashes during processing C-ext module
- #8088: napoleon: "Inline literal start-string without end-string" warning in Numpy style Parameters section
- #8084: autodoc: KeyError is raised on documenting an attribute of the broken class
- #8091: autodoc: AttributeError is raised on documenting an attribute on Python 3.5.2
-
#8099: autodoc: NameError is raised when target code uses
TYPE_CHECKING
- C++, fix parsing of template template parameters, broken by the fix of #7944
v3.2.0
=====================================
Deprecated
sphinx.ext.autodoc.members_set_option()
sphinx.ext.autodoc.merge_special_members_option()
sphinx.writers.texinfo.TexinfoWriter.desc
- C, parsing of pre-v3 style type directives and roles, along with the options
:confval:
!c_allow_pre_v3
and :confval:!c_warn_on_allowed_pre_v3
.
Features added
- #2076: autodoc: Allow overriding of exclude-members in skip-member function
-
#8034: autodoc:
:private-member:
can take an explicit list of member names to be documented -
#2024: autosummary: Add :confval:
autosummary_filename_map
to avoid conflict of filenames between two object with different case - #8011: autosummary: Support instance attributes as a target of autosummary directive
-
#7849: html: Add :confval:
html_codeblock_linenos_style
to change the style of line numbers for code-blocks - #7853: C and C++, support parameterized GNU style attributes.
- #7888: napoleon: Add aliases Warn and Raise.
-
#7690: napoleon: parse type strings and make them hyperlinks as possible. The
conversion rule can be updated via :confval:
napoleon_type_aliases
-
#8049: napoleon: Create a hyperlink for each the type of parameter when
:confval:
napoleon_use_param
is False - C, added :rst:dir:
c:alias
directive for inserting copies of existing declarations. - #7745: html: inventory is broken if the docname contains a space
- #7991: html search: Allow searching for numbers
-
#7902: html theme: Add a new option :confval:
globaltoc_maxdepth
to control the behavior of globaltoc in sidebar - #7840: i18n: Optimize the dependencies check on bootstrap
-
#7768: i18n: :confval:
figure_language_filename
supportsdocpath
token - #5208: linkcheck: Support checks for local links
- #5090: setuptools: Link verbosity to distutils' -v and -q option
-
#6698: doctest: Add
:trim-doctest-flags:
and:no-trim-doctest-flags:
options to doctest, testcode and testoutput directives -
#7052: add
:noindexentry:
to the Python, C, C++, and Javascript domains. Update the documentation to better reflect the relationship between this option and the:noindex:
option. -
#7899: C, add possibility of parsing of some pre-v3 style type directives and
roles and try to convert them to equivalent v3 directives/roles.
Set the new option :confval:
!c_allow_pre_v3
toTrue
to enable this. The warnings printed from this functionality can be suppressed by setting :confval:!c_warn_on_allowed_pre_v3
toTrue
. The functionality is immediately deprecated. - #7999: C, add support for named variadic macro arguments.
- #8071: Allow to suppress "self referenced toctrees" warning
Bugs fixed
- #7886: autodoc: TypeError is raised on mocking generic-typed classes
-
#7935: autodoc: function signature is not shown when the function has a
parameter having
inspect._empty
as its default value - #7901: autodoc: type annotations for overloaded functions are not resolved
- #904: autodoc: An instance attribute cause a crash of autofunction directive
-
#1362: autodoc:
private-members
option does not work for class attributes - #7983: autodoc: Generator type annotation is wrongly rendered in py36
-
#8030: autodoc: An uninitialized annotated instance variable is not documented
when
:inherited-members:
option given - #8032: autodoc: A type hint for the instance variable defined at parent class is not shown in the document of the derived class
- #8041: autodoc: An annotated instance variable on super class is not documented when derived class has other annotated instance variables
- #7839: autosummary: cannot handle umlauts in function names
- #7865: autosummary: Failed to extract summary line when abbreviations found
- #7866: autosummary: Failed to extract correct summary line when docstring contains a hyperlink target
- #7469: autosummary: "Module attributes" header is not translatable
- #7940: apidoc: An extra newline is generated at the end of the rst file if a module has submodules
- #4258: napoleon: decorated special methods are not shown
- #7799: napoleon: parameters are not escaped for combined params in numpydoc
-
#7780: napoleon: multiple parameters declaration in numpydoc was wrongly
recognized when
napoleon_use_param=True
-
#7715: LaTeX:
numfig_secnum_depth > 1
leads to wrong figure links - #7846: html theme: XML-invalid files were generated
- #7894: gettext: Wrong source info is shown when using rst_epilog
- #7691: linkcheck: HEAD requests are not used for checking
-
#4888: i18n: Failed to add an explicit title to
:ref:
role on translation - #7928: py domain: failed to resolve a type annotation for the attribute
- #8008: py domain: failed to parse a type annotation containing ellipsis
- #7994: std domain: option directive does not generate old node_id compatible with 2.x or older
-
#7968: i18n: The content of
math
directive is interpreted as reST on translation -
#7768: i18n: The
root
element for :confval:figure_language_filename
is not a path that user specifies in the document - #7993: texinfo: TypeError is raised for nested object descriptions
- #7993: texinfo: a warning not supporting desc_signature_line node is shown
-
#7869: :rst:role:
abbr
role without an explanation will show the explanation from the previous abbr role - #8048: graphviz: graphviz.css was copied on building non-HTML document
- C and C++, removed
noindex
directive option as it did nothing. - #7619: Duplicated node IDs are generated if node has multiple IDs
- #2050: Symbols sections are appeared twice in the index page
- #8017: Fix circular import in sphinx.addnodes
- #7986: CSS: make "highlight" selector more robust
- #7944: C++, parse non-type template parameters starting with a dependent qualified name.
- C, don't deepcopy the entire symbol table and make a mess every time an enumerator is handled.
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.