Update dependency sphinx to v5 - autoclosed
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
sphinx (source) | dev-dependencies | major |
^3.5 -> ^5.0
|
Release Notes
sphinx-doc/sphinx
v5.0.1
=====================================
Bugs fixed
- #10498: gettext: TypeError is raised when sorting warning messages if a node has no line number
-
#10493: html theme: :rst:dir:
topic
directive is rendered incorrectly with docutils-0.18 -
#10495: IndexError is raised for a :rst:role:
kbd
role having a separator
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.
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/v4.3.2/sphinx/themes/basic/static .. code-block:: html+jinja
{%- block scripts %} {{ super() }} {%- endblock %}
-
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. -
#10302: C++, add support for conditional expressions (
?:
). -
#5157, #10251: Inline code is able to be highlighted via :rst:dir:
role
directive - #10337: Make sphinx-build faster by caching Publisher object during build
Bugs fixed
5.0.0 b1
- #10200: apidoc: Duplicated submodules are shown for modules having both .pyx and .so files
- #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:dir:
pep
role now generates URLs based on 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 :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
:py:meth:
domains.py.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 :rst:dir:`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:
: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
autodoc_typehints='description'
andautoclass_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
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.