sphinx-doc/sphinx
### [`v4.5.0`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-450-released-Mar-28-2022)
[Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.4.0...v4.5.0)
\=====================================
## Incompatible changes
- [#10112](https://togithub.com/sphinx-doc/sphinx/issues/10112): extlinks: Disable hardcoded links detector by default
- [#9993](https://togithub.com/sphinx-doc/sphinx/issues/9993), [#10177](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/10260): Enable `FORCE_COLOR` and `NO_COLOR` for terminal colouring
- [#10234](https://togithub.com/sphinx-doc/sphinx/issues/10234): autosummary: Add "autosummary" CSS class to summary tables
- [#10125](https://togithub.com/sphinx-doc/sphinx/issues/10125): extlinks: Improve suggestion message for a reference having title
- [#10112](https://togithub.com/sphinx-doc/sphinx/issues/10112): extlinks: Add :confval:`extlinks_detect_hardcoded_links` to enable
hardcoded links detector feature
- [#9494](https://togithub.com/sphinx-doc/sphinx/issues/9494), [#9456](https://togithub.com/sphinx-doc/sphinx/issues/9456): html search: Add a config variable
:confval:`html_show_search_summary` to enable/disable the search summaries
- [#9337](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/10107): i18n: Allow to suppress translation warnings by adding `#noqa`
comment to the tail of each translation message
- [#10252](https://togithub.com/sphinx-doc/sphinx/issues/10252): C++, support attributes on classes, unions, and enums.
- [#10253](https://togithub.com/sphinx-doc/sphinx/issues/10253): :rst:dir:`pep` role now generates URLs based on peps.python.org
## Bugs fixed
- [#9876](https://togithub.com/sphinx-doc/sphinx/issues/9876): autodoc: Failed to document an imported class that is built from native
binary module
- [#10133](https://togithub.com/sphinx-doc/sphinx/issues/10133): autodoc: Crashed when mocked module is used for type annotation
- [#10146](https://togithub.com/sphinx-doc/sphinx/issues/10146): autodoc: :confval:`autodoc_default_options` does not support
`no-value` option
- [#9971](https://togithub.com/sphinx-doc/sphinx/issues/9971): autodoc: TypeError is raised when the target object is annotated by
unhashable object
- [#10205](https://togithub.com/sphinx-doc/sphinx/issues/10205): extlinks: Failed to compile regexp on checking hardcoded links
- [#10277](https://togithub.com/sphinx-doc/sphinx/issues/10277): html search: Could not search short words (ex. "use")
- [#9529](https://togithub.com/sphinx-doc/sphinx/issues/9529): LaTeX: named auto numbered footnote (ex. `[#named]`) that is referred
multiple times was rendered to a question mark
- [#9924](https://togithub.com/sphinx-doc/sphinx/issues/9924): LaTeX: multi-line :rst:dir:`cpp:function` directive has big vertical
spacing in Latexpdf
- [#10158](https://togithub.com/sphinx-doc/sphinx/issues/10158): LaTeX: excessive whitespace since v4.4.0 for undocumented
variables/structure members
- [#10175](https://togithub.com/sphinx-doc/sphinx/issues/10175): LaTeX: named footnote reference is linked to an incorrect footnote if
the name is also used in the different document
- [#10269](https://togithub.com/sphinx-doc/sphinx/issues/10269): manpage: Failed to resolve the title of :ref: cross references
- [#10179](https://togithub.com/sphinx-doc/sphinx/issues/10179): i18n: suppress "rST localization" warning
- [#10118](https://togithub.com/sphinx-doc/sphinx/issues/10118): imgconverter: Unnecessary availablity check is called for remote URIs
- [#10181](https://togithub.com/sphinx-doc/sphinx/issues/10181): napoleon: attributes are displayed like class attributes for google
style docstrings when :confval:`napoleon_use_ivar` is enabled
- [#10122](https://togithub.com/sphinx-doc/sphinx/issues/10122): sphinx-build: make.bat does not check the installation of sphinx-build
command before showing help
### [`v4.4.0`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-440-released-Jan-17-2022)
[Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.3.2...v4.4.0)
\=====================================
## Dependencies
- [#10007](https://togithub.com/sphinx-doc/sphinx/issues/10007): Use `importlib_metadata` for python-3.9 or older
- [#10007](https://togithub.com/sphinx-doc/sphinx/issues/10007): Drop `setuptools`
## Features added
- [#9075](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9831): Autosummary now documents only the members specified in a module's
`__all__` attribute if :confval:`autosummary_ignore_module_all` is set to
`False`. The default behaviour is unchanged. Autogen also now supports
this behavior with the `--respect-module-all` switch.
- [#9555](https://togithub.com/sphinx-doc/sphinx/issues/9555): autosummary: Improve error messages on failure to load target object
- [#9800](https://togithub.com/sphinx-doc/sphinx/issues/9800): extlinks: Emit warning if a hardcoded link is replaceable
by an extlink, suggesting a replacement.
- [#9961](https://togithub.com/sphinx-doc/sphinx/issues/9961): html: Support nested HTML elements in other HTML builders
- [#10013](https://togithub.com/sphinx-doc/sphinx/issues/10013): html: Allow to change the loading method of JS via `loading_method`
parameter for :meth:`Sphinx.add_js_file()`
- [#9551](https://togithub.com/sphinx-doc/sphinx/issues/9551): html search: "Hide Search Matches" link removes "highlight" parameter
from URL
- [#9815](https://togithub.com/sphinx-doc/sphinx/issues/9815): html theme: Wrap sidebar components in div to allow customizing their
layout via CSS
- [#9827](https://togithub.com/sphinx-doc/sphinx/issues/9827): i18n: Sort items in glossary by translated terms
- [#9899](https://togithub.com/sphinx-doc/sphinx/issues/9899): py domain: Allows to specify cross-reference specifier (`.` and
`~`) as `:type:` option
- [#9894](https://togithub.com/sphinx-doc/sphinx/issues/9894): linkcheck: add option `linkcheck_exclude_documents` to disable link
checking in matched documents.
- [#9793](https://togithub.com/sphinx-doc/sphinx/issues/9793): sphinx-build: Allow to use the parallel build feature in macOS on macOS
and Python3.8+
- [#10055](https://togithub.com/sphinx-doc/sphinx/issues/10055): sphinx-build: Create directories when `-w` option given
- [#9993](https://togithub.com/sphinx-doc/sphinx/issues/9993): std domain: Allow to refer an inline target (ex. \`\`\_`target name```)
via :rst:role:`ref\` role
- [#9981](https://togithub.com/sphinx-doc/sphinx/issues/9981): std domain: Strip value part of the option directive from general index
- [#9391](https://togithub.com/sphinx-doc/sphinx/issues/9391): texinfo: improve variable in `samp` role
- [#9578](https://togithub.com/sphinx-doc/sphinx/issues/9578): texinfo: Add :confval:`texinfo_cross_references` to disable cross
references for readability with standalone readers
- [#9822](https://togithub.com/sphinx-doc/sphinx/issues/9822) (and [#9062](https://togithub.com/sphinx-doc/sphinx/issues/9062)), add new Intersphinx role :rst:role:`external` for explict
lookup in the external projects, without resolving to the local project.
## Bugs fixed
- [#9866](https://togithub.com/sphinx-doc/sphinx/issues/9866): autodoc: doccomment for the imported class was ignored
- [#9883](https://togithub.com/sphinx-doc/sphinx/issues/9883): autodoc: doccomment for the alias to mocked object was ignored
- [#9908](https://togithub.com/sphinx-doc/sphinx/issues/9908): autodoc: debug message is shown on building document using NewTypes
with Python 3.10
- [#9968](https://togithub.com/sphinx-doc/sphinx/issues/9968): autodoc: instance variables are not shown if **init** method has
position-only-arguments
- [#9194](https://togithub.com/sphinx-doc/sphinx/issues/9194): autodoc: types under the "typing" module are not hyperlinked
- [#10009](https://togithub.com/sphinx-doc/sphinx/issues/10009): autodoc: Crashes if target object raises an error on getting docstring
- [#10058](https://togithub.com/sphinx-doc/sphinx/issues/10058): autosummary: Imported members are not shown when
`autodoc_class_signature = 'separated'`
- [#9947](https://togithub.com/sphinx-doc/sphinx/issues/9947): i18n: topic directive having a bullet list can't be translatable
- [#9878](https://togithub.com/sphinx-doc/sphinx/issues/9878): mathjax: MathJax configuration is placed after loading MathJax itself
- [#9932](https://togithub.com/sphinx-doc/sphinx/issues/9932): napoleon: empty "returns" section is generated even if no description
- [#9857](https://togithub.com/sphinx-doc/sphinx/issues/9857): Generated RFC links use outdated base url
- [#9909](https://togithub.com/sphinx-doc/sphinx/issues/9909): HTML, prevent line-wrapping in literal text.
- [#10061](https://togithub.com/sphinx-doc/sphinx/issues/10061): html theme: Configuration values added by themes are not be able to
override from conf.py
- [#10073](https://togithub.com/sphinx-doc/sphinx/issues/10073): imgconverter: Unnecessary availablity check is called for "data" URIs
- [#9925](https://togithub.com/sphinx-doc/sphinx/issues/9925): LaTeX: prohibit also with `'xelatex'` line splitting at dashes of
inline and parsed literals
- [#9944](https://togithub.com/sphinx-doc/sphinx/issues/9944): LaTeX: extra vertical whitespace for some nested declarations
- [#9940](https://togithub.com/sphinx-doc/sphinx/issues/9940): LaTeX: Multi-function declaration in Python domain has cramped
vertical spacing in latexpdf output
- [#10015](https://togithub.com/sphinx-doc/sphinx/issues/10015): py domain: types under the "typing" module are not hyperlinked defined
at info-field-list
- [#9390](https://togithub.com/sphinx-doc/sphinx/issues/9390): texinfo: Do not emit labels inside footnotes
- [#9413](https://togithub.com/sphinx-doc/sphinx/issues/9413): xml: Invalid XML was generated when cross referencing python objects
- [#9979](https://togithub.com/sphinx-doc/sphinx/issues/9979): Error level messages were displayed as warning messages
- [#10057](https://togithub.com/sphinx-doc/sphinx/issues/10057): Failed to scan documents if the project is placed onto the root
directory
- [#9636](https://togithub.com/sphinx-doc/sphinx/issues/9636): code-block: `:dedent:` without argument did strip newlines
### [`v4.3.2`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-432-released-Dec-19-2021)
[Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.3.1...v4.3.2)
\=====================================
## Bugs fixed
- [#9917](https://togithub.com/sphinx-doc/sphinx/issues/9917): C and C++, parse fundamental types no matter the order of simple type
specifiers.
### [`v4.3.1`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-431-released-Nov-28-2021)
[Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.3.0...v4.3.1)
\=====================================
## Features added
- [#9864](https://togithub.com/sphinx-doc/sphinx/issues/9864): mathjax: Support chnaging the loading method of MathJax to "defer" via
:confval:`mathjax_options`
## Bugs fixed
- [#9838](https://togithub.com/sphinx-doc/sphinx/issues/9838): autodoc: AttributeError is raised on building document for functions
decorated by functools.lru_cache
- [#9879](https://togithub.com/sphinx-doc/sphinx/issues/9879): autodoc: AttributeError is raised on building document for an object
having invalid **doc** attribute
- [#9844](https://togithub.com/sphinx-doc/sphinx/issues/9844): autodoc: Failed to process a function wrapped with functools.partial if
:confval:`autodoc_preserve_defaults` enabled
- [#9872](https://togithub.com/sphinx-doc/sphinx/issues/9872): html: Class namespace collision between autodoc signatures and
docutils-0.17
- [#9868](https://togithub.com/sphinx-doc/sphinx/issues/9868): imgmath: Crashed if the dvisvgm command failed to convert equation
- [#9864](https://togithub.com/sphinx-doc/sphinx/issues/9864): mathjax: Failed to render equations via MathJax v2. The loading method
of MathJax is back to "async" method again
### [`v4.3.0`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-430-released-Nov-11-2021)
[Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.2.0...v4.3.0)
\=====================================
## Dependencies
- Support Python 3.10
## Incompatible changes
- [#9649](https://togithub.com/sphinx-doc/sphinx/issues/9649): `searchindex.js`: the embedded data has changed format to allow
objects with the same name in different domains.
- [#9672](https://togithub.com/sphinx-doc/sphinx/issues/9672): The rendering of Python domain declarations is implemented
with more docutils nodes to allow better CSS styling.
It may break existing styling.
- [#9672](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9695): `domains.js.JSObject.display_prefix` has been changed into a method
`get_display_prefix` which now returns a list of nodes
instead of a plain string.
- [#9695](https://togithub.com/sphinx-doc/sphinx/issues/9695): The rendering of Javascript domain declarations is implemented
with more docutils nodes to allow better CSS styling.
It may break existing styling.
- [#9450](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9639): autodoc: Support asynchronous generator functions
- [#9664](https://togithub.com/sphinx-doc/sphinx/issues/9664): autodoc: `autodoc-process-bases` supports to inject reST snippet as a
base class
- [#9691](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9618): i18n: Add :confval:`gettext_allow_fuzzy_translations` to allow "fuzzy"
messages for translation
- [#9672](https://togithub.com/sphinx-doc/sphinx/issues/9672): More CSS classes on Python domain descriptions
- [#9695](https://togithub.com/sphinx-doc/sphinx/issues/9695): More CSS classes on Javascript domain descriptions
- [#9683](https://togithub.com/sphinx-doc/sphinx/issues/9683): Revert the removal of `add_stylesheet()` API. It will be kept until
the Sphinx-6.0 release
- [#2068](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9623): Allow to suppress "toctree contains reference to excluded document"
warnings using :confval:`suppress_warnings`
## Bugs fixed
- [#9630](https://togithub.com/sphinx-doc/sphinx/issues/9630): autodoc: Failed to build cross references if :confval:`primary_domain`
is not 'py'
- [#9644](https://togithub.com/sphinx-doc/sphinx/issues/9644): autodoc: Crashed on getting source info from problematic object
- [#9655](https://togithub.com/sphinx-doc/sphinx/issues/9655): autodoc: mocked object having doc comment is warned unexpectedly
- [#9651](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9657): autodoc: The base class for a subclass of mocked object is incorrect
- [#9607](https://togithub.com/sphinx-doc/sphinx/issues/9607): autodoc: Incorrect base class detection for the subclasses of the
generic class
- [#9755](https://togithub.com/sphinx-doc/sphinx/issues/9755): autodoc: memory addresses are shown for aliases
- [#9752](https://togithub.com/sphinx-doc/sphinx/issues/9752): autodoc: Failed to detect type annotation for slots attribute
- [#9756](https://togithub.com/sphinx-doc/sphinx/issues/9756): autodoc: Crashed if classmethod does not have **func** attribute
- [#9757](https://togithub.com/sphinx-doc/sphinx/issues/9757): autodoc: :confval:`autodoc_inherit_docstrings` does not effect to
overridden classmethods
- [#9781](https://togithub.com/sphinx-doc/sphinx/issues/9781): autodoc: :confval:`autodoc_preserve_defaults` does not support
hexadecimal numeric
- [#9630](https://togithub.com/sphinx-doc/sphinx/issues/9630): autosummary: Failed to build summary table if :confval:`primary_domain`
is not 'py'
- [#9670](https://togithub.com/sphinx-doc/sphinx/issues/9670): html: Fix download file with special characters
- [#9710](https://togithub.com/sphinx-doc/sphinx/issues/9710): html: Wrong styles for even/odd rows in nested tables
- [#9763](https://togithub.com/sphinx-doc/sphinx/issues/9763): html: parameter name and its type annotation are not separated in HTML
- [#9649](https://togithub.com/sphinx-doc/sphinx/issues/9649): HTML search: when objects have the same name but in different domains,
return all of them as result instead of just one.
- [#7634](https://togithub.com/sphinx-doc/sphinx/issues/7634): intersphinx: references on the file in sub directory are broken
- [#9737](https://togithub.com/sphinx-doc/sphinx/issues/9737): LaTeX: hlist is rendered as a list containing "aggedright" text
- [#9678](https://togithub.com/sphinx-doc/sphinx/issues/9678): linkcheck: file extension was shown twice in warnings
- [#9697](https://togithub.com/sphinx-doc/sphinx/issues/9697): py domain: An index entry with parens was registered for `py:method`
directive with `:property:` option
- [#9775](https://togithub.com/sphinx-doc/sphinx/issues/9775): py domain: Literal typehint was converted to a cross reference when
:confval:`autodoc_typehints='description'`
- [#9708](https://togithub.com/sphinx-doc/sphinx/issues/9708): needs_extension failed to check double-digit version correctly
- [#9688](https://togithub.com/sphinx-doc/sphinx/issues/9688): Fix :rst:dir:\`code`does not recognize`:class:\`\` option
- [#9733](https://togithub.com/sphinx-doc/sphinx/issues/9733): Fix for logging handler flushing warnings in the middle of the docs
build
- [#9656](https://togithub.com/sphinx-doc/sphinx/issues/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`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-420-released-Sep-12-2021)
[Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.1.2...v4.2.0)
\=====================================
## Features added
- [#9445](https://togithub.com/sphinx-doc/sphinx/issues/9445): autodoc: Support class properties
- [#9479](https://togithub.com/sphinx-doc/sphinx/issues/9479): autodoc: Emit a warning if target is a mocked object
- [#9560](https://togithub.com/sphinx-doc/sphinx/issues/9560): autodoc: Allow to refer NewType instances with module name in Python
3.10 or above
- [#9447](https://togithub.com/sphinx-doc/sphinx/issues/9447): html theme: Expose the version of Sphinx in the form of tuple as a
template variable `sphinx_version_tuple`
- [#9594](https://togithub.com/sphinx-doc/sphinx/issues/9594): manpage: Suppress the title of man page if description is empty
- [#9445](https://togithub.com/sphinx-doc/sphinx/issues/9445): py domain: `:py:property:` directive supports `:classmethod:`
option to describe the class property
- [#9524](https://togithub.com/sphinx-doc/sphinx/issues/9524): test: SphinxTestApp can take `builddir` as an argument
- [#9535](https://togithub.com/sphinx-doc/sphinx/issues/9535): C and C++, support more fundamental types, including GNU extensions.
## Bugs fixed
- [#9608](https://togithub.com/sphinx-doc/sphinx/issues/9608): apidoc: apidoc does not generate a module definition for implicit
namespace package
- [#9504](https://togithub.com/sphinx-doc/sphinx/issues/9504): autodoc: generate incorrect reference to the parent class if the target
class inherites the class having `_name` attribute
- [#9537](https://togithub.com/sphinx-doc/sphinx/issues/9537), [#9589](https://togithub.com/sphinx-doc/sphinx/issues/9589): autodoc: Some objects under `typing` module are not displayed
well with the HEAD of 3.10
- [#9487](https://togithub.com/sphinx-doc/sphinx/issues/9487): autodoc: typehint for cached_property is not shown
- [#9509](https://togithub.com/sphinx-doc/sphinx/issues/9509): autodoc: AttributeError is raised on failed resolving typehints
- [#9518](https://togithub.com/sphinx-doc/sphinx/issues/9518): autodoc: autodoc_docstring_signature does not effect to `__init__()`
and `__new__()`
- [#9522](https://togithub.com/sphinx-doc/sphinx/issues/9522): autodoc: PEP 585 style typehints having arguments (ex. `list[int]`)
are not displayed well
- [#9481](https://togithub.com/sphinx-doc/sphinx/issues/9481): autosummary: some warnings contain non-existing filenames
- [#9568](https://togithub.com/sphinx-doc/sphinx/issues/9568): autosummary: summarise overlined sectioned headings correctly
- [#9600](https://togithub.com/sphinx-doc/sphinx/issues/9600): autosummary: Type annotations which contain commas in autosummary table
are not removed completely
- [#9481](https://togithub.com/sphinx-doc/sphinx/issues/9481): c domain: some warnings contain non-existing filenames
- [#9481](https://togithub.com/sphinx-doc/sphinx/issues/9481): cpp domain: some warnings contain non-existing filenames
- [#9456](https://togithub.com/sphinx-doc/sphinx/issues/9456): html search: abbreation marks are inserted to the search result if
failed to fetch the content of the page
- [#9617](https://togithub.com/sphinx-doc/sphinx/issues/9617): html search: The JS requirement warning is shown if browser is slow
- [#9267](https://togithub.com/sphinx-doc/sphinx/issues/9267): html theme: CSS and JS files added by theme were loaded twice
- [#9585](https://togithub.com/sphinx-doc/sphinx/issues/9585): py domain: `:type:` option for :rst:dir:`py:property` directive does
not create a hyperlink
- [#9576](https://togithub.com/sphinx-doc/sphinx/issues/9576): py domain: Literal typehint was converted to a cross reference
- [#9535](https://togithub.com/sphinx-doc/sphinx/issues/9535) comment: C++, fix parsing of defaulted function parameters that are
function pointers.
- [#9564](https://togithub.com/sphinx-doc/sphinx/issues/9564): smartquotes: don't adjust typography for text with
language-highlighted `:code:` role.
- [#9512](https://togithub.com/sphinx-doc/sphinx/issues/9512): sphinx-build: crashed with the HEAD of Python 3.10
### [`v4.1.2`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-412-released-Jul-27-2021)
[Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.1.1...v4.1.2)
\=====================================
## Incompatible changes
- [#9435](https://togithub.com/sphinx-doc/sphinx/issues/9435): linkcheck: Disable checking automatically generated anchors on
github.com (ex. anchors in reST/Markdown documents)
## Bugs fixed
- [#9489](https://togithub.com/sphinx-doc/sphinx/issues/9489): autodoc: Custom types using `typing.NewType` are not displayed well
with the HEAD of 3.10
- [#9490](https://togithub.com/sphinx-doc/sphinx/issues/9490): autodoc: Some objects under `typing` module are not displayed well
with the HEAD of 3.10
- [#9436](https://togithub.com/sphinx-doc/sphinx/issues/9436), [#9471](https://togithub.com/sphinx-doc/sphinx/issues/9471): autodoc: crashed if `autodoc_class_signature = "separated"`
- [#9456](https://togithub.com/sphinx-doc/sphinx/issues/9456): html search: html_copy_source can't control the search summaries
- [#9500](https://togithub.com/sphinx-doc/sphinx/issues/9500): LaTeX: Failed to build Japanese document on Windows
- [#9435](https://togithub.com/sphinx-doc/sphinx/issues/9435): linkcheck: Failed to check anchors in github.com
### [`v4.1.1`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-411-released-Jul-15-2021)
[Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.1.0...v4.1.1)
\=====================================
## Dependencies
- [#9434](https://togithub.com/sphinx-doc/sphinx/issues/9434): sphinxcontrib-htmlhelp-2.0.0 or above
- [#9434](https://togithub.com/sphinx-doc/sphinx/issues/9434): sphinxcontrib-serializinghtml-1.1.5 or above
## Bugs fixed
- [#9438](https://togithub.com/sphinx-doc/sphinx/issues/9438): html: HTML logo or Favicon specified as file not being found on output
### [`v4.1.0`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-410-released-Jul-12-2021)
[Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.0.3...v4.1.0)
\=====================================
## Dependencies
- Support jinja2-3.0
## Deprecated
- The `app` argument of `sphinx.environment.BuildEnvironment` becomes
required
- `sphinx.application.Sphinx.html_theme`
- `sphinx.ext.autosummary._app`
- `sphinx.util.docstrings.extract_metadata()`
## Features added
- [#8107](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/8588): autodoc: :confval:`autodoc_type_aliases` now supports dotted name. It
allows you to define an alias for a class with module name like
`foo.bar.BazClass`
- [#9175](https://togithub.com/sphinx-doc/sphinx/issues/9175): autodoc: Special member is not documented in the module
- [#9195](https://togithub.com/sphinx-doc/sphinx/issues/9195): autodoc: The arguments of `typing.Literal` are wrongly rendered
- [#9185](https://togithub.com/sphinx-doc/sphinx/issues/9185): autodoc: :confval:`autodoc_typehints` allows `'both'` setting to
allow typehints to be included both in the signature and description
- [#4257](https://togithub.com/sphinx-doc/sphinx/issues/4257): autodoc: Add :confval:`autodoc_class_signature` to separate the class
entry and the definition of `__init__()` method
- [#8061](https://togithub.com/sphinx-doc/sphinx/issues/8061), [#9218](https://togithub.com/sphinx-doc/sphinx/issues/9218): autodoc: Support variable comment for alias classes
- [#3014](https://togithub.com/sphinx-doc/sphinx/issues/3014): autodoc: Add :event:`autodoc-process-bases` to modify the base classes
of the class definitions
- [#9272](https://togithub.com/sphinx-doc/sphinx/issues/9272): autodoc: Render enum values for the default argument value better
- [#9384](https://togithub.com/sphinx-doc/sphinx/issues/9384): autodoc: `autodoc_typehints='none'` now erases typehints for
variables, attributes and properties
- [#3257](https://togithub.com/sphinx-doc/sphinx/issues/3257): autosummary: Support instance attributes for classes
- [#9358](https://togithub.com/sphinx-doc/sphinx/issues/9358): html: Add "heading" role to the toctree items
- [#9225](https://togithub.com/sphinx-doc/sphinx/issues/9225): html: Add span tag to the return typehint of method/function
- [#9129](https://togithub.com/sphinx-doc/sphinx/issues/9129): html search: Show search summaries when html_copy_source = False
- [#9307](https://togithub.com/sphinx-doc/sphinx/issues/9307): html search: Prevent corrections and completions in search field
- [#9120](https://togithub.com/sphinx-doc/sphinx/issues/9120): html theme: Eliminate prompt characters of code-block from copyable
text
- [#9176](https://togithub.com/sphinx-doc/sphinx/issues/9176): i18n: Emit a debug message if message catalog file not found under
:confval:`locale_dirs`
- [#9414](https://togithub.com/sphinx-doc/sphinx/issues/9414): LaTeX: Add xeCJKVerbAddon to default fvset config for Chinese documents
- [#9016](https://togithub.com/sphinx-doc/sphinx/issues/9016): linkcheck: Support checking anchors on github.com
- [#9016](https://togithub.com/sphinx-doc/sphinx/issues/9016): linkcheck: Add a new event :event:`linkcheck-process-uri` to modify
URIs before checking hyperlinks
- [#6525](https://togithub.com/sphinx-doc/sphinx/issues/6525): linkcheck: Add :confval:`linkcheck_allowed_redirects` to mark
hyperlinks that are redirected to expected URLs as "working"
- [#1874](https://togithub.com/sphinx-doc/sphinx/issues/1874): py domain: Support union types using `|` in info-field-list
- [#9268](https://togithub.com/sphinx-doc/sphinx/issues/9268): py domain: :confval:`python_use_unqualified_type_names` supports type
field in info-field-list
- [#9097](https://togithub.com/sphinx-doc/sphinx/issues/9097): Optimize the parallel build
- [#9131](https://togithub.com/sphinx-doc/sphinx/issues/9131): Add :confval:`nitpick_ignore_regex` to ignore nitpicky warnings using
regular expressions
- [#9174](https://togithub.com/sphinx-doc/sphinx/issues/9174): Add `Sphinx.set_html_assets_policy` to tell extensions to include
HTML assets in all the pages. Extensions can check this via
`Sphinx.registry.html_assets_policy`
- C++, add support for
- `inline` variables,
- `consteval` functions,
- `constinit` variables,
- `char8_t`,
- `explicit()` 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](https://togithub.com/sphinx-doc/sphinx/issues/9166): LaTeX: support containers in LaTeX output
## Bugs fixed
- [#8872](https://togithub.com/sphinx-doc/sphinx/issues/8872): autodoc: stacked singledispatches are wrongly rendered
- [#8597](https://togithub.com/sphinx-doc/sphinx/issues/8597): autodoc: a docsting having metadata only should be treated as
undocumented
- [#9185](https://togithub.com/sphinx-doc/sphinx/issues/9185): autodoc: typehints for overloaded functions and methods are inaccurate
- [#9250](https://togithub.com/sphinx-doc/sphinx/issues/9250): autodoc: The inherited method not having docstring is wrongly parsed
- [#9283](https://togithub.com/sphinx-doc/sphinx/issues/9283): autodoc: autoattribute directive failed to generate document for an
attribute not having any comment
- [#9364](https://togithub.com/sphinx-doc/sphinx/issues/9364): autodoc: single element tuple on the default argument value is wrongly
rendered
- [#9362](https://togithub.com/sphinx-doc/sphinx/issues/9362): autodoc: AttributeError is raised on processing a subclass of Tuple\[()]
- [#9404](https://togithub.com/sphinx-doc/sphinx/issues/9404): autodoc: TypeError is raised on processing dict-like object (not a
class) via autoclass directive
- [#9317](https://togithub.com/sphinx-doc/sphinx/issues/9317): html: Pushing left key causes visiting the next page at the first page
- [#9381](https://togithub.com/sphinx-doc/sphinx/issues/9381): html: URL for html_favicon and html_log does not work
- [#9270](https://togithub.com/sphinx-doc/sphinx/issues/9270): html theme : pyramid theme generates incorrect logo links
- [#9217](https://togithub.com/sphinx-doc/sphinx/issues/9217): manpage: The name of manpage directory that is generated by
:confval:`man_make_section_directory` is not correct
- [#9350](https://togithub.com/sphinx-doc/sphinx/issues/9350): manpage: Fix font isn't reset after keyword at the top of samp role
- [#9306](https://togithub.com/sphinx-doc/sphinx/issues/9306): Linkcheck reports broken link when remote server closes the connection
on HEAD request
- [#9280](https://togithub.com/sphinx-doc/sphinx/issues/9280): py domain: "exceptions" module is not displayed
- [#9418](https://togithub.com/sphinx-doc/sphinx/issues/9418): py domain: a Callable annotation with no parameters
(e.g. `Callable[[], None])` will be rendered with a bracket missing
(`Callable[], None]`)
- [#9319](https://togithub.com/sphinx-doc/sphinx/issues/9319): quickstart: Make sphinx-quickstart exit when conf.py already exists
- [#9387](https://togithub.com/sphinx-doc/sphinx/issues/9387): xml: XML Builder ignores custom visitors
- [#9224](https://togithub.com/sphinx-doc/sphinx/issues/9224): `:param:` and `:type:` fields does not support a type containing
whitespace (ex. `Dict[str, str]`)
- [#8945](https://togithub.com/sphinx-doc/sphinx/issues/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`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-403-released-Jul-05-2021)
[Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.0.2...v4.0.3)
\=====================================
## Features added
- C, add C23 keywords `_Decimal32`, `_Decimal64`, and `_Decimal128`.
- [#9354](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9330): changeset domain: :rst:dir:`versionchanged` with contents being a list
will cause error during pdf build
- [#9313](https://togithub.com/sphinx-doc/sphinx/issues/9313): LaTeX: complex table with merged cells broken since 4.0
- [#9305](https://togithub.com/sphinx-doc/sphinx/issues/9305): LaTeX: backslash may cause Improper discretionary list pdf build error
with Japanese engines
- [#9354](https://togithub.com/sphinx-doc/sphinx/issues/9354): C, remove special macro names from the keyword list.
See also :confval:`c_extra_keywords`.
- [#9322](https://togithub.com/sphinx-doc/sphinx/issues/9322): KeyError is raised on PropagateDescDomain transform
Configuration
📅 Schedule: "before 6am on the first day of the month" (UTC).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
==4.0.2
->==4.5.0
Release Notes
sphinx-doc/sphinx
### [`v4.5.0`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-450-released-Mar-28-2022) [Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.4.0...v4.5.0) \===================================== ## Incompatible changes - [#10112](https://togithub.com/sphinx-doc/sphinx/issues/10112): extlinks: Disable hardcoded links detector by default - [#9993](https://togithub.com/sphinx-doc/sphinx/issues/9993), [#10177](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/10260): Enable `FORCE_COLOR` and `NO_COLOR` for terminal colouring - [#10234](https://togithub.com/sphinx-doc/sphinx/issues/10234): autosummary: Add "autosummary" CSS class to summary tables - [#10125](https://togithub.com/sphinx-doc/sphinx/issues/10125): extlinks: Improve suggestion message for a reference having title - [#10112](https://togithub.com/sphinx-doc/sphinx/issues/10112): extlinks: Add :confval:`extlinks_detect_hardcoded_links` to enable hardcoded links detector feature - [#9494](https://togithub.com/sphinx-doc/sphinx/issues/9494), [#9456](https://togithub.com/sphinx-doc/sphinx/issues/9456): html search: Add a config variable :confval:`html_show_search_summary` to enable/disable the search summaries - [#9337](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/10107): i18n: Allow to suppress translation warnings by adding `#noqa` comment to the tail of each translation message - [#10252](https://togithub.com/sphinx-doc/sphinx/issues/10252): C++, support attributes on classes, unions, and enums. - [#10253](https://togithub.com/sphinx-doc/sphinx/issues/10253): :rst:dir:`pep` role now generates URLs based on peps.python.org ## Bugs fixed - [#9876](https://togithub.com/sphinx-doc/sphinx/issues/9876): autodoc: Failed to document an imported class that is built from native binary module - [#10133](https://togithub.com/sphinx-doc/sphinx/issues/10133): autodoc: Crashed when mocked module is used for type annotation - [#10146](https://togithub.com/sphinx-doc/sphinx/issues/10146): autodoc: :confval:`autodoc_default_options` does not support `no-value` option - [#9971](https://togithub.com/sphinx-doc/sphinx/issues/9971): autodoc: TypeError is raised when the target object is annotated by unhashable object - [#10205](https://togithub.com/sphinx-doc/sphinx/issues/10205): extlinks: Failed to compile regexp on checking hardcoded links - [#10277](https://togithub.com/sphinx-doc/sphinx/issues/10277): html search: Could not search short words (ex. "use") - [#9529](https://togithub.com/sphinx-doc/sphinx/issues/9529): LaTeX: named auto numbered footnote (ex. `[#named]`) that is referred multiple times was rendered to a question mark - [#9924](https://togithub.com/sphinx-doc/sphinx/issues/9924): LaTeX: multi-line :rst:dir:`cpp:function` directive has big vertical spacing in Latexpdf - [#10158](https://togithub.com/sphinx-doc/sphinx/issues/10158): LaTeX: excessive whitespace since v4.4.0 for undocumented variables/structure members - [#10175](https://togithub.com/sphinx-doc/sphinx/issues/10175): LaTeX: named footnote reference is linked to an incorrect footnote if the name is also used in the different document - [#10269](https://togithub.com/sphinx-doc/sphinx/issues/10269): manpage: Failed to resolve the title of :ref: cross references - [#10179](https://togithub.com/sphinx-doc/sphinx/issues/10179): i18n: suppress "rST localization" warning - [#10118](https://togithub.com/sphinx-doc/sphinx/issues/10118): imgconverter: Unnecessary availablity check is called for remote URIs - [#10181](https://togithub.com/sphinx-doc/sphinx/issues/10181): napoleon: attributes are displayed like class attributes for google style docstrings when :confval:`napoleon_use_ivar` is enabled - [#10122](https://togithub.com/sphinx-doc/sphinx/issues/10122): sphinx-build: make.bat does not check the installation of sphinx-build command before showing help ### [`v4.4.0`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-440-released-Jan-17-2022) [Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.3.2...v4.4.0) \===================================== ## Dependencies - [#10007](https://togithub.com/sphinx-doc/sphinx/issues/10007): Use `importlib_metadata` for python-3.9 or older - [#10007](https://togithub.com/sphinx-doc/sphinx/issues/10007): Drop `setuptools` ## Features added - [#9075](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9831): Autosummary now documents only the members specified in a module's `__all__` attribute if :confval:`autosummary_ignore_module_all` is set to `False`. The default behaviour is unchanged. Autogen also now supports this behavior with the `--respect-module-all` switch. - [#9555](https://togithub.com/sphinx-doc/sphinx/issues/9555): autosummary: Improve error messages on failure to load target object - [#9800](https://togithub.com/sphinx-doc/sphinx/issues/9800): extlinks: Emit warning if a hardcoded link is replaceable by an extlink, suggesting a replacement. - [#9961](https://togithub.com/sphinx-doc/sphinx/issues/9961): html: Support nested HTML elements in other HTML builders - [#10013](https://togithub.com/sphinx-doc/sphinx/issues/10013): html: Allow to change the loading method of JS via `loading_method` parameter for :meth:`Sphinx.add_js_file()` - [#9551](https://togithub.com/sphinx-doc/sphinx/issues/9551): html search: "Hide Search Matches" link removes "highlight" parameter from URL - [#9815](https://togithub.com/sphinx-doc/sphinx/issues/9815): html theme: Wrap sidebar components in div to allow customizing their layout via CSS - [#9827](https://togithub.com/sphinx-doc/sphinx/issues/9827): i18n: Sort items in glossary by translated terms - [#9899](https://togithub.com/sphinx-doc/sphinx/issues/9899): py domain: Allows to specify cross-reference specifier (`.` and `~`) as `:type:` option - [#9894](https://togithub.com/sphinx-doc/sphinx/issues/9894): linkcheck: add option `linkcheck_exclude_documents` to disable link checking in matched documents. - [#9793](https://togithub.com/sphinx-doc/sphinx/issues/9793): sphinx-build: Allow to use the parallel build feature in macOS on macOS and Python3.8+ - [#10055](https://togithub.com/sphinx-doc/sphinx/issues/10055): sphinx-build: Create directories when `-w` option given - [#9993](https://togithub.com/sphinx-doc/sphinx/issues/9993): std domain: Allow to refer an inline target (ex. \`\`\_`target name```) via :rst:role:`ref\` role - [#9981](https://togithub.com/sphinx-doc/sphinx/issues/9981): std domain: Strip value part of the option directive from general index - [#9391](https://togithub.com/sphinx-doc/sphinx/issues/9391): texinfo: improve variable in `samp` role - [#9578](https://togithub.com/sphinx-doc/sphinx/issues/9578): texinfo: Add :confval:`texinfo_cross_references` to disable cross references for readability with standalone readers - [#9822](https://togithub.com/sphinx-doc/sphinx/issues/9822) (and [#9062](https://togithub.com/sphinx-doc/sphinx/issues/9062)), add new Intersphinx role :rst:role:`external` for explict lookup in the external projects, without resolving to the local project. ## Bugs fixed - [#9866](https://togithub.com/sphinx-doc/sphinx/issues/9866): autodoc: doccomment for the imported class was ignored - [#9883](https://togithub.com/sphinx-doc/sphinx/issues/9883): autodoc: doccomment for the alias to mocked object was ignored - [#9908](https://togithub.com/sphinx-doc/sphinx/issues/9908): autodoc: debug message is shown on building document using NewTypes with Python 3.10 - [#9968](https://togithub.com/sphinx-doc/sphinx/issues/9968): autodoc: instance variables are not shown if **init** method has position-only-arguments - [#9194](https://togithub.com/sphinx-doc/sphinx/issues/9194): autodoc: types under the "typing" module are not hyperlinked - [#10009](https://togithub.com/sphinx-doc/sphinx/issues/10009): autodoc: Crashes if target object raises an error on getting docstring - [#10058](https://togithub.com/sphinx-doc/sphinx/issues/10058): autosummary: Imported members are not shown when `autodoc_class_signature = 'separated'` - [#9947](https://togithub.com/sphinx-doc/sphinx/issues/9947): i18n: topic directive having a bullet list can't be translatable - [#9878](https://togithub.com/sphinx-doc/sphinx/issues/9878): mathjax: MathJax configuration is placed after loading MathJax itself - [#9932](https://togithub.com/sphinx-doc/sphinx/issues/9932): napoleon: empty "returns" section is generated even if no description - [#9857](https://togithub.com/sphinx-doc/sphinx/issues/9857): Generated RFC links use outdated base url - [#9909](https://togithub.com/sphinx-doc/sphinx/issues/9909): HTML, prevent line-wrapping in literal text. - [#10061](https://togithub.com/sphinx-doc/sphinx/issues/10061): html theme: Configuration values added by themes are not be able to override from conf.py - [#10073](https://togithub.com/sphinx-doc/sphinx/issues/10073): imgconverter: Unnecessary availablity check is called for "data" URIs - [#9925](https://togithub.com/sphinx-doc/sphinx/issues/9925): LaTeX: prohibit also with `'xelatex'` line splitting at dashes of inline and parsed literals - [#9944](https://togithub.com/sphinx-doc/sphinx/issues/9944): LaTeX: extra vertical whitespace for some nested declarations - [#9940](https://togithub.com/sphinx-doc/sphinx/issues/9940): LaTeX: Multi-function declaration in Python domain has cramped vertical spacing in latexpdf output - [#10015](https://togithub.com/sphinx-doc/sphinx/issues/10015): py domain: types under the "typing" module are not hyperlinked defined at info-field-list - [#9390](https://togithub.com/sphinx-doc/sphinx/issues/9390): texinfo: Do not emit labels inside footnotes - [#9413](https://togithub.com/sphinx-doc/sphinx/issues/9413): xml: Invalid XML was generated when cross referencing python objects - [#9979](https://togithub.com/sphinx-doc/sphinx/issues/9979): Error level messages were displayed as warning messages - [#10057](https://togithub.com/sphinx-doc/sphinx/issues/10057): Failed to scan documents if the project is placed onto the root directory - [#9636](https://togithub.com/sphinx-doc/sphinx/issues/9636): code-block: `:dedent:` without argument did strip newlines ### [`v4.3.2`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-432-released-Dec-19-2021) [Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.3.1...v4.3.2) \===================================== ## Bugs fixed - [#9917](https://togithub.com/sphinx-doc/sphinx/issues/9917): C and C++, parse fundamental types no matter the order of simple type specifiers. ### [`v4.3.1`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-431-released-Nov-28-2021) [Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.3.0...v4.3.1) \===================================== ## Features added - [#9864](https://togithub.com/sphinx-doc/sphinx/issues/9864): mathjax: Support chnaging the loading method of MathJax to "defer" via :confval:`mathjax_options` ## Bugs fixed - [#9838](https://togithub.com/sphinx-doc/sphinx/issues/9838): autodoc: AttributeError is raised on building document for functions decorated by functools.lru_cache - [#9879](https://togithub.com/sphinx-doc/sphinx/issues/9879): autodoc: AttributeError is raised on building document for an object having invalid **doc** attribute - [#9844](https://togithub.com/sphinx-doc/sphinx/issues/9844): autodoc: Failed to process a function wrapped with functools.partial if :confval:`autodoc_preserve_defaults` enabled - [#9872](https://togithub.com/sphinx-doc/sphinx/issues/9872): html: Class namespace collision between autodoc signatures and docutils-0.17 - [#9868](https://togithub.com/sphinx-doc/sphinx/issues/9868): imgmath: Crashed if the dvisvgm command failed to convert equation - [#9864](https://togithub.com/sphinx-doc/sphinx/issues/9864): mathjax: Failed to render equations via MathJax v2. The loading method of MathJax is back to "async" method again ### [`v4.3.0`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-430-released-Nov-11-2021) [Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.2.0...v4.3.0) \===================================== ## Dependencies - Support Python 3.10 ## Incompatible changes - [#9649](https://togithub.com/sphinx-doc/sphinx/issues/9649): `searchindex.js`: the embedded data has changed format to allow objects with the same name in different domains. - [#9672](https://togithub.com/sphinx-doc/sphinx/issues/9672): The rendering of Python domain declarations is implemented with more docutils nodes to allow better CSS styling. It may break existing styling. - [#9672](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9695): `domains.js.JSObject.display_prefix` has been changed into a method `get_display_prefix` which now returns a list of nodes instead of a plain string. - [#9695](https://togithub.com/sphinx-doc/sphinx/issues/9695): The rendering of Javascript domain declarations is implemented with more docutils nodes to allow better CSS styling. It may break existing styling. - [#9450](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9639): autodoc: Support asynchronous generator functions - [#9664](https://togithub.com/sphinx-doc/sphinx/issues/9664): autodoc: `autodoc-process-bases` supports to inject reST snippet as a base class - [#9691](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9618): i18n: Add :confval:`gettext_allow_fuzzy_translations` to allow "fuzzy" messages for translation - [#9672](https://togithub.com/sphinx-doc/sphinx/issues/9672): More CSS classes on Python domain descriptions - [#9695](https://togithub.com/sphinx-doc/sphinx/issues/9695): More CSS classes on Javascript domain descriptions - [#9683](https://togithub.com/sphinx-doc/sphinx/issues/9683): Revert the removal of `add_stylesheet()` API. It will be kept until the Sphinx-6.0 release - [#2068](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9623): Allow to suppress "toctree contains reference to excluded document" warnings using :confval:`suppress_warnings` ## Bugs fixed - [#9630](https://togithub.com/sphinx-doc/sphinx/issues/9630): autodoc: Failed to build cross references if :confval:`primary_domain` is not 'py' - [#9644](https://togithub.com/sphinx-doc/sphinx/issues/9644): autodoc: Crashed on getting source info from problematic object - [#9655](https://togithub.com/sphinx-doc/sphinx/issues/9655): autodoc: mocked object having doc comment is warned unexpectedly - [#9651](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/9657): autodoc: The base class for a subclass of mocked object is incorrect - [#9607](https://togithub.com/sphinx-doc/sphinx/issues/9607): autodoc: Incorrect base class detection for the subclasses of the generic class - [#9755](https://togithub.com/sphinx-doc/sphinx/issues/9755): autodoc: memory addresses are shown for aliases - [#9752](https://togithub.com/sphinx-doc/sphinx/issues/9752): autodoc: Failed to detect type annotation for slots attribute - [#9756](https://togithub.com/sphinx-doc/sphinx/issues/9756): autodoc: Crashed if classmethod does not have **func** attribute - [#9757](https://togithub.com/sphinx-doc/sphinx/issues/9757): autodoc: :confval:`autodoc_inherit_docstrings` does not effect to overridden classmethods - [#9781](https://togithub.com/sphinx-doc/sphinx/issues/9781): autodoc: :confval:`autodoc_preserve_defaults` does not support hexadecimal numeric - [#9630](https://togithub.com/sphinx-doc/sphinx/issues/9630): autosummary: Failed to build summary table if :confval:`primary_domain` is not 'py' - [#9670](https://togithub.com/sphinx-doc/sphinx/issues/9670): html: Fix download file with special characters - [#9710](https://togithub.com/sphinx-doc/sphinx/issues/9710): html: Wrong styles for even/odd rows in nested tables - [#9763](https://togithub.com/sphinx-doc/sphinx/issues/9763): html: parameter name and its type annotation are not separated in HTML - [#9649](https://togithub.com/sphinx-doc/sphinx/issues/9649): HTML search: when objects have the same name but in different domains, return all of them as result instead of just one. - [#7634](https://togithub.com/sphinx-doc/sphinx/issues/7634): intersphinx: references on the file in sub directory are broken - [#9737](https://togithub.com/sphinx-doc/sphinx/issues/9737): LaTeX: hlist is rendered as a list containing "aggedright" text - [#9678](https://togithub.com/sphinx-doc/sphinx/issues/9678): linkcheck: file extension was shown twice in warnings - [#9697](https://togithub.com/sphinx-doc/sphinx/issues/9697): py domain: An index entry with parens was registered for `py:method` directive with `:property:` option - [#9775](https://togithub.com/sphinx-doc/sphinx/issues/9775): py domain: Literal typehint was converted to a cross reference when :confval:`autodoc_typehints='description'` - [#9708](https://togithub.com/sphinx-doc/sphinx/issues/9708): needs_extension failed to check double-digit version correctly - [#9688](https://togithub.com/sphinx-doc/sphinx/issues/9688): Fix :rst:dir:\`code`does not recognize`:class:\`\` option - [#9733](https://togithub.com/sphinx-doc/sphinx/issues/9733): Fix for logging handler flushing warnings in the middle of the docs build - [#9656](https://togithub.com/sphinx-doc/sphinx/issues/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`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-420-released-Sep-12-2021) [Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.1.2...v4.2.0) \===================================== ## Features added - [#9445](https://togithub.com/sphinx-doc/sphinx/issues/9445): autodoc: Support class properties - [#9479](https://togithub.com/sphinx-doc/sphinx/issues/9479): autodoc: Emit a warning if target is a mocked object - [#9560](https://togithub.com/sphinx-doc/sphinx/issues/9560): autodoc: Allow to refer NewType instances with module name in Python 3.10 or above - [#9447](https://togithub.com/sphinx-doc/sphinx/issues/9447): html theme: Expose the version of Sphinx in the form of tuple as a template variable `sphinx_version_tuple` - [#9594](https://togithub.com/sphinx-doc/sphinx/issues/9594): manpage: Suppress the title of man page if description is empty - [#9445](https://togithub.com/sphinx-doc/sphinx/issues/9445): py domain: `:py:property:` directive supports `:classmethod:` option to describe the class property - [#9524](https://togithub.com/sphinx-doc/sphinx/issues/9524): test: SphinxTestApp can take `builddir` as an argument - [#9535](https://togithub.com/sphinx-doc/sphinx/issues/9535): C and C++, support more fundamental types, including GNU extensions. ## Bugs fixed - [#9608](https://togithub.com/sphinx-doc/sphinx/issues/9608): apidoc: apidoc does not generate a module definition for implicit namespace package - [#9504](https://togithub.com/sphinx-doc/sphinx/issues/9504): autodoc: generate incorrect reference to the parent class if the target class inherites the class having `_name` attribute - [#9537](https://togithub.com/sphinx-doc/sphinx/issues/9537), [#9589](https://togithub.com/sphinx-doc/sphinx/issues/9589): autodoc: Some objects under `typing` module are not displayed well with the HEAD of 3.10 - [#9487](https://togithub.com/sphinx-doc/sphinx/issues/9487): autodoc: typehint for cached_property is not shown - [#9509](https://togithub.com/sphinx-doc/sphinx/issues/9509): autodoc: AttributeError is raised on failed resolving typehints - [#9518](https://togithub.com/sphinx-doc/sphinx/issues/9518): autodoc: autodoc_docstring_signature does not effect to `__init__()` and `__new__()` - [#9522](https://togithub.com/sphinx-doc/sphinx/issues/9522): autodoc: PEP 585 style typehints having arguments (ex. `list[int]`) are not displayed well - [#9481](https://togithub.com/sphinx-doc/sphinx/issues/9481): autosummary: some warnings contain non-existing filenames - [#9568](https://togithub.com/sphinx-doc/sphinx/issues/9568): autosummary: summarise overlined sectioned headings correctly - [#9600](https://togithub.com/sphinx-doc/sphinx/issues/9600): autosummary: Type annotations which contain commas in autosummary table are not removed completely - [#9481](https://togithub.com/sphinx-doc/sphinx/issues/9481): c domain: some warnings contain non-existing filenames - [#9481](https://togithub.com/sphinx-doc/sphinx/issues/9481): cpp domain: some warnings contain non-existing filenames - [#9456](https://togithub.com/sphinx-doc/sphinx/issues/9456): html search: abbreation marks are inserted to the search result if failed to fetch the content of the page - [#9617](https://togithub.com/sphinx-doc/sphinx/issues/9617): html search: The JS requirement warning is shown if browser is slow - [#9267](https://togithub.com/sphinx-doc/sphinx/issues/9267): html theme: CSS and JS files added by theme were loaded twice - [#9585](https://togithub.com/sphinx-doc/sphinx/issues/9585): py domain: `:type:` option for :rst:dir:`py:property` directive does not create a hyperlink - [#9576](https://togithub.com/sphinx-doc/sphinx/issues/9576): py domain: Literal typehint was converted to a cross reference - [#9535](https://togithub.com/sphinx-doc/sphinx/issues/9535) comment: C++, fix parsing of defaulted function parameters that are function pointers. - [#9564](https://togithub.com/sphinx-doc/sphinx/issues/9564): smartquotes: don't adjust typography for text with language-highlighted `:code:` role. - [#9512](https://togithub.com/sphinx-doc/sphinx/issues/9512): sphinx-build: crashed with the HEAD of Python 3.10 ### [`v4.1.2`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-412-released-Jul-27-2021) [Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.1.1...v4.1.2) \===================================== ## Incompatible changes - [#9435](https://togithub.com/sphinx-doc/sphinx/issues/9435): linkcheck: Disable checking automatically generated anchors on github.com (ex. anchors in reST/Markdown documents) ## Bugs fixed - [#9489](https://togithub.com/sphinx-doc/sphinx/issues/9489): autodoc: Custom types using `typing.NewType` are not displayed well with the HEAD of 3.10 - [#9490](https://togithub.com/sphinx-doc/sphinx/issues/9490): autodoc: Some objects under `typing` module are not displayed well with the HEAD of 3.10 - [#9436](https://togithub.com/sphinx-doc/sphinx/issues/9436), [#9471](https://togithub.com/sphinx-doc/sphinx/issues/9471): autodoc: crashed if `autodoc_class_signature = "separated"` - [#9456](https://togithub.com/sphinx-doc/sphinx/issues/9456): html search: html_copy_source can't control the search summaries - [#9500](https://togithub.com/sphinx-doc/sphinx/issues/9500): LaTeX: Failed to build Japanese document on Windows - [#9435](https://togithub.com/sphinx-doc/sphinx/issues/9435): linkcheck: Failed to check anchors in github.com ### [`v4.1.1`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-411-released-Jul-15-2021) [Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.1.0...v4.1.1) \===================================== ## Dependencies - [#9434](https://togithub.com/sphinx-doc/sphinx/issues/9434): sphinxcontrib-htmlhelp-2.0.0 or above - [#9434](https://togithub.com/sphinx-doc/sphinx/issues/9434): sphinxcontrib-serializinghtml-1.1.5 or above ## Bugs fixed - [#9438](https://togithub.com/sphinx-doc/sphinx/issues/9438): html: HTML logo or Favicon specified as file not being found on output ### [`v4.1.0`](https://togithub.com/sphinx-doc/sphinx/blob/HEAD/CHANGES#Release-410-released-Jul-12-2021) [Compare Source](https://togithub.com/sphinx-doc/sphinx/compare/v4.0.3...v4.1.0) \===================================== ## Dependencies - Support jinja2-3.0 ## Deprecated - The `app` argument of `sphinx.environment.BuildEnvironment` becomes required - `sphinx.application.Sphinx.html_theme` - `sphinx.ext.autosummary._app` - `sphinx.util.docstrings.extract_metadata()` ## Features added - [#8107](https://togithub.com/sphinx-doc/sphinx/issues/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](https://togithub.com/sphinx-doc/sphinx/issues/8588): autodoc: :confval:`autodoc_type_aliases` now supports dotted name. It allows you to define an alias for a class with module name like `foo.bar.BazClass` - [#9175](https://togithub.com/sphinx-doc/sphinx/issues/9175): autodoc: Special member is not documented in the module - [#9195](https://togithub.com/sphinx-doc/sphinx/issues/9195): autodoc: The arguments of `typing.Literal` are wrongly rendered - [#9185](https://togithub.com/sphinx-doc/sphinx/issues/9185): autodoc: :confval:`autodoc_typehints` allows `'both'` setting to allow typehints to be included both in the signature and description - [#4257](https://togithub.com/sphinx-doc/sphinx/issues/4257): autodoc: Add :confval:`autodoc_class_signature` to separate the class entry and the definition of `__init__()` method - [#8061](https://togithub.com/sphinx-doc/sphinx/issues/8061), [#9218](https://togithub.com/sphinx-doc/sphinx/issues/9218): autodoc: Support variable comment for alias classes - [#3014](https://togithub.com/sphinx-doc/sphinx/issues/3014): autodoc: Add :event:`autodoc-process-bases` to modify the base classes of the class definitions - [#9272](https://togithub.com/sphinx-doc/sphinx/issues/9272): autodoc: Render enum values for the default argument value better - [#9384](https://togithub.com/sphinx-doc/sphinx/issues/9384): autodoc: `autodoc_typehints='none'` now erases typehints for variables, attributes and properties - [#3257](https://togithub.com/sphinx-doc/sphinx/issues/3257): autosummary: Support instance attributes for classes - [#9358](https://togithub.com/sphinx-doc/sphinx/issues/9358): html: Add "heading" role to the toctree items - [#9225](https://togithub.com/sphinx-doc/sphinx/issues/9225): html: Add span tag to the return typehint of method/function - [#9129](https://togithub.com/sphinx-doc/sphinx/issues/9129): html search: Show search summaries when html_copy_source = False - [#9307](https://togithub.com/sphinx-doc/sphinx/issues/9307): html search: Prevent corrections and completions in search field - [#9120](https://togithub.com/sphinx-doc/sphinx/issues/9120): html theme: Eliminate prompt characters of code-block from copyable text - [#9176](https://togithub.com/sphinx-doc/sphinx/issues/9176): i18n: Emit a debug message if message catalog file not found under :confval:`locale_dirs` - [#9414](https://togithub.com/sphinx-doc/sphinx/issues/9414): LaTeX: Add xeCJKVerbAddon to default fvset config for Chinese documents - [#9016](https://togithub.com/sphinx-doc/sphinx/issues/9016): linkcheck: Support checking anchors on github.com - [#9016](https://togithub.com/sphinx-doc/sphinx/issues/9016): linkcheck: Add a new event :event:`linkcheck-process-uri` to modify URIs before checking hyperlinks - [#6525](https://togithub.com/sphinx-doc/sphinx/issues/6525): linkcheck: Add :confval:`linkcheck_allowed_redirects` to mark hyperlinks that are redirected to expected URLs as "working" - [#1874](https://togithub.com/sphinx-doc/sphinx/issues/1874): py domain: Support union types using `|` in info-field-list - [#9268](https://togithub.com/sphinx-doc/sphinx/issues/9268): py domain: :confval:`python_use_unqualified_type_names` supports type field in info-field-list - [#9097](https://togithub.com/sphinx-doc/sphinx/issues/9097): Optimize the parallel build - [#9131](https://togithub.com/sphinx-doc/sphinx/issues/9131): Add :confval:`nitpick_ignore_regex` to ignore nitpicky warnings using regular expressions - [#9174](https://togithub.com/sphinx-doc/sphinx/issues/9174): Add `Sphinx.set_html_assets_policy` to tell extensions to include HTML assets in all the pages. Extensions can check this via `Sphinx.registry.html_assets_policy` - C++, add support for - `inline` variables, - `consteval` functions, - `constinit` variables, - `char8_t`, - `explicit(Configuration
📅 Schedule: "before 6am on the first day of the month" (UTC).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.