Directions overlay for working with pandas in an analysis environment

Overview

logo dovpanda

pypi Build Status Documentation Status Updates python3 license
Downloads

Directions OVer PANDAs

Directions are hints and tips for using pandas in an analysis environment. dovpanda is an overlay companion for working with pandas in an analysis environment.
It is an overlay module that tries to understand what you are trying to do with your data, and helps you make you code more concise with readable.
If you think your task is common enough, it probably is, and pandas probably has a built-in solution. dovpanda will help you find them.

Usage

Hints

The main usage of dovpanda is its hints mechanism, which is very easy and works out-of-the-box. Just import it after you import pandas, whether inside a notebook or in a console.

import pandas as pd
import dovpanda

This is it. From now on you can expect dovpanda to come up with helpful hints while you are writing your code.

Notebook

Running dovpanda in a notebook environment will display rendered dismissable html.
random tip

Console

df = pd.DataFrame({'a':list('xxyy'),'b':[40,50,60,70], 'time':['18:02','18:45','20:12','21:50']})
df['time'] = pd.to_datetime(df.time)
df['hour'] = df.time.dt.hour
df.groupby('hour').b.sum()
===== Seems like you are grouping by a column named 'hour', consider setting the your
time column as index and then use df.resample('h') =====
Out[4]:
hour
18    90
20    60
21    70
Name: b, dtype: int64

Installation

pip install dovpanda

Extended Usage

Random Tips

dovpanda.tip() will give you a random pandas tip.
random tip

Change Display

use dovpanda.set_output if you want to change output.

In [14]: dovpanda.set_output('display')
In [15]: df.iterrows()
===== iterrows is not recommended, and in the majority of cases will have better alternatives =====
Out[15]: <generator object DataFrame.iterrows at 0x110fe4318>

In [16]: dovpanda.set_output('print')
In [17]: df.iterrows()
iterrows is not recommended, and in the majority of cases will have better alternatives
Out[17]: <generator object DataFrame.iterrows at 0x112c408b8>

In [18]: dovpanda.set_output('warning')
In [19]: df.iterrows()
WARNING:dovpanda:iterrows is not recommended, and in the majority of cases will have better alternatives
Out[19]: <generator object DataFrame.iterrows at 0x110ee7e58>

In [20]: dovpanda.set_output('off')

In [21]: df.iterrows()
Out[21]: <generator object DataFrame.iterrows at 0x1047c4d68>


BTW

"dov" means bear in Hebrew logo

Comments
  • Add a hint in case of large csv files to add nrows=10, when a call to 'read_csv' is being executed

    Add a hint in case of large csv files to add nrows=10, when a call to 'read_csv' is being executed

    Basic Functionality

    When loading large csv files (100K lines at least), we should recommend the user to add nrows=10, so they can check that the types and formatting of the csv file fits their demands.

    Hooks Upon

    read_csv

    Hook Type

    Brief Description

    pre-hook

    Design

    good first issue _Hints 
    opened by tzurE 7
  • Check if data in series is string but in dateformat

    Check if data in series is string but in dateformat

    Basic Functionality

    Check after a Series or Dataframe creation and after addition of a new column if the data look like datetime but in a different dtype.

    Hooks Upon

    • [x] Series / Dataframe creation functions
    • [x] assign
    • [x] insert
    • [x] _setitem

    Hook Type

    per-hook

    Design

    check that the data inserted into the structure is with date structure (with the help of python-dateutil), if the dtype is not date - suggest using pandas.to_datetime()

    _Hints 
    opened by galbraun 4
  • import dovpanda in console error - NameError: name 'display' is not defined

    import dovpanda in console error - NameError: name 'display' is not defined

    Brief Description

    I am getting the following error when importing dovpanda from inside the console : NameError: name 'display' is not defined

    System Information

    WIN10-64bit

    • Python version (required): 3.6.7

    • Anaconda env: image

    Minimally Reproducible Code

    import pandas as pd
    import numpy as np
    import dovpanda

    Error Messages

    Traceback (most recent call last): File "", line 1, in File "C:\DevPrograms\Anaconda2\envs\test\lib\site-packages\dovpanda_init_.py", line 7, in from dovpanda.core import ledger File "C:\DevPrograms\Anaconda2\envs\test\lib\site-packages\dovpanda\core.py", line 7, in ledger = Ledger() File "C:\DevPrograms\Anaconda2\envs\test\lib\site-packages\dovpanda\base.py", line 119, in init self.teller = _Teller() File "C:\DevPrograms\Anaconda2\envs\test\lib\site-packages\dovpanda\base.py", line 34, in init self.set_output('display') File "C:\DevPrograms\Anaconda2\envs\test\lib\site-packages\dovpanda\base.py", line 103, in set_output self.output = display NameError: name 'display' is not defined

    bug 
    opened by uriyapes 3
  • [HINT] hint when df=df.dropna(inplace=True) is causing df=None

    [HINT] hint when df=df.dropna(inplace=True) is causing df=None

    Basic Functionality

    df.dropna(inplace=False) returns the modified dataframe. When changing to inplace=True, it's easy to forget to remove the "df= " at the beginning - so it's a useful hint...

    Hooks Upon

    Hook Type

    pre-hook

    Design

    I don't know... maybe just notice that the df is assigned None?

    _Hints 
    opened by itamar-precog 3
  • Error when extracting date cell from Dataframe

    Error when extracting date cell from Dataframe

    Brief Description

    When trying to extract one cell using iloc, dovpanda runs into an error. Sometimes, despite the error, this suggestion is made: The shape of the returned series from slicing is (1,) Which suggests you are interested in the value and not in a new series. Try instead: series.iat[row, col]

    System Information

    • OS: Ubuntu 18.04
    • Python: 3.7.5
    • Jupyter Lab: 1.14

    Minimally Reproducible Code

    df = pd.DataFrame([pd.Timestamp('01-01-2019')])
    df.iloc[0][0]
    

    Error Messages

    ---------------------------------------------------------------------------
    AttributeError                            Traceback (most recent call last)
    <ipython-input-25-dc9af601df62> in <module>
          1 df = pd.DataFrame([pd.Timestamp('01-01-2019')])
    ----> 2 df.iloc[0][0]
    
    ~/anaconda3/envs/x/lib/python3.7/site-packages/dovpanda/base.py in run(*args, **kwargs)
        161                 for post in posts:
        162                     if self.similar <= post.stop_nudge:
    --> 163                         post.replacement(ret, arguments)
        164             return ret
        165 
    
    ~/anaconda3/envs/x/lib/python3.7/site-packages/dovpanda/core.py in suggest_at_iat(res, arguments)
        186 def suggest_at_iat(res, arguments):
        187     self = arguments.get('self')
    --> 188     shp = res.shape
        189     if res.ndim < 1:  # Sometimes specific slicing will return value
        190         return
    
    AttributeError: 'Timestamp' object has no attribute 'shape'
    
    bug 
    opened by kennethz3 2
  • After dovpanda import, pandas read_csv no longer works with URL argument

    After dovpanda import, pandas read_csv no longer works with URL argument

    Brief Description

    After importing dovpanda, pd.read_csv(url, ...) no longer works, generating a file not found error.

    System Information

    • Notebook / IPython / Python Console

    Any/all

    • Python version (required):

    3.7.3

    Minimally Reproducible Code

    import pandas as pd
    df = pd.read_csv("http://www.stat.ufl.edu/~winner/data/pgalpga2008.dat")
    print(df.head(3)) # works
    import dovpanda
    df = pd.read_csv("http://www.stat.ufl.edu/~winner/data/pgalpga2008.dat") # error
    

    Error Messages

    <ipython-input-4-91539aa51e2d> in <module>
          1 import pandas as pd
    ----> 2 df = pd.read_csv("http://www.stat.ufl.edu/~winner/data/pgalpga2008.dat")
          3 print(df.head(3))
    
    ~/anaconda3/envs/tf2/lib/python3.7/site-packages/dovpanda/base.py in run(*args, **kwargs)
        157                 for pre in pres:
        158                     if self.similar <= pre.stop_nudge:
    --> 159                         pre.replacement(arguments)
        160                 ret = f(*args, **kwargs)
        161                 for post in posts:
    
    ~/anaconda3/envs/tf2/lib/python3.7/site-packages/dovpanda/core.py in check_csv_size(arguments)
        108 def check_csv_size(arguments):
        109     filename = arguments.get('filepath_or_buffer')
    --> 110     if os.path.getsize(filename) > config.MAX_CSV_SIZE:
        111         ledger.tell('File size is very large and may take time to load. '
        112                     'If you would like to avoid format issues before the complete file loads, '
    
    ~/anaconda3/envs/tf2/lib/python3.7/genericpath.py in getsize(filename)
         48 def getsize(filename):
         49     """Return the size of a file, reported by os.stat()."""
    ---> 50     return os.stat(filename).st_size
         51 
         52 
    
    FileNotFoundError: [Errno 2] No such file or directory: 'http://www.stat.ufl.edu/~winner/data/pgalpga2008.dat'
    
    bug 
    opened by coljac 2
  • Update sphinx to 5.3.0

    Update sphinx to 5.3.0

    This PR updates sphinx from 2.2.1 to 5.3.0.

    Changelog

    5.3.0

    =====================================
    
    Features added
    --------------
    
    * 10759: LaTeX: add :confval:`latex_table_style` and support the
    ``&#x27;booktabs&#x27;``, ``&#x27;borderless&#x27;``, and ``&#x27;colorrows&#x27;`` styles.
    (thanks to Stefan Wiehler for initial pull requests 6666, 6671)
    * 10840: One can cross-reference including an option value like ``:option:`--module=foobar,
    ``:option:`--module[=foobar] or ``:option:`--module foobar.
    Patch by Martin Liska.
    * 10881: autosectionlabel: Record the generated section label to the debug log.
    * 10268: Correctly URI-escape image filenames.
    * 10887: domains: Allow sections in all the content of all object description
    directives (e.g. :rst:dir:`py:function`). Patch by Adam Turner
    

    5.2.3

    =====================================
    
    * 10878: Fix base64 image embedding in ``sphinx.ext.imgmath``
    * 10886: Add ``:nocontentsentry:`` flag and global domain table of contents
    entry control option. Patch by Adam Turner
    

    5.2.2

    =====================================
    
    * 10872: Restore link targets for autodoc modules to the top of content.
    Patch by Dominic Davis-Foster.
    

    5.2.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10861: Always normalise the ``pycon3`` lexer to ``pycon``.
    * Fix using ``sphinx.ext.autosummary`` with modules containing titles in the
    module-level docstring.
    

    5.2.0.post0

    ===========================================
    
    * Recreated source tarballs for Debian maintainers.
    

    5.2.0

    =====================================
    
    Dependencies
    ------------
    
    * 10356: Sphinx now uses declarative metadata with ``pyproject.toml`` to
    create packages, using PyPA&#x27;s ``flit`` project as a build backend. Patch by
    Adam Turner.
    
    Deprecated
    ----------
    
    * 10843: Support for HTML 4 output. Patch by Adam Turner.
    
    Features added
    --------------
    
    * 10738: napoleon: Add support for docstring types using &#x27;of&#x27;, like
    ``type of type``. Example: ``tuple of int``.
    * 10286: C++, support requires clauses not just between the template
    parameter lists and the declaration.
    * 10755: linkcheck: Check the source URL of raw directives that use the ``url``
    option.
    * 10781: Allow :rst:role:`ref` role to be used with definitions and fields.
    * 10717: HTML Search: Increase priority for full title and
    subtitle matches in search results
    * 10718: HTML Search: Save search result score to the HTML element for debugging
    * 10673: Make toctree accept &#x27;genindex&#x27;, &#x27;modindex&#x27; and &#x27;search&#x27; docnames
    * 6316, 10804: Add domain objects to the table of contents. Patch by Adam Turner
    * 6692: HTML Search: Include explicit :rst:dir:`index` directive index entries
    in the search index and search results. Patch by Adam Turner
    * 10816: imgmath: Allow embedding images in HTML as base64
    * 10854: HTML Search: Use browser localstorage for highlight control, stop
    storing highlight parameters in URL query strings. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10723: LaTeX: 5.1.0 has made the &#x27;sphinxsetup&#x27; ``verbatimwithframe=false``
    become without effect.
    * 10257: C++, ensure consistent non-specialization template argument
    representation.
    * 10729: C++, fix parsing of certain non-type template parameter packs.
    * 10715: Revert 10520: &quot;Fix&quot; use of sidebar classes in ``agogo.css_t``
    

    5.1.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean``
    iterator implementation.
    * 10702: Restore compatability with third-party builders.
    

    5.1.0

    =====================================
    
    Dependencies
    ------------
    
    * 10656: Support `Docutils 0.19`_. Patch by Adam Turner.
    
    .. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05
    
    Deprecated
    ----------
    
    * 10467: Deprecated ``sphinx.util.stemmer`` in favour of ``snowballstemmer``.
    Patch by Adam Turner.
    * 9856: Deprecated ``sphinx.ext.napoleon.iterators``.
    
    Features added
    --------------
    
    * 10444: html theme: Allow specifying multiple CSS files through the ``stylesheet``
    setting in ``theme.conf`` or by setting ``html_style`` to an iterable of strings.
    * 10366: std domain: Add support for emphasising placeholders in :rst:dir:`option`
    directives through a new :confval:`option_emphasise_placeholders` configuration
    option.
    * 10439: std domain: Use the repr of some variables when displaying warnings,
    making whitespace issues easier to identify.
    * 10571: quickstart: Reduce content in the generated ``conf.py`` file. Patch by
    Pradyun Gedam.
    * 10648: LaTeX: CSS-named-alike additional :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;`
    keys allow to configure four separate border-widths, four paddings, four
    corner radii, a shadow (possibly inset), colours for border, background, shadow
    for each of the code-block, topic, attention, caution, danger, error and warning
    directives.
    * 10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
    * 10599: HTML Theme: Wrap consecutive footnotes in an ``&lt;aside&gt;`` element when
    using Docutils 0.18 or later, to allow for easier styling. This matches the
    behaviour introduced in Docutils 0.19. Patch by Adam Turner.
    * 10518: config: Add ``include_patterns`` as the opposite of ``exclude_patterns``.
    Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10594: HTML Theme: field term colons are doubled if using Docutils 0.18+
    * 10596: Build failure if Docutils version is 0.18 (not 0.18.1) due
    to missing ``Node.findall()``
    * 10506: LaTeX: build error if highlighting inline code role in figure caption
    (refs: 10251)
    * 10634: Make -P (pdb) option work better with exceptions triggered from events
    * 10550: py domain: Fix spurious whitespace in unparsing various operators (``+``,
    ``-``, ``~``, and ``**``). Patch by Adam Turner (refs: 10551).
    * 10460: logging: Always show node source locations as absolute paths.
    * HTML Search: HTML tags are displayed as a part of object name
    * HTML Search: search snipets should not be folded
    * HTML Search: Minor errors are emitted on fetching search snipets
    * HTML Search: The markers for header links are shown in the search result
    * 10520: HTML Theme: Fix use of sidebar classes in ``agogo.css_t``.
    * 6679: HTML Theme: Fix inclusion of hidden toctrees in the agogo theme.
    * 10566: HTML Theme: Fix enable_search_shortcuts does not work
    * 8686: LaTeX: Text can fall out of code-block at end of page and leave artifact
    on next page
    * 10633: LaTeX: user injected ``\color`` commands in topic or admonition boxes may
    cause color leaks in PDF due to upstream `framed.sty &lt;https://ctan.org/pkg/framed&gt;`_
    bug
    * 10638: LaTeX: framed coloured boxes in highlighted code (e.g. highlighted
    diffs using Pygments style ``&#x27;manni&#x27;``) inherit thickness of code-block frame
    * 10647: LaTeX: Only one ``\label`` is generated for ``desc_signature`` node
    even if it has multiple node IDs
    * 10579: i18n: UnboundLocalError is raised on translating raw directive
    * 9577, 10088: py domain: Fix warning for duplicate Python references when
    using ``:any:`` and autodoc.
    * 10548: HTML Search: fix minor summary issues.
    

    5.0.2

    =====================================
    
    Features added
    --------------
    
    * 10523: HTML Theme: Expose the Docutils&#x27;s version info tuple as a template
    variable, ``docutils_version_info``. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10538: autodoc: Inherited class attribute having docstring is documented even
    if :confval:`autodoc_inherit_docstring` is disabled
    * 10509: autosummary: autosummary fails with a shared library
    * 10497: py domain: Failed to resolve strings in Literal. Patch by Adam Turner.
    * 10523: HTML Theme: Fix double brackets on citation references in Docutils 0.18+.
    Patch by Adam Turner.
    * 10534: Missing CSS for nav.contents in Docutils 0.18+. Patch by Adam Turner.
    

    5.0.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10498: gettext: TypeError is raised when sorting warning messages if a node
    has no line number. Patch by Adam Turner.
    * 10493: HTML Theme: :rst:dir:`topic` directive is rendered incorrectly with
    Docutils 0.18. Patch by Adam Turner.
    * 10495: IndexError is raised for a :rst:role:`kbd` role having a separator.
    Patch by Adam Turner.
    

    5.0.0

    * 9575: autodoc: The annotation of return value should not be shown when
    ``autodoc_typehints=&quot;description&quot;``
    * 9648: autodoc: ``*args`` and ``**kwargs`` entries are duplicated when
    ``autodoc_typehints=&quot;description&quot;``
    * 8180: autodoc: Docstring metadata ignored for attributes
    * 10443: epub: EPUB builder can&#x27;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
    

    4.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`` and ``NO_COLOR`` for terminal colouring
    * 10234: autosummary: Add &quot;autosummary&quot; CSS class to summary tables
    * 10125: extlinks: Improve suggestion message for a reference having title
    * 10112: extlinks: Add :confval:`extlinks_detect_hardcoded_links` to enable
    hardcoded links detector feature
    * 9494, 9456: html search: Add a config variable
    :confval:`html_show_search_summary` to enable/disable the search summaries
    * 9337: HTML theme, add option ``enable_search_shortcuts`` that enables :kbd:`/` as
    a Quick search shortcut and :kbd:`Esc` shortcut that
    removes search highlighting.
    * 10107: i18n: Allow to suppress translation warnings by adding ``noqa``
    comment to the tail of each translation message
    * 10252: C++, support attributes on classes, unions, and enums.
    * 10253: :rst:role:`pep` role now generates URLs based on `peps.python.org
    &lt;https://peps.python.org&gt;`_
    
    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 support
    ``no-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. &quot;use&quot;)
    * 9529: LaTeX: named auto numbered footnote (ex. ``[named]``) that is referred
    multiple times was rendered to a question mark
    * 9924: LaTeX: multi-line :rst:dir:`cpp:function` directive has big vertical
    spacing in Latexpdf
    * 10158: LaTeX: excessive whitespace since v4.4.0 for undocumented
    variables/structure members 
    * 10175: LaTeX: named footnote reference is linked to an incorrect footnote if
    the name is also used in the different document
    * 10269: manpage: Failed to resolve the title of :rst:role:`ref` cross references
    * 10179: i18n: suppress &quot;rST localization&quot; 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
    

    4.4.0

    =====================================
    
    Dependencies
    ------------
    
    * 10007: Use ``importlib_metadata`` for python-3.9 or older
    * 10007: Drop ``setuptools``
    
    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`` -&gt; ``StringIO``)
    * 9831: Autosummary now documents only the members specified in a module&#x27;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: 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 &lt;kbd&gt; 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: &quot;Hide Search Matches&quot; link removes &quot;highlight&quot; 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 &quot;typing&quot; 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 = &#x27;separated&#x27;``
    * 9947: i18n: topic directive having a bullet list can&#x27;t be translatable
    * 9878: mathjax: MathJax configuration is placed after loading MathJax itself
    * 9932: napoleon: empty &quot;returns&quot; 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 &quot;data&quot; URIs
    * 9925: LaTeX: prohibit also with ``&#x27;xelatex&#x27;`` 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 &quot;typing&quot; 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
    

    4.3.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 9917: C and C++, parse fundamental types no matter the order of simple type
    specifiers.
    

    4.3.1

    =====================================
    
    Features added
    --------------
    
    * 9864: mathjax: Support chnaging the loading method of MathJax to &quot;defer&quot; 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 &quot;async&quot; method again
    

    4.3.0

    =====================================
    
    Dependencies
    ------------
    
    * Support Python 3.10
    
    Incompatible changes
    --------------------
    
    * 9649: ``searchindex.js``: the embedded data has changed format to allow
    objects with the same name in different domains.
    * 9672: The rendering of Python domain declarations is implemented
    with more docutils nodes to allow better CSS styling.
    It may break existing styling.
    * 9672: the signature of
    ``domains.python.PyObject.get_signature_prefix`` has changed to
    return a list of nodes instead of a plain string.
    * 9695: ``domains.js.JSObject.display_prefix`` has been changed into a method
    ``get_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 &quot;defer&quot; 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 &quot;fuzzy&quot;
    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 &quot;toctree contains reference to excluded document&quot;
    warnings using :confval:`suppress_warnings`
    
    Bugs fixed
    ----------
    
    * 9630: autodoc: Failed to build cross references if :confval:`primary_domain`
    is not &#x27;py&#x27;
    * 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 &quot;documented&quot; 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 &#x27;py&#x27;
    * 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 &quot;aggedright&quot; 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=&#x27;description&#x27;`
    * 9708: needs_extension failed to check double-digit version correctly
    * 9688: Fix Sphinx patched :dudir:`code` does not recognize ``:class:`` option
    * 9733: Fix for logging handler flushing warnings in the middle of the docs
    build
    * 9656: Fix warnings without subtype being incorrectly suppressed
    * Intersphinx, for unresolved references with an explicit inventory,
    e.g., ``proj:myFunc``, leave the inventory prefix in the unresolved text.
    

    4.2.0

    =====================================
    
    Features added
    --------------
    
    * 9445: autodoc: Support class properties
    * 9479: autodoc: Emit a warning if target is a mocked object
    * 9560: autodoc: Allow to refer NewType instances with module name in Python
    3.10 or above
    * 9447: html theme: Expose the version of Sphinx in the form of tuple as a
    template variable ``sphinx_version_tuple``
    * 9594: manpage: Suppress the title of man page if description is empty
    * 9445: py domain: :rst:dir:`py:property` directive supports ``:classmethod:``
    option to describe the class property
    * 9524: test: SphinxTestApp can take ``builddir`` as an argument
    * 9535: C and C++, support more fundamental types, including GNU extensions.
    
    Bugs fixed
    ----------
    
    * 9608: apidoc: apidoc does not generate a module definition for implicit
    namespace package
    * 9504: autodoc: generate incorrect reference to the parent class if the target
    class inherites the class having ``_name`` attribute
    * 9537, 9589: autodoc: Some objects under ``typing`` module are not displayed
    well with the HEAD of 3.10
    * 9487: autodoc: typehint for cached_property is not shown
    * 9509: autodoc: AttributeError is raised on failed resolving typehints
    * 9518: autodoc: autodoc_docstring_signature does not effect to ``__init__()``
    and ``__new__()``
    * 9522: autodoc: PEP 585 style typehints having arguments (ex. ``list[int]``)
    are not displayed well
    * 9481: autosummary: some warnings contain non-existing filenames
    * 9568: autosummary: summarise overlined sectioned headings correctly
    * 9600: autosummary: Type annotations which contain commas in autosummary table
    are not removed completely
    * 9481: c domain: some warnings contain non-existing filenames
    * 9481: cpp domain: some warnings contain non-existing filenames
    * 9456: html search: abbreation marks are inserted to the search result if
    failed to fetch the content of the page
    * 9617: html search: The JS requirement warning is shown if browser is slow
    * 9267: html theme: CSS and JS files added by theme were loaded twice
    * 9585: py domain: ``:type:`` option for :rst:dir:`py:property` directive does
    not create a hyperlink
    * 9576: py domain: Literal typehint was converted to a cross reference
    * 9535 comment: C++, fix parsing of defaulted function parameters that are
    function pointers.
    * 9564: smartquotes: don&#x27;t adjust typography for text with
    language-highlighted ``:code:`` role.
    * 9512: sphinx-build: crashed with the HEAD of Python 3.10
    

    4.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 = &quot;separated&quot;``
    * 9456: html search: html_copy_source can&#x27;t control the search summaries
    * 9500: LaTeX: Failed to build Japanese document on Windows
    * 9435: linkcheck: Failed to check anchors in github.com
    

    4.1.1

    =====================================
    
    Dependencies
    ------------
    
    * 9434: sphinxcontrib-htmlhelp-2.0.0 or above
    * 9434: sphinxcontrib-serializinghtml-1.1.5 or above
    
    Bugs fixed
    ----------
    
    * 9438: html: HTML logo or Favicon specified as file not being found on output
    

    4.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: 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 like
    ``foo.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 ``&#x27;both&#x27;`` 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=&#x27;none&#x27;`` now erases typehints for
    variables, attributes and properties
    * 3257: autosummary: Support instance attributes for classes
    * 9358: html: Add &quot;heading&quot; 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 &quot;working&quot;
    * 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 via
    ``Sphinx.registry.html_assets_policy``
    * C++, add support for
    
    - ``inline`` variables,
    - ``consteval`` functions,
    - ``constinit`` variables,
    - ``char8_t``,
    - ``explicit(&lt;constant expression&gt;)`` specifier,
    - digit separators in literals, and
    - constraints in placeholder type specifiers, aka. adjective syntax
     (e.g., ``Sortable auto &amp;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&#x27;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: &quot;exceptions&quot; 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.
    

    4.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
    

    4.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
    

    4.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 &quot;more than one target for
    cross-reference&quot; warning
    * 9201: websupport: UndefinedError is raised: &#x27;css_tag&#x27; is undefined
    

    4.0.0

    =====================================
    
    Dependencies
    ------------
    

    4.0.0b3

    * 9167: html: Failed to add CSS files to the specific page
    

    4.0.0b2

    * C, C++, fix ``KeyError`` when an ``alias`` directive is the first C/C++
    directive in a file with another C/C++ directive later.
    

    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=&quot;&quot; are ignored
    * 8380: html search: Paragraphs in search results are not identified as ``&lt;p&gt;``
    * 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 ``&#x27;pdflatex&#x27;/&#x27;lualatex&#x27;`` 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: &quot;release&quot; 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.
    

    3.5.5

    ==============================
    

    3.5.4

    =====================================
    
    Dependencies
    ------------
    
    * 9071: Restrict docutils to 0.16
    
    Bugs fixed
    ----------
    
    * 9078: autodoc: Async staticmethods and classmethods are considered as non
    async coroutine-functions with Python3.10
    * 8870, 9001, 9051: html theme: The style are not applied with docutils-0.17
    
    - toctree captions
    - The content of ``sidebar`` directive
    - figures
    

    3.5.3

    =====================================
    
    Features added
    --------------
    
    * 8959: using UNIX path separator in image directive confuses Sphinx on Windows
    

    3.5.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8943: i18n: Crashed by broken translation messages in ES, EL and HR
    * 8936: LaTeX: A custom LaTeX builder fails with unknown node error
    * 8952: Exceptions raised in a Directive cause parallel builds to hang
    

    3.5.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8883: autodoc: AttributeError is raised on assigning __annotations__ on
    read-only class
    * 8884: html: minified js stemmers not included in the distributed package
    * 8885: html: AttributeError is raised if CSS/JS files are installed via
    :confval:`html_context`
    * 8880: viewcode: ExtensionError is raised on incremental build after
    unparsable python module found
    

    3.5.0

    =====================================
    
    Dependencies
    ------------
    
    * LaTeX: ``multicol`` (it is anyhow a required part of the official latex2e
    base distribution)
    
    Incompatible changes
    --------------------
    
    * Update Underscore.js to 1.12.0
    * 6550: html: The config variable ``html_add_permalinks`` is replaced by
    :confval:`html_permalinks` and :confval:`html_permalinks_icon`
    
    Deprecated
    ----------
    
    * pending_xref node for viewcode extension
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.anchors_ignore``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.auth``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.broken``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.good``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.redirected``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.rqueue``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.to_ignore``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.workers``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.wqueue``
    * ``sphinx.builders.linkcheck.node_line_or_0()``
    * ``sphinx.ext.autodoc.AttributeDocumenter.isinstanceattribute()``
    * ``sphinx.ext.autodoc.directive.DocumenterBridge.reporter``
    * ``sphinx.ext.autodoc.importer.get_module_members()``
    * ``sphinx.ext.autosummary.generate._simple_info()``
    * ``sphinx.ext.autosummary.generate._simple_warn()``
    * ``sphinx.writers.html.HTMLTranslator.permalink_text``
    * ``sphinx.writers.html5.HTML5Translator.permalink_text``
    
    Features added
    --------------
    
    * 8022: autodoc: autodata and autoattribute directives does not show right-hand
    value of the variable if docstring contains ``:meta hide-value:`` in
    info-field-list
    * 8514: autodoc: Default values of overloaded functions are taken from actual
    implementation if they&#x27;re ellipsis
    * 8775: autodoc: Support type union operator (PEP-604) in Python 3.10 or above
    * 8297: autodoc: Allow to extend :confval:`autodoc_default_options` via
    directive options
    * 759: autodoc: Add a new configuration :confval:`autodoc_preserve_defaults` as
    an experimental feature.  It preserves the default argument values of
    functions in source code and keep them not evaluated for readability.
    * 8619: html: kbd role generates customizable HTML tags for compound keys
    * 8634: html: Allow to change the order of JS/CSS via ``priority`` parameter
    for :meth:`Sphinx.add_js_file()` and :meth:`Sphinx.add_css_file()`
    * 6241: html: Allow to add JS/CSS files to the specific page when an extension
    calls ``app.add_js_file()`` or ``app.add_css_file()`` on
    :event:`html-page-context` event
    * 6550: html: Allow to use HTML permalink texts via
    :confval:`html_permalinks_icon`
    * 1638: html: Add permalink icons to glossary terms
    * 8868: html search: performance issue with massive lists
    * 8867: html search: Update JavaScript stemmer code to the latest version of
    Snowball (v2.1.0)
    * 8852: i18n: Allow to translate heading syntax in MyST-Parser
    * 8649: imgconverter: Skip availability check if builder supports the image
    type
    * 8573: napoleon: Allow to change the style of custom sections using
    :confval:`napoleon_custom_styles`
    * 8004: napoleon: Type definitions in Google style docstrings are rendered as
    references when :confval:`napoleon_preprocess_types` enabled
    * 6241: mathjax: Include mathjax.js only on the document using equations
    * 8775: py domain: Support type union operator (PEP-604)
    * 8651: std domain: cross-reference for a rubric having inline item is broken
    * 7642: std domain: Optimize case-insensitive match of term
    * 8681: viewcode: Support incremental build
    * 8132: Add :confval:`project_copyright` as an alias of :confval:`copyright`
    * 207: Now :confval:`highlight_language` supports multiple languages
    * 2030: :rst:dir:`code-block` and :rst:dir:`literalinclude` supports automatic
    dedent via no-argument ``:dedent:`` option
    * C++, also hyperlink operator overloads in expressions and alias declarations.
    * 8247: Allow production lists to refer to tokens from other production groups
    * 8813: Show what extension (or module) caused it on errors on event handler
    * 8213: C++: add ``maxdepth`` option to :rst:dir:`cpp:alias` to insert nested
    declarations.
    * C, add ``noroot`` option to :rst:dir:`c:alias` to render only nested
    declarations.
    * C++, add ``noroot`` option to :rst:dir:`cpp:alias` to render only nested
    declarations.
    
    Bugs fixed
    ----------
    
    * 8727: apidoc: namespace module file is not generated if no submodules there
    * 741: autodoc: inherited-members doesn&#x27;t work for instance attributes on super
    class
    * 8592: autodoc: ``:meta public:`` does not effect to variables
    * 8594: autodoc: empty __all__ attribute is ignored
    * 8315: autodoc: Failed to resolve struct.Struct type annotation
    * 8652: autodoc: All variable comments in the module are ignored if the module
    contains invalid type comments
    * 8693: autodoc: Default values for overloaded functions are rendered as string
    * 8134: autodoc: crashes when mocked decorator takes arguments
    * 8800: autodoc: Uninitialized attributes in superclass are recognized as
    undocumented
    * 8655: autodoc: Failed to generate document if target module contains an
    object that raises an exception on ``hasattr()``
    * 8306: autosummary: mocked modules are documented as empty page when using
    :recursive: option
    * 8232: graphviz: Image node is not rendered if graph file is in subdirectory
    * 8618: html: kbd role produces incorrect HTML when compound-key separators (-,
    + or ^) are used as keystrokes
    * 8629: html: A type warning for html_use_opensearch is shown twice
    * 8714: html: kbd role with &quot;Caps Lock&quot; rendered incorrectly
    * 8123: html search: fix searching for terms containing + (Requires a custom
    search language that does not split on +)
    * 8665: html theme: Could not override globaltoc_maxdepth in theme.conf
    * 8446: html: consecutive spaces are displayed as single space
    * 8745: i18n: crashes with KeyError when translation message adds a new auto
    footnote reference
    * 4304: linkcheck: Fix race condition that could lead to checking the
    availability of the same URL twice
    * 8791: linkcheck: The docname for each hyperlink is not displayed
    * 7118: sphinx-quickstart: questionare got Mojibake if libreadline unavailable
    * 8094: texinfo: image files on the different directory with document are not
    copied
    * 8782: todo: Cross references in todolist get broken
    * 8720: viewcode: module pages are generated for epub on incremental build
    * 8704: viewcode: anchors are generated in incremental build after singlehtml
    * 8756: viewcode: highlighted code is generated even if not referenced
    * 8671: :confval:`highlight_options` is not working
    * 8341: C, fix intersphinx lookup types for names in declarations.
    * C, C++: in general fix intersphinx and role lookup types.
    * 8683: :confval:`html_last_updated_fmt` does not support UTC offset (%z)
    * 8683: :confval:`html_last_updated_fmt` generates wrong time zone for %Z
    * 1112: ``download`` role creates duplicated copies when relative path is
    specified
    * 2616 (fifth item): LaTeX: footnotes from captions are not clickable,
    and for manually numbered footnotes only first one with same number is
    an hyperlink
    * 7576: LaTeX with French babel and memoir crash: &quot;Illegal parameter number
    in definition of ``\FNHprefntext``&quot;
    * 8055: LaTeX (docs): A potential display bug with the LaTeX generation step
    in Sphinx (how to generate one-column index)
    * 8072: LaTeX: Directive :rst:dir:`hlist` not implemented in LaTeX
    * 8214: LaTeX: The :rst:role:`index` role and the glossary generate duplicate
    entries in the LaTeX index (if both used for same term)
    * 8735: LaTeX: wrong internal links in pdf to captioned code-blocks when
    :confval:`numfig` is not True
    * 8442: LaTeX: some indexed terms are ignored when using xelatex engine
    (or pdflatex and :confval:`latex_use_xindy` set to True) with memoir class
    * 8750: LaTeX: URLs as footnotes fail to show in PDF if originating from
    inside function type signatures
    * 8780: LaTeX: long words in narrow columns may not be hyphenated
    * 8788: LaTeX: ``\titleformat`` last argument in sphinx.sty should be
    bracketed, not braced (and is anyhow not needed) 
    * 8849: LaTex: code-block printed out of margin (see the opt-in LaTeX syntax
    boolean :ref:`verbatimforcewraps &lt;latexsphinxsetupforcewraps&gt;` for use via
    the :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;` key of ``latex_elements``)
    * 8183: LaTeX: Remove substitution_reference nodes from doctree only on LaTeX
    builds
    * 8865: LaTeX: Restructure the index nodes inside title nodes only on LaTeX
    builds
    * 8796: LaTeX: potentially critical low level TeX coding mistake has gone
    unnoticed so far
    * C, :rst:dir:`c:alias` skip symbols without explicit declarations
    instead of crashing.
    * C, :rst:dir:`c:alias` give a warning when the root symbol is not declared.
    * C, ``expr`` role should start symbol lookup in the current scope.
    

    3.4.3

    =====================================
    
    Bugs fixed
    ----------
    
    * 8655: autodoc: Failed to generate document if target module contains an
    object that raises an exception on ``hasattr()``
    

    3.4.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8164: autodoc: Classes that inherit mocked class are not documented
    * 8602: autodoc: The ``autodoc-process-docstring`` event is emitted to the
    non-datadescriptors unexpectedly
    * 8616: autodoc: AttributeError is raised on non-class object is passed to
    autoclass directive
    

    3.4.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8559: autodoc: AttributeError is raised when using forward-reference type
    annotations
    * 8568: autodoc: TypeError is raised on checking slots attribute
    * 8567: autodoc: Instance attributes are incorrectly added to Parent class
    * 8566: autodoc: The ``autodoc-process-docstring`` event is emitted to the
    alias classes unexpectedly
    * 8583: autodoc: Unnecessary object comparison via ``__eq__`` method
    * 8565: linkcheck: Fix PriorityQueue crash when link tuples are not
    comparable
    

    3.4.0

    =====================================
    
    Incompatible changes
    --------------------
    
    * 8105: autodoc: the signature of class constructor will be shown for decorated
    classes, not a signature of decorator
    
    Deprecated
    ----------
    
    * The ``follow_wrapped`` argument of ``sphinx.util.inspect.signature()``
    * The ``no_docstring`` argument of
    ``sphinx.ext.autodoc.Documenter.add_content()``
    * ``sphinx.ext.autodoc.Documenter.get_object_members()``
    * ``sphinx.ext.autodoc.DataDeclarationDocumenter``
    * ``sphinx.ext.autodoc.GenericAliasDocumenter``
    * ``sphinx.ext.autodoc.InstanceAttributeDocumenter``
    * ``sphinx.ext.autodoc.SlotsAttributeDocumenter``
    * ``sphinx.ext.autodoc.TypeVarDocumenter``
    * ``sphinx.ext.autodoc.importer._getannotations()``
    * ``sphinx.ext.autodoc.importer._getmro()``
    * ``sphinx.pycode.ModuleAnalyzer.parse()``
    * ``sphinx.util.osutil.movefile()``
    * ``sphinx.util.requests.is_ssl_error()``
    
    Features added
    --------------
    
    * 8119: autodoc: Allow to determine whether a member not included in
    ``__all__`` attribute of the module should be documented or not via
    :event:`autodoc-skip-member` event
    * 8219: autodoc: Parameters for generic class are not shown when super class is
    a generic class and show-inheritance option is given (in Python 3.7 or above)
    * autodoc: Add ``Documenter.config`` as a shortcut to access the config object
    * autodoc: Add Optional[t] to annotation of function and method if a default
    value equal to None is set.
    * 8209: autodoc: Add ``:no-value:`` option to :rst:dir:`autoattribute` and
    :rst:dir:`autodata` directive to suppress the default value of the variable
    * 8460: autodoc: Support custom types defined by typing.NewType
    * 8285: napoleon: Add :confval:`napoleon_attr_annotations` to merge type hints
    on source code automatically if any type is specified in docstring
    * 8236: napoleon: Support numpydoc&#x27;s &quot;Receives&quot; section
    * 6914: Add a new event :event:`warn-missing-reference` to custom warning
    messages when failed to resolve a cross-reference
    * 6914: Emit a detailed warning when failed to resolve a ``:ref:`` reference
    * 6629: linkcheck: The builder now handles rate limits. See
    :confval:`linkcheck_retry_on_rate_limit` for details.
    
    Bugs fixed
    ----------
    
    * 7613: autodoc: autodoc does not respect __signature__ of the class
    * 4606: autodoc: the location of the warning is incorrect for inherited method
    * 8105: autodoc: the signature of class constructor is incorrect if the class
    is decorated
    * 8434: autodoc: :confval:`autodoc_type_aliases` does not effect to variables
    and attributes
    * 8443: autodoc: autodata directive can&#x27;t create document for PEP-526 based
    type annotated variables
    * 8443: autodoc: autoattribute directive can&#x27;t create document for PEP-526
    based uninitialized variables
    * 8480: autodoc: autoattribute could not create document for __slots__
    attributes
    * 8503: autodoc: autoattribute could not create document for a GenericAlias as
    class attributes correctly
    * 8534: autodoc: autoattribute could not create document for a commented
    attribute in alias class
    * 8452: autodoc: autodoc_type_aliases doesn&#x27;t work when autodoc_typehints is
    set to &quot;description&quot;
    * 8541: autodoc: autodoc_type_aliases doesn&#x27;t work for the type annotation to
    instance attributes
    * 8460: autodoc: autodata and autoattribute directives do not display type
    information of TypeVars
    * 8493: autodoc: references to builtins not working in class aliases
    * 8522: autodoc:  ``__bool__`` method could be called
    * 8067: autodoc: A typehint for the instance variable having type_comment on
    super class is not displayed
    * 8545: autodoc: a __slots__ attribute is not documented even having docstring
    * 741: autodoc: inherited-members doesn&#x27;t work for instance attributes on super
    class
    * 8477: autosummary: non utf-8 reST files are generated when template contains
    multibyte characters
    * 8501: autosummary: summary extraction splits text after &quot;el at.&quot; unexpectedly
    * 8524: html: Wrong url_root has been generated on a document named &quot;index&quot;
    * 8419: html search: Do not load ``language_data.js`` in non-search pages
    * 8549: i18n: ``-D gettext_compact=0`` is no longer working
    * 8454: graphviz: The layout option for graph and digraph directives don&#x27;t work
    * 8131: linkcheck: Use GET when HEAD requests cause Too Many Redirects, to
    accommodate infinite redirect loops on HEAD
    * 8437: Makefile: ``make clean`` with empty BUILDDIR is dangerous
    * 8365: py domain: ``:type:`` and ``:rtype:`` gives false ambiguous class
    lookup warnings
    * 8352: std domain: Failed to parse an option that starts with bracket
    * 8519: LaTeX: Prevent page brake in the middle of a seealso
    * 8520: C, fix copying of AliasNode.
    

    3.3.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8372: autodoc: autoclass directive became slower than Sphinx-3.2
    * 7727: autosummary: raise PycodeError when documenting python package
    without __init__.py
    * 8350: autosummary: autosummary_mock_imports causes slow down builds
    * 8364: C, properly initialize attributes in empty symbols.
    * 8399: i18n: Put system locale path after the paths specified by configuration
    

    3.3.0

    =====================================
    
    Deprecated
    ----------
    
    * ``sphinx.builders.latex.LaTeXBuilder.usepackages``
    * ``sphinx.builders.latex.LaTeXBuilder.usepackages_afger_hyperref``
    * ``sphinx.ext.autodoc.SingledispatchFunctionDocumenter``
    * ``sphinx.ext.autodoc.SingledispatchMethodDocumenter``
    
    Features added
    --------------
    
    * 8100: html: Show a better error message for failures on copying
    html_static_files
    * 8141: C: added a ``maxdepth`` option to :rst:dir:`c:alias` to insert
    nested declarations.
    * 8081: LaTeX: Allow to add LaTeX package via ``app.add_latex_package()`` until
    just before writing .tex file
    * 7996: manpage: Add :confval:`man_make_section_directory` to make a section
    directory on build man page
    * 8289: epub: Allow to suppress &quot;duplicated ToC entry found&quot; warnings from epub
    builder using :confval:`suppress_warnings`.
    * 8298: sphinx-quickstart: Add :option:`sphinx-quickstart --no-sep` option
    * 8304: sphinx.testing: Register public markers in sphinx.testing.fixtures
    * 8051: napoleon: use the obj role for all See Also items
    * 8050: napoleon: Apply :confval:`napoleon_preprocess_types` to every field
    * C and C++, show line numbers for previous declarations when duplicates are
    detected.
    * 8183: Remove substitution_reference nodes from doctree only on LaTeX builds
    
    Bugs fixed
    ----------
    
    * 8085: i18n: Add support for having single text domain
    * 6640: i18n: Failed to override system message translation
    * 8143: autodoc: AttributeError is raised when False value is passed to
    autodoc_default_options
    * 8103: autodoc: functools.cached_property is not considered as a property
    * 8190: autodoc: parsing error is raised if some extension replaces docstring
    by string not ending with blank lines
    * 8142: autodoc: Wrong constructor signature for the class derived from
    typing.Generic
    * 8157: autodoc: TypeError is raised when annotation has invalid __args__
    * 7964: autodoc: Tuple in default value is wrongly rendered
    * 8200: autodoc: type aliases break type formatting of autoattribute
    * 7786: autodoc: can&#x27;t detect overloaded methods defined in other file
    * 8294: autodoc: single-string __slots__ is not handled correctly
    * 7785: autodoc: autodoc_typehints=&#x27;none&#x27; does not effect to overloaded functions
    * 8192: napoleon: description is disappeared when it contains inline literals
    * 8142: napoleon: Potential of regex denial of service in google style docs
    * 8169: LaTeX: pxjahyper loaded even when latex_engine is not platex
    * 8215: LaTeX: &#x27;oneside&#x27; classoption causes build warning
    * 8175: intersphinx: Potential of regex denial of service by broken inventory
    * 8277: sphinx-build: missing and redundant spacing (and etc) for console
    output on building
    * 7973: imgconverter: Check availability of imagemagick many times
    * 8255: py domain: number in default argument value is changed from hexadecimal
    to decimal
    * 8316: html: Prevent arrow keys changing page when button elements are focused
    * 8343: html search: Fix unnecessary load of images when parsing the document
    * 8254: html theme: Line numbers misalign with code lines
    * 8093: The highlight warning has wrong location in some builders (LaTeX,
    singlehtml and so on)
    * 8215: Eliminate Fancyhdr build warnings for oneside documents
    * 8239: Failed to refer a token in productionlist if it is indented
    * 8268: linkcheck: Report HTTP errors when ``linkcheck_anchors`` is ``True``
    * 8245: linkcheck: take source directory into account for local files
    * 8321: linkcheck: ``tel:`` schema hyperlinks are detected as errors
    * 8323: linkcheck: An exit status is incorrect when links having unsupported
    schema found
    * 8188: C, add missing items to internal object types dictionary,
    e.g., preventing intersphinx from resolving them.
    * C, fix anon objects in intersphinx.
    * 8270, C++, properly reject functions as duplicate declarations if a
    non-function declaration of the same name already exists.
    * C, fix references to function parameters.
    Link to the function instead of a non-existing anchor.
    * 6914: figure numbers are unexpectedly assigned to uncaptioned items
    * 8320: make &quot;inline&quot; line numbers un-selectable
    
    Testing
    --------
    
    * 8257: Support parallel build in sphinx.testing
    

    3.2.1

    =====================================
    
    Features added
    --------------
    
    * 8095: napoleon: Add :confval:`napoleon_preprocess_types` to enable the type
    preprocessor for numpy style docstrings
    * 8114: C and C++, parse function attributes after parameters and qualifiers.
    
    Bugs fixed
    ----------
    
    * 8074: napoleon: Crashes during processing C-ext module
    * 8088: napoleon: &quot;Inline literal start-string without end-string&quot; warning in
    Numpy style Parameters section
    * 8084: autodoc: KeyError is raised on documenting an attribute of the broken
    class
    * 8091: autodoc: AttributeError is raised on documenting an attribute on Python
    3.5.2
    * 8099: autodoc: NameError is raised when target code uses ``TYPE_CHECKING``
    * C++, fix parsing of template template parameters, broken by the fix of 7944
    

    3.2.0

    =====================================
    
    Deprecated
    ----------
    
    * ``sphinx.ext.autodoc.members_set_option()``
    * ``sphinx.ext.autodoc.merge_special_members_option()``
    * ``sphinx.writers.texinfo.TexinfoWriter.desc``
    * C, parsing of pre-v3 style type directives and roles, along with the options
    :confval:`c_allow_pre_v3` and :confval:`c_warn_on_allowed_pre_v3`.
    
    Features added
    --------------
    
    * 2076: autodoc: Allow overriding of exclude-members in skip-member function
    * 8034: autodoc: ``:private-member:`` can take an explicit list of member names
    to be documented
    * 2024: autosummary: Add :confval:`autosummary_filename_map` to avoid conflict
    of filenames between two object with different case
    * 8011: autosummary: Support instance attributes as a target of autosummary
    directive
    * 7849: html: Add :confval:`html_codeblock_linenos_style` to change the style
    of line numbers for code-blocks
    * 7853: C and C++, support parameterized GNU style attributes.
    * 7888: napoleon: Add aliases Warn and Raise.
    * 7690: napoleon: parse type strings and make them hyperlinks as possible.  The
    conversion rule can be updated via :confval:`napoleon_type_aliases`
    * 8049: napoleon: Create a hyperlink for each the type of parameter when
    :confval:`napoleon_use_params` is False
    * C, added :rst:dir:`c:alias` directive for inserting copies
    of existing declarations.
    * 7745: html: inventory is broken if the docname contains a space
    * 7991: html search: Allow searching for numbers
    * 7902: html theme: Add a new option :confval:`globaltoc_maxdepth` to control
    the behavior of globaltoc in sidebar
    * 7840: i18n: Optimize the dependencies check on bootstrap
    * 7768: i18n: :confval:`figure_language_filename` supports ``docpath`` token
    * 5208: linkcheck: Support checks for local links
    * 5090: setuptools: Link verbosity to distutils&#x27; -v and -q option
    * 6698: doctest: Add ``:trim-doctest-flags:`` and ``:no-trim-doctest-flags:``
    options to doctest, testcode and testoutput directives
    * 7052: add ``:noindexentry:`` to the Python, C, C++, and Javascript domains.
    Update the documentation to better reflect the relationship between this option
    and the ``:noindex:`` option.
    * 7899: C, add possibility of parsing of some pre-v3 style type directives and
    roles and try to convert them to equivalent v3 directives/roles.
    Set the new option :confval:`c_allow_pre_v3` to ``True`` to enable this.
    The warnings printed from this functionality can be suppressed by setting
    :confval:`c_warn_on_allowed_pre_v3`` to ``True``.
    The functionality is immediately deprecated.
    * 7999: C, add support for named variadic macro arguments.
    * 8071: Allow to suppress &quot;self referenced toctrees&quot; warning
    
    Bugs fixed
    ----------
    
    * 7886: autodoc: TypeError is raised on mocking generic-typed classes
    * 7935: autodoc: function signature is not shown when the function has a
    parameter having ``inspect._empty`` as its default value
    * 7901: autodoc: type annotations for overloaded functions are not resolved
    * 904: autodoc: An instance attribute cause a crash of autofunction directive
    * 1362: autodoc: ``private-members`` option does not work for class attributes
    * 7983: autodoc: Generator type annotation is wrongly rendered in py36
    * 8030: autodoc: An uninitialized annotated instance variable is not documented
    when ``:inherited-members:`` option given
    * 8032: autodoc: A type hint for the instance variable defined at parent class
    is not shown in the document of the derived class
    * 8041: autodoc: An annotated instance variable on super class is not
    documented when derived class has other annotated instance variables
    * 7839: autosummary: cannot handle umlauts in function names
    * 7865: autosummary: Failed to extract summary line when abbreviations found
    * 7866: autosummary: Failed to extract correct summary line when docstring
    contains a hyperlink target
    * 7469: autosummary: &quot;Module attributes&quot; header is not translatable
    * 7940: apidoc: An extra newline is generated at the end of the rst file if a
    module has submodules
    * 4258: napoleon: decorated special methods are not shown
    * 7799: napoleon: parameters are not escaped for combined params in numpydoc
    * 7780: napoleon: multiple parameters declaration in numpydoc was wrongly
    recognized when napoleon_use_params=True
    * 7715: LaTeX: ``numfig_secnum_depth &gt; 1`` leads to wrong figure links
    * 7846: html theme: XML-invalid files were generated
    * 7894: gettext: Wrong source info is shown when using rst_epilog
    * 7691: linkcheck: HEAD requests are not used for checking
    * 4888: i18n: Failed to add an explicit title to ``:ref:`` role on translation
    * 7928: py domain: failed to resolve a type annotation for the attribute
    * 8008: py domain: failed to parse a type annotation containing ellipsis
    * 7994: std domain: option directive does not generate old node_id compatible
    with 2.x or older
    * 7968: i18n: The content of ``math`` directive is interpreted as reST on
    translation
    * 7768: i18n: The ``root`` element for :confval:`figure_language_filename` is
    not a path that user specifies in the document
    * 7993: texinfo: TypeError is raised for nested object descriptions
    * 7993: texinfo: a warning not supporting desc_signature_line node is shown
    * 7869: :rst:role:`abbr` role without an explanation will show the explanation
    from the previous abbr role
    * 8048: graphviz: graphviz.css was copied on building non-HTML document
    * C and C++, removed ``noindex`` directive option as it did
    nothing.
    * 7619: Duplicated node IDs are generated if node has multiple IDs
    * 2050: Symbols sections are appeared twice in the index page
    * 8017: Fix circular import in sphinx.addnodes
    * 7986: CSS: make &quot;highlight&quot; selector more robust
    * 7944: C++, parse non-type template parameters starting with
    a dependent qualified name.
    * C, don&#x27;t deepcopy the entire symbol table and make a mess every time an
    enumerator is handled.
    

    3.1.2

    =====================================
    
    Incompatible changes
    --------------------
    
    * 7650: autodoc: the signature of base function will be shown for decorated
    functions, not a signature of decorator
    
    Bugs fixed
    ----------
    
    * 7844: autodoc: Failed to detect module when relative module name given
    * 7856: autodoc: AttributeError is raised when non-class object is given to
    the autoclass directive
    * 7850: autodoc: KeyError is raised for invalid mark up when autodoc_typehints
    is &#x27;description&#x27;
    * 7812: autodoc: crashed if the target name matches to both an attribute and
    module that are same name
    * 7650: autodoc: function signature becomes ``(*args, **kwargs)`` if the
    function is decorated by generic decorator
    * 7812: autosummary: generates broken stub files if the target code contains
    an attribute and module that are same name
    * 7806: viewcode: Failed to resolve viewcode references on 3rd party builders
    * 7838: html theme: List items have extra vertical space
    * 7878: html theme: Undesired interaction between &quot;overflow&quot; and &quot;float&quot;
    

    3.1.1

    =====================================
    
    Incompatible changes
    --------------------
    
    * 7808: napoleon: a type for attribute are represented as typed field
    
    Features added
    --------------
    
    * 7807: autodoc: Show detailed warning when type_comment is mismatched with its
    signature
    
    Bugs fixed
    ----------
    
    * 7808: autodoc: Warnings raised on variable and attribute type annotations
    * 7802: autodoc: EOFError is raised on parallel build
    * 7821: autodoc: TypeError is raised for overloaded C-ext function
    * 7805: autodoc: an object which descriptors returns is unexpectedly documented
    * 7807: autodoc: wrong signature is shown for the function using contextmanager
    * 7812: autosummary: generates broken stub files if the target code contains
    an attribute and module that ar
    opened by pyup-bot 1
  • Update sphinx to 5.2.3

    Update sphinx to 5.2.3

    This PR updates sphinx from 2.2.1 to 5.2.3.

    Changelog

    5.2.3

    =====================================
    
    * 10878: Fix base64 image embedding in ``sphinx.ext.imgmath``
    * 10886: Add ``:nocontentsentry:`` flag and global domain table of contents
    entry control option. Patch by Adam Turner
    

    5.2.2

    =====================================
    
    * 10872: Restore link targets for autodoc modules to the top of content.
    Patch by Dominic Davis-Foster.
    

    5.2.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10861: Always normalise the ``pycon3`` lexer to ``pycon``.
    * Fix using ``sphinx.ext.autosummary`` with modules containing titles in the
    module-level docstring.
    

    5.2.0.post0

    ===========================================
    
    * Recreated source tarballs for Debian maintainers.
    

    5.2.0

    =====================================
    
    Dependencies
    ------------
    
    * 10356: Sphinx now uses declarative metadata with ``pyproject.toml`` to
    create packages, using PyPA&#x27;s ``flit`` project as a build backend. Patch by
    Adam Turner.
    
    Deprecated
    ----------
    
    * 10843: Support for HTML 4 output. Patch by Adam Turner.
    
    Features added
    --------------
    
    * 10738: napoleon: Add support for docstring types using &#x27;of&#x27;, like
    ``type of type``. Example: ``tuple of int``.
    * 10286: C++, support requires clauses not just between the template
    parameter lists and the declaration.
    * 10755: linkcheck: Check the source URL of raw directives that use the ``url``
    option.
    * 10781: Allow :rst:role:`ref` role to be used with definitions and fields.
    * 10717: HTML Search: Increase priority for full title and
    subtitle matches in search results
    * 10718: HTML Search: Save search result score to the HTML element for debugging
    * 10673: Make toctree accept &#x27;genindex&#x27;, &#x27;modindex&#x27; and &#x27;search&#x27; docnames
    * 6316, 10804: Add domain objects to the table of contents. Patch by Adam Turner
    * 6692: HTML Search: Include explicit :rst:dir:`index` directive index entries
    in the search index and search results. Patch by Adam Turner
    * 10816: imgmath: Allow embedding images in HTML as base64
    * 10854: HTML Search: Use browser localstorage for highlight control, stop
    storing highlight parameters in URL query strings. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10723: LaTeX: 5.1.0 has made the &#x27;sphinxsetup&#x27; ``verbatimwithframe=false``
    become without effect.
    * 10257: C++, ensure consistent non-specialization template argument
    representation.
    * 10729: C++, fix parsing of certain non-type template parameter packs.
    * 10715: Revert 10520: &quot;Fix&quot; use of sidebar classes in ``agogo.css_t``
    

    5.1.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean``
    iterator implementation.
    * 10702: Restore compatability with third-party builders.
    

    5.1.0

    =====================================
    
    Dependencies
    ------------
    
    * 10656: Support `Docutils 0.19`_. Patch by Adam Turner.
    
    .. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05
    
    Deprecated
    ----------
    
    * 10467: Deprecated ``sphinx.util.stemmer`` in favour of ``snowballstemmer``.
    Patch by Adam Turner.
    * 9856: Deprecated ``sphinx.ext.napoleon.iterators``.
    
    Features added
    --------------
    
    * 10444: html theme: Allow specifying multiple CSS files through the ``stylesheet``
    setting in ``theme.conf`` or by setting ``html_style`` to an iterable of strings.
    * 10366: std domain: Add support for emphasising placeholders in :rst:dir:`option`
    directives through a new :confval:`option_emphasise_placeholders` configuration
    option.
    * 10439: std domain: Use the repr of some variables when displaying warnings,
    making whitespace issues easier to identify.
    * 10571: quickstart: Reduce content in the generated ``conf.py`` file. Patch by
    Pradyun Gedam.
    * 10648: LaTeX: CSS-named-alike additional :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;`
    keys allow to configure four separate border-widths, four paddings, four
    corner radii, a shadow (possibly inset), colours for border, background, shadow
    for each of the code-block, topic, attention, caution, danger, error and warning
    directives.
    * 10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
    * 10599: HTML Theme: Wrap consecutive footnotes in an ``&lt;aside&gt;`` element when
    using Docutils 0.18 or later, to allow for easier styling. This matches the
    behaviour introduced in Docutils 0.19. Patch by Adam Turner.
    * 10518: config: Add ``include_patterns`` as the opposite of ``exclude_patterns``.
    Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10594: HTML Theme: field term colons are doubled if using Docutils 0.18+
    * 10596: Build failure if Docutils version is 0.18 (not 0.18.1) due
    to missing ``Node.findall()``
    * 10506: LaTeX: build error if highlighting inline code role in figure caption
    (refs: 10251)
    * 10634: Make -P (pdb) option work better with exceptions triggered from events
    * 10550: py domain: Fix spurious whitespace in unparsing various operators (``+``,
    ``-``, ``~``, and ``**``). Patch by Adam Turner (refs: 10551).
    * 10460: logging: Always show node source locations as absolute paths.
    * HTML Search: HTML tags are displayed as a part of object name
    * HTML Search: search snipets should not be folded
    * HTML Search: Minor errors are emitted on fetching search snipets
    * HTML Search: The markers for header links are shown in the search result
    * 10520: HTML Theme: Fix use of sidebar classes in ``agogo.css_t``.
    * 6679: HTML Theme: Fix inclusion of hidden toctrees in the agogo theme.
    * 10566: HTML Theme: Fix enable_search_shortcuts does not work
    * 8686: LaTeX: Text can fall out of code-block at end of page and leave artifact
    on next page
    * 10633: LaTeX: user injected ``\color`` commands in topic or admonition boxes may
    cause color leaks in PDF due to upstream `framed.sty &lt;https://ctan.org/pkg/framed&gt;`_
    bug
    * 10638: LaTeX: framed coloured boxes in highlighted code (e.g. highlighted
    diffs using Pygments style ``&#x27;manni&#x27;``) inherit thickness of code-block frame
    * 10647: LaTeX: Only one ``\label`` is generated for ``desc_signature`` node
    even if it has multiple node IDs
    * 10579: i18n: UnboundLocalError is raised on translating raw directive
    * 9577, 10088: py domain: Fix warning for duplicate Python references when
    using ``:any:`` and autodoc.
    * 10548: HTML Search: fix minor summary issues.
    

    5.0.2

    =====================================
    
    Features added
    --------------
    
    * 10523: HTML Theme: Expose the Docutils&#x27;s version info tuple as a template
    variable, ``docutils_version_info``. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10538: autodoc: Inherited class attribute having docstring is documented even
    if :confval:`autodoc_inherit_docstring` is disabled
    * 10509: autosummary: autosummary fails with a shared library
    * 10497: py domain: Failed to resolve strings in Literal. Patch by Adam Turner.
    * 10523: HTML Theme: Fix double brackets on citation references in Docutils 0.18+.
    Patch by Adam Turner.
    * 10534: Missing CSS for nav.contents in Docutils 0.18+. Patch by Adam Turner.
    

    5.0.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10498: gettext: TypeError is raised when sorting warning messages if a node
    has no line number. Patch by Adam Turner.
    * 10493: HTML Theme: :rst:dir:`topic` directive is rendered incorrectly with
    Docutils 0.18. Patch by Adam Turner.
    * 10495: IndexError is raised for a :rst:role:`kbd` role having a separator.
    Patch by Adam Turner.
    

    5.0.0

    * 9575: autodoc: The annotation of return value should not be shown when
    ``autodoc_typehints=&quot;description&quot;``
    * 9648: autodoc: ``*args`` and ``**kwargs`` entries are duplicated when
    ``autodoc_typehints=&quot;description&quot;``
    * 8180: autodoc: Docstring metadata ignored for attributes
    * 10443: epub: EPUB builder can&#x27;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
    

    4.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`` and ``NO_COLOR`` for terminal colouring
    * 10234: autosummary: Add &quot;autosummary&quot; CSS class to summary tables
    * 10125: extlinks: Improve suggestion message for a reference having title
    * 10112: extlinks: Add :confval:`extlinks_detect_hardcoded_links` to enable
    hardcoded links detector feature
    * 9494, 9456: html search: Add a config variable
    :confval:`html_show_search_summary` to enable/disable the search summaries
    * 9337: HTML theme, add option ``enable_search_shortcuts`` that enables :kbd:`/` as
    a Quick search shortcut and :kbd:`Esc` shortcut that
    removes search highlighting.
    * 10107: i18n: Allow to suppress translation warnings by adding ``noqa``
    comment to the tail of each translation message
    * 10252: C++, support attributes on classes, unions, and enums.
    * 10253: :rst:role:`pep` role now generates URLs based on `peps.python.org
    &lt;https://peps.python.org&gt;`_
    
    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 support
    ``no-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. &quot;use&quot;)
    * 9529: LaTeX: named auto numbered footnote (ex. ``[named]``) that is referred
    multiple times was rendered to a question mark
    * 9924: LaTeX: multi-line :rst:dir:`cpp:function` directive has big vertical
    spacing in Latexpdf
    * 10158: LaTeX: excessive whitespace since v4.4.0 for undocumented
    variables/structure members 
    * 10175: LaTeX: named footnote reference is linked to an incorrect footnote if
    the name is also used in the different document
    * 10269: manpage: Failed to resolve the title of :rst:role:`ref` cross references
    * 10179: i18n: suppress &quot;rST localization&quot; 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
    

    4.4.0

    =====================================
    
    Dependencies
    ------------
    
    * 10007: Use ``importlib_metadata`` for python-3.9 or older
    * 10007: Drop ``setuptools``
    
    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`` -&gt; ``StringIO``)
    * 9831: Autosummary now documents only the members specified in a module&#x27;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: 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 &lt;kbd&gt; 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: &quot;Hide Search Matches&quot; link removes &quot;highlight&quot; 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 &quot;typing&quot; 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 = &#x27;separated&#x27;``
    * 9947: i18n: topic directive having a bullet list can&#x27;t be translatable
    * 9878: mathjax: MathJax configuration is placed after loading MathJax itself
    * 9932: napoleon: empty &quot;returns&quot; 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 &quot;data&quot; URIs
    * 9925: LaTeX: prohibit also with ``&#x27;xelatex&#x27;`` 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 &quot;typing&quot; 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
    

    4.3.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 9917: C and C++, parse fundamental types no matter the order of simple type
    specifiers.
    

    4.3.1

    =====================================
    
    Features added
    --------------
    
    * 9864: mathjax: Support chnaging the loading method of MathJax to &quot;defer&quot; 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 &quot;async&quot; method again
    

    4.3.0

    =====================================
    
    Dependencies
    ------------
    
    * Support Python 3.10
    
    Incompatible changes
    --------------------
    
    * 9649: ``searchindex.js``: the embedded data has changed format to allow
    objects with the same name in different domains.
    * 9672: The rendering of Python domain declarations is implemented
    with more docutils nodes to allow better CSS styling.
    It may break existing styling.
    * 9672: the signature of
    ``domains.python.PyObject.get_signature_prefix`` has changed to
    return a list of nodes instead of a plain string.
    * 9695: ``domains.js.JSObject.display_prefix`` has been changed into a method
    ``get_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 &quot;defer&quot; 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 &quot;fuzzy&quot;
    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 &quot;toctree contains reference to excluded document&quot;
    warnings using :confval:`suppress_warnings`
    
    Bugs fixed
    ----------
    
    * 9630: autodoc: Failed to build cross references if :confval:`primary_domain`
    is not &#x27;py&#x27;
    * 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 &quot;documented&quot; 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 &#x27;py&#x27;
    * 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 &quot;aggedright&quot; 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=&#x27;description&#x27;`
    * 9708: needs_extension failed to check double-digit version correctly
    * 9688: Fix Sphinx patched :dudir:`code` does not recognize ``:class:`` option
    * 9733: Fix for logging handler flushing warnings in the middle of the docs
    build
    * 9656: Fix warnings without subtype being incorrectly suppressed
    * Intersphinx, for unresolved references with an explicit inventory,
    e.g., ``proj:myFunc``, leave the inventory prefix in the unresolved text.
    

    4.2.0

    =====================================
    
    Features added
    --------------
    
    * 9445: autodoc: Support class properties
    * 9479: autodoc: Emit a warning if target is a mocked object
    * 9560: autodoc: Allow to refer NewType instances with module name in Python
    3.10 or above
    * 9447: html theme: Expose the version of Sphinx in the form of tuple as a
    template variable ``sphinx_version_tuple``
    * 9594: manpage: Suppress the title of man page if description is empty
    * 9445: py domain: :rst:dir:`py:property` directive supports ``:classmethod:``
    option to describe the class property
    * 9524: test: SphinxTestApp can take ``builddir`` as an argument
    * 9535: C and C++, support more fundamental types, including GNU extensions.
    
    Bugs fixed
    ----------
    
    * 9608: apidoc: apidoc does not generate a module definition for implicit
    namespace package
    * 9504: autodoc: generate incorrect reference to the parent class if the target
    class inherites the class having ``_name`` attribute
    * 9537, 9589: autodoc: Some objects under ``typing`` module are not displayed
    well with the HEAD of 3.10
    * 9487: autodoc: typehint for cached_property is not shown
    * 9509: autodoc: AttributeError is raised on failed resolving typehints
    * 9518: autodoc: autodoc_docstring_signature does not effect to ``__init__()``
    and ``__new__()``
    * 9522: autodoc: PEP 585 style typehints having arguments (ex. ``list[int]``)
    are not displayed well
    * 9481: autosummary: some warnings contain non-existing filenames
    * 9568: autosummary: summarise overlined sectioned headings correctly
    * 9600: autosummary: Type annotations which contain commas in autosummary table
    are not removed completely
    * 9481: c domain: some warnings contain non-existing filenames
    * 9481: cpp domain: some warnings contain non-existing filenames
    * 9456: html search: abbreation marks are inserted to the search result if
    failed to fetch the content of the page
    * 9617: html search: The JS requirement warning is shown if browser is slow
    * 9267: html theme: CSS and JS files added by theme were loaded twice
    * 9585: py domain: ``:type:`` option for :rst:dir:`py:property` directive does
    not create a hyperlink
    * 9576: py domain: Literal typehint was converted to a cross reference
    * 9535 comment: C++, fix parsing of defaulted function parameters that are
    function pointers.
    * 9564: smartquotes: don&#x27;t adjust typography for text with
    language-highlighted ``:code:`` role.
    * 9512: sphinx-build: crashed with the HEAD of Python 3.10
    

    4.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 = &quot;separated&quot;``
    * 9456: html search: html_copy_source can&#x27;t control the search summaries
    * 9500: LaTeX: Failed to build Japanese document on Windows
    * 9435: linkcheck: Failed to check anchors in github.com
    

    4.1.1

    =====================================
    
    Dependencies
    ------------
    
    * 9434: sphinxcontrib-htmlhelp-2.0.0 or above
    * 9434: sphinxcontrib-serializinghtml-1.1.5 or above
    
    Bugs fixed
    ----------
    
    * 9438: html: HTML logo or Favicon specified as file not being found on output
    

    4.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: 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 like
    ``foo.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 ``&#x27;both&#x27;`` 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=&#x27;none&#x27;`` now erases typehints for
    variables, attributes and properties
    * 3257: autosummary: Support instance attributes for classes
    * 9358: html: Add &quot;heading&quot; 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 &quot;working&quot;
    * 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 via
    ``Sphinx.registry.html_assets_policy``
    * C++, add support for
    
    - ``inline`` variables,
    - ``consteval`` functions,
    - ``constinit`` variables,
    - ``char8_t``,
    - ``explicit(&lt;constant expression&gt;)`` specifier,
    - digit separators in literals, and
    - constraints in placeholder type specifiers, aka. adjective syntax
     (e.g., ``Sortable auto &amp;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&#x27;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: &quot;exceptions&quot; 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.
    

    4.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
    

    4.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
    

    4.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 &quot;more than one target for
    cross-reference&quot; warning
    * 9201: websupport: UndefinedError is raised: &#x27;css_tag&#x27; is undefined
    

    4.0.0

    =====================================
    
    Dependencies
    ------------
    

    4.0.0b3

    * 9167: html: Failed to add CSS files to the specific page
    

    4.0.0b2

    * C, C++, fix ``KeyError`` when an ``alias`` directive is the first C/C++
    directive in a file with another C/C++ directive later.
    

    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=&quot;&quot; are ignored
    * 8380: html search: Paragraphs in search results are not identified as ``&lt;p&gt;``
    * 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 ``&#x27;pdflatex&#x27;/&#x27;lualatex&#x27;`` 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: &quot;release&quot; 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.
    

    3.5.5

    ==============================
    

    3.5.4

    =====================================
    
    Dependencies
    ------------
    
    * 9071: Restrict docutils to 0.16
    
    Bugs fixed
    ----------
    
    * 9078: autodoc: Async staticmethods and classmethods are considered as non
    async coroutine-functions with Python3.10
    * 8870, 9001, 9051: html theme: The style are not applied with docutils-0.17
    
    - toctree captions
    - The content of ``sidebar`` directive
    - figures
    

    3.5.3

    =====================================
    
    Features added
    --------------
    
    * 8959: using UNIX path separator in image directive confuses Sphinx on Windows
    

    3.5.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8943: i18n: Crashed by broken translation messages in ES, EL and HR
    * 8936: LaTeX: A custom LaTeX builder fails with unknown node error
    * 8952: Exceptions raised in a Directive cause parallel builds to hang
    

    3.5.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8883: autodoc: AttributeError is raised on assigning __annotations__ on
    read-only class
    * 8884: html: minified js stemmers not included in the distributed package
    * 8885: html: AttributeError is raised if CSS/JS files are installed via
    :confval:`html_context`
    * 8880: viewcode: ExtensionError is raised on incremental build after
    unparsable python module found
    

    3.5.0

    =====================================
    
    Dependencies
    ------------
    
    * LaTeX: ``multicol`` (it is anyhow a required part of the official latex2e
    base distribution)
    
    Incompatible changes
    --------------------
    
    * Update Underscore.js to 1.12.0
    * 6550: html: The config variable ``html_add_permalinks`` is replaced by
    :confval:`html_permalinks` and :confval:`html_permalinks_icon`
    
    Deprecated
    ----------
    
    * pending_xref node for viewcode extension
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.anchors_ignore``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.auth``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.broken``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.good``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.redirected``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.rqueue``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.to_ignore``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.workers``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.wqueue``
    * ``sphinx.builders.linkcheck.node_line_or_0()``
    * ``sphinx.ext.autodoc.AttributeDocumenter.isinstanceattribute()``
    * ``sphinx.ext.autodoc.directive.DocumenterBridge.reporter``
    * ``sphinx.ext.autodoc.importer.get_module_members()``
    * ``sphinx.ext.autosummary.generate._simple_info()``
    * ``sphinx.ext.autosummary.generate._simple_warn()``
    * ``sphinx.writers.html.HTMLTranslator.permalink_text``
    * ``sphinx.writers.html5.HTML5Translator.permalink_text``
    
    Features added
    --------------
    
    * 8022: autodoc: autodata and autoattribute directives does not show right-hand
    value of the variable if docstring contains ``:meta hide-value:`` in
    info-field-list
    * 8514: autodoc: Default values of overloaded functions are taken from actual
    implementation if they&#x27;re ellipsis
    * 8775: autodoc: Support type union operator (PEP-604) in Python 3.10 or above
    * 8297: autodoc: Allow to extend :confval:`autodoc_default_options` via
    directive options
    * 759: autodoc: Add a new configuration :confval:`autodoc_preserve_defaults` as
    an experimental feature.  It preserves the default argument values of
    functions in source code and keep them not evaluated for readability.
    * 8619: html: kbd role generates customizable HTML tags for compound keys
    * 8634: html: Allow to change the order of JS/CSS via ``priority`` parameter
    for :meth:`Sphinx.add_js_file()` and :meth:`Sphinx.add_css_file()`
    * 6241: html: Allow to add JS/CSS files to the specific page when an extension
    calls ``app.add_js_file()`` or ``app.add_css_file()`` on
    :event:`html-page-context` event
    * 6550: html: Allow to use HTML permalink texts via
    :confval:`html_permalinks_icon`
    * 1638: html: Add permalink icons to glossary terms
    * 8868: html search: performance issue with massive lists
    * 8867: html search: Update JavaScript stemmer code to the latest version of
    Snowball (v2.1.0)
    * 8852: i18n: Allow to translate heading syntax in MyST-Parser
    * 8649: imgconverter: Skip availability check if builder supports the image
    type
    * 8573: napoleon: Allow to change the style of custom sections using
    :confval:`napoleon_custom_styles`
    * 8004: napoleon: Type definitions in Google style docstrings are rendered as
    references when :confval:`napoleon_preprocess_types` enabled
    * 6241: mathjax: Include mathjax.js only on the document using equations
    * 8775: py domain: Support type union operator (PEP-604)
    * 8651: std domain: cross-reference for a rubric having inline item is broken
    * 7642: std domain: Optimize case-insensitive match of term
    * 8681: viewcode: Support incremental build
    * 8132: Add :confval:`project_copyright` as an alias of :confval:`copyright`
    * 207: Now :confval:`highlight_language` supports multiple languages
    * 2030: :rst:dir:`code-block` and :rst:dir:`literalinclude` supports automatic
    dedent via no-argument ``:dedent:`` option
    * C++, also hyperlink operator overloads in expressions and alias declarations.
    * 8247: Allow production lists to refer to tokens from other production groups
    * 8813: Show what extension (or module) caused it on errors on event handler
    * 8213: C++: add ``maxdepth`` option to :rst:dir:`cpp:alias` to insert nested
    declarations.
    * C, add ``noroot`` option to :rst:dir:`c:alias` to render only nested
    declarations.
    * C++, add ``noroot`` option to :rst:dir:`cpp:alias` to render only nested
    declarations.
    
    Bugs fixed
    ----------
    
    * 8727: apidoc: namespace module file is not generated if no submodules there
    * 741: autodoc: inherited-members doesn&#x27;t work for instance attributes on super
    class
    * 8592: autodoc: ``:meta public:`` does not effect to variables
    * 8594: autodoc: empty __all__ attribute is ignored
    * 8315: autodoc: Failed to resolve struct.Struct type annotation
    * 8652: autodoc: All variable comments in the module are ignored if the module
    contains invalid type comments
    * 8693: autodoc: Default values for overloaded functions are rendered as string
    * 8134: autodoc: crashes when mocked decorator takes arguments
    * 8800: autodoc: Uninitialized attributes in superclass are recognized as
    undocumented
    * 8655: autodoc: Failed to generate document if target module contains an
    object that raises an exception on ``hasattr()``
    * 8306: autosummary: mocked modules are documented as empty page when using
    :recursive: option
    * 8232: graphviz: Image node is not rendered if graph file is in subdirectory
    * 8618: html: kbd role produces incorrect HTML when compound-key separators (-,
    + or ^) are used as keystrokes
    * 8629: html: A type warning for html_use_opensearch is shown twice
    * 8714: html: kbd role with &quot;Caps Lock&quot; rendered incorrectly
    * 8123: html search: fix searching for terms containing + (Requires a custom
    search language that does not split on +)
    * 8665: html theme: Could not override globaltoc_maxdepth in theme.conf
    * 8446: html: consecutive spaces are displayed as single space
    * 8745: i18n: crashes with KeyError when translation message adds a new auto
    footnote reference
    * 4304: linkcheck: Fix race condition that could lead to checking the
    availability of the same URL twice
    * 8791: linkcheck: The docname for each hyperlink is not displayed
    * 7118: sphinx-quickstart: questionare got Mojibake if libreadline unavailable
    * 8094: texinfo: image files on the different directory with document are not
    copied
    * 8782: todo: Cross references in todolist get broken
    * 8720: viewcode: module pages are generated for epub on incremental build
    * 8704: viewcode: anchors are generated in incremental build after singlehtml
    * 8756: viewcode: highlighted code is generated even if not referenced
    * 8671: :confval:`highlight_options` is not working
    * 8341: C, fix intersphinx lookup types for names in declarations.
    * C, C++: in general fix intersphinx and role lookup types.
    * 8683: :confval:`html_last_updated_fmt` does not support UTC offset (%z)
    * 8683: :confval:`html_last_updated_fmt` generates wrong time zone for %Z
    * 1112: ``download`` role creates duplicated copies when relative path is
    specified
    * 2616 (fifth item): LaTeX: footnotes from captions are not clickable,
    and for manually numbered footnotes only first one with same number is
    an hyperlink
    * 7576: LaTeX with French babel and memoir crash: &quot;Illegal parameter number
    in definition of ``\FNHprefntext``&quot;
    * 8055: LaTeX (docs): A potential display bug with the LaTeX generation step
    in Sphinx (how to generate one-column index)
    * 8072: LaTeX: Directive :rst:dir:`hlist` not implemented in LaTeX
    * 8214: LaTeX: The :rst:role:`index` role and the glossary generate duplicate
    entries in the LaTeX index (if both used for same term)
    * 8735: LaTeX: wrong internal links in pdf to captioned code-blocks when
    :confval:`numfig` is not True
    * 8442: LaTeX: some indexed terms are ignored when using xelatex engine
    (or pdflatex and :confval:`latex_use_xindy` set to True) with memoir class
    * 8750: LaTeX: URLs as footnotes fail to show in PDF if originating from
    inside function type signatures
    * 8780: LaTeX: long words in narrow columns may not be hyphenated
    * 8788: LaTeX: ``\titleformat`` last argument in sphinx.sty should be
    bracketed, not braced (and is anyhow not needed) 
    * 8849: LaTex: code-block printed out of margin (see the opt-in LaTeX syntax
    boolean :ref:`verbatimforcewraps &lt;latexsphinxsetupforcewraps&gt;` for use via
    the :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;` key of ``latex_elements``)
    * 8183: LaTeX: Remove substitution_reference nodes from doctree only on LaTeX
    builds
    * 8865: LaTeX: Restructure the index nodes inside title nodes only on LaTeX
    builds
    * 8796: LaTeX: potentially critical low level TeX coding mistake has gone
    unnoticed so far
    * C, :rst:dir:`c:alias` skip symbols without explicit declarations
    instead of crashing.
    * C, :rst:dir:`c:alias` give a warning when the root symbol is not declared.
    * C, ``expr`` role should start symbol lookup in the current scope.
    

    3.4.3

    =====================================
    
    Bugs fixed
    ----------
    
    * 8655: autodoc: Failed to generate document if target module contains an
    object that raises an exception on ``hasattr()``
    

    3.4.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8164: autodoc: Classes that inherit mocked class are not documented
    * 8602: autodoc: The ``autodoc-process-docstring`` event is emitted to the
    non-datadescriptors unexpectedly
    * 8616: autodoc: AttributeError is raised on non-class object is passed to
    autoclass directive
    

    3.4.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8559: autodoc: AttributeError is raised when using forward-reference type
    annotations
    * 8568: autodoc: TypeError is raised on checking slots attribute
    * 8567: autodoc: Instance attributes are incorrectly added to Parent class
    * 8566: autodoc: The ``autodoc-process-docstring`` event is emitted to the
    alias classes unexpectedly
    * 8583: autodoc: Unnecessary object comparison via ``__eq__`` method
    * 8565: linkcheck: Fix PriorityQueue crash when link tuples are not
    comparable
    

    3.4.0

    =====================================
    
    Incompatible changes
    --------------------
    
    * 8105: autodoc: the signature of class constructor will be shown for decorated
    classes, not a signature of decorator
    
    Deprecated
    ----------
    
    * The ``follow_wrapped`` argument of ``sphinx.util.inspect.signature()``
    * The ``no_docstring`` argument of
    ``sphinx.ext.autodoc.Documenter.add_content()``
    * ``sphinx.ext.autodoc.Documenter.get_object_members()``
    * ``sphinx.ext.autodoc.DataDeclarationDocumenter``
    * ``sphinx.ext.autodoc.GenericAliasDocumenter``
    * ``sphinx.ext.autodoc.InstanceAttributeDocumenter``
    * ``sphinx.ext.autodoc.SlotsAttributeDocumenter``
    * ``sphinx.ext.autodoc.TypeVarDocumenter``
    * ``sphinx.ext.autodoc.importer._getannotations()``
    * ``sphinx.ext.autodoc.importer._getmro()``
    * ``sphinx.pycode.ModuleAnalyzer.parse()``
    * ``sphinx.util.osutil.movefile()``
    * ``sphinx.util.requests.is_ssl_error()``
    
    Features added
    --------------
    
    * 8119: autodoc: Allow to determine whether a member not included in
    ``__all__`` attribute of the module should be documented or not via
    :event:`autodoc-skip-member` event
    * 8219: autodoc: Parameters for generic class are not shown when super class is
    a generic class and show-inheritance option is given (in Python 3.7 or above)
    * autodoc: Add ``Documenter.config`` as a shortcut to access the config object
    * autodoc: Add Optional[t] to annotation of function and method if a default
    value equal to None is set.
    * 8209: autodoc: Add ``:no-value:`` option to :rst:dir:`autoattribute` and
    :rst:dir:`autodata` directive to suppress the default value of the variable
    * 8460: autodoc: Support custom types defined by typing.NewType
    * 8285: napoleon: Add :confval:`napoleon_attr_annotations` to merge type hints
    on source code automatically if any type is specified in docstring
    * 8236: napoleon: Support numpydoc&#x27;s &quot;Receives&quot; section
    * 6914: Add a new event :event:`warn-missing-reference` to custom warning
    messages when failed to resolve a cross-reference
    * 6914: Emit a detailed warning when failed to resolve a ``:ref:`` reference
    * 6629: linkcheck: The builder now handles rate limits. See
    :confval:`linkcheck_retry_on_rate_limit` for details.
    
    Bugs fixed
    ----------
    
    * 7613: autodoc: autodoc does not respect __signature__ of the class
    * 4606: autodoc: the location of the warning is incorrect for inherited method
    * 8105: autodoc: the signature of class constructor is incorrect if the class
    is decorated
    * 8434: autodoc: :confval:`autodoc_type_aliases` does not effect to variables
    and attributes
    * 8443: autodoc: autodata directive can&#x27;t create document for PEP-526 based
    type annotated variables
    * 8443: autodoc: autoattribute directive can&#x27;t create document for PEP-526
    based uninitialized variables
    * 8480: autodoc: autoattribute could not create document for __slots__
    attributes
    * 8503: autodoc: autoattribute could not create document for a GenericAlias as
    class attributes correctly
    * 8534: autodoc: autoattribute could not create document for a commented
    attribute in alias class
    * 8452: autodoc: autodoc_type_aliases doesn&#x27;t work when autodoc_typehints is
    set to &quot;description&quot;
    * 8541: autodoc: autodoc_type_aliases doesn&#x27;t work for the type annotation to
    instance attributes
    * 8460: autodoc: autodata and autoattribute directives do not display type
    information of TypeVars
    * 8493: autodoc: references to builtins not working in class aliases
    * 8522: autodoc:  ``__bool__`` method could be called
    * 8067: autodoc: A typehint for the instance variable having type_comment on
    super class is not displayed
    * 8545: autodoc: a __slots__ attribute is not documented even having docstring
    * 741: autodoc: inherited-members doesn&#x27;t work for instance attributes on super
    class
    * 8477: autosummary: non utf-8 reST files are generated when template contains
    multibyte characters
    * 8501: autosummary: summary extraction splits text after &quot;el at.&quot; unexpectedly
    * 8524: html: Wrong url_root has been generated on a document named &quot;index&quot;
    * 8419: html search: Do not load ``language_data.js`` in non-search pages
    * 8549: i18n: ``-D gettext_compact=0`` is no longer working
    * 8454: graphviz: The layout option for graph and digraph directives don&#x27;t work
    * 8131: linkcheck: Use GET when HEAD requests cause Too Many Redirects, to
    accommodate infinite redirect loops on HEAD
    * 8437: Makefile: ``make clean`` with empty BUILDDIR is dangerous
    * 8365: py domain: ``:type:`` and ``:rtype:`` gives false ambiguous class
    lookup warnings
    * 8352: std domain: Failed to parse an option that starts with bracket
    * 8519: LaTeX: Prevent page brake in the middle of a seealso
    * 8520: C, fix copying of AliasNode.
    

    3.3.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8372: autodoc: autoclass directive became slower than Sphinx-3.2
    * 7727: autosummary: raise PycodeError when documenting python package
    without __init__.py
    * 8350: autosummary: autosummary_mock_imports causes slow down builds
    * 8364: C, properly initialize attributes in empty symbols.
    * 8399: i18n: Put system locale path after the paths specified by configuration
    

    3.3.0

    =====================================
    
    Deprecated
    ----------
    
    * ``sphinx.builders.latex.LaTeXBuilder.usepackages``
    * ``sphinx.builders.latex.LaTeXBuilder.usepackages_afger_hyperref``
    * ``sphinx.ext.autodoc.SingledispatchFunctionDocumenter``
    * ``sphinx.ext.autodoc.SingledispatchMethodDocumenter``
    
    Features added
    --------------
    
    * 8100: html: Show a better error message for failures on copying
    html_static_files
    * 8141: C: added a ``maxdepth`` option to :rst:dir:`c:alias` to insert
    nested declarations.
    * 8081: LaTeX: Allow to add LaTeX package via ``app.add_latex_package()`` until
    just before writing .tex file
    * 7996: manpage: Add :confval:`man_make_section_directory` to make a section
    directory on build man page
    * 8289: epub: Allow to suppress &quot;duplicated ToC entry found&quot; warnings from epub
    builder using :confval:`suppress_warnings`.
    * 8298: sphinx-quickstart: Add :option:`sphinx-quickstart --no-sep` option
    * 8304: sphinx.testing: Register public markers in sphinx.testing.fixtures
    * 8051: napoleon: use the obj role for all See Also items
    * 8050: napoleon: Apply :confval:`napoleon_preprocess_types` to every field
    * C and C++, show line numbers for previous declarations when duplicates are
    detected.
    * 8183: Remove substitution_reference nodes from doctree only on LaTeX builds
    
    Bugs fixed
    ----------
    
    * 8085: i18n: Add support for having single text domain
    * 6640: i18n: Failed to override system message translation
    * 8143: autodoc: AttributeError is raised when False value is passed to
    autodoc_default_options
    * 8103: autodoc: functools.cached_property is not considered as a property
    * 8190: autodoc: parsing error is raised if some extension replaces docstring
    by string not ending with blank lines
    * 8142: autodoc: Wrong constructor signature for the class derived from
    typing.Generic
    * 8157: autodoc: TypeError is raised when annotation has invalid __args__
    * 7964: autodoc: Tuple in default value is wrongly rendered
    * 8200: autodoc: type aliases break type formatting of autoattribute
    * 7786: autodoc: can&#x27;t detect overloaded methods defined in other file
    * 8294: autodoc: single-string __slots__ is not handled correctly
    * 7785: autodoc: autodoc_typehints=&#x27;none&#x27; does not effect to overloaded functions
    * 8192: napoleon: description is disappeared when it contains inline literals
    * 8142: napoleon: Potential of regex denial of service in google style docs
    * 8169: LaTeX: pxjahyper loaded even when latex_engine is not platex
    * 8215: LaTeX: &#x27;oneside&#x27; classoption causes build warning
    * 8175: intersphinx: Potential of regex denial of service by broken inventory
    * 8277: sphinx-build: missing and redundant spacing (and etc) for console
    output on building
    * 7973: imgconverter: Check availability of imagemagick many times
    * 8255: py domain: number in default argument value is changed from hexadecimal
    to decimal
    * 8316: html: Prevent arrow keys changing page when button elements are focused
    * 8343: html search: Fix unnecessary load of images when parsing the document
    * 8254: html theme: Line numbers misalign with code lines
    * 8093: The highlight warning has wrong location in some builders (LaTeX,
    singlehtml and so on)
    * 8215: Eliminate Fancyhdr build warnings for oneside documents
    * 8239: Failed to refer a token in productionlist if it is indented
    * 8268: linkcheck: Report HTTP errors when ``linkcheck_anchors`` is ``True``
    * 8245: linkcheck: take source directory into account for local files
    * 8321: linkcheck: ``tel:`` schema hyperlinks are detected as errors
    * 8323: linkcheck: An exit status is incorrect when links having unsupported
    schema found
    * 8188: C, add missing items to internal object types dictionary,
    e.g., preventing intersphinx from resolving them.
    * C, fix anon objects in intersphinx.
    * 8270, C++, properly reject functions as duplicate declarations if a
    non-function declaration of the same name already exists.
    * C, fix references to function parameters.
    Link to the function instead of a non-existing anchor.
    * 6914: figure numbers are unexpectedly assigned to uncaptioned items
    * 8320: make &quot;inline&quot; line numbers un-selectable
    
    Testing
    --------
    
    * 8257: Support parallel build in sphinx.testing
    

    3.2.1

    =====================================
    
    Features added
    --------------
    
    * 8095: napoleon: Add :confval:`napoleon_preprocess_types` to enable the type
    preprocessor for numpy style docstrings
    * 8114: C and C++, parse function attributes after parameters and qualifiers.
    
    Bugs fixed
    ----------
    
    * 8074: napoleon: Crashes during processing C-ext module
    * 8088: napoleon: &quot;Inline literal start-string without end-string&quot; warning in
    Numpy style Parameters section
    * 8084: autodoc: KeyError is raised on documenting an attribute of the broken
    class
    * 8091: autodoc: AttributeError is raised on documenting an attribute on Python
    3.5.2
    * 8099: autodoc: NameError is raised when target code uses ``TYPE_CHECKING``
    * C++, fix parsing of template template parameters, broken by the fix of 7944
    

    3.2.0

    =====================================
    
    Deprecated
    ----------
    
    * ``sphinx.ext.autodoc.members_set_option()``
    * ``sphinx.ext.autodoc.merge_special_members_option()``
    * ``sphinx.writers.texinfo.TexinfoWriter.desc``
    * C, parsing of pre-v3 style type directives and roles, along with the options
    :confval:`c_allow_pre_v3` and :confval:`c_warn_on_allowed_pre_v3`.
    
    Features added
    --------------
    
    * 2076: autodoc: Allow overriding of exclude-members in skip-member function
    * 8034: autodoc: ``:private-member:`` can take an explicit list of member names
    to be documented
    * 2024: autosummary: Add :confval:`autosummary_filename_map` to avoid conflict
    of filenames between two object with different case
    * 8011: autosummary: Support instance attributes as a target of autosummary
    directive
    * 7849: html: Add :confval:`html_codeblock_linenos_style` to change the style
    of line numbers for code-blocks
    * 7853: C and C++, support parameterized GNU style attributes.
    * 7888: napoleon: Add aliases Warn and Raise.
    * 7690: napoleon: parse type strings and make them hyperlinks as possible.  The
    conversion rule can be updated via :confval:`napoleon_type_aliases`
    * 8049: napoleon: Create a hyperlink for each the type of parameter when
    :confval:`napoleon_use_params` is False
    * C, added :rst:dir:`c:alias` directive for inserting copies
    of existing declarations.
    * 7745: html: inventory is broken if the docname contains a space
    * 7991: html search: Allow searching for numbers
    * 7902: html theme: Add a new option :confval:`globaltoc_maxdepth` to control
    the behavior of globaltoc in sidebar
    * 7840: i18n: Optimize the dependencies check on bootstrap
    * 7768: i18n: :confval:`figure_language_filename` supports ``docpath`` token
    * 5208: linkcheck: Support checks for local links
    * 5090: setuptools: Link verbosity to distutils&#x27; -v and -q option
    * 6698: doctest: Add ``:trim-doctest-flags:`` and ``:no-trim-doctest-flags:``
    options to doctest, testcode and testoutput directives
    * 7052: add ``:noindexentry:`` to the Python, C, C++, and Javascript domains.
    Update the documentation to better reflect the relationship between this option
    and the ``:noindex:`` option.
    * 7899: C, add possibility of parsing of some pre-v3 style type directives and
    roles and try to convert them to equivalent v3 directives/roles.
    Set the new option :confval:`c_allow_pre_v3` to ``True`` to enable this.
    The warnings printed from this functionality can be suppressed by setting
    :confval:`c_warn_on_allowed_pre_v3`` to ``True``.
    The functionality is immediately deprecated.
    * 7999: C, add support for named variadic macro arguments.
    * 8071: Allow to suppress &quot;self referenced toctrees&quot; warning
    
    Bugs fixed
    ----------
    
    * 7886: autodoc: TypeError is raised on mocking generic-typed classes
    * 7935: autodoc: function signature is not shown when the function has a
    parameter having ``inspect._empty`` as its default value
    * 7901: autodoc: type annotations for overloaded functions are not resolved
    * 904: autodoc: An instance attribute cause a crash of autofunction directive
    * 1362: autodoc: ``private-members`` option does not work for class attributes
    * 7983: autodoc: Generator type annotation is wrongly rendered in py36
    * 8030: autodoc: An uninitialized annotated instance variable is not documented
    when ``:inherited-members:`` option given
    * 8032: autodoc: A type hint for the instance variable defined at parent class
    is not shown in the document of the derived class
    * 8041: autodoc: An annotated instance variable on super class is not
    documented when derived class has other annotated instance variables
    * 7839: autosummary: cannot handle umlauts in function names
    * 7865: autosummary: Failed to extract summary line when abbreviations found
    * 7866: autosummary: Failed to extract correct summary line when docstring
    contains a hyperlink target
    * 7469: autosummary: &quot;Module attributes&quot; header is not translatable
    * 7940: apidoc: An extra newline is generated at the end of the rst file if a
    module has submodules
    * 4258: napoleon: decorated special methods are not shown
    * 7799: napoleon: parameters are not escaped for combined params in numpydoc
    * 7780: napoleon: multiple parameters declaration in numpydoc was wrongly
    recognized when napoleon_use_params=True
    * 7715: LaTeX: ``numfig_secnum_depth &gt; 1`` leads to wrong figure links
    * 7846: html theme: XML-invalid files were generated
    * 7894: gettext: Wrong source info is shown when using rst_epilog
    * 7691: linkcheck: HEAD requests are not used for checking
    * 4888: i18n: Failed to add an explicit title to ``:ref:`` role on translation
    * 7928: py domain: failed to resolve a type annotation for the attribute
    * 8008: py domain: failed to parse a type annotation containing ellipsis
    * 7994: std domain: option directive does not generate old node_id compatible
    with 2.x or older
    * 7968: i18n: The content of ``math`` directive is interpreted as reST on
    translation
    * 7768: i18n: The ``root`` element for :confval:`figure_language_filename` is
    not a path that user specifies in the document
    * 7993: texinfo: TypeError is raised for nested object descriptions
    * 7993: texinfo: a warning not supporting desc_signature_line node is shown
    * 7869: :rst:role:`abbr` role without an explanation will show the explanation
    from the previous abbr role
    * 8048: graphviz: graphviz.css was copied on building non-HTML document
    * C and C++, removed ``noindex`` directive option as it did
    nothing.
    * 7619: Duplicated node IDs are generated if node has multiple IDs
    * 2050: Symbols sections are appeared twice in the index page
    * 8017: Fix circular import in sphinx.addnodes
    * 7986: CSS: make &quot;highlight&quot; selector more robust
    * 7944: C++, parse non-type template parameters starting with
    a dependent qualified name.
    * C, don&#x27;t deepcopy the entire symbol table and make a mess every time an
    enumerator is handled.
    

    3.1.2

    =====================================
    
    Incompatible changes
    --------------------
    
    * 7650: autodoc: the signature of base function will be shown for decorated
    functions, not a signature of decorator
    
    Bugs fixed
    ----------
    
    * 7844: autodoc: Failed to detect module when relative module name given
    * 7856: autodoc: AttributeError is raised when non-class object is given to
    the autoclass directive
    * 7850: autodoc: KeyError is raised for invalid mark up when autodoc_typehints
    is &#x27;description&#x27;
    * 7812: autodoc: crashed if the target name matches to both an attribute and
    module that are same name
    * 7650: autodoc: function signature becomes ``(*args, **kwargs)`` if the
    function is decorated by generic decorator
    * 7812: autosummary: generates broken stub files if the target code contains
    an attribute and module that are same name
    * 7806: viewcode: Failed to resolve viewcode references on 3rd party builders
    * 7838: html theme: List items have extra vertical space
    * 7878: html theme: Undesired interaction between &quot;overflow&quot; and &quot;float&quot;
    

    3.1.1

    =====================================
    
    Incompatible changes
    --------------------
    
    * 7808: napoleon: a type for attribute are represented as typed field
    
    Features added
    --------------
    
    * 7807: autodoc: Show detailed warning when type_comment is mismatched with its
    signature
    
    Bugs fixed
    ----------
    
    * 7808: autodoc: Warnings raised on variable and attribute type annotations
    * 7802: autodoc: EOFError is raised on parallel build
    * 7821: autodoc: TypeError is raised for overloaded C-ext function
    * 7805: autodoc: an object which descriptors returns is unexpectedly documented
    * 7807: autodoc: wrong signature is shown for the function using contextmanager
    * 7812: autosummary: generates broken stub files if the target code contains
    an attribute and module that are same name
    * 7808: napoleon: Warnings raised on variable and attribute type annotations
    * 7811: sphinx.util.inspect causes circular import problem
    

    3.1.0

    =====================================
    
    Dependencies
    ------------
    
    * 7746: mathjax: Update to 2.7.5
    
    Incompatible changes
    --------------------
    
    * 7477: imgconverter: Invoke &quot;magick convert&quot; command by default on Windows
    
    Deprecated
    ----------
    
    * The first argument for sphinx.ext.autosummary.generate.AutosummaryRenderer has
    been changed to Sphinx object
    * ``sphinx.ext.autosummary.generate.AutosummaryRenderer`` takes an object type
    as an argument
    * The ``ignore`` argument of ``sphinx.ext.autodoc.Documenter.get_doc()``
    * The ``template_dir`` argument of ``sphinx.ext.autosummary.g
    opened by pyup-bot 1
  • Update sphinx to 5.2.1

    Update sphinx to 5.2.1

    This PR updates sphinx from 2.2.1 to 5.2.1.

    Changelog

    5.2.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10861: Always normalise the ``pycon3`` lexer to ``pycon``.
    * Fix using ``sphinx.ext.autosummary`` with modules containing titles in the
    module-level docstring.
    

    5.2.0.post0

    ===========================================
    
    * Recreated source tarballs for Debian maintainers.
    

    5.2.0

    =====================================
    
    Dependencies
    ------------
    
    * 10356: Sphinx now uses declarative metadata with ``pyproject.toml`` to
    create packages, using PyPA&#x27;s ``flit`` project as a build backend. Patch by
    Adam Turner.
    
    Deprecated
    ----------
    
    * 10843: Support for HTML 4 output. Patch by Adam Turner.
    
    Features added
    --------------
    
    * 10738: napoleon: Add support for docstring types using &#x27;of&#x27;, like
    ``type of type``. Example: ``tuple of int``.
    * 10286: C++, support requires clauses not just between the template
    parameter lists and the declaration.
    * 10755: linkcheck: Check the source URL of raw directives that use the ``url``
    option.
    * 10781: Allow :rst:role:`ref` role to be used with definitions and fields.
    * 10717: HTML Search: Increase priority for full title and
    subtitle matches in search results
    * 10718: HTML Search: Save search result score to the HTML element for debugging
    * 10673: Make toctree accept &#x27;genindex&#x27;, &#x27;modindex&#x27; and &#x27;search&#x27; docnames
    * 6316, 10804: Add domain objects to the table of contents. Patch by Adam Turner
    * 6692: HTML Search: Include explicit :rst:dir:`index` directive index entries
    in the search index and search results. Patch by Adam Turner
    * 10816: imgmath: Allow embedding images in HTML as base64
    * 10854: HTML Search: Use browser localstorage for highlight control, stop
    storing highlight parameters in URL query strings. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10723: LaTeX: 5.1.0 has made the &#x27;sphinxsetup&#x27; ``verbatimwithframe=false``
    become without effect.
    * 10257: C++, ensure consistent non-specialization template argument
    representation.
    * 10729: C++, fix parsing of certain non-type template parameter packs.
    * 10715: Revert 10520: &quot;Fix&quot; use of sidebar classes in ``agogo.css_t``
    

    5.1.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean``
    iterator implementation.
    * 10702: Restore compatability with third-party builders.
    

    5.1.0

    =====================================
    
    Dependencies
    ------------
    
    * 10656: Support `Docutils 0.19`_. Patch by Adam Turner.
    
    .. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05
    
    Deprecated
    ----------
    
    * 10467: Deprecated ``sphinx.util.stemmer`` in favour of ``snowballstemmer``.
    Patch by Adam Turner.
    * 9856: Deprecated ``sphinx.ext.napoleon.iterators``.
    
    Features added
    --------------
    
    * 10444: html theme: Allow specifying multiple CSS files through the ``stylesheet``
    setting in ``theme.conf`` or by setting ``html_style`` to an iterable of strings.
    * 10366: std domain: Add support for emphasising placeholders in :rst:dir:`option`
    directives through a new :confval:`option_emphasise_placeholders` configuration
    option.
    * 10439: std domain: Use the repr of some variables when displaying warnings,
    making whitespace issues easier to identify.
    * 10571: quickstart: Reduce content in the generated ``conf.py`` file. Patch by
    Pradyun Gedam.
    * 10648: LaTeX: CSS-named-alike additional :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;`
    keys allow to configure four separate border-widths, four paddings, four
    corner radii, a shadow (possibly inset), colours for border, background, shadow
    for each of the code-block, topic, attention, caution, danger, error and warning
    directives.
    * 10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
    * 10599: HTML Theme: Wrap consecutive footnotes in an ``&lt;aside&gt;`` element when
    using Docutils 0.18 or later, to allow for easier styling. This matches the
    behaviour introduced in Docutils 0.19. Patch by Adam Turner.
    * 10518: config: Add ``include_patterns`` as the opposite of ``exclude_patterns``.
    Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10594: HTML Theme: field term colons are doubled if using Docutils 0.18+
    * 10596: Build failure if Docutils version is 0.18 (not 0.18.1) due
    to missing ``Node.findall()``
    * 10506: LaTeX: build error if highlighting inline code role in figure caption
    (refs: 10251)
    * 10634: Make -P (pdb) option work better with exceptions triggered from events
    * 10550: py domain: Fix spurious whitespace in unparsing various operators (``+``,
    ``-``, ``~``, and ``**``). Patch by Adam Turner (refs: 10551).
    * 10460: logging: Always show node source locations as absolute paths.
    * HTML Search: HTML tags are displayed as a part of object name
    * HTML Search: search snipets should not be folded
    * HTML Search: Minor errors are emitted on fetching search snipets
    * HTML Search: The markers for header links are shown in the search result
    * 10520: HTML Theme: Fix use of sidebar classes in ``agogo.css_t``.
    * 6679: HTML Theme: Fix inclusion of hidden toctrees in the agogo theme.
    * 10566: HTML Theme: Fix enable_search_shortcuts does not work
    * 8686: LaTeX: Text can fall out of code-block at end of page and leave artifact
    on next page
    * 10633: LaTeX: user injected ``\color`` commands in topic or admonition boxes may
    cause color leaks in PDF due to upstream `framed.sty &lt;https://ctan.org/pkg/framed&gt;`_
    bug
    * 10638: LaTeX: framed coloured boxes in highlighted code (e.g. highlighted
    diffs using Pygments style ``&#x27;manni&#x27;``) inherit thickness of code-block frame
    * 10647: LaTeX: Only one ``\label`` is generated for ``desc_signature`` node
    even if it has multiple node IDs
    * 10579: i18n: UnboundLocalError is raised on translating raw directive
    * 9577, 10088: py domain: Fix warning for duplicate Python references when
    using ``:any:`` and autodoc.
    * 10548: HTML Search: fix minor summary issues.
    

    5.0.2

    =====================================
    
    Features added
    --------------
    
    * 10523: HTML Theme: Expose the Docutils&#x27;s version info tuple as a template
    variable, ``docutils_version_info``. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10538: autodoc: Inherited class attribute having docstring is documented even
    if :confval:`autodoc_inherit_docstring` is disabled
    * 10509: autosummary: autosummary fails with a shared library
    * 10497: py domain: Failed to resolve strings in Literal. Patch by Adam Turner.
    * 10523: HTML Theme: Fix double brackets on citation references in Docutils 0.18+.
    Patch by Adam Turner.
    * 10534: Missing CSS for nav.contents in Docutils 0.18+. Patch by Adam Turner.
    

    5.0.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10498: gettext: TypeError is raised when sorting warning messages if a node
    has no line number. Patch by Adam Turner.
    * 10493: HTML Theme: :rst:dir:`topic` directive is rendered incorrectly with
    Docutils 0.18. Patch by Adam Turner.
    * 10495: IndexError is raised for a :rst:role:`kbd` role having a separator.
    Patch by Adam Turner.
    

    5.0.0

    * 9575: autodoc: The annotation of return value should not be shown when
    ``autodoc_typehints=&quot;description&quot;``
    * 9648: autodoc: ``*args`` and ``**kwargs`` entries are duplicated when
    ``autodoc_typehints=&quot;description&quot;``
    * 8180: autodoc: Docstring metadata ignored for attributes
    * 10443: epub: EPUB builder can&#x27;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
    

    4.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`` and ``NO_COLOR`` for terminal colouring
    * 10234: autosummary: Add &quot;autosummary&quot; CSS class to summary tables
    * 10125: extlinks: Improve suggestion message for a reference having title
    * 10112: extlinks: Add :confval:`extlinks_detect_hardcoded_links` to enable
    hardcoded links detector feature
    * 9494, 9456: html search: Add a config variable
    :confval:`html_show_search_summary` to enable/disable the search summaries
    * 9337: HTML theme, add option ``enable_search_shortcuts`` that enables :kbd:`/` as
    a Quick search shortcut and :kbd:`Esc` shortcut that
    removes search highlighting.
    * 10107: i18n: Allow to suppress translation warnings by adding ``noqa``
    comment to the tail of each translation message
    * 10252: C++, support attributes on classes, unions, and enums.
    * 10253: :rst:role:`pep` role now generates URLs based on `peps.python.org
    &lt;https://peps.python.org&gt;`_
    
    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 support
    ``no-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. &quot;use&quot;)
    * 9529: LaTeX: named auto numbered footnote (ex. ``[named]``) that is referred
    multiple times was rendered to a question mark
    * 9924: LaTeX: multi-line :rst:dir:`cpp:function` directive has big vertical
    spacing in Latexpdf
    * 10158: LaTeX: excessive whitespace since v4.4.0 for undocumented
    variables/structure members 
    * 10175: LaTeX: named footnote reference is linked to an incorrect footnote if
    the name is also used in the different document
    * 10269: manpage: Failed to resolve the title of :rst:role:`ref` cross references
    * 10179: i18n: suppress &quot;rST localization&quot; 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
    

    4.4.0

    =====================================
    
    Dependencies
    ------------
    
    * 10007: Use ``importlib_metadata`` for python-3.9 or older
    * 10007: Drop ``setuptools``
    
    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`` -&gt; ``StringIO``)
    * 9831: Autosummary now documents only the members specified in a module&#x27;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: 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 &lt;kbd&gt; 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: &quot;Hide Search Matches&quot; link removes &quot;highlight&quot; 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 &quot;typing&quot; 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 = &#x27;separated&#x27;``
    * 9947: i18n: topic directive having a bullet list can&#x27;t be translatable
    * 9878: mathjax: MathJax configuration is placed after loading MathJax itself
    * 9932: napoleon: empty &quot;returns&quot; 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 &quot;data&quot; URIs
    * 9925: LaTeX: prohibit also with ``&#x27;xelatex&#x27;`` 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 &quot;typing&quot; 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
    

    4.3.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 9917: C and C++, parse fundamental types no matter the order of simple type
    specifiers.
    

    4.3.1

    =====================================
    
    Features added
    --------------
    
    * 9864: mathjax: Support chnaging the loading method of MathJax to &quot;defer&quot; 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 &quot;async&quot; method again
    

    4.3.0

    =====================================
    
    Dependencies
    ------------
    
    * Support Python 3.10
    
    Incompatible changes
    --------------------
    
    * 9649: ``searchindex.js``: the embedded data has changed format to allow
    objects with the same name in different domains.
    * 9672: The rendering of Python domain declarations is implemented
    with more docutils nodes to allow better CSS styling.
    It may break existing styling.
    * 9672: the signature of
    ``domains.python.PyObject.get_signature_prefix`` has changed to
    return a list of nodes instead of a plain string.
    * 9695: ``domains.js.JSObject.display_prefix`` has been changed into a method
    ``get_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 &quot;defer&quot; 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 &quot;fuzzy&quot;
    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 &quot;toctree contains reference to excluded document&quot;
    warnings using :confval:`suppress_warnings`
    
    Bugs fixed
    ----------
    
    * 9630: autodoc: Failed to build cross references if :confval:`primary_domain`
    is not &#x27;py&#x27;
    * 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 &quot;documented&quot; 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 &#x27;py&#x27;
    * 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 &quot;aggedright&quot; 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=&#x27;description&#x27;`
    * 9708: needs_extension failed to check double-digit version correctly
    * 9688: Fix Sphinx patched :dudir:`code` does not recognize ``:class:`` option
    * 9733: Fix for logging handler flushing warnings in the middle of the docs
    build
    * 9656: Fix warnings without subtype being incorrectly suppressed
    * Intersphinx, for unresolved references with an explicit inventory,
    e.g., ``proj:myFunc``, leave the inventory prefix in the unresolved text.
    

    4.2.0

    =====================================
    
    Features added
    --------------
    
    * 9445: autodoc: Support class properties
    * 9479: autodoc: Emit a warning if target is a mocked object
    * 9560: autodoc: Allow to refer NewType instances with module name in Python
    3.10 or above
    * 9447: html theme: Expose the version of Sphinx in the form of tuple as a
    template variable ``sphinx_version_tuple``
    * 9594: manpage: Suppress the title of man page if description is empty
    * 9445: py domain: :rst:dir:`py:property` directive supports ``:classmethod:``
    option to describe the class property
    * 9524: test: SphinxTestApp can take ``builddir`` as an argument
    * 9535: C and C++, support more fundamental types, including GNU extensions.
    
    Bugs fixed
    ----------
    
    * 9608: apidoc: apidoc does not generate a module definition for implicit
    namespace package
    * 9504: autodoc: generate incorrect reference to the parent class if the target
    class inherites the class having ``_name`` attribute
    * 9537, 9589: autodoc: Some objects under ``typing`` module are not displayed
    well with the HEAD of 3.10
    * 9487: autodoc: typehint for cached_property is not shown
    * 9509: autodoc: AttributeError is raised on failed resolving typehints
    * 9518: autodoc: autodoc_docstring_signature does not effect to ``__init__()``
    and ``__new__()``
    * 9522: autodoc: PEP 585 style typehints having arguments (ex. ``list[int]``)
    are not displayed well
    * 9481: autosummary: some warnings contain non-existing filenames
    * 9568: autosummary: summarise overlined sectioned headings correctly
    * 9600: autosummary: Type annotations which contain commas in autosummary table
    are not removed completely
    * 9481: c domain: some warnings contain non-existing filenames
    * 9481: cpp domain: some warnings contain non-existing filenames
    * 9456: html search: abbreation marks are inserted to the search result if
    failed to fetch the content of the page
    * 9617: html search: The JS requirement warning is shown if browser is slow
    * 9267: html theme: CSS and JS files added by theme were loaded twice
    * 9585: py domain: ``:type:`` option for :rst:dir:`py:property` directive does
    not create a hyperlink
    * 9576: py domain: Literal typehint was converted to a cross reference
    * 9535 comment: C++, fix parsing of defaulted function parameters that are
    function pointers.
    * 9564: smartquotes: don&#x27;t adjust typography for text with
    language-highlighted ``:code:`` role.
    * 9512: sphinx-build: crashed with the HEAD of Python 3.10
    

    4.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 = &quot;separated&quot;``
    * 9456: html search: html_copy_source can&#x27;t control the search summaries
    * 9500: LaTeX: Failed to build Japanese document on Windows
    * 9435: linkcheck: Failed to check anchors in github.com
    

    4.1.1

    =====================================
    
    Dependencies
    ------------
    
    * 9434: sphinxcontrib-htmlhelp-2.0.0 or above
    * 9434: sphinxcontrib-serializinghtml-1.1.5 or above
    
    Bugs fixed
    ----------
    
    * 9438: html: HTML logo or Favicon specified as file not being found on output
    

    4.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: 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 like
    ``foo.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 ``&#x27;both&#x27;`` 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=&#x27;none&#x27;`` now erases typehints for
    variables, attributes and properties
    * 3257: autosummary: Support instance attributes for classes
    * 9358: html: Add &quot;heading&quot; 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 &quot;working&quot;
    * 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 via
    ``Sphinx.registry.html_assets_policy``
    * C++, add support for
    
    - ``inline`` variables,
    - ``consteval`` functions,
    - ``constinit`` variables,
    - ``char8_t``,
    - ``explicit(&lt;constant expression&gt;)`` specifier,
    - digit separators in literals, and
    - constraints in placeholder type specifiers, aka. adjective syntax
     (e.g., ``Sortable auto &amp;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&#x27;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: &quot;exceptions&quot; 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.
    

    4.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
    

    4.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
    

    4.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 &quot;more than one target for
    cross-reference&quot; warning
    * 9201: websupport: UndefinedError is raised: &#x27;css_tag&#x27; is undefined
    

    4.0.0

    =====================================
    
    Dependencies
    ------------
    

    4.0.0b3

    * 9167: html: Failed to add CSS files to the specific page
    

    4.0.0b2

    * C, C++, fix ``KeyError`` when an ``alias`` directive is the first C/C++
    directive in a file with another C/C++ directive later.
    

    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=&quot;&quot; are ignored
    * 8380: html search: Paragraphs in search results are not identified as ``&lt;p&gt;``
    * 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 ``&#x27;pdflatex&#x27;/&#x27;lualatex&#x27;`` 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: &quot;release&quot; 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.
    

    3.5.5

    ==============================
    

    3.5.4

    =====================================
    
    Dependencies
    ------------
    
    * 9071: Restrict docutils to 0.16
    
    Bugs fixed
    ----------
    
    * 9078: autodoc: Async staticmethods and classmethods are considered as non
    async coroutine-functions with Python3.10
    * 8870, 9001, 9051: html theme: The style are not applied with docutils-0.17
    
    - toctree captions
    - The content of ``sidebar`` directive
    - figures
    

    3.5.3

    =====================================
    
    Features added
    --------------
    
    * 8959: using UNIX path separator in image directive confuses Sphinx on Windows
    

    3.5.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8943: i18n: Crashed by broken translation messages in ES, EL and HR
    * 8936: LaTeX: A custom LaTeX builder fails with unknown node error
    * 8952: Exceptions raised in a Directive cause parallel builds to hang
    

    3.5.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8883: autodoc: AttributeError is raised on assigning __annotations__ on
    read-only class
    * 8884: html: minified js stemmers not included in the distributed package
    * 8885: html: AttributeError is raised if CSS/JS files are installed via
    :confval:`html_context`
    * 8880: viewcode: ExtensionError is raised on incremental build after
    unparsable python module found
    

    3.5.0

    =====================================
    
    Dependencies
    ------------
    
    * LaTeX: ``multicol`` (it is anyhow a required part of the official latex2e
    base distribution)
    
    Incompatible changes
    --------------------
    
    * Update Underscore.js to 1.12.0
    * 6550: html: The config variable ``html_add_permalinks`` is replaced by
    :confval:`html_permalinks` and :confval:`html_permalinks_icon`
    
    Deprecated
    ----------
    
    * pending_xref node for viewcode extension
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.anchors_ignore``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.auth``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.broken``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.good``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.redirected``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.rqueue``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.to_ignore``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.workers``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.wqueue``
    * ``sphinx.builders.linkcheck.node_line_or_0()``
    * ``sphinx.ext.autodoc.AttributeDocumenter.isinstanceattribute()``
    * ``sphinx.ext.autodoc.directive.DocumenterBridge.reporter``
    * ``sphinx.ext.autodoc.importer.get_module_members()``
    * ``sphinx.ext.autosummary.generate._simple_info()``
    * ``sphinx.ext.autosummary.generate._simple_warn()``
    * ``sphinx.writers.html.HTMLTranslator.permalink_text``
    * ``sphinx.writers.html5.HTML5Translator.permalink_text``
    
    Features added
    --------------
    
    * 8022: autodoc: autodata and autoattribute directives does not show right-hand
    value of the variable if docstring contains ``:meta hide-value:`` in
    info-field-list
    * 8514: autodoc: Default values of overloaded functions are taken from actual
    implementation if they&#x27;re ellipsis
    * 8775: autodoc: Support type union operator (PEP-604) in Python 3.10 or above
    * 8297: autodoc: Allow to extend :confval:`autodoc_default_options` via
    directive options
    * 759: autodoc: Add a new configuration :confval:`autodoc_preserve_defaults` as
    an experimental feature.  It preserves the default argument values of
    functions in source code and keep them not evaluated for readability.
    * 8619: html: kbd role generates customizable HTML tags for compound keys
    * 8634: html: Allow to change the order of JS/CSS via ``priority`` parameter
    for :meth:`Sphinx.add_js_file()` and :meth:`Sphinx.add_css_file()`
    * 6241: html: Allow to add JS/CSS files to the specific page when an extension
    calls ``app.add_js_file()`` or ``app.add_css_file()`` on
    :event:`html-page-context` event
    * 6550: html: Allow to use HTML permalink texts via
    :confval:`html_permalinks_icon`
    * 1638: html: Add permalink icons to glossary terms
    * 8868: html search: performance issue with massive lists
    * 8867: html search: Update JavaScript stemmer code to the latest version of
    Snowball (v2.1.0)
    * 8852: i18n: Allow to translate heading syntax in MyST-Parser
    * 8649: imgconverter: Skip availability check if builder supports the image
    type
    * 8573: napoleon: Allow to change the style of custom sections using
    :confval:`napoleon_custom_styles`
    * 8004: napoleon: Type definitions in Google style docstrings are rendered as
    references when :confval:`napoleon_preprocess_types` enabled
    * 6241: mathjax: Include mathjax.js only on the document using equations
    * 8775: py domain: Support type union operator (PEP-604)
    * 8651: std domain: cross-reference for a rubric having inline item is broken
    * 7642: std domain: Optimize case-insensitive match of term
    * 8681: viewcode: Support incremental build
    * 8132: Add :confval:`project_copyright` as an alias of :confval:`copyright`
    * 207: Now :confval:`highlight_language` supports multiple languages
    * 2030: :rst:dir:`code-block` and :rst:dir:`literalinclude` supports automatic
    dedent via no-argument ``:dedent:`` option
    * C++, also hyperlink operator overloads in expressions and alias declarations.
    * 8247: Allow production lists to refer to tokens from other production groups
    * 8813: Show what extension (or module) caused it on errors on event handler
    * 8213: C++: add ``maxdepth`` option to :rst:dir:`cpp:alias` to insert nested
    declarations.
    * C, add ``noroot`` option to :rst:dir:`c:alias` to render only nested
    declarations.
    * C++, add ``noroot`` option to :rst:dir:`cpp:alias` to render only nested
    declarations.
    
    Bugs fixed
    ----------
    
    * 8727: apidoc: namespace module file is not generated if no submodules there
    * 741: autodoc: inherited-members doesn&#x27;t work for instance attributes on super
    class
    * 8592: autodoc: ``:meta public:`` does not effect to variables
    * 8594: autodoc: empty __all__ attribute is ignored
    * 8315: autodoc: Failed to resolve struct.Struct type annotation
    * 8652: autodoc: All variable comments in the module are ignored if the module
    contains invalid type comments
    * 8693: autodoc: Default values for overloaded functions are rendered as string
    * 8134: autodoc: crashes when mocked decorator takes arguments
    * 8800: autodoc: Uninitialized attributes in superclass are recognized as
    undocumented
    * 8655: autodoc: Failed to generate document if target module contains an
    object that raises an exception on ``hasattr()``
    * 8306: autosummary: mocked modules are documented as empty page when using
    :recursive: option
    * 8232: graphviz: Image node is not rendered if graph file is in subdirectory
    * 8618: html: kbd role produces incorrect HTML when compound-key separators (-,
    + or ^) are used as keystrokes
    * 8629: html: A type warning for html_use_opensearch is shown twice
    * 8714: html: kbd role with &quot;Caps Lock&quot; rendered incorrectly
    * 8123: html search: fix searching for terms containing + (Requires a custom
    search language that does not split on +)
    * 8665: html theme: Could not override globaltoc_maxdepth in theme.conf
    * 8446: html: consecutive spaces are displayed as single space
    * 8745: i18n: crashes with KeyError when translation message adds a new auto
    footnote reference
    * 4304: linkcheck: Fix race condition that could lead to checking the
    availability of the same URL twice
    * 8791: linkcheck: The docname for each hyperlink is not displayed
    * 7118: sphinx-quickstart: questionare got Mojibake if libreadline unavailable
    * 8094: texinfo: image files on the different directory with document are not
    copied
    * 8782: todo: Cross references in todolist get broken
    * 8720: viewcode: module pages are generated for epub on incremental build
    * 8704: viewcode: anchors are generated in incremental build after singlehtml
    * 8756: viewcode: highlighted code is generated even if not referenced
    * 8671: :confval:`highlight_options` is not working
    * 8341: C, fix intersphinx lookup types for names in declarations.
    * C, C++: in general fix intersphinx and role lookup types.
    * 8683: :confval:`html_last_updated_fmt` does not support UTC offset (%z)
    * 8683: :confval:`html_last_updated_fmt` generates wrong time zone for %Z
    * 1112: ``download`` role creates duplicated copies when relative path is
    specified
    * 2616 (fifth item): LaTeX: footnotes from captions are not clickable,
    and for manually numbered footnotes only first one with same number is
    an hyperlink
    * 7576: LaTeX with French babel and memoir crash: &quot;Illegal parameter number
    in definition of ``\FNHprefntext``&quot;
    * 8055: LaTeX (docs): A potential display bug with the LaTeX generation step
    in Sphinx (how to generate one-column index)
    * 8072: LaTeX: Directive :rst:dir:`hlist` not implemented in LaTeX
    * 8214: LaTeX: The :rst:role:`index` role and the glossary generate duplicate
    entries in the LaTeX index (if both used for same term)
    * 8735: LaTeX: wrong internal links in pdf to captioned code-blocks when
    :confval:`numfig` is not True
    * 8442: LaTeX: some indexed terms are ignored when using xelatex engine
    (or pdflatex and :confval:`latex_use_xindy` set to True) with memoir class
    * 8750: LaTeX: URLs as footnotes fail to show in PDF if originating from
    inside function type signatures
    * 8780: LaTeX: long words in narrow columns may not be hyphenated
    * 8788: LaTeX: ``\titleformat`` last argument in sphinx.sty should be
    bracketed, not braced (and is anyhow not needed) 
    * 8849: LaTex: code-block printed out of margin (see the opt-in LaTeX syntax
    boolean :ref:`verbatimforcewraps &lt;latexsphinxsetupforcewraps&gt;` for use via
    the :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;` key of ``latex_elements``)
    * 8183: LaTeX: Remove substitution_reference nodes from doctree only on LaTeX
    builds
    * 8865: LaTeX: Restructure the index nodes inside title nodes only on LaTeX
    builds
    * 8796: LaTeX: potentially critical low level TeX coding mistake has gone
    unnoticed so far
    * C, :rst:dir:`c:alias` skip symbols without explicit declarations
    instead of crashing.
    * C, :rst:dir:`c:alias` give a warning when the root symbol is not declared.
    * C, ``expr`` role should start symbol lookup in the current scope.
    

    3.4.3

    =====================================
    
    Bugs fixed
    ----------
    
    * 8655: autodoc: Failed to generate document if target module contains an
    object that raises an exception on ``hasattr()``
    

    3.4.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8164: autodoc: Classes that inherit mocked class are not documented
    * 8602: autodoc: The ``autodoc-process-docstring`` event is emitted to the
    non-datadescriptors unexpectedly
    * 8616: autodoc: AttributeError is raised on non-class object is passed to
    autoclass directive
    

    3.4.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8559: autodoc: AttributeError is raised when using forward-reference type
    annotations
    * 8568: autodoc: TypeError is raised on checking slots attribute
    * 8567: autodoc: Instance attributes are incorrectly added to Parent class
    * 8566: autodoc: The ``autodoc-process-docstring`` event is emitted to the
    alias classes unexpectedly
    * 8583: autodoc: Unnecessary object comparison via ``__eq__`` method
    * 8565: linkcheck: Fix PriorityQueue crash when link tuples are not
    comparable
    

    3.4.0

    =====================================
    
    Incompatible changes
    --------------------
    
    * 8105: autodoc: the signature of class constructor will be shown for decorated
    classes, not a signature of decorator
    
    Deprecated
    ----------
    
    * The ``follow_wrapped`` argument of ``sphinx.util.inspect.signature()``
    * The ``no_docstring`` argument of
    ``sphinx.ext.autodoc.Documenter.add_content()``
    * ``sphinx.ext.autodoc.Documenter.get_object_members()``
    * ``sphinx.ext.autodoc.DataDeclarationDocumenter``
    * ``sphinx.ext.autodoc.GenericAliasDocumenter``
    * ``sphinx.ext.autodoc.InstanceAttributeDocumenter``
    * ``sphinx.ext.autodoc.SlotsAttributeDocumenter``
    * ``sphinx.ext.autodoc.TypeVarDocumenter``
    * ``sphinx.ext.autodoc.importer._getannotations()``
    * ``sphinx.ext.autodoc.importer._getmro()``
    * ``sphinx.pycode.ModuleAnalyzer.parse()``
    * ``sphinx.util.osutil.movefile()``
    * ``sphinx.util.requests.is_ssl_error()``
    
    Features added
    --------------
    
    * 8119: autodoc: Allow to determine whether a member not included in
    ``__all__`` attribute of the module should be documented or not via
    :event:`autodoc-skip-member` event
    * 8219: autodoc: Parameters for generic class are not shown when super class is
    a generic class and show-inheritance option is given (in Python 3.7 or above)
    * autodoc: Add ``Documenter.config`` as a shortcut to access the config object
    * autodoc: Add Optional[t] to annotation of function and method if a default
    value equal to None is set.
    * 8209: autodoc: Add ``:no-value:`` option to :rst:dir:`autoattribute` and
    :rst:dir:`autodata` directive to suppress the default value of the variable
    * 8460: autodoc: Support custom types defined by typing.NewType
    * 8285: napoleon: Add :confval:`napoleon_attr_annotations` to merge type hints
    on source code automatically if any type is specified in docstring
    * 8236: napoleon: Support numpydoc&#x27;s &quot;Receives&quot; section
    * 6914: Add a new event :event:`warn-missing-reference` to custom warning
    messages when failed to resolve a cross-reference
    * 6914: Emit a detailed warning when failed to resolve a ``:ref:`` reference
    * 6629: linkcheck: The builder now handles rate limits. See
    :confval:`linkcheck_retry_on_rate_limit` for details.
    
    Bugs fixed
    ----------
    
    * 7613: autodoc: autodoc does not respect __signature__ of the class
    * 4606: autodoc: the location of the warning is incorrect for inherited method
    * 8105: autodoc: the signature of class constructor is incorrect if the class
    is decorated
    * 8434: autodoc: :confval:`autodoc_type_aliases` does not effect to variables
    and attributes
    * 8443: autodoc: autodata directive can&#x27;t create document for PEP-526 based
    type annotated variables
    * 8443: autodoc: autoattribute directive can&#x27;t create document for PEP-526
    based uninitialized variables
    * 8480: autodoc: autoattribute could not create document for __slots__
    attributes
    * 8503: autodoc: autoattribute could not create document for a GenericAlias as
    class attributes correctly
    * 8534: autodoc: autoattribute could not create document for a commented
    attribute in alias class
    * 8452: autodoc: autodoc_type_aliases doesn&#x27;t work when autodoc_typehints is
    set to &quot;description&quot;
    * 8541: autodoc: autodoc_type_aliases doesn&#x27;t work for the type annotation to
    instance attributes
    * 8460: autodoc: autodata and autoattribute directives do not display type
    information of TypeVars
    * 8493: autodoc: references to builtins not working in class aliases
    * 8522: autodoc:  ``__bool__`` method could be called
    * 8067: autodoc: A typehint for the instance variable having type_comment on
    super class is not displayed
    * 8545: autodoc: a __slots__ attribute is not documented even having docstring
    * 741: autodoc: inherited-members doesn&#x27;t work for instance attributes on super
    class
    * 8477: autosummary: non utf-8 reST files are generated when template contains
    multibyte characters
    * 8501: autosummary: summary extraction splits text after &quot;el at.&quot; unexpectedly
    * 8524: html: Wrong url_root has been generated on a document named &quot;index&quot;
    * 8419: html search: Do not load ``language_data.js`` in non-search pages
    * 8549: i18n: ``-D gettext_compact=0`` is no longer working
    * 8454: graphviz: The layout option for graph and digraph directives don&#x27;t work
    * 8131: linkcheck: Use GET when HEAD requests cause Too Many Redirects, to
    accommodate infinite redirect loops on HEAD
    * 8437: Makefile: ``make clean`` with empty BUILDDIR is dangerous
    * 8365: py domain: ``:type:`` and ``:rtype:`` gives false ambiguous class
    lookup warnings
    * 8352: std domain: Failed to parse an option that starts with bracket
    * 8519: LaTeX: Prevent page brake in the middle of a seealso
    * 8520: C, fix copying of AliasNode.
    

    3.3.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8372: autodoc: autoclass directive became slower than Sphinx-3.2
    * 7727: autosummary: raise PycodeError when documenting python package
    without __init__.py
    * 8350: autosummary: autosummary_mock_imports causes slow down builds
    * 8364: C, properly initialize attributes in empty symbols.
    * 8399: i18n: Put system locale path after the paths specified by configuration
    

    3.3.0

    =====================================
    
    Deprecated
    ----------
    
    * ``sphinx.builders.latex.LaTeXBuilder.usepackages``
    * ``sphinx.builders.latex.LaTeXBuilder.usepackages_afger_hyperref``
    * ``sphinx.ext.autodoc.SingledispatchFunctionDocumenter``
    * ``sphinx.ext.autodoc.SingledispatchMethodDocumenter``
    
    Features added
    --------------
    
    * 8100: html: Show a better error message for failures on copying
    html_static_files
    * 8141: C: added a ``maxdepth`` option to :rst:dir:`c:alias` to insert
    nested declarations.
    * 8081: LaTeX: Allow to add LaTeX package via ``app.add_latex_package()`` until
    just before writing .tex file
    * 7996: manpage: Add :confval:`man_make_section_directory` to make a section
    directory on build man page
    * 8289: epub: Allow to suppress &quot;duplicated ToC entry found&quot; warnings from epub
    builder using :confval:`suppress_warnings`.
    * 8298: sphinx-quickstart: Add :option:`sphinx-quickstart --no-sep` option
    * 8304: sphinx.testing: Register public markers in sphinx.testing.fixtures
    * 8051: napoleon: use the obj role for all See Also items
    * 8050: napoleon: Apply :confval:`napoleon_preprocess_types` to every field
    * C and C++, show line numbers for previous declarations when duplicates are
    detected.
    * 8183: Remove substitution_reference nodes from doctree only on LaTeX builds
    
    Bugs fixed
    ----------
    
    * 8085: i18n: Add support for having single text domain
    * 6640: i18n: Failed to override system message translation
    * 8143: autodoc: AttributeError is raised when False value is passed to
    autodoc_default_options
    * 8103: autodoc: functools.cached_property is not considered as a property
    * 8190: autodoc: parsing error is raised if some extension replaces docstring
    by string not ending with blank lines
    * 8142: autodoc: Wrong constructor signature for the class derived from
    typing.Generic
    * 8157: autodoc: TypeError is raised when annotation has invalid __args__
    * 7964: autodoc: Tuple in default value is wrongly rendered
    * 8200: autodoc: type aliases break type formatting of autoattribute
    * 7786: autodoc: can&#x27;t detect overloaded methods defined in other file
    * 8294: autodoc: single-string __slots__ is not handled correctly
    * 7785: autodoc: autodoc_typehints=&#x27;none&#x27; does not effect to overloaded functions
    * 8192: napoleon: description is disappeared when it contains inline literals
    * 8142: napoleon: Potential of regex denial of service in google style docs
    * 8169: LaTeX: pxjahyper loaded even when latex_engine is not platex
    * 8215: LaTeX: &#x27;oneside&#x27; classoption causes build warning
    * 8175: intersphinx: Potential of regex denial of service by broken inventory
    * 8277: sphinx-build: missing and redundant spacing (and etc) for console
    output on building
    * 7973: imgconverter: Check availability of imagemagick many times
    * 8255: py domain: number in default argument value is changed from hexadecimal
    to decimal
    * 8316: html: Prevent arrow keys changing page when button elements are focused
    * 8343: html search: Fix unnecessary load of images when parsing the document
    * 8254: html theme: Line numbers misalign with code lines
    * 8093: The highlight warning has wrong location in some builders (LaTeX,
    singlehtml and so on)
    * 8215: Eliminate Fancyhdr build warnings for oneside documents
    * 8239: Failed to refer a token in productionlist if it is indented
    * 8268: linkcheck: Report HTTP errors when ``linkcheck_anchors`` is ``True``
    * 8245: linkcheck: take source directory into account for local files
    * 8321: linkcheck: ``tel:`` schema hyperlinks are detected as errors
    * 8323: linkcheck: An exit status is incorrect when links having unsupported
    schema found
    * 8188: C, add missing items to internal object types dictionary,
    e.g., preventing intersphinx from resolving them.
    * C, fix anon objects in intersphinx.
    * 8270, C++, properly reject functions as duplicate declarations if a
    non-function declaration of the same name already exists.
    * C, fix references to function parameters.
    Link to the function instead of a non-existing anchor.
    * 6914: figure numbers are unexpectedly assigned to uncaptioned items
    * 8320: make &quot;inline&quot; line numbers un-selectable
    
    Testing
    --------
    
    * 8257: Support parallel build in sphinx.testing
    

    3.2.1

    =====================================
    
    Features added
    --------------
    
    * 8095: napoleon: Add :confval:`napoleon_preprocess_types` to enable the type
    preprocessor for numpy style docstrings
    * 8114: C and C++, parse function attributes after parameters and qualifiers.
    
    Bugs fixed
    ----------
    
    * 8074: napoleon: Crashes during processing C-ext module
    * 8088: napoleon: &quot;Inline literal start-string without end-string&quot; warning in
    Numpy style Parameters section
    * 8084: autodoc: KeyError is raised on documenting an attribute of the broken
    class
    * 8091: autodoc: AttributeError is raised on documenting an attribute on Python
    3.5.2
    * 8099: autodoc: NameError is raised when target code uses ``TYPE_CHECKING``
    * C++, fix parsing of template template parameters, broken by the fix of 7944
    

    3.2.0

    =====================================
    
    Deprecated
    ----------
    
    * ``sphinx.ext.autodoc.members_set_option()``
    * ``sphinx.ext.autodoc.merge_special_members_option()``
    * ``sphinx.writers.texinfo.TexinfoWriter.desc``
    * C, parsing of pre-v3 style type directives and roles, along with the options
    :confval:`c_allow_pre_v3` and :confval:`c_warn_on_allowed_pre_v3`.
    
    Features added
    --------------
    
    * 2076: autodoc: Allow overriding of exclude-members in skip-member function
    * 8034: autodoc: ``:private-member:`` can take an explicit list of member names
    to be documented
    * 2024: autosummary: Add :confval:`autosummary_filename_map` to avoid conflict
    of filenames between two object with different case
    * 8011: autosummary: Support instance attributes as a target of autosummary
    directive
    * 7849: html: Add :confval:`html_codeblock_linenos_style` to change the style
    of line numbers for code-blocks
    * 7853: C and C++, support parameterized GNU style attributes.
    * 7888: napoleon: Add aliases Warn and Raise.
    * 7690: napoleon: parse type strings and make them hyperlinks as possible.  The
    conversion rule can be updated via :confval:`napoleon_type_aliases`
    * 8049: napoleon: Create a hyperlink for each the type of parameter when
    :confval:`napoleon_use_params` is False
    * C, added :rst:dir:`c:alias` directive for inserting copies
    of existing declarations.
    * 7745: html: inventory is broken if the docname contains a space
    * 7991: html search: Allow searching for numbers
    * 7902: html theme: Add a new option :confval:`globaltoc_maxdepth` to control
    the behavior of globaltoc in sidebar
    * 7840: i18n: Optimize the dependencies check on bootstrap
    * 7768: i18n: :confval:`figure_language_filename` supports ``docpath`` token
    * 5208: linkcheck: Support checks for local links
    * 5090: setuptools: Link verbosity to distutils&#x27; -v and -q option
    * 6698: doctest: Add ``:trim-doctest-flags:`` and ``:no-trim-doctest-flags:``
    options to doctest, testcode and testoutput directives
    * 7052: add ``:noindexentry:`` to the Python, C, C++, and Javascript domains.
    Update the documentation to better reflect the relationship between this option
    and the ``:noindex:`` option.
    * 7899: C, add possibility of parsing of some pre-v3 style type directives and
    roles and try to convert them to equivalent v3 directives/roles.
    Set the new option :confval:`c_allow_pre_v3` to ``True`` to enable this.
    The warnings printed from this functionality can be suppressed by setting
    :confval:`c_warn_on_allowed_pre_v3`` to ``True``.
    The functionality is immediately deprecated.
    * 7999: C, add support for named variadic macro arguments.
    * 8071: Allow to suppress &quot;self referenced toctrees&quot; warning
    
    Bugs fixed
    ----------
    
    * 7886: autodoc: TypeError is raised on mocking generic-typed classes
    * 7935: autodoc: function signature is not shown when the function has a
    parameter having ``inspect._empty`` as its default value
    * 7901: autodoc: type annotations for overloaded functions are not resolved
    * 904: autodoc: An instance attribute cause a crash of autofunction directive
    * 1362: autodoc: ``private-members`` option does not work for class attributes
    * 7983: autodoc: Generator type annotation is wrongly rendered in py36
    * 8030: autodoc: An uninitialized annotated instance variable is not documented
    when ``:inherited-members:`` option given
    * 8032: autodoc: A type hint for the instance variable defined at parent class
    is not shown in the document of the derived class
    * 8041: autodoc: An annotated instance variable on super class is not
    documented when derived class has other annotated instance variables
    * 7839: autosummary: cannot handle umlauts in function names
    * 7865: autosummary: Failed to extract summary line when abbreviations found
    * 7866: autosummary: Failed to extract correct summary line when docstring
    contains a hyperlink target
    * 7469: autosummary: &quot;Module attributes&quot; header is not translatable
    * 7940: apidoc: An extra newline is generated at the end of the rst file if a
    module has submodules
    * 4258: napoleon: decorated special methods are not shown
    * 7799: napoleon: parameters are not escaped for combined params in numpydoc
    * 7780: napoleon: multiple parameters declaration in numpydoc was wrongly
    recognized when napoleon_use_params=True
    * 7715: LaTeX: ``numfig_secnum_depth &gt; 1`` leads to wrong figure links
    * 7846: html theme: XML-invalid files were generated
    * 7894: gettext: Wrong source info is shown when using rst_epilog
    * 7691: linkcheck: HEAD requests are not used for checking
    * 4888: i18n: Failed to add an explicit title to ``:ref:`` role on translation
    * 7928: py domain: failed to resolve a type annotation for the attribute
    * 8008: py domain: failed to parse a type annotation containing ellipsis
    * 7994: std domain: option directive does not generate old node_id compatible
    with 2.x or older
    * 7968: i18n: The content of ``math`` directive is interpreted as reST on
    translation
    * 7768: i18n: The ``root`` element for :confval:`figure_language_filename` is
    not a path that user specifies in the document
    * 7993: texinfo: TypeError is raised for nested object descriptions
    * 7993: texinfo: a warning not supporting desc_signature_line node is shown
    * 7869: :rst:role:`abbr` role without an explanation will show the explanation
    from the previous abbr role
    * 8048: graphviz: graphviz.css was copied on building non-HTML document
    * C and C++, removed ``noindex`` directive option as it did
    nothing.
    * 7619: Duplicated node IDs are generated if node has multiple IDs
    * 2050: Symbols sections are appeared twice in the index page
    * 8017: Fix circular import in sphinx.addnodes
    * 7986: CSS: make &quot;highlight&quot; selector more robust
    * 7944: C++, parse non-type template parameters starting with
    a dependent qualified name.
    * C, don&#x27;t deepcopy the entire symbol table and make a mess every time an
    enumerator is handled.
    

    3.1.2

    =====================================
    
    Incompatible changes
    --------------------
    
    * 7650: autodoc: the signature of base function will be shown for decorated
    functions, not a signature of decorator
    
    Bugs fixed
    ----------
    
    * 7844: autodoc: Failed to detect module when relative module name given
    * 7856: autodoc: AttributeError is raised when non-class object is given to
    the autoclass directive
    * 7850: autodoc: KeyError is raised for invalid mark up when autodoc_typehints
    is &#x27;description&#x27;
    * 7812: autodoc: crashed if the target name matches to both an attribute and
    module that are same name
    * 7650: autodoc: function signature becomes ``(*args, **kwargs)`` if the
    function is decorated by generic decorator
    * 7812: autosummary: generates broken stub files if the target code contains
    an attribute and module that are same name
    * 7806: viewcode: Failed to resolve viewcode references on 3rd party builders
    * 7838: html theme: List items have extra vertical space
    * 7878: html theme: Undesired interaction between &quot;overflow&quot; and &quot;float&quot;
    

    3.1.1

    =====================================
    
    Incompatible changes
    --------------------
    
    * 7808: napoleon: a type for attribute are represented as typed field
    
    Features added
    --------------
    
    * 7807: autodoc: Show detailed warning when type_comment is mismatched with its
    signature
    
    Bugs fixed
    ----------
    
    * 7808: autodoc: Warnings raised on variable and attribute type annotations
    * 7802: autodoc: EOFError is raised on parallel build
    * 7821: autodoc: TypeError is raised for overloaded C-ext function
    * 7805: autodoc: an object which descriptors returns is unexpectedly documented
    * 7807: autodoc: wrong signature is shown for the function using contextmanager
    * 7812: autosummary: generates broken stub files if the target code contains
    an attribute and module that are same name
    * 7808: napoleon: Warnings raised on variable and attribute type annotations
    * 7811: sphinx.util.inspect causes circular import problem
    

    3.1.0

    =====================================
    
    Dependencies
    ------------
    
    * 7746: mathjax: Update to 2.7.5
    
    Incompatible changes
    --------------------
    
    * 7477: imgconverter: Invoke &quot;magick convert&quot; command by default on Windows
    
    Deprecated
    ----------
    
    * The first argument for sphinx.ext.autosummary.generate.AutosummaryRenderer has
    been changed to Sphinx object
    * ``sphinx.ext.autosummary.generate.AutosummaryRenderer`` takes an object type
    as an argument
    * The ``ignore`` argument of ``sphinx.ext.autodoc.Documenter.get_doc()``
    * The ``template_dir`` argument of ``sphinx.ext.autosummary.generate.
    AutosummaryRenderer``
    * The ``module`` argument of ``sphinx.ext.autosummary.generate.
    find_autosummary_in_docstring()``
    * The ``builder`` argument of ``sphinx.ext.autosummary.generate.
    generate_autosummary_docs()``
    * The ``template_dir`` argument of ``sphinx.ext.autosummary.generate.
    generate_autosummary_docs()``
    * The ``ignore`` argument of ``sphinx.util.docstring.prepare_docstring()``
    * ``sphinx.ext.autosummary.generate.Auto
    opened by pyup-bot 1
  • Update sphinx to 5.2.0.post0

    Update sphinx to 5.2.0.post0

    This PR updates sphinx from 2.2.1 to 5.2.0.post0.

    Changelog

    5.2.0

    =====================================
    
    Dependencies
    ------------
    
    * 10356: Sphinx now uses declarative metadata with ``pyproject.toml`` to
    create packages, using PyPA&#x27;s ``build`` project as a build backend. Patch by
    Adam Turner.
    
    Deprecated
    ----------
    
    * 10843: Support for HTML 4 output. Patch by Adam Turner.
    
    Features added
    --------------
    
    * 10738: napoleon: Add support for docstring types using &#x27;of&#x27;, like
    ``type of type``. Example: ``tuple of int``.
    * 10286: C++, support requires clauses not just between the template
    parameter lists and the declaration.
    * 10755: linkcheck: Check the source URL of raw directives that use the ``url``
    option.
    * 10781: Allow :rst:role:`ref` role to be used with definitions and fields.
    * 10717: HTML Search: Increase priority for full title and
    subtitle matches in search results
    * 10718: HTML Search: Save search result score to the HTML element for debugging
    * 10673: Make toctree accept &#x27;genindex&#x27;, &#x27;modindex&#x27; and &#x27;search&#x27; docnames
    * 6316, 10804: Add domain objects to the table of contents. Patch by Adam Turner
    * 6692: HTML Search: Include explicit :rst:dir:`index` directive index entries
    in the search index and search results. Patch by Adam Turner
    * 10816: imgmath: Allow embedding images in HTML as base64
    * 10854: HTML Search: Use browser localstorage for highlight control, stop
    storing highlight parameters in URL query strings. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10723: LaTeX: 5.1.0 has made the &#x27;sphinxsetup&#x27; ``verbatimwithframe=false``
    become without effect.
    * 10257: C++, ensure consistent non-specialization template argument
    representation.
    * 10729: C++, fix parsing of certain non-type template parameter packs.
    * 10715: Revert 10520: &quot;Fix&quot; use of sidebar classes in ``agogo.css_t``
    

    5.1.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean``
    iterator implementation.
    * 10702: Restore compatability with third-party builders.
    

    5.1.0

    =====================================
    
    Dependencies
    ------------
    
    * 10656: Support `Docutils 0.19`_. Patch by Adam Turner.
    
    .. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05
    
    Deprecated
    ----------
    
    * 10467: Deprecated ``sphinx.util.stemmer`` in favour of ``snowballstemmer``.
    Patch by Adam Turner.
    * 9856: Deprecated ``sphinx.ext.napoleon.iterators``.
    
    Features added
    --------------
    
    * 10444: html theme: Allow specifying multiple CSS files through the ``stylesheet``
    setting in ``theme.conf`` or by setting ``html_style`` to an iterable of strings.
    * 10366: std domain: Add support for emphasising placeholders in :rst:dir:`option`
    directives through a new :confval:`option_emphasise_placeholders` configuration
    option.
    * 10439: std domain: Use the repr of some variables when displaying warnings,
    making whitespace issues easier to identify.
    * 10571: quickstart: Reduce content in the generated ``conf.py`` file. Patch by
    Pradyun Gedam.
    * 10648: LaTeX: CSS-named-alike additional :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;`
    keys allow to configure four separate border-widths, four paddings, four
    corner radii, a shadow (possibly inset), colours for border, background, shadow
    for each of the code-block, topic, attention, caution, danger, error and warning
    directives.
    * 10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
    * 10599: HTML Theme: Wrap consecutive footnotes in an ``&lt;aside&gt;`` element when
    using Docutils 0.18 or later, to allow for easier styling. This matches the
    behaviour introduced in Docutils 0.19. Patch by Adam Turner.
    * 10518: config: Add ``include_patterns`` as the opposite of ``exclude_patterns``.
    Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10594: HTML Theme: field term colons are doubled if using Docutils 0.18+
    * 10596: Build failure if Docutils version is 0.18 (not 0.18.1) due
    to missing ``Node.findall()``
    * 10506: LaTeX: build error if highlighting inline code role in figure caption
    (refs: 10251)
    * 10634: Make -P (pdb) option work better with exceptions triggered from events
    * 10550: py domain: Fix spurious whitespace in unparsing various operators (``+``,
    ``-``, ``~``, and ``**``). Patch by Adam Turner (refs: 10551).
    * 10460: logging: Always show node source locations as absolute paths.
    * HTML Search: HTML tags are displayed as a part of object name
    * HTML Search: search snipets should not be folded
    * HTML Search: Minor errors are emitted on fetching search snipets
    * HTML Search: The markers for header links are shown in the search result
    * 10520: HTML Theme: Fix use of sidebar classes in ``agogo.css_t``.
    * 6679: HTML Theme: Fix inclusion of hidden toctrees in the agogo theme.
    * 10566: HTML Theme: Fix enable_search_shortcuts does not work
    * 8686: LaTeX: Text can fall out of code-block at end of page and leave artifact
    on next page
    * 10633: LaTeX: user injected ``\color`` commands in topic or admonition boxes may
    cause color leaks in PDF due to upstream `framed.sty &lt;https://ctan.org/pkg/framed&gt;`_
    bug
    * 10638: LaTeX: framed coloured boxes in highlighted code (e.g. highlighted
    diffs using Pygments style ``&#x27;manni&#x27;``) inherit thickness of code-block frame
    * 10647: LaTeX: Only one ``\label`` is generated for ``desc_signature`` node
    even if it has multiple node IDs
    * 10579: i18n: UnboundLocalError is raised on translating raw directive
    * 9577, 10088: py domain: Fix warning for duplicate Python references when
    using ``:any:`` and autodoc.
    * 10548: HTML Search: fix minor summary issues.
    

    5.0.2

    =====================================
    
    Features added
    --------------
    
    * 10523: HTML Theme: Expose the Docutils&#x27;s version info tuple as a template
    variable, ``docutils_version_info``. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10538: autodoc: Inherited class attribute having docstring is documented even
    if :confval:`autodoc_inherit_docstring` is disabled
    * 10509: autosummary: autosummary fails with a shared library
    * 10497: py domain: Failed to resolve strings in Literal. Patch by Adam Turner.
    * 10523: HTML Theme: Fix double brackets on citation references in Docutils 0.18+.
    Patch by Adam Turner.
    * 10534: Missing CSS for nav.contents in Docutils 0.18+. Patch by Adam Turner.
    

    5.0.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10498: gettext: TypeError is raised when sorting warning messages if a node
    has no line number. Patch by Adam Turner.
    * 10493: HTML Theme: :rst:dir:`topic` directive is rendered incorrectly with
    Docutils 0.18. Patch by Adam Turner.
    * 10495: IndexError is raised for a :rst:role:`kbd` role having a separator.
    Patch by Adam Turner.
    

    5.0.0

    * 9575: autodoc: The annotation of return value should not be shown when
    ``autodoc_typehints=&quot;description&quot;``
    * 9648: autodoc: ``*args`` and ``**kwargs`` entries are duplicated when
    ``autodoc_typehints=&quot;description&quot;``
    * 8180: autodoc: Docstring metadata ignored for attributes
    * 10443: epub: EPUB builder can&#x27;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
    

    4.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`` and ``NO_COLOR`` for terminal colouring
    * 10234: autosummary: Add &quot;autosummary&quot; CSS class to summary tables
    * 10125: extlinks: Improve suggestion message for a reference having title
    * 10112: extlinks: Add :confval:`extlinks_detect_hardcoded_links` to enable
    hardcoded links detector feature
    * 9494, 9456: html search: Add a config variable
    :confval:`html_show_search_summary` to enable/disable the search summaries
    * 9337: HTML theme, add option ``enable_search_shortcuts`` that enables :kbd:`/` as
    a Quick search shortcut and :kbd:`Esc` shortcut that
    removes search highlighting.
    * 10107: i18n: Allow to suppress translation warnings by adding ``noqa``
    comment to the tail of each translation message
    * 10252: C++, support attributes on classes, unions, and enums.
    * 10253: :rst:role:`pep` role now generates URLs based on `peps.python.org
    &lt;https://peps.python.org&gt;`_
    
    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 support
    ``no-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. &quot;use&quot;)
    * 9529: LaTeX: named auto numbered footnote (ex. ``[named]``) that is referred
    multiple times was rendered to a question mark
    * 9924: LaTeX: multi-line :rst:dir:`cpp:function` directive has big vertical
    spacing in Latexpdf
    * 10158: LaTeX: excessive whitespace since v4.4.0 for undocumented
    variables/structure members 
    * 10175: LaTeX: named footnote reference is linked to an incorrect footnote if
    the name is also used in the different document
    * 10269: manpage: Failed to resolve the title of :rst:role:`ref` cross references
    * 10179: i18n: suppress &quot;rST localization&quot; 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
    

    4.4.0

    =====================================
    
    Dependencies
    ------------
    
    * 10007: Use ``importlib_metadata`` for python-3.9 or older
    * 10007: Drop ``setuptools``
    
    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`` -&gt; ``StringIO``)
    * 9831: Autosummary now documents only the members specified in a module&#x27;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: 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 &lt;kbd&gt; 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: &quot;Hide Search Matches&quot; link removes &quot;highlight&quot; 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 &quot;typing&quot; 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 = &#x27;separated&#x27;``
    * 9947: i18n: topic directive having a bullet list can&#x27;t be translatable
    * 9878: mathjax: MathJax configuration is placed after loading MathJax itself
    * 9932: napoleon: empty &quot;returns&quot; 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 &quot;data&quot; URIs
    * 9925: LaTeX: prohibit also with ``&#x27;xelatex&#x27;`` 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 &quot;typing&quot; 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
    

    4.3.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 9917: C and C++, parse fundamental types no matter the order of simple type
    specifiers.
    

    4.3.1

    =====================================
    
    Features added
    --------------
    
    * 9864: mathjax: Support chnaging the loading method of MathJax to &quot;defer&quot; 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 &quot;async&quot; method again
    

    4.3.0

    =====================================
    
    Dependencies
    ------------
    
    * Support Python 3.10
    
    Incompatible changes
    --------------------
    
    * 9649: ``searchindex.js``: the embedded data has changed format to allow
    objects with the same name in different domains.
    * 9672: The rendering of Python domain declarations is implemented
    with more docutils nodes to allow better CSS styling.
    It may break existing styling.
    * 9672: the signature of
    ``domains.python.PyObject.get_signature_prefix`` has changed to
    return a list of nodes instead of a plain string.
    * 9695: ``domains.js.JSObject.display_prefix`` has been changed into a method
    ``get_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 &quot;defer&quot; 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 &quot;fuzzy&quot;
    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 &quot;toctree contains reference to excluded document&quot;
    warnings using :confval:`suppress_warnings`
    
    Bugs fixed
    ----------
    
    * 9630: autodoc: Failed to build cross references if :confval:`primary_domain`
    is not &#x27;py&#x27;
    * 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 &quot;documented&quot; 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 &#x27;py&#x27;
    * 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 &quot;aggedright&quot; 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=&#x27;description&#x27;`
    * 9708: needs_extension failed to check double-digit version correctly
    * 9688: Fix Sphinx patched :dudir:`code` does not recognize ``:class:`` option
    * 9733: Fix for logging handler flushing warnings in the middle of the docs
    build
    * 9656: Fix warnings without subtype being incorrectly suppressed
    * Intersphinx, for unresolved references with an explicit inventory,
    e.g., ``proj:myFunc``, leave the inventory prefix in the unresolved text.
    

    4.2.0

    =====================================
    
    Features added
    --------------
    
    * 9445: autodoc: Support class properties
    * 9479: autodoc: Emit a warning if target is a mocked object
    * 9560: autodoc: Allow to refer NewType instances with module name in Python
    3.10 or above
    * 9447: html theme: Expose the version of Sphinx in the form of tuple as a
    template variable ``sphinx_version_tuple``
    * 9594: manpage: Suppress the title of man page if description is empty
    * 9445: py domain: :rst:dir:`py:property` directive supports ``:classmethod:``
    option to describe the class property
    * 9524: test: SphinxTestApp can take ``builddir`` as an argument
    * 9535: C and C++, support more fundamental types, including GNU extensions.
    
    Bugs fixed
    ----------
    
    * 9608: apidoc: apidoc does not generate a module definition for implicit
    namespace package
    * 9504: autodoc: generate incorrect reference to the parent class if the target
    class inherites the class having ``_name`` attribute
    * 9537, 9589: autodoc: Some objects under ``typing`` module are not displayed
    well with the HEAD of 3.10
    * 9487: autodoc: typehint for cached_property is not shown
    * 9509: autodoc: AttributeError is raised on failed resolving typehints
    * 9518: autodoc: autodoc_docstring_signature does not effect to ``__init__()``
    and ``__new__()``
    * 9522: autodoc: PEP 585 style typehints having arguments (ex. ``list[int]``)
    are not displayed well
    * 9481: autosummary: some warnings contain non-existing filenames
    * 9568: autosummary: summarise overlined sectioned headings correctly
    * 9600: autosummary: Type annotations which contain commas in autosummary table
    are not removed completely
    * 9481: c domain: some warnings contain non-existing filenames
    * 9481: cpp domain: some warnings contain non-existing filenames
    * 9456: html search: abbreation marks are inserted to the search result if
    failed to fetch the content of the page
    * 9617: html search: The JS requirement warning is shown if browser is slow
    * 9267: html theme: CSS and JS files added by theme were loaded twice
    * 9585: py domain: ``:type:`` option for :rst:dir:`py:property` directive does
    not create a hyperlink
    * 9576: py domain: Literal typehint was converted to a cross reference
    * 9535 comment: C++, fix parsing of defaulted function parameters that are
    function pointers.
    * 9564: smartquotes: don&#x27;t adjust typography for text with
    language-highlighted ``:code:`` role.
    * 9512: sphinx-build: crashed with the HEAD of Python 3.10
    

    4.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 = &quot;separated&quot;``
    * 9456: html search: html_copy_source can&#x27;t control the search summaries
    * 9500: LaTeX: Failed to build Japanese document on Windows
    * 9435: linkcheck: Failed to check anchors in github.com
    

    4.1.1

    =====================================
    
    Dependencies
    ------------
    
    * 9434: sphinxcontrib-htmlhelp-2.0.0 or above
    * 9434: sphinxcontrib-serializinghtml-1.1.5 or above
    
    Bugs fixed
    ----------
    
    * 9438: html: HTML logo or Favicon specified as file not being found on output
    

    4.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: 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 like
    ``foo.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 ``&#x27;both&#x27;`` 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=&#x27;none&#x27;`` now erases typehints for
    variables, attributes and properties
    * 3257: autosummary: Support instance attributes for classes
    * 9358: html: Add &quot;heading&quot; 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 &quot;working&quot;
    * 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 via
    ``Sphinx.registry.html_assets_policy``
    * C++, add support for
    
    - ``inline`` variables,
    - ``consteval`` functions,
    - ``constinit`` variables,
    - ``char8_t``,
    - ``explicit(&lt;constant expression&gt;)`` specifier,
    - digit separators in literals, and
    - constraints in placeholder type specifiers, aka. adjective syntax
     (e.g., ``Sortable auto &amp;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&#x27;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: &quot;exceptions&quot; 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.
    

    4.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
    

    4.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
    

    4.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 &quot;more than one target for
    cross-reference&quot; warning
    * 9201: websupport: UndefinedError is raised: &#x27;css_tag&#x27; is undefined
    

    4.0.0

    =====================================
    
    Dependencies
    ------------
    

    4.0.0b3

    * 9167: html: Failed to add CSS files to the specific page
    

    4.0.0b2

    * C, C++, fix ``KeyError`` when an ``alias`` directive is the first C/C++
    directive in a file with another C/C++ directive later.
    

    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=&quot;&quot; are ignored
    * 8380: html search: Paragraphs in search results are not identified as ``&lt;p&gt;``
    * 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 ``&#x27;pdflatex&#x27;/&#x27;lualatex&#x27;`` 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: &quot;release&quot; 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.
    

    3.5.5

    ==============================
    

    3.5.4

    =====================================
    
    Dependencies
    ------------
    
    * 9071: Restrict docutils to 0.16
    
    Bugs fixed
    ----------
    
    * 9078: autodoc: Async staticmethods and classmethods are considered as non
    async coroutine-functions with Python3.10
    * 8870, 9001, 9051: html theme: The style are not applied with docutils-0.17
    
    - toctree captions
    - The content of ``sidebar`` directive
    - figures
    

    3.5.3

    =====================================
    
    Features added
    --------------
    
    * 8959: using UNIX path separator in image directive confuses Sphinx on Windows
    

    3.5.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8943: i18n: Crashed by broken translation messages in ES, EL and HR
    * 8936: LaTeX: A custom LaTeX builder fails with unknown node error
    * 8952: Exceptions raised in a Directive cause parallel builds to hang
    

    3.5.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8883: autodoc: AttributeError is raised on assigning __annotations__ on
    read-only class
    * 8884: html: minified js stemmers not included in the distributed package
    * 8885: html: AttributeError is raised if CSS/JS files are installed via
    :confval:`html_context`
    * 8880: viewcode: ExtensionError is raised on incremental build after
    unparsable python module found
    

    3.5.0

    =====================================
    
    Dependencies
    ------------
    
    * LaTeX: ``multicol`` (it is anyhow a required part of the official latex2e
    base distribution)
    
    Incompatible changes
    --------------------
    
    * Update Underscore.js to 1.12.0
    * 6550: html: The config variable ``html_add_permalinks`` is replaced by
    :confval:`html_permalinks` and :confval:`html_permalinks_icon`
    
    Deprecated
    ----------
    
    * pending_xref node for viewcode extension
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.anchors_ignore``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.auth``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.broken``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.good``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.redirected``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.rqueue``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.to_ignore``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.workers``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.wqueue``
    * ``sphinx.builders.linkcheck.node_line_or_0()``
    * ``sphinx.ext.autodoc.AttributeDocumenter.isinstanceattribute()``
    * ``sphinx.ext.autodoc.directive.DocumenterBridge.reporter``
    * ``sphinx.ext.autodoc.importer.get_module_members()``
    * ``sphinx.ext.autosummary.generate._simple_info()``
    * ``sphinx.ext.autosummary.generate._simple_warn()``
    * ``sphinx.writers.html.HTMLTranslator.permalink_text``
    * ``sphinx.writers.html5.HTML5Translator.permalink_text``
    
    Features added
    --------------
    
    * 8022: autodoc: autodata and autoattribute directives does not show right-hand
    value of the variable if docstring contains ``:meta hide-value:`` in
    info-field-list
    * 8514: autodoc: Default values of overloaded functions are taken from actual
    implementation if they&#x27;re ellipsis
    * 8775: autodoc: Support type union operator (PEP-604) in Python 3.10 or above
    * 8297: autodoc: Allow to extend :confval:`autodoc_default_options` via
    directive options
    * 759: autodoc: Add a new configuration :confval:`autodoc_preserve_defaults` as
    an experimental feature.  It preserves the default argument values of
    functions in source code and keep them not evaluated for readability.
    * 8619: html: kbd role generates customizable HTML tags for compound keys
    * 8634: html: Allow to change the order of JS/CSS via ``priority`` parameter
    for :meth:`Sphinx.add_js_file()` and :meth:`Sphinx.add_css_file()`
    * 6241: html: Allow to add JS/CSS files to the specific page when an extension
    calls ``app.add_js_file()`` or ``app.add_css_file()`` on
    :event:`html-page-context` event
    * 6550: html: Allow to use HTML permalink texts via
    :confval:`html_permalinks_icon`
    * 1638: html: Add permalink icons to glossary terms
    * 8868: html search: performance issue with massive lists
    * 8867: html search: Update JavaScript stemmer code to the latest version of
    Snowball (v2.1.0)
    * 8852: i18n: Allow to translate heading syntax in MyST-Parser
    * 8649: imgconverter: Skip availability check if builder supports the image
    type
    * 8573: napoleon: Allow to change the style of custom sections using
    :confval:`napoleon_custom_styles`
    * 8004: napoleon: Type definitions in Google style docstrings are rendered as
    references when :confval:`napoleon_preprocess_types` enabled
    * 6241: mathjax: Include mathjax.js only on the document using equations
    * 8775: py domain: Support type union operator (PEP-604)
    * 8651: std domain: cross-reference for a rubric having inline item is broken
    * 7642: std domain: Optimize case-insensitive match of term
    * 8681: viewcode: Support incremental build
    * 8132: Add :confval:`project_copyright` as an alias of :confval:`copyright`
    * 207: Now :confval:`highlight_language` supports multiple languages
    * 2030: :rst:dir:`code-block` and :rst:dir:`literalinclude` supports automatic
    dedent via no-argument ``:dedent:`` option
    * C++, also hyperlink operator overloads in expressions and alias declarations.
    * 8247: Allow production lists to refer to tokens from other production groups
    * 8813: Show what extension (or module) caused it on errors on event handler
    * 8213: C++: add ``maxdepth`` option to :rst:dir:`cpp:alias` to insert nested
    declarations.
    * C, add ``noroot`` option to :rst:dir:`c:alias` to render only nested
    declarations.
    * C++, add ``noroot`` option to :rst:dir:`cpp:alias` to render only nested
    declarations.
    
    Bugs fixed
    ----------
    
    * 8727: apidoc: namespace module file is not generated if no submodules there
    * 741: autodoc: inherited-members doesn&#x27;t work for instance attributes on super
    class
    * 8592: autodoc: ``:meta public:`` does not effect to variables
    * 8594: autodoc: empty __all__ attribute is ignored
    * 8315: autodoc: Failed to resolve struct.Struct type annotation
    * 8652: autodoc: All variable comments in the module are ignored if the module
    contains invalid type comments
    * 8693: autodoc: Default values for overloaded functions are rendered as string
    * 8134: autodoc: crashes when mocked decorator takes arguments
    * 8800: autodoc: Uninitialized attributes in superclass are recognized as
    undocumented
    * 8655: autodoc: Failed to generate document if target module contains an
    object that raises an exception on ``hasattr()``
    * 8306: autosummary: mocked modules are documented as empty page when using
    :recursive: option
    * 8232: graphviz: Image node is not rendered if graph file is in subdirectory
    * 8618: html: kbd role produces incorrect HTML when compound-key separators (-,
    + or ^) are used as keystrokes
    * 8629: html: A type warning for html_use_opensearch is shown twice
    * 8714: html: kbd role with &quot;Caps Lock&quot; rendered incorrectly
    * 8123: html search: fix searching for terms containing + (Requires a custom
    search language that does not split on +)
    * 8665: html theme: Could not override globaltoc_maxdepth in theme.conf
    * 8446: html: consecutive spaces are displayed as single space
    * 8745: i18n: crashes with KeyError when translation message adds a new auto
    footnote reference
    * 4304: linkcheck: Fix race condition that could lead to checking the
    availability of the same URL twice
    * 8791: linkcheck: The docname for each hyperlink is not displayed
    * 7118: sphinx-quickstart: questionare got Mojibake if libreadline unavailable
    * 8094: texinfo: image files on the different directory with document are not
    copied
    * 8782: todo: Cross references in todolist get broken
    * 8720: viewcode: module pages are generated for epub on incremental build
    * 8704: viewcode: anchors are generated in incremental build after singlehtml
    * 8756: viewcode: highlighted code is generated even if not referenced
    * 8671: :confval:`highlight_options` is not working
    * 8341: C, fix intersphinx lookup types for names in declarations.
    * C, C++: in general fix intersphinx and role lookup types.
    * 8683: :confval:`html_last_updated_fmt` does not support UTC offset (%z)
    * 8683: :confval:`html_last_updated_fmt` generates wrong time zone for %Z
    * 1112: ``download`` role creates duplicated copies when relative path is
    specified
    * 2616 (fifth item): LaTeX: footnotes from captions are not clickable,
    and for manually numbered footnotes only first one with same number is
    an hyperlink
    * 7576: LaTeX with French babel and memoir crash: &quot;Illegal parameter number
    in definition of ``\FNHprefntext``&quot;
    * 8055: LaTeX (docs): A potential display bug with the LaTeX generation step
    in Sphinx (how to generate one-column index)
    * 8072: LaTeX: Directive :rst:dir:`hlist` not implemented in LaTeX
    * 8214: LaTeX: The :rst:role:`index` role and the glossary generate duplicate
    entries in the LaTeX index (if both used for same term)
    * 8735: LaTeX: wrong internal links in pdf to captioned code-blocks when
    :confval:`numfig` is not True
    * 8442: LaTeX: some indexed terms are ignored when using xelatex engine
    (or pdflatex and :confval:`latex_use_xindy` set to True) with memoir class
    * 8750: LaTeX: URLs as footnotes fail to show in PDF if originating from
    inside function type signatures
    * 8780: LaTeX: long words in narrow columns may not be hyphenated
    * 8788: LaTeX: ``\titleformat`` last argument in sphinx.sty should be
    bracketed, not braced (and is anyhow not needed) 
    * 8849: LaTex: code-block printed out of margin (see the opt-in LaTeX syntax
    boolean :ref:`verbatimforcewraps &lt;latexsphinxsetupforcewraps&gt;` for use via
    the :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;` key of ``latex_elements``)
    * 8183: LaTeX: Remove substitution_reference nodes from doctree only on LaTeX
    builds
    * 8865: LaTeX: Restructure the index nodes inside title nodes only on LaTeX
    builds
    * 8796: LaTeX: potentially critical low level TeX coding mistake has gone
    unnoticed so far
    * C, :rst:dir:`c:alias` skip symbols without explicit declarations
    instead of crashing.
    * C, :rst:dir:`c:alias` give a warning when the root symbol is not declared.
    * C, ``expr`` role should start symbol lookup in the current scope.
    

    3.4.3

    =====================================
    
    Bugs fixed
    ----------
    
    * 8655: autodoc: Failed to generate document if target module contains an
    object that raises an exception on ``hasattr()``
    

    3.4.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8164: autodoc: Classes that inherit mocked class are not documented
    * 8602: autodoc: The ``autodoc-process-docstring`` event is emitted to the
    non-datadescriptors unexpectedly
    * 8616: autodoc: AttributeError is raised on non-class object is passed to
    autoclass directive
    

    3.4.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8559: autodoc: AttributeError is raised when using forward-reference type
    annotations
    * 8568: autodoc: TypeError is raised on checking slots attribute
    * 8567: autodoc: Instance attributes are incorrectly added to Parent class
    * 8566: autodoc: The ``autodoc-process-docstring`` event is emitted to the
    alias classes unexpectedly
    * 8583: autodoc: Unnecessary object comparison via ``__eq__`` method
    * 8565: linkcheck: Fix PriorityQueue crash when link tuples are not
    comparable
    

    3.4.0

    =====================================
    
    Incompatible changes
    --------------------
    
    * 8105: autodoc: the signature of class constructor will be shown for decorated
    classes, not a signature of decorator
    
    Deprecated
    ----------
    
    * The ``follow_wrapped`` argument of ``sphinx.util.inspect.signature()``
    * The ``no_docstring`` argument of
    ``sphinx.ext.autodoc.Documenter.add_content()``
    * ``sphinx.ext.autodoc.Documenter.get_object_members()``
    * ``sphinx.ext.autodoc.DataDeclarationDocumenter``
    * ``sphinx.ext.autodoc.GenericAliasDocumenter``
    * ``sphinx.ext.autodoc.InstanceAttributeDocumenter``
    * ``sphinx.ext.autodoc.SlotsAttributeDocumenter``
    * ``sphinx.ext.autodoc.TypeVarDocumenter``
    * ``sphinx.ext.autodoc.importer._getannotations()``
    * ``sphinx.ext.autodoc.importer._getmro()``
    * ``sphinx.pycode.ModuleAnalyzer.parse()``
    * ``sphinx.util.osutil.movefile()``
    * ``sphinx.util.requests.is_ssl_error()``
    
    Features added
    --------------
    
    * 8119: autodoc: Allow to determine whether a member not included in
    ``__all__`` attribute of the module should be documented or not via
    :event:`autodoc-skip-member` event
    * 8219: autodoc: Parameters for generic class are not shown when super class is
    a generic class and show-inheritance option is given (in Python 3.7 or above)
    * autodoc: Add ``Documenter.config`` as a shortcut to access the config object
    * autodoc: Add Optional[t] to annotation of function and method if a default
    value equal to None is set.
    * 8209: autodoc: Add ``:no-value:`` option to :rst:dir:`autoattribute` and
    :rst:dir:`autodata` directive to suppress the default value of the variable
    * 8460: autodoc: Support custom types defined by typing.NewType
    * 8285: napoleon: Add :confval:`napoleon_attr_annotations` to merge type hints
    on source code automatically if any type is specified in docstring
    * 8236: napoleon: Support numpydoc&#x27;s &quot;Receives&quot; section
    * 6914: Add a new event :event:`warn-missing-reference` to custom warning
    messages when failed to resolve a cross-reference
    * 6914: Emit a detailed warning when failed to resolve a ``:ref:`` reference
    * 6629: linkcheck: The builder now handles rate limits. See
    :confval:`linkcheck_retry_on_rate_limit` for details.
    
    Bugs fixed
    ----------
    
    * 7613: autodoc: autodoc does not respect __signature__ of the class
    * 4606: autodoc: the location of the warning is incorrect for inherited method
    * 8105: autodoc: the signature of class constructor is incorrect if the class
    is decorated
    * 8434: autodoc: :confval:`autodoc_type_aliases` does not effect to variables
    and attributes
    * 8443: autodoc: autodata directive can&#x27;t create document for PEP-526 based
    type annotated variables
    * 8443: autodoc: autoattribute directive can&#x27;t create document for PEP-526
    based uninitialized variables
    * 8480: autodoc: autoattribute could not create document for __slots__
    attributes
    * 8503: autodoc: autoattribute could not create document for a GenericAlias as
    class attributes correctly
    * 8534: autodoc: autoattribute could not create document for a commented
    attribute in alias class
    * 8452: autodoc: autodoc_type_aliases doesn&#x27;t work when autodoc_typehints is
    set to &quot;description&quot;
    * 8541: autodoc: autodoc_type_aliases doesn&#x27;t work for the type annotation to
    instance attributes
    * 8460: autodoc: autodata and autoattribute directives do not display type
    information of TypeVars
    * 8493: autodoc: references to builtins not working in class aliases
    * 8522: autodoc:  ``__bool__`` method could be called
    * 8067: autodoc: A typehint for the instance variable having type_comment on
    super class is not displayed
    * 8545: autodoc: a __slots__ attribute is not documented even having docstring
    * 741: autodoc: inherited-members doesn&#x27;t work for instance attributes on super
    class
    * 8477: autosummary: non utf-8 reST files are generated when template contains
    multibyte characters
    * 8501: autosummary: summary extraction splits text after &quot;el at.&quot; unexpectedly
    * 8524: html: Wrong url_root has been generated on a document named &quot;index&quot;
    * 8419: html search: Do not load ``language_data.js`` in non-search pages
    * 8549: i18n: ``-D gettext_compact=0`` is no longer working
    * 8454: graphviz: The layout option for graph and digraph directives don&#x27;t work
    * 8131: linkcheck: Use GET when HEAD requests cause Too Many Redirects, to
    accommodate infinite redirect loops on HEAD
    * 8437: Makefile: ``make clean`` with empty BUILDDIR is dangerous
    * 8365: py domain: ``:type:`` and ``:rtype:`` gives false ambiguous class
    lookup warnings
    * 8352: std domain: Failed to parse an option that starts with bracket
    * 8519: LaTeX: Prevent page brake in the middle of a seealso
    * 8520: C, fix copying of AliasNode.
    

    3.3.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8372: autodoc: autoclass directive became slower than Sphinx-3.2
    * 7727: autosummary: raise PycodeError when documenting python package
    without __init__.py
    * 8350: autosummary: autosummary_mock_imports causes slow down builds
    * 8364: C, properly initialize attributes in empty symbols.
    * 8399: i18n: Put system locale path after the paths specified by configuration
    

    3.3.0

    =====================================
    
    Deprecated
    ----------
    
    * ``sphinx.builders.latex.LaTeXBuilder.usepackages``
    * ``sphinx.builders.latex.LaTeXBuilder.usepackages_afger_hyperref``
    * ``sphinx.ext.autodoc.SingledispatchFunctionDocumenter``
    * ``sphinx.ext.autodoc.SingledispatchMethodDocumenter``
    
    Features added
    --------------
    
    * 8100: html: Show a better error message for failures on copying
    html_static_files
    * 8141: C: added a ``maxdepth`` option to :rst:dir:`c:alias` to insert
    nested declarations.
    * 8081: LaTeX: Allow to add LaTeX package via ``app.add_latex_package()`` until
    just before writing .tex file
    * 7996: manpage: Add :confval:`man_make_section_directory` to make a section
    directory on build man page
    * 8289: epub: Allow to suppress &quot;duplicated ToC entry found&quot; warnings from epub
    builder using :confval:`suppress_warnings`.
    * 8298: sphinx-quickstart: Add :option:`sphinx-quickstart --no-sep` option
    * 8304: sphinx.testing: Register public markers in sphinx.testing.fixtures
    * 8051: napoleon: use the obj role for all See Also items
    * 8050: napoleon: Apply :confval:`napoleon_preprocess_types` to every field
    * C and C++, show line numbers for previous declarations when duplicates are
    detected.
    * 8183: Remove substitution_reference nodes from doctree only on LaTeX builds
    
    Bugs fixed
    ----------
    
    * 8085: i18n: Add support for having single text domain
    * 6640: i18n: Failed to override system message translation
    * 8143: autodoc: AttributeError is raised when False value is passed to
    autodoc_default_options
    * 8103: autodoc: functools.cached_property is not considered as a property
    * 8190: autodoc: parsing error is raised if some extension replaces docstring
    by string not ending with blank lines
    * 8142: autodoc: Wrong constructor signature for the class derived from
    typing.Generic
    * 8157: autodoc: TypeError is raised when annotation has invalid __args__
    * 7964: autodoc: Tuple in default value is wrongly rendered
    * 8200: autodoc: type aliases break type formatting of autoattribute
    * 7786: autodoc: can&#x27;t detect overloaded methods defined in other file
    * 8294: autodoc: single-string __slots__ is not handled correctly
    * 7785: autodoc: autodoc_typehints=&#x27;none&#x27; does not effect to overloaded functions
    * 8192: napoleon: description is disappeared when it contains inline literals
    * 8142: napoleon: Potential of regex denial of service in google style docs
    * 8169: LaTeX: pxjahyper loaded even when latex_engine is not platex
    * 8215: LaTeX: &#x27;oneside&#x27; classoption causes build warning
    * 8175: intersphinx: Potential of regex denial of service by broken inventory
    * 8277: sphinx-build: missing and redundant spacing (and etc) for console
    output on building
    * 7973: imgconverter: Check availability of imagemagick many times
    * 8255: py domain: number in default argument value is changed from hexadecimal
    to decimal
    * 8316: html: Prevent arrow keys changing page when button elements are focused
    * 8343: html search: Fix unnecessary load of images when parsing the document
    * 8254: html theme: Line numbers misalign with code lines
    * 8093: The highlight warning has wrong location in some builders (LaTeX,
    singlehtml and so on)
    * 8215: Eliminate Fancyhdr build warnings for oneside documents
    * 8239: Failed to refer a token in productionlist if it is indented
    * 8268: linkcheck: Report HTTP errors when ``linkcheck_anchors`` is ``True``
    * 8245: linkcheck: take source directory into account for local files
    * 8321: linkcheck: ``tel:`` schema hyperlinks are detected as errors
    * 8323: linkcheck: An exit status is incorrect when links having unsupported
    schema found
    * 8188: C, add missing items to internal object types dictionary,
    e.g., preventing intersphinx from resolving them.
    * C, fix anon objects in intersphinx.
    * 8270, C++, properly reject functions as duplicate declarations if a
    non-function declaration of the same name already exists.
    * C, fix references to function parameters.
    Link to the function instead of a non-existing anchor.
    * 6914: figure numbers are unexpectedly assigned to uncaptioned items
    * 8320: make &quot;inline&quot; line numbers un-selectable
    
    Testing
    --------
    
    * 8257: Support parallel build in sphinx.testing
    

    3.2.1

    =====================================
    
    Features added
    --------------
    
    * 8095: napoleon: Add :confval:`napoleon_preprocess_types` to enable the type
    preprocessor for numpy style docstrings
    * 8114: C and C++, parse function attributes after parameters and qualifiers.
    
    Bugs fixed
    ----------
    
    * 8074: napoleon: Crashes during processing C-ext module
    * 8088: napoleon: &quot;Inline literal start-string without end-string&quot; warning in
    Numpy style Parameters section
    * 8084: autodoc: KeyError is raised on documenting an attribute of the broken
    class
    * 8091: autodoc: AttributeError is raised on documenting an attribute on Python
    3.5.2
    * 8099: autodoc: NameError is raised when target code uses ``TYPE_CHECKING``
    * C++, fix parsing of template template parameters, broken by the fix of 7944
    

    3.2.0

    =====================================
    
    Deprecated
    ----------
    
    * ``sphinx.ext.autodoc.members_set_option()``
    * ``sphinx.ext.autodoc.merge_special_members_option()``
    * ``sphinx.writers.texinfo.TexinfoWriter.desc``
    * C, parsing of pre-v3 style type directives and roles, along with the options
    :confval:`c_allow_pre_v3` and :confval:`c_warn_on_allowed_pre_v3`.
    
    Features added
    --------------
    
    * 2076: autodoc: Allow overriding of exclude-members in skip-member function
    * 8034: autodoc: ``:private-member:`` can take an explicit list of member names
    to be documented
    * 2024: autosummary: Add :confval:`autosummary_filename_map` to avoid conflict
    of filenames between two object with different case
    * 8011: autosummary: Support instance attributes as a target of autosummary
    directive
    * 7849: html: Add :confval:`html_codeblock_linenos_style` to change the style
    of line numbers for code-blocks
    * 7853: C and C++, support parameterized GNU style attributes.
    * 7888: napoleon: Add aliases Warn and Raise.
    * 7690: napoleon: parse type strings and make them hyperlinks as possible.  The
    conversion rule can be updated via :confval:`napoleon_type_aliases`
    * 8049: napoleon: Create a hyperlink for each the type of parameter when
    :confval:`napoleon_use_params` is False
    * C, added :rst:dir:`c:alias` directive for inserting copies
    of existing declarations.
    * 7745: html: inventory is broken if the docname contains a space
    * 7991: html search: Allow searching for numbers
    * 7902: html theme: Add a new option :confval:`globaltoc_maxdepth` to control
    the behavior of globaltoc in sidebar
    * 7840: i18n: Optimize the dependencies check on bootstrap
    * 7768: i18n: :confval:`figure_language_filename` supports ``docpath`` token
    * 5208: linkcheck: Support checks for local links
    * 5090: setuptools: Link verbosity to distutils&#x27; -v and -q option
    * 6698: doctest: Add ``:trim-doctest-flags:`` and ``:no-trim-doctest-flags:``
    options to doctest, testcode and testoutput directives
    * 7052: add ``:noindexentry:`` to the Python, C, C++, and Javascript domains.
    Update the documentation to better reflect the relationship between this option
    and the ``:noindex:`` option.
    * 7899: C, add possibility of parsing of some pre-v3 style type directives and
    roles and try to convert them to equivalent v3 directives/roles.
    Set the new option :confval:`c_allow_pre_v3` to ``True`` to enable this.
    The warnings printed from this functionality can be suppressed by setting
    :confval:`c_warn_on_allowed_pre_v3`` to ``True``.
    The functionality is immediately deprecated.
    * 7999: C, add support for named variadic macro arguments.
    * 8071: Allow to suppress &quot;self referenced toctrees&quot; warning
    
    Bugs fixed
    ----------
    
    * 7886: autodoc: TypeError is raised on mocking generic-typed classes
    * 7935: autodoc: function signature is not shown when the function has a
    parameter having ``inspect._empty`` as its default value
    * 7901: autodoc: type annotations for overloaded functions are not resolved
    * 904: autodoc: An instance attribute cause a crash of autofunction directive
    * 1362: autodoc: ``private-members`` option does not work for class attributes
    * 7983: autodoc: Generator type annotation is wrongly rendered in py36
    * 8030: autodoc: An uninitialized annotated instance variable is not documented
    when ``:inherited-members:`` option given
    * 8032: autodoc: A type hint for the instance variable defined at parent class
    is not shown in the document of the derived class
    * 8041: autodoc: An annotated instance variable on super class is not
    documented when derived class has other annotated instance variables
    * 7839: autosummary: cannot handle umlauts in function names
    * 7865: autosummary: Failed to extract summary line when abbreviations found
    * 7866: autosummary: Failed to extract correct summary line when docstring
    contains a hyperlink target
    * 7469: autosummary: &quot;Module attributes&quot; header is not translatable
    * 7940: apidoc: An extra newline is generated at the end of the rst file if a
    module has submodules
    * 4258: napoleon: decorated special methods are not shown
    * 7799: napoleon: parameters are not escaped for combined params in numpydoc
    * 7780: napoleon: multiple parameters declaration in numpydoc was wrongly
    recognized when napoleon_use_params=True
    * 7715: LaTeX: ``numfig_secnum_depth &gt; 1`` leads to wrong figure links
    * 7846: html theme: XML-invalid files were generated
    * 7894: gettext: Wrong source info is shown when using rst_epilog
    * 7691: linkcheck: HEAD requests are not used for checking
    * 4888: i18n: Failed to add an explicit title to ``:ref:`` role on translation
    * 7928: py domain: failed to resolve a type annotation for the attribute
    * 8008: py domain: failed to parse a type annotation containing ellipsis
    * 7994: std domain: option directive does not generate old node_id compatible
    with 2.x or older
    * 7968: i18n: The content of ``math`` directive is interpreted as reST on
    translation
    * 7768: i18n: The ``root`` element for :confval:`figure_language_filename` is
    not a path that user specifies in the document
    * 7993: texinfo: TypeError is raised for nested object descriptions
    * 7993: texinfo: a warning not supporting desc_signature_line node is shown
    * 7869: :rst:role:`abbr` role without an explanation will show the explanation
    from the previous abbr role
    * 8048: graphviz: graphviz.css was copied on building non-HTML document
    * C and C++, removed ``noindex`` directive option as it did
    nothing.
    * 7619: Duplicated node IDs are generated if node has multiple IDs
    * 2050: Symbols sections are appeared twice in the index page
    * 8017: Fix circular import in sphinx.addnodes
    * 7986: CSS: make &quot;highlight&quot; selector more robust
    * 7944: C++, parse non-type template parameters starting with
    a dependent qualified name.
    * C, don&#x27;t deepcopy the entire symbol table and make a mess every time an
    enumerator is handled.
    

    3.1.2

    =====================================
    
    Incompatible changes
    --------------------
    
    * 7650: autodoc: the signature of base function will be shown for decorated
    functions, not a signature of decorator
    
    Bugs fixed
    ----------
    
    * 7844: autodoc: Failed to detect module when relative module name given
    * 7856: autodoc: AttributeError is raised when non-class object is given to
    the autoclass directive
    * 7850: autodoc: KeyError is raised for invalid mark up when autodoc_typehints
    is &#x27;description&#x27;
    * 7812: autodoc: crashed if the target name matches to both an attribute and
    module that are same name
    * 7650: autodoc: function signature becomes ``(*args, **kwargs)`` if the
    function is decorated by generic decorator
    * 7812: autosummary: generates broken stub files if the target code contains
    an attribute and module that are same name
    * 7806: viewcode: Failed to resolve viewcode references on 3rd party builders
    * 7838: html theme: List items have extra vertical space
    * 7878: html theme: Undesired interaction between &quot;overflow&quot; and &quot;float&quot;
    

    3.1.1

    =====================================
    
    Incompatible changes
    --------------------
    
    * 7808: napoleon: a type for attribute are represented as typed field
    
    Features added
    --------------
    
    * 7807: autodoc: Show detailed warning when type_comment is mismatched with its
    signature
    
    Bugs fixed
    ----------
    
    * 7808: autodoc: Warnings raised on variable and attribute type annotations
    * 7802: autodoc: EOFError is raised on parallel build
    * 7821: autodoc: TypeError is raised for overloaded C-ext function
    * 7805: autodoc: an object which descriptors returns is unexpectedly documented
    * 7807: autodoc: wrong signature is shown for the function using contextmanager
    * 7812: autosummary: generates broken stub files if the target code contains
    an attribute and module that are same name
    * 7808: napoleon: Warnings raised on variable and attribute type annotations
    * 7811: sphinx.util.inspect causes circular import problem
    

    3.1.0

    =====================================
    
    Dependencies
    ------------
    
    * 7746: mathjax: Update to 2.7.5
    
    Incompatible changes
    --------------------
    
    * 7477: imgconverter: Invoke &quot;magick convert&quot; command by default on Windows
    
    Deprecated
    ----------
    
    * The first argument for sphinx.ext.autosummary.generate.AutosummaryRenderer has
    been changed to Sphinx object
    * ``sphinx.ext.autosummary.generate.AutosummaryRenderer`` takes an object type
    as an argument
    * The ``ignore`` argument of ``sphinx.ext.autodoc.Documenter.get_doc()``
    * The ``template_dir`` argument of ``sphinx.ext.autosummary.generate.
    AutosummaryRenderer``
    * The ``module`` argument of ``sphinx.ext.autosummary.generate.
    find_autosummary_in_docstring()``
    * The ``builder`` argument of ``sphinx.ext.autosummary.generate.
    generate_autosummary_docs()``
    * The ``template_dir`` argument of ``sphinx.ext.autosummary.generate.
    generate_autosummary_docs()``
    * The ``ignore`` argument of ``sphinx.util.docstring.prepare_docstring()``
    * ``sphinx.ext.autosummary.generate.AutosummaryRenderer.exists()``
    * ``sphinx.util.rpartition()``
    
    Features added
    --------------
    
    * LaTeX: Make the ``toplevel_sectioning`` setting optional in LaTeX theme
    * LaTeX: Allow to override papersize and pointsize from LaTeX themes
    * LaTeX: Add :confval:`latex_theme_options` to override theme options
    * 7410: Allow to suppress &quot;circular toctree references detected&quot; warnings using
    :confva
    opened by pyup-bot 1
  • Update pytest to 7.1.3

    Update pytest to 7.1.3

    This PR updates pytest from 5.3.1 to 7.1.3.

    Changelog

    7.1.3

    =========================
    
    Bug Fixes
    ---------
    
    - `10060 &lt;https://github.com/pytest-dev/pytest/issues/10060&gt;`_: When running with ``--pdb``, ``TestCase.tearDown`` is no longer called for tests when the *class* has been skipped via ``unittest.skip`` or ``pytest.mark.skip``.
    
    
    - `10190 &lt;https://github.com/pytest-dev/pytest/issues/10190&gt;`_: Invalid XML characters in setup or teardown error messages are now properly escaped for JUnit XML reports.
    
    
    - `10230 &lt;https://github.com/pytest-dev/pytest/issues/10230&gt;`_: Ignore ``.py`` files created by ``pyproject.toml``-based editable builds introduced in `pip 21.3 &lt;https://pip.pypa.io/en/stable/news/#v21-3&gt;`__.
    
    
    - `3396 &lt;https://github.com/pytest-dev/pytest/issues/3396&gt;`_: Doctests now respect the ``--import-mode`` flag.
    
    
    - `9514 &lt;https://github.com/pytest-dev/pytest/issues/9514&gt;`_: Type-annotate ``FixtureRequest.param`` as ``Any`` as a stop gap measure until :issue:`8073` is fixed.
    
    
    - `9791 &lt;https://github.com/pytest-dev/pytest/issues/9791&gt;`_: Fixed a path handling code in ``rewrite.py`` that seems to work fine, but was incorrect and fails in some systems.
    
    
    - `9917 &lt;https://github.com/pytest-dev/pytest/issues/9917&gt;`_: Fixed string representation for :func:`pytest.approx` when used to compare tuples.
    
    
    
    Improved Documentation
    ----------------------
    
    - `9937 &lt;https://github.com/pytest-dev/pytest/issues/9937&gt;`_: Explicit note that :fixture:`tmpdir` fixture is discouraged in favour of :fixture:`tmp_path`.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `10114 &lt;https://github.com/pytest-dev/pytest/issues/10114&gt;`_: Replace `atomicwrites &lt;https://github.com/untitaker/python-atomicwrites&gt;`__ dependency on windows with `os.replace`.
    

    7.1.2

    =========================
    
    Bug Fixes
    ---------
    
    - `9726 &lt;https://github.com/pytest-dev/pytest/issues/9726&gt;`_: An unnecessary ``numpy`` import inside :func:`pytest.approx` was removed.
    
    
    - `9820 &lt;https://github.com/pytest-dev/pytest/issues/9820&gt;`_: Fix comparison of  ``dataclasses`` with ``InitVar``.
    
    
    - `9869 &lt;https://github.com/pytest-dev/pytest/issues/9869&gt;`_: Increase ``stacklevel`` for the ``NODE_CTOR_FSPATH_ARG`` deprecation to point to the
    user&#x27;s code, not pytest.
    
    
    - `9871 &lt;https://github.com/pytest-dev/pytest/issues/9871&gt;`_: Fix a bizarre (and fortunately rare) bug where the `temp_path` fixture could raise
    an internal error while attempting to get the current user&#x27;s username.
    

    7.1.1

    =========================
    
    Bug Fixes
    ---------
    
    - `9767 &lt;https://github.com/pytest-dev/pytest/issues/9767&gt;`_: Fixed a regression in pytest 7.1.0 where some conftest.py files outside of the source tree (e.g. in the `site-packages` directory) were not picked up.
    

    7.1.0

    =========================
    
    Breaking Changes
    ----------------
    
    - `8838 &lt;https://github.com/pytest-dev/pytest/issues/8838&gt;`_: As per our policy, the following features have been deprecated in the 6.X series and are now
    removed:
    
    * ``pytest._fillfuncargs`` function.
    
    * ``pytest_warning_captured`` hook - use ``pytest_warning_recorded`` instead.
    
    * ``-k -foobar`` syntax - use ``-k &#x27;not foobar&#x27;`` instead.
    
    * ``-k foobar:`` syntax.
    
    * ``pytest.collect`` module - import from ``pytest`` directly.
    
    For more information consult
    `Deprecations and Removals &lt;https://docs.pytest.org/en/latest/deprecations.html&gt;`__ in the docs.
    
    
    - `9437 &lt;https://github.com/pytest-dev/pytest/issues/9437&gt;`_: Dropped support for Python 3.6, which reached `end-of-life &lt;https://devguide.python.org/#status-of-python-branches&gt;`__ at 2021-12-23.
    
    
    
    Improvements
    ------------
    
    - `5192 &lt;https://github.com/pytest-dev/pytest/issues/5192&gt;`_: Fixed test output for some data types where ``-v`` would show less information.
    
    Also, when showing diffs for sequences, ``-q`` would produce full diffs instead of the expected diff.
    
    
    - `9362 &lt;https://github.com/pytest-dev/pytest/issues/9362&gt;`_: pytest now avoids specialized assert formatting when it is detected that the default ``__eq__`` is overridden in ``attrs`` or ``dataclasses``.
    
    
    - `9536 &lt;https://github.com/pytest-dev/pytest/issues/9536&gt;`_: When ``-vv`` is given on command line, show skipping and xfail reasons in full instead of truncating them to fit the terminal width.
    
    
    - `9644 &lt;https://github.com/pytest-dev/pytest/issues/9644&gt;`_: More information about the location of resources that led Python to raise :class:`ResourceWarning` can now
    be obtained by enabling :mod:`tracemalloc`.
    
    See :ref:`resource-warnings` for more information.
    
    
    - `9678 &lt;https://github.com/pytest-dev/pytest/issues/9678&gt;`_: More types are now accepted in the ``ids`` argument to ``pytest.mark.parametrize``.
    Previously only `str`, `float`, `int` and `bool` were accepted;
    now `bytes`, `complex`, `re.Pattern`, `Enum` and anything with a `__name__` are also accepted.
    
    
    - `9692 &lt;https://github.com/pytest-dev/pytest/issues/9692&gt;`_: :func:`pytest.approx` now raises a :class:`TypeError` when given an unordered sequence (such as :class:`set`).
    
    Note that this implies that custom classes which only implement ``__iter__`` and ``__len__`` are no longer supported as they don&#x27;t guarantee order.
    
    
    
    Bug Fixes
    ---------
    
    - `8242 &lt;https://github.com/pytest-dev/pytest/issues/8242&gt;`_: The deprecation of raising :class:`unittest.SkipTest` to skip collection of
    tests during the pytest collection phase is reverted - this is now a supported
    feature again.
    
    
    - `9493 &lt;https://github.com/pytest-dev/pytest/issues/9493&gt;`_: Symbolic link components are no longer resolved in conftest paths.
    This means that if a conftest appears twice in collection tree, using symlinks, it will be executed twice.
    For example, given
    
       tests/real/conftest.py
       tests/real/test_it.py
       tests/link -&gt; tests/real
    
    running ``pytest tests`` now imports the conftest twice, once as ``tests/real/conftest.py`` and once as ``tests/link/conftest.py``.
    This is a fix to match a similar change made to test collection itself in pytest 6.0 (see :pull:`6523` for details).
    
    
    - `9626 &lt;https://github.com/pytest-dev/pytest/issues/9626&gt;`_: Fixed count of selected tests on terminal collection summary when there were errors or skipped modules.
    
    If there were errors or skipped modules on collection, pytest would mistakenly subtract those from the selected count.
    
    
    - `9645 &lt;https://github.com/pytest-dev/pytest/issues/9645&gt;`_: Fixed regression where ``--import-mode=importlib`` used together with :envvar:`PYTHONPATH` or :confval:`pythonpath` would cause import errors in test suites.
    
    
    - `9708 &lt;https://github.com/pytest-dev/pytest/issues/9708&gt;`_: :fixture:`pytester` now requests a :fixture:`monkeypatch` fixture instead of creating one internally. This solves some issues with tests that involve pytest environment variables.
    
    
    - `9730 &lt;https://github.com/pytest-dev/pytest/issues/9730&gt;`_: Malformed ``pyproject.toml`` files now produce a clearer error message.
    

    7.0.1

    =========================
    
    Bug Fixes
    ---------
    
    - `9608 &lt;https://github.com/pytest-dev/pytest/issues/9608&gt;`_: Fix invalid importing of ``importlib.readers`` in Python 3.9.
    
    
    - `9610 &lt;https://github.com/pytest-dev/pytest/issues/9610&gt;`_: Restore `UnitTestFunction.obj` to return unbound rather than bound method.
    Fixes a crash during a failed teardown in unittest TestCases with non-default `__init__`.
    Regressed in pytest 7.0.0.
    
    
    - `9636 &lt;https://github.com/pytest-dev/pytest/issues/9636&gt;`_: The ``pythonpath`` plugin was renamed to ``python_path``. This avoids a conflict with the ``pytest-pythonpath`` plugin.
    
    
    - `9642 &lt;https://github.com/pytest-dev/pytest/issues/9642&gt;`_: Fix running tests by id with ``::`` in the parametrize portion.
    
    
    - `9643 &lt;https://github.com/pytest-dev/pytest/issues/9643&gt;`_: Delay issuing a :class:`~pytest.PytestWarning` about diamond inheritance involving :class:`~pytest.Item` and
    :class:`~pytest.Collector` so it can be filtered using :ref:`standard warning filters &lt;warnings&gt;`.
    

    7.0.0

    =========================
    
    (**Please see the full set of changes for this release also in the 7.0.0rc1 notes below**)
    
    Deprecations
    ------------
    
    - `9488 &lt;https://github.com/pytest-dev/pytest/issues/9488&gt;`_: If custom subclasses of nodes like :class:`pytest.Item` override the
    ``__init__`` method, they should take ``**kwargs``. See
    :ref:`uncooperative-constructors-deprecated` for details.
    
    Note that a deprection warning is only emitted when there is a conflict in the
    arguments pytest expected to pass. This deprecation was already part of pytest
    7.0.0rc1 but wasn&#x27;t documented.
    
    
    
    Bug Fixes
    ---------
    
    - `9355 &lt;https://github.com/pytest-dev/pytest/issues/9355&gt;`_: Fixed error message prints function decorators when using assert in Python 3.8 and above.
    
    
    - `9396 &lt;https://github.com/pytest-dev/pytest/issues/9396&gt;`_: Ensure :attr:`pytest.Config.inifile` is available during the :func:`pytest_cmdline_main &lt;_pytest.hookspec.pytest_cmdline_main&gt;` hook (regression during ``7.0.0rc1``).
    
    
    
    Improved Documentation
    ----------------------
    
    - `9404 &lt;https://github.com/pytest-dev/pytest/issues/9404&gt;`_: Added extra documentation on alternatives to common misuses of `pytest.warns(None)` ahead of its deprecation.
    
    
    - `9505 &lt;https://github.com/pytest-dev/pytest/issues/9505&gt;`_: Clarify where the configuration files are located. To avoid confusions documentation mentions
    that configuration file is located in the root of the repository.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `9521 &lt;https://github.com/pytest-dev/pytest/issues/9521&gt;`_: Add test coverage to assertion rewrite path.
    

    7.0.0rc1

    ============================
    
    Breaking Changes
    ----------------
    
    - `7259 &lt;https://github.com/pytest-dev/pytest/issues/7259&gt;`_: The :ref:`Node.reportinfo() &lt;non-python tests&gt;` function first return value type has been expanded from `py.path.local | str` to `os.PathLike[str] | str`.
    
    Most plugins which refer to `reportinfo()` only define it as part of a custom :class:`pytest.Item` implementation.
    Since `py.path.local` is a `os.PathLike[str]`, these plugins are unaffacted.
    
    Plugins and users which call `reportinfo()`, use the first return value and interact with it as a `py.path.local`, would need to adjust by calling `py.path.local(fspath)`.
    Although preferably, avoid the legacy `py.path.local` and use `pathlib.Path`, or use `item.location` or `item.path`, instead.
    
    Note: pytest was not able to provide a deprecation period for this change.
    
    
    - `8246 &lt;https://github.com/pytest-dev/pytest/issues/8246&gt;`_: ``--version`` now writes version information to ``stdout`` rather than ``stderr``.
    
    
    - `8733 &lt;https://github.com/pytest-dev/pytest/issues/8733&gt;`_: Drop a workaround for `pyreadline &lt;https://github.com/pyreadline/pyreadline&gt;`__ that made it work with ``--pdb``.
    
    The workaround was introduced in `1281 &lt;https://github.com/pytest-dev/pytest/pull/1281&gt;`__ in 2015, however since then
    `pyreadline seems to have gone unmaintained &lt;https://github.com/pyreadline/pyreadline/issues/58&gt;`__, is `generating
    warnings &lt;https://github.com/pytest-dev/pytest/issues/8847&gt;`__, and will stop working on Python 3.10.
    
    
    - `9061 &lt;https://github.com/pytest-dev/pytest/issues/9061&gt;`_: Using :func:`pytest.approx` in a boolean context now raises an error hinting at the proper usage.
    
    It is apparently common for users to mistakenly use ``pytest.approx`` like this:
    
    .. code-block:: python
    
       assert pytest.approx(actual, expected)
    
    While the correct usage is:
    
    .. code-block:: python
    
       assert actual == pytest.approx(expected)
    
    The new error message helps catch those mistakes.
    
    
    - `9277 &lt;https://github.com/pytest-dev/pytest/issues/9277&gt;`_: The ``pytest.Instance`` collector type has been removed.
    Importing ``pytest.Instance`` or ``_pytest.python.Instance`` returns a dummy type and emits a deprecation warning.
    See :ref:`instance-collector-deprecation` for details.
    
    
    - `9308 &lt;https://github.com/pytest-dev/pytest/issues/9308&gt;`_: **PytestRemovedIn7Warning deprecation warnings are now errors by default.**
    
    Following our plan to remove deprecated features with as little disruption as
    possible, all warnings of type ``PytestRemovedIn7Warning`` now generate errors
    instead of warning messages by default.
    
    **The affected features will be effectively removed in pytest 7.1**, so please consult the
    :ref:`deprecations` section in the docs for directions on how to update existing code.
    
    In the pytest ``7.0.X`` series, it is possible to change the errors back into warnings as a
    stopgap measure by adding this to your ``pytest.ini`` file:
    
    .. code-block:: ini
    
       [pytest]
       filterwarnings =
           ignore::pytest.PytestRemovedIn7Warning
    
    But this will stop working when pytest ``7.1`` is released.
    
    **If you have concerns** about the removal of a specific feature, please add a
    comment to :issue:`9308`.
    
    
    
    Deprecations
    ------------
    
    - `7259 &lt;https://github.com/pytest-dev/pytest/issues/7259&gt;`_: ``py.path.local`` arguments for hooks have been deprecated. See :ref:`the deprecation note &lt;legacy-path-hooks-deprecated&gt;` for full details.
    
    ``py.path.local`` arguments to Node constructors have been deprecated. See :ref:`the deprecation note &lt;node-ctor-fspath-deprecation&gt;` for full details.
    
    .. note::
       The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the
       new attribute being ``path``) is **the opposite** of the situation for hooks
       (the old argument being ``path``).
    
       This is an unfortunate artifact due to historical reasons, which should be
       resolved in future versions as we slowly get rid of the :pypi:`py`
       dependency (see :issue:`9283` for a longer discussion).
    
    
    - `7469 &lt;https://github.com/pytest-dev/pytest/issues/7469&gt;`_: Directly constructing the following classes is now deprecated:
    
    - ``_pytest.mark.structures.Mark``
    - ``_pytest.mark.structures.MarkDecorator``
    - ``_pytest.mark.structures.MarkGenerator``
    - ``_pytest.python.Metafunc``
    - ``_pytest.runner.CallInfo``
    - ``_pytest._code.ExceptionInfo``
    - ``_pytest.config.argparsing.Parser``
    - ``_pytest.config.argparsing.OptionGroup``
    - ``_pytest.pytester.HookRecorder``
    
    These constructors have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 8.
    
    
    - `8242 &lt;https://github.com/pytest-dev/pytest/issues/8242&gt;`_: Raising :class:`unittest.SkipTest` to skip collection of tests during the
    pytest collection phase is deprecated. Use :func:`pytest.skip` instead.
    
    Note: This deprecation only relates to using :class:`unittest.SkipTest` during test
    collection. You are probably not doing that. Ordinary usage of
    :class:`unittest.SkipTest` / :meth:`unittest.TestCase.skipTest` /
    :func:`unittest.skip` in unittest test cases is fully supported.
    
    .. note:: This deprecation has been reverted in pytest 7.1.0.
    
    
    - `8315 &lt;https://github.com/pytest-dev/pytest/issues/8315&gt;`_: Several behaviors of :meth:`Parser.addoption &lt;pytest.Parser.addoption&gt;` are now
    scheduled for removal in pytest 8 (deprecated since pytest 2.4.0):
    
    - ``parser.addoption(..., help=&quot;.. %default ..&quot;)`` - use ``%(default)s`` instead.
    - ``parser.addoption(..., type=&quot;int/string/float/complex&quot;)`` - use ``type=int`` etc. instead.
    
    
    - `8447 &lt;https://github.com/pytest-dev/pytest/issues/8447&gt;`_: Defining a custom pytest node type which is both an :class:`pytest.Item &lt;Item&gt;` and a :class:`pytest.Collector &lt;Collector&gt;` (e.g. :class:`pytest.File &lt;File&gt;`) now issues a warning.
    It was never sanely supported and triggers hard to debug errors.
    
    See :ref:`the deprecation note &lt;diamond-inheritance-deprecated&gt;` for full details.
    
    
    - `8592 &lt;https://github.com/pytest-dev/pytest/issues/8592&gt;`_: :hook:`pytest_cmdline_preparse` has been officially deprecated.  It will be removed in a future release.  Use :hook:`pytest_load_initial_conftests` instead.
    
    See :ref:`the deprecation note &lt;cmdline-preparse-deprecated&gt;` for full details.
    
    
    - `8645 &lt;https://github.com/pytest-dev/pytest/issues/8645&gt;`_: :func:`pytest.warns(None) &lt;pytest.warns&gt;` is now deprecated because many people used
    it to mean &quot;this code does not emit warnings&quot;, but it actually had the effect of
    checking that the code emits at least one warning of any type - like ``pytest.warns()``
    or ``pytest.warns(Warning)``.
    
    
    - `8948 &lt;https://github.com/pytest-dev/pytest/issues/8948&gt;`_: :func:`pytest.skip(msg=...) &lt;pytest.skip&gt;`, :func:`pytest.fail(msg=...) &lt;pytest.fail&gt;` and :func:`pytest.exit(msg=...) &lt;pytest.exit&gt;`
    signatures now accept a ``reason`` argument instead of ``msg``.  Using ``msg`` still works, but is deprecated and will be removed in a future release.
    
    This was changed for consistency with :func:`pytest.mark.skip &lt;pytest.mark.skip&gt;` and  :func:`pytest.mark.xfail &lt;pytest.mark.xfail&gt;` which both accept
    ``reason`` as an argument.
    
    - `8174 &lt;https://github.com/pytest-dev/pytest/issues/8174&gt;`_: The following changes have been made to types reachable through :attr:`pytest.ExceptionInfo.traceback`:
    
    - The ``path`` property of ``_pytest.code.Code`` returns ``Path`` instead of ``py.path.local``.
    - The ``path`` property of ``_pytest.code.TracebackEntry`` returns ``Path`` instead of ``py.path.local``.
    
    There was no deprecation period for this change (sorry!).
    
    
    Features
    --------
    
    - `5196 &lt;https://github.com/pytest-dev/pytest/issues/5196&gt;`_: Tests are now ordered by definition order in more cases.
    
    In a class hierarchy, tests from base classes are now consistently ordered before tests defined on their subclasses (reverse MRO order).
    
    
    - `7132 &lt;https://github.com/pytest-dev/pytest/issues/7132&gt;`_: Added two environment variables :envvar:`PYTEST_THEME` and :envvar:`PYTEST_THEME_MODE` to let the users customize the pygments theme used.
    
    
    - `7259 &lt;https://github.com/pytest-dev/pytest/issues/7259&gt;`_: Added :meth:`cache.mkdir() &lt;pytest.Cache.mkdir&gt;`, which is similar to the existing :meth:`cache.makedir() &lt;pytest.Cache.makedir&gt;`,
    but returns a :class:`pathlib.Path` instead of a legacy ``py.path.local``.
    
    Added a ``paths`` type to :meth:`parser.addini() &lt;pytest.Parser.addini&gt;`,
    as in ``parser.addini(&quot;mypaths&quot;, &quot;my paths&quot;, type=&quot;paths&quot;)``,
    which is similar to the existing ``pathlist``,
    but returns a list of :class:`pathlib.Path` instead of legacy ``py.path.local``.
    
    
    - `7469 &lt;https://github.com/pytest-dev/pytest/issues/7469&gt;`_: The types of objects used in pytest&#x27;s API are now exported so they may be used in type annotations.
    
    The newly-exported types are:
    
    - ``pytest.Config`` for :class:`Config &lt;pytest.Config&gt;`.
    - ``pytest.Mark`` for :class:`marks &lt;pytest.Mark&gt;`.
    - ``pytest.MarkDecorator`` for :class:`mark decorators &lt;pytest.MarkDecorator&gt;`.
    - ``pytest.MarkGenerator`` for the :class:`pytest.mark &lt;pytest.MarkGenerator&gt;` singleton.
    - ``pytest.Metafunc`` for the :class:`metafunc &lt;pytest.MarkGenerator&gt;` argument to the :hook:`pytest_generate_tests` hook.
    - ``pytest.CallInfo`` for the :class:`CallInfo &lt;pytest.CallInfo&gt;` type passed to various hooks.
    - ``pytest.PytestPluginManager`` for :class:`PytestPluginManager &lt;pytest.PytestPluginManager&gt;`.
    - ``pytest.ExceptionInfo`` for the :class:`ExceptionInfo &lt;pytest.ExceptionInfo&gt;` type returned from :func:`pytest.raises` and passed to various hooks.
    - ``pytest.Parser`` for the :class:`Parser &lt;pytest.Parser&gt;` type passed to the :hook:`pytest_addoption` hook.
    - ``pytest.OptionGroup`` for the :class:`OptionGroup &lt;pytest.OptionGroup&gt;` type returned from the :func:`parser.addgroup &lt;pytest.Parser.getgroup&gt;` method.
    - ``pytest.HookRecorder`` for the :class:`HookRecorder &lt;pytest.HookRecorder&gt;` type returned from :class:`~pytest.Pytester`.
    - ``pytest.RecordedHookCall`` for the :class:`RecordedHookCall &lt;pytest.HookRecorder&gt;` type returned from :class:`~pytest.HookRecorder`.
    - ``pytest.RunResult`` for the :class:`RunResult &lt;pytest.RunResult&gt;` type returned from :class:`~pytest.Pytester`.
    - ``pytest.LineMatcher`` for the :class:`LineMatcher &lt;pytest.RunResult&gt;` type used in :class:`~pytest.RunResult` and others.
    - ``pytest.TestReport`` for the :class:`TestReport &lt;pytest.TestReport&gt;` type used in various hooks.
    - ``pytest.CollectReport`` for the :class:`CollectReport &lt;pytest.CollectReport&gt;` type used in various hooks.
    
    Constructing most of them directly is not supported; they are only meant for use in type annotations.
    Doing so will emit a deprecation warning, and may become a hard-error in pytest 8.0.
    
    Subclassing them is also not supported. This is not currently enforced at runtime, but is detected by type-checkers such as mypy.
    
    
    - `7856 &lt;https://github.com/pytest-dev/pytest/issues/7856&gt;`_: :ref:`--import-mode=importlib &lt;import-modes&gt;` now works with features that
    depend on modules being on :py:data:`sys.modules`, such as :mod:`pickle` and :mod:`dataclasses`.
    
    
    - `8144 &lt;https://github.com/pytest-dev/pytest/issues/8144&gt;`_: The following hooks now receive an additional ``pathlib.Path`` argument, equivalent to an existing ``py.path.local`` argument:
    
    - :hook:`pytest_ignore_collect` - The ``collection_path`` parameter (equivalent to existing ``path`` parameter).
    - :hook:`pytest_collect_file` - The ``file_path`` parameter (equivalent to existing ``path`` parameter).
    - :hook:`pytest_pycollect_makemodule` - The ``module_path`` parameter (equivalent to existing ``path`` parameter).
    - :hook:`pytest_report_header` - The ``start_path`` parameter (equivalent to existing ``startdir`` parameter).
    - :hook:`pytest_report_collectionfinish` - The ``start_path`` parameter (equivalent to existing ``startdir`` parameter).
    
    .. note::
       The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the
       new attribute being ``path``) is **the opposite** of the situation for hooks
       (the old argument being ``path``).
    
       This is an unfortunate artifact due to historical reasons, which should be
       resolved in future versions as we slowly get rid of the :pypi:`py`
       dependency (see :issue:`9283` for a longer discussion).
    
    
    - `8251 &lt;https://github.com/pytest-dev/pytest/issues/8251&gt;`_: Implement ``Node.path`` as a ``pathlib.Path``. Both the old ``fspath`` and this new attribute gets set no matter whether ``path`` or ``fspath`` (deprecated) is passed to the constructor. It is a replacement for the ``fspath`` attribute (which represents the same path as ``py.path.local``). While ``fspath`` is not deprecated yet
    due to the ongoing migration of methods like :meth:`~_pytest.Item.reportinfo`, we expect to deprecate it in a future release.
    
    .. note::
       The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the
       new attribute being ``path``) is **the opposite** of the situation for hooks
       (the old argument being ``path``).
    
       This is an unfortunate artifact due to historical reasons, which should be
       resolved in future versions as we slowly get rid of the :pypi:`py`
       dependency (see :issue:`9283` for a longer discussion).
    
    
    - `8421 &lt;https://github.com/pytest-dev/pytest/issues/8421&gt;`_: :func:`pytest.approx` now works on :class:`~decimal.Decimal` within mappings/dicts and sequences/lists.
    
    
    - `8606 &lt;https://github.com/pytest-dev/pytest/issues/8606&gt;`_: pytest invocations with ``--fixtures-per-test`` and ``--fixtures`` have been enriched with:
    
    - Fixture location path printed with the fixture name.
    - First section of the fixture&#x27;s docstring printed under the fixture name.
    - Whole of fixture&#x27;s docstring printed under the fixture name using ``--verbose`` option.
    
    
    - `8761 &lt;https://github.com/pytest-dev/pytest/issues/8761&gt;`_: New :ref:`version-tuple` attribute, which makes it simpler for users to do something depending on the pytest version (such as declaring hooks which are introduced in later versions).
    
    
    - `8789 &lt;https://github.com/pytest-dev/pytest/issues/8789&gt;`_: Switch TOML parser from ``toml`` to ``tomli`` for TOML v1.0.0 support in ``pyproject.toml``.
    
    
    - `8920 &lt;https://github.com/pytest-dev/pytest/issues/8920&gt;`_: Added :class:`pytest.Stash`, a facility for plugins to store their data on :class:`~pytest.Config` and :class:`~_pytest.nodes.Node`\s in a type-safe and conflict-free manner.
    See :ref:`plugin-stash` for details.
    
    
    - `8953 &lt;https://github.com/pytest-dev/pytest/issues/8953&gt;`_: :class:`RunResult &lt;_pytest.pytester.RunResult&gt;` method :meth:`assert_outcomes &lt;_pytest.pytester.RunResult.assert_outcomes&gt;` now accepts a
    ``warnings`` argument to assert the total number of warnings captured.
    
    
    - `8954 &lt;https://github.com/pytest-dev/pytest/issues/8954&gt;`_: ``--debug`` flag now accepts a :class:`str` file to route debug logs into, remains defaulted to `pytestdebug.log`.
    
    
    - `9023 &lt;https://github.com/pytest-dev/pytest/issues/9023&gt;`_: Full diffs are now always shown for equality assertions of iterables when
    `CI` or ``BUILD_NUMBER`` is found in the environment, even when ``-v`` isn&#x27;t
    used.
    
    
    - `9113 &lt;https://github.com/pytest-dev/pytest/issues/9113&gt;`_: :class:`RunResult &lt;_pytest.pytester.RunResult&gt;` method :meth:`assert_outcomes &lt;_pytest.pytester.RunResult.assert_outcomes&gt;` now accepts a
    ``deselected`` argument to assert the total number of deselected tests.
    
    
    - `9114 &lt;https://github.com/pytest-dev/pytest/issues/9114&gt;`_: Added :confval:`pythonpath` setting that adds listed paths to :data:`sys.path` for the duration of the test session. If you currently use the pytest-pythonpath or pytest-srcpaths plugins, you should be able to replace them with built-in `pythonpath` setting.
    
    
    
    Improvements
    ------------
    
    - `7480 &lt;https://github.com/pytest-dev/pytest/issues/7480&gt;`_: A deprecation scheduled to be removed in a major version X (e.g. pytest 7, 8, 9, ...) now uses warning category `PytestRemovedInXWarning`,
    a subclass of :class:`~pytest.PytestDeprecationWarning`,
    instead of :class:`PytestDeprecationWarning` directly.
    
    See :ref:`backwards-compatibility` for more details.
    
    
    - `7864 &lt;https://github.com/pytest-dev/pytest/issues/7864&gt;`_: Improved error messages when parsing warning filters.
    
    Previously pytest would show an internal traceback, which besides being ugly sometimes would hide the cause
    of the problem (for example an ``ImportError`` while importing a specific warning type).
    
    
    - `8335 &lt;https://github.com/pytest-dev/pytest/issues/8335&gt;`_: Improved :func:`pytest.approx` assertion messages for sequences of numbers.
    
    The assertion messages now dumps a table with the index and the error of each diff.
    Example::
    
       &gt;       assert [1, 2, 3, 4] == pytest.approx([1, 3, 3, 5])
       E       assert comparison failed for 2 values:
       E         Index | Obtained | Expected
       E         1     | 2        | 3 +- 3.0e-06
       E         3     | 4        | 5 +- 5.0e-06
    
    
    - `8403 &lt;https://github.com/pytest-dev/pytest/issues/8403&gt;`_: By default, pytest will truncate long strings in assert errors so they don&#x27;t clutter the output too much,
    currently at ``240`` characters by default.
    
    However, in some cases the longer output helps, or is even crucial, to diagnose a failure. Using ``-v`` will
    now increase the truncation threshold to ``2400`` characters, and ``-vv`` or higher will disable truncation entirely.
    
    
    - `8509 &lt;https://github.com/pytest-dev/pytest/issues/8509&gt;`_: Fixed issue where :meth:`unittest.TestCase.setUpClass` is not called when a test has `/` in its name since pytest 6.2.0.
    
    This refers to the path part in pytest node IDs, e.g. ``TestClass::test_it`` in the node ID ``tests/test_file.py::TestClass::test_it``.
    
    Now, instead of assuming that the test name does not contain ``/``, it is assumed that test path does not contain ``::``. We plan to hopefully make both of these work in the future.
    
    
    - `8803 &lt;https://github.com/pytest-dev/pytest/issues/8803&gt;`_: It is now possible to add colors to custom log levels on cli log.
    
    By using :func:`add_color_level &lt;_pytest.logging.add_color_level&gt;` from a ``pytest_configure`` hook, colors can be added::
    
       logging_plugin = config.pluginmanager.get_plugin(&#x27;logging-plugin&#x27;)
       logging_plugin.log_cli_handler.formatter.add_color_level(logging.INFO, &#x27;cyan&#x27;)
       logging_plugin.log_cli_handler.formatter.add_color_level(logging.SPAM, &#x27;blue&#x27;)
    
    See :ref:`log_colors` for more information.
    
    
    - `8822 &lt;https://github.com/pytest-dev/pytest/issues/8822&gt;`_: When showing fixture paths in `--fixtures` or `--fixtures-by-test`, fixtures coming from pytest itself now display an elided path, rather than the full path to the file in the `site-packages` directory.
    
    
    - `8898 &lt;https://github.com/pytest-dev/pytest/issues/8898&gt;`_: Complex numbers are now treated like floats and integers when generating parameterization IDs.
    
    
    - `9062 &lt;https://github.com/pytest-dev/pytest/issues/9062&gt;`_: ``--stepwise-skip`` now implicitly enables ``--stepwise`` and can be used on its own.
    
    
    - `9205 &lt;https://github.com/pytest-dev/pytest/issues/9205&gt;`_: :meth:`pytest.Cache.set` now preserves key order when saving dicts.
    
    
    
    Bug Fixes
    ---------
    
    - `7124 &lt;https://github.com/pytest-dev/pytest/issues/7124&gt;`_: Fixed an issue where ``__main__.py`` would raise an ``ImportError`` when ``--doctest-modules`` was provided.
    
    
    - `8061 &lt;https://github.com/pytest-dev/pytest/issues/8061&gt;`_: Fixed failing ``staticmethod`` test cases if they are inherited from a parent test class.
    
    
    - `8192 &lt;https://github.com/pytest-dev/pytest/issues/8192&gt;`_: ``testdir.makefile`` now silently accepts values which don&#x27;t start with ``.`` to maintain backward compatibility with older pytest versions.
    
    ``pytester.makefile`` now issues a clearer error if the ``.`` is missing in the ``ext`` argument.
    
    
    - `8258 &lt;https://github.com/pytest-dev/pytest/issues/8258&gt;`_: Fixed issue where pytest&#x27;s ``faulthandler`` support would not dump traceback on crashes
    if the :mod:`faulthandler` module was already enabled during pytest startup (using
    ``python -X dev -m pytest`` for example).
    
    
    - `8317 &lt;https://github.com/pytest-dev/pytest/issues/8317&gt;`_: Fixed an issue where illegal directory characters derived from ``getpass.getuser()`` raised an ``OSError``.
    
    
    - `8367 &lt;https://github.com/pytest-dev/pytest/issues/8367&gt;`_: Fix ``Class.from_parent`` so it forwards extra keyword arguments to the constructor.
    
    
    - `8377 &lt;https://github.com/pytest-dev/pytest/issues/8377&gt;`_: The test selection options ``pytest -k`` and ``pytest -m`` now support matching
    names containing forward slash (``/``) characters.
    
    
    - `8384 &lt;https://github.com/pytest-dev/pytest/issues/8384&gt;`_: The ``pytest.mark.skip`` decorator now correctly handles its arguments. When the ``reason`` argument is accidentally given both positional and as a keyword (e.g. because it was confused with ``skipif``), a ``TypeError`` now occurs. Before, such tests were silently skipped, and the positional argument ignored. Additionally, ``reason`` is now documented correctly as positional or keyword (rather than keyword-only).
    
    
    - `8394 &lt;https://github.com/pytest-dev/pytest/issues/8394&gt;`_: Use private names for internal fixtures that handle classic setup/teardown so that they don&#x27;t show up with the default ``--fixtures`` invocation (but they still show up with ``--fixtures -v``).
    
    
    - `8456 &lt;https://github.com/pytest-dev/pytest/issues/8456&gt;`_: The :confval:`required_plugins` config option now works correctly when pre-releases of plugins are installed, rather than falsely claiming that those plugins aren&#x27;t installed at all.
    
    
    - `8464 &lt;https://github.com/pytest-dev/pytest/issues/8464&gt;`_: ``-c &lt;config file&gt;`` now also properly defines ``rootdir`` as the directory that contains ``&lt;config file&gt;``.
    
    
    - `8503 &lt;https://github.com/pytest-dev/pytest/issues/8503&gt;`_: :meth:`pytest.MonkeyPatch.syspath_prepend` no longer fails when
    ``setuptools`` is not installed.
    It now only calls :func:`pkg_resources.fixup_namespace_packages` if
    ``pkg_resources`` was previously imported, because it is not needed otherwise.
    
    
    - `8548 &lt;https://github.com/pytest-dev/pytest/issues/8548&gt;`_: Introduce fix to handle precision width in ``log-cli-format`` in turn to fix output coloring for certain formats.
    
    
    - `8796 &lt;https://github.com/pytest-dev/pytest/issues/8796&gt;`_: Fixed internal error when skipping doctests.
    
    
    - `8983 &lt;https://github.com/pytest-dev/pytest/issues/8983&gt;`_: The test selection options ``pytest -k`` and ``pytest -m`` now support matching names containing backslash (`\\`) characters.
    Backslashes are treated literally, not as escape characters (the values being matched against are already escaped).
    
    
    - `8990 &lt;https://github.com/pytest-dev/pytest/issues/8990&gt;`_: Fix `pytest -vv` crashing with an internal exception `AttributeError: &#x27;str&#x27; object has no attribute &#x27;relative_to&#x27;` in some cases.
    
    
    - `9077 &lt;https://github.com/pytest-dev/pytest/issues/9077&gt;`_: Fixed confusing error message when ``request.fspath`` / ``request.path`` was accessed from a session-scoped fixture.
    
    
    - `9131 &lt;https://github.com/pytest-dev/pytest/issues/9131&gt;`_: Fixed the URL used by ``--pastebin`` to use `bpa.st &lt;http://bpa.st&gt;`__.
    
    
    - `9163 &lt;https://github.com/pytest-dev/pytest/issues/9163&gt;`_: The end line number and end column offset are now properly set for rewritten assert statements.
    
    
    - `9169 &lt;https://github.com/pytest-dev/pytest/issues/9169&gt;`_: Support for the ``files`` API from ``importlib.resources`` within rewritten files.
    
    
    - `9272 &lt;https://github.com/pytest-dev/pytest/issues/9272&gt;`_: The nose compatibility module-level fixtures `setup()` and `teardown()` are now only called once per module, instead of for each test function.
    They are now called even if object-level `setup`/`teardown` is defined.
    
    
    
    Improved Documentation
    ----------------------
    
    - `4320 &lt;https://github.com/pytest-dev/pytest/issues/4320&gt;`_: Improved docs for `pytester.copy_example`.
    
    
    - `5105 &lt;https://github.com/pytest-dev/pytest/issues/5105&gt;`_: Add automatically generated :ref:`plugin-list`. The list is updated on a periodic schedule.
    
    
    - `8337 &lt;https://github.com/pytest-dev/pytest/issues/8337&gt;`_: Recommend `numpy.testing &lt;https://numpy.org/doc/stable/reference/routines.testing.html&gt;`__ module on :func:`pytest.approx` documentation.
    
    
    - `8655 &lt;https://github.com/pytest-dev/pytest/issues/8655&gt;`_: Help text for ``--pdbcls`` more accurately reflects the option&#x27;s behavior.
    
    
    - `9210 &lt;https://github.com/pytest-dev/pytest/issues/9210&gt;`_: Remove incorrect docs about ``confcutdir`` being a configuration option: it can only be set through the ``--confcutdir`` command-line option.
    
    
    - `9242 &lt;https://github.com/pytest-dev/pytest/issues/9242&gt;`_: Upgrade readthedocs configuration to use a `newer Ubuntu version &lt;https://blog.readthedocs.com/new-build-specification/&gt;`__` with better unicode support for PDF docs.
    
    
    - `9341 &lt;https://github.com/pytest-dev/pytest/issues/9341&gt;`_: Various methods commonly used for :ref:`non-python tests` are now correctly documented in the reference docs. They were undocumented previously.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `8133 &lt;https://github.com/pytest-dev/pytest/issues/8133&gt;`_: Migrate to ``setuptools_scm`` 6.x to use ``SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST`` for more robust release tooling.
    
    
    - `8174 &lt;https://github.com/pytest-dev/pytest/issues/8174&gt;`_: The following changes have been made to internal pytest types/functions:
    
    - The ``_pytest.code.getfslineno()`` function returns ``Path`` instead of ``py.path.local``.
    - The ``_pytest.python.path_matches_patterns()`` function takes ``Path`` instead of ``py.path.local``.
    - The ``_pytest._code.Traceback.cut()`` function accepts any ``os.PathLike[str]``, not just ``py.path.local``.
    
    
    - `8248 &lt;https://github.com/pytest-dev/pytest/issues/8248&gt;`_: Internal Restructure: let ``python.PyObjMixin`` inherit from ``nodes.Node`` to carry over typing information.
    
    
    - `8432 &lt;https://github.com/pytest-dev/pytest/issues/8432&gt;`_: Improve error message when :func:`pytest.skip` is used at module level without passing `allow_module_level=True`.
    
    
    - `8818 &lt;https://github.com/pytest-dev/pytest/issues/8818&gt;`_: Ensure ``regendoc`` opts out of ``TOX_ENV`` cachedir selection to ensure independent example test runs.
    
    
    - `8913 &lt;https://github.com/pytest-dev/pytest/issues/8913&gt;`_: The private ``CallSpec2._arg2scopenum`` attribute has been removed after an internal refactoring.
    
    
    - `8967 &lt;https://github.com/pytest-dev/pytest/issues/8967&gt;`_: :hook:`pytest_assertion_pass` is no longer considered experimental and
    future changes to it will be considered more carefully.
    
    
    - `9202 &lt;https://github.com/pytest-dev/pytest/issues/9202&gt;`_: Add github action to upload coverage report to codecov instead of bash uploader.
    
    
    - `9225 &lt;https://github.com/pytest-dev/pytest/issues/9225&gt;`_: Changed the command used to create sdist and wheel artifacts: using the build package instead of setup.py.
    
    
    - `9351 &lt;https://github.com/pytest-dev/pytest/issues/9351&gt;`_: Correct minor typos in doc/en/example/special.rst.
    

    6.2.5

    =========================
    
    
    Trivial/Internal Changes
    ------------------------
    
    - :issue:`8494`: Python 3.10 is now supported.
    
    
    - :issue:`9040`: Enable compatibility with ``pluggy 1.0`` or later.
    

    6.2.4

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`8539`: Fixed assertion rewriting on Python 3.10.
    

    6.2.3

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`8414`: pytest used to create directories under ``/tmp`` with world-readable
    permissions. This means that any user in the system was able to read
    information written by tests in temporary directories (such as those created by
    the ``tmp_path``/``tmpdir`` fixture). Now the directories are created with
    private permissions.
    
    pytest used to silently use a pre-existing ``/tmp/pytest-of-&lt;username&gt;`` directory,
    even if owned by another user. This means another user could pre-create such a
    directory and gain control of another user&#x27;s temporary directory. Now such a
    condition results in an error.
    

    6.2.2

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`8152`: Fixed &quot;(&lt;Skipped instance&gt;)&quot; being shown as a skip reason in the verbose test summary line when the reason is empty.
    
    
    - :issue:`8249`: Fix the ``faulthandler`` plugin for occasions when running with ``twisted.logger`` and using ``pytest --capture=no``.
    

    6.2.1

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`7678`: Fixed bug where ``ImportPathMismatchError`` would be raised for files compiled in
    the host and loaded later from an UNC mounted path (Windows).
    
    
    - :issue:`8132`: Fixed regression in ``approx``: in 6.2.0 ``approx`` no longer raises
    ``TypeError`` when dealing with non-numeric types, falling back to normal comparison.
    Before 6.2.0, array types like tf.DeviceArray fell through to the scalar case,
    and happened to compare correctly to a scalar if they had only one element.
    After 6.2.0, these types began failing, because they inherited neither from
    standard Python number hierarchy nor from ``numpy.ndarray``.
    
    ``approx`` now converts arguments to ``numpy.ndarray`` if they expose the array
    protocol and are not scalars. This treats array-like objects like numpy arrays,
    regardless of size.
    

    6.2.0

    =========================
    
    Breaking Changes
    ----------------
    
    - :issue:`7808`: pytest now supports python3.6+ only.
    
    
    
    Deprecations
    ------------
    
    - :issue:`7469`: Directly constructing/calling the following classes/functions is now deprecated:
    
    - ``_pytest.cacheprovider.Cache``
    - ``_pytest.cacheprovider.Cache.for_config()``
    - ``_pytest.cacheprovider.Cache.clear_cache()``
    - ``_pytest.cacheprovider.Cache.cache_dir_from_config()``
    - ``_pytest.capture.CaptureFixture``
    - ``_pytest.fixtures.FixtureRequest``
    - ``_pytest.fixtures.SubRequest``
    - ``_pytest.logging.LogCaptureFixture``
    - ``_pytest.pytester.Pytester``
    - ``_pytest.pytester.Testdir``
    - ``_pytest.recwarn.WarningsRecorder``
    - ``_pytest.recwarn.WarningsChecker``
    - ``_pytest.tmpdir.TempPathFactory``
    - ``_pytest.tmpdir.TempdirFactory``
    
    These have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 8.0.0.
    
    
    - :issue:`7530`: The ``--strict`` command-line option has been deprecated, use ``--strict-markers`` instead.
    
    We have plans to maybe in the future to reintroduce ``--strict`` and make it an encompassing flag for all strictness
    related options (``--strict-markers`` and ``--strict-config`` at the moment, more might be introduced in the future).
    
    
    - :issue:`7988`: The ``pytest.yield_fixture`` decorator/function is now deprecated. Use :func:`pytest.fixture` instead.
    
    ``yield_fixture`` has been an alias for ``fixture`` for a very long time, so can be search/replaced safely.
    
    
    
    Features
    --------
    
    - :issue:`5299`: pytest now warns about unraisable exceptions and unhandled thread exceptions that occur in tests on Python&gt;=3.8.
    See :ref:`unraisable` for more information.
    
    
    - :issue:`7425`: New :fixture:`pytester` fixture, which is identical to :fixture:`testdir` but its methods return :class:`pathlib.Path` when appropriate instead of ``py.path.local``.
    
    This is part of the movement to use :class:`pathlib.Path` objects internally, in order to remove the dependency to ``py`` in the future.
    
    Internally, the old :class:`Testdir &lt;_pytest.pytester.Testdir&gt;` is now a thin wrapper around :class:`Pytester &lt;_pytest.pytester.Pytester&gt;`, preserving the old interface.
    
    
    - :issue:`7695`: A new hook was added, `pytest_markeval_namespace` which should return a dictionary.
    This dictionary will be used to augment the &quot;global&quot; variables available to evaluate skipif/xfail/xpass markers.
    
    Pseudo example
    
    ``conftest.py``:
    
    .. code-block:: python
    
      def pytest_markeval_namespace():
          return {&quot;color&quot;: &quot;red&quot;}
    
    ``test_func.py``:
    
    .. code-block:: python
    
      pytest.mark.skipif(&quot;color == &#x27;blue&#x27;&quot;, reason=&quot;Color is not red&quot;)
      def test_func():
          assert False
    
    
    - :issue:`8006`: It is now possible to construct a :class:`~pytest.MonkeyPatch` object directly as ``pytest.MonkeyPatch()``,
    in cases when the :fixture:`monkeypatch` fixture cannot be used. Previously some users imported it
    from the private `_pytest.monkeypatch.MonkeyPatch` namespace.
    
    Additionally, :meth:`MonkeyPatch.context &lt;pytest.MonkeyPatch.context&gt;` is now a classmethod,
    and can be used as ``with MonkeyPatch.context() as mp: ...``. This is the recommended way to use
    ``MonkeyPatch`` directly, since unlike the ``monkeypatch`` fixture, an instance created directly
    is not ``undo()``-ed automatically.
    
    
    
    Improvements
    ------------
    
    - :issue:`1265`: Added an ``__str__`` implementation to the :class:`~pytest.pytester.LineMatcher` class which is returned from ``pytester.run_pytest().stdout`` and similar. It returns the entire output, like the existing ``str()`` method.
    
    
    - :issue:`2044`: Verbose mode now shows the reason that a test was skipped in the test&#x27;s terminal line after the &quot;SKIPPED&quot;, &quot;XFAIL&quot; or &quot;XPASS&quot;.
    
    
    - :issue:`7469` The types of builtin pytest fixtures are now exported so they may be used in type annotations of test functions.
    The newly-exported types are:
    
    - ``pytest.FixtureRequest`` for the :fixture:`request` fixture.
    - ``pytest.Cache`` for the :fixture:`cache` fixture.
    - ``pytest.CaptureFixture[str]`` for the :fixture:`capfd` and :fixture:`capsys` fixtures.
    - ``pytest.CaptureFixture[bytes]`` for the :fixture:`capfdbinary` and :fixture:`capsysbinary` fixtures.
    - ``pytest.LogCaptureFixture`` for the :fixture:`caplog` fixture.
    - ``pytest.Pytester`` for the :fixture:`pytester` fixture.
    - ``pytest.Testdir`` for the :fixture:`testdir` fixture.
    - ``pytest.TempdirFactory`` for the :fixture:`tmpdir_factory` fixture.
    - ``pytest.TempPathFactory`` for the :fixture:`tmp_path_factory` fixture.
    - ``pytest.MonkeyPatch`` for the :fixture:`monkeypatch` fixture.
    - ``pytest.WarningsRecorder`` for the :fixture:`recwarn` fixture.
    
    Constructing them is not supported (except for `MonkeyPatch`); they are only meant for use in type annotations.
    Doing so will emit a deprecation warning, and may become a hard-error in pytest 8.0.
    
    Subclassing them is also not supported. This is not currently enforced at runtime, but is detected by type-checkers such as mypy.
    
    
    - :issue:`7527`: When a comparison between :func:`namedtuple &lt;collections.namedtuple&gt;` instances of the same type fails, pytest now shows the differing field names (possibly nested) instead of their indexes.
    
    
    - :issue:`7615`: :meth:`Node.warn &lt;_pytest.nodes.Node.warn&gt;` now permits any subclass of :class:`Warning`, not just :class:`PytestWarning &lt;pytest.PytestWarning&gt;`.
    
    
    - :issue:`7701`: Improved reporting when using ``--collected-only``. It will now show the number of collected tests in the summary stats.
    
    
    - :issue:`7710`: Use strict equality comparison for non-numeric types in :func:`pytest.approx` instead of
    raising :class:`TypeError`.
    
    This was the undocumented behavior before 3.7, but is now officially a supported feature.
    
    
    - :issue:`7938`: New ``--sw-skip`` argument which is a shorthand for ``--stepwise-skip``.
    
    
    - :issue:`8023`: Added ``&#x27;node_modules&#x27;`` to default value for :confval:`norecursedirs`.
    
    
    - :issue:`8032`: :meth:`doClassCleanups &lt;unittest.TestCase.doClassCleanups&gt;` (introduced in :mod:`unittest` in Python and 3.8) is now called appropriately.
    
    
    
    Bug Fixes
    ---------
    
    - :issue:`4824`: Fixed quadratic behavior and improved performance of collection of items using autouse fixtures and xunit fixtures.
    
    
    - :issue:`7758`: Fixed an issue where some files in packages are getting lost from ``--lf`` even though they contain tests that failed. Regressed in pytest 5.4.0.
    
    
    - :issue:`7911`: Directories created by by :fixture:`tmp_path` and :fixture:`tmpdir` are now considered stale after 3 days without modification (previous value was 3 hours) to avoid deleting directories still in use in long running test suites.
    
    
    - :issue:`7913`: Fixed a crash or hang in :meth:`pytester.spawn &lt;_pytest.pytester.Pytester.spawn&gt;` when the :mod:`readline` module is involved.
    
    
    - :issue:`7951`: Fixed handling of recursive symlinks when collecting tests.
    
    
    - :issue:`7981`: Fixed symlinked directories not being followed during collection. Regressed in pytest 6.1.0.
    
    
    - :issue:`8016`: Fixed only one doctest being collected when using ``pytest --doctest-modules path/to/an/__init__.py``.
    
    
    
    Improved Documentation
    ----------------------
    
    - :issue:`7429`: Add more information and use cases about skipping doctests.
    
    
    - :issue:`7780`: Classes which should not be inherited from are now marked ``final class`` in the API reference.
    
    
    - :issue:`7872`: ``_pytest.config.argparsing.Parser.addini()`` accepts explicit ``None`` and ``&quot;string&quot;``.
    
    
    - :issue:`7878`: In pull request section, ask to commit after editing changelog and authors file.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - :issue:`7802`: The ``attrs`` dependency requirement is now &gt;=19.2.0 instead of &gt;=17.4.0.
    
    
    - :issue:`8014`: `.pyc` files created by pytest&#x27;s assertion rewriting now conform to the newer :pep:`552` format on Python&gt;=3.7.
    (These files are internal and only interpreted by pytest itself.)
    

    6.1.2

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`7758`: Fixed an issue where some files in packages are getting lost from ``--lf`` even though they contain tests that failed. Regressed in pytest 5.4.0.
    
    
    - :issue:`7911`: Directories created by `tmpdir` are now considered stale after 3 days without modification (previous value was 3 hours) to avoid deleting directories still in use in long running test suites.
    
    
    
    Improved Documentation
    ----------------------
    
    - :issue:`7815`: Improve deprecation warning message for ``pytest._fillfuncargs()``.
    

    6.1.1

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`7807`: Fixed regression in pytest 6.1.0 causing incorrect rootdir to be determined in some non-trivial cases where parent directories have config files as well.
    
    
    - :issue:`7814`: Fixed crash in header reporting when :confval:`testpaths` is used and contains absolute paths (regression in 6.1.0).
    

    6.1.0

    =========================
    
    Breaking Changes
    ----------------
    
    - :issue:`5585`: As per our policy, the following features which have been deprecated in the 5.X series are now
    removed:
    
    * The ``funcargnames`` read-only property of ``FixtureRequest``, ``Metafunc``, and ``Function`` classes. Use ``fixturenames`` attribute.
    
    * ``pytest.fixture`` no longer supports positional arguments, pass all arguments by keyword instead.
    
    * Direct construction of ``Node`` subclasses now raise an error, use ``from_parent`` instead.
    
    * The default value for ``junit_family`` has changed to ``xunit2``. If you require the old format, add ``junit_family=xunit1`` to your configuration file.
    
    * The ``TerminalReporter`` no longer has a ``writer`` attribute. Plugin authors may use the public functions of the ``TerminalReporter`` instead of accessing the ``TerminalWriter`` object directly.
    
    * The ``--result-log`` option has been removed. Users are recommended to use the `pytest-reportlog &lt;https://github.com/pytest-dev/pytest-reportlog&gt;`__ plugin instead.
    
    
    For more information consult :std:doc:`deprecations` in the docs.
    
    
    
    Deprecations
    ------------
    
    - :issue:`6981`: The ``pytest.collect`` module is deprecated: all its names can be imported from ``pytest`` directly.
    
    
    - :issue:`7097`: The ``pytest._fillfuncargs`` function is deprecated. This function was kept
    for backward compatibility with an older plugin.
    
    It&#x27;s functionality is not meant to be used directly, but if you must replace
    it, use `function._request._fillfixtures()` instead, though note this is not
    a public API and may break in the future.
    
    
    - :issue:`7210`: The special ``-k &#x27;-expr&#x27;`` syntax to ``-k`` is deprecated. Use ``-k &#x27;not expr&#x27;``
    instead.
    
    The special ``-k &#x27;expr:&#x27;`` syntax to ``-k`` is deprecated. Please open an issue
    if you use this and want a replacement.
    
    
    - :issue:`7255`: The :hook:`pytest_warning_captured` hook is deprecated in favor
    of :hook:`pytest_warning_recorded`, and will be removed in a future version.
    
    
    - :issue:`7648`: The ``gethookproxy()`` and ``isinitpath()`` methods of ``FSCollector`` and ``Package`` are deprecated;
    use ``self.session.gethookproxy()`` and ``self.session.isinitpath()`` instead.
    This should work on all pytest versions.
    
    
    
    Features
    --------
    
    - :issue:`7667`: New ``--durations-min`` command-line flag controls the minimal duration for inclusion in the slowest list of tests shown by ``--durations``. Previously this was hard-coded to ``0.005s``.
    
    
    
    Improvements
    ------------
    
    - :issue:`6681`: Internal pytest warnings issued during the early stages of initialization are now properly handled and can filtered through :confval:`filterwarnings` or ``--pythonwarnings/-W``.
    
    This also fixes a number of long standing issues: :issue:`2891`, :issue:`7620`, :issue:`7426`.
    
    
    - :issue:`7572`: When a plugin listed in ``required_plugins`` is missing or an unknown config key is used with ``--strict-config``, a simple error message is now shown instead of a stacktrace.
    
    
    - :issue:`7685`: Added two new attributes :attr:`rootpath &lt;_pytest.config.Config.rootpath&gt;` and :attr:`inipath &lt;_pytest.config.Config.inipath&gt;` to :class:`Config &lt;_pytest.config.Config&gt;`.
    These attributes are :class:`pathlib.Path` versions of the existing :attr:`rootdir &lt;_pytest.config.Config.rootdir&gt;` and :attr:`inifile &lt;_pytest.config.Config.inifile&gt;` attributes,
    and should be preferred over them when possible.
    
    
    - :issue:`7780`: Public classes which are not designed to be inherited from are now marked :func:`final &lt;typing.final&gt;`.
    Code which inherits from these classes will trigger a type-checking (e.g. mypy) error, but will still work in runtime.
    Currently the ``final`` designation does not appear in the API Reference but hopefully will in the future.
    
    
    
    Bug Fixes
    ---------
    
    - :issue:`1953`: Fixed error when overwriting a parametrized fixture, while also reusing the super fixture value.
    
    .. code-block:: python
    
        conftest.py
       import pytest
    
    
       pytest.fixture(params=[1, 2])
       def foo(request):
           return request.param
    
    
        test_foo.py
       import pytest
    
    
       pytest.fixture
       def foo(foo):
           return foo * 2
    
    
    - :issue:`4984`: Fixed an internal error crash with ``IndexError: list index out of range`` when
    collecting a module which starts with a decorated function, the decorator
    raises, and assertion rewriting is enabled.
    
    
    - :issue:`7591`: pylint shouldn&#x27;t complain anymore about unimplemented abstract methods when inheriting from :ref:`File &lt;non-python tests&gt;`.
    
    
    - :issue:`7628`: Fixed test collection when a full path without a drive letter was passed to pytest on Windows (for example ``\projects\tests\test.py`` instead of ``c:\projects\tests\pytest.py``).
    
    
    - :issue:`7638`: Fix handling of command-line options that appear as paths but trigger an OS-level syntax error on Windows, such as the options used internally by ``pytest-xdist``.
    
    
    - :issue:`7742`: Fixed INTERNALERROR when accessing locals / globals with faulty ``exec``.
    
    
    
    Improved Documentation
    ----------------------
    
    - :issue:`1477`: Removed faq.rst and its reference in contents.rst.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - :issue:`7536`: The internal ``junitxml`` plugin has rewritten to use ``xml.etree.ElementTree``.
    The order of attributes in XML elements might differ. Some unneeded escaping is
    no longer performed.
    
    
    - :issue:`7587`: The dependency on the ``more-itertools`` package has been removed.
    
    
    - :issue:`7631`: The result type of :meth:`capfd.readouterr() &lt;_pytest.capture.CaptureFixture.readouterr&gt;` (and similar) is no longer a namedtuple,
    but should behave like one in all respects. This was done for technical reasons.
    
    
    - :issue:`7671`: When collecting tests, pytest finds test classes and functions by examining the
    attributes of python objects (modules, classes and instances). To speed up this
    process, pytest now ignores builtin attributes (like ``__class__``,
    ``__delattr__`` and ``__new__``) without consulting the :confval:`python_classes` and
    :confval:`python_functions` configuration options and without passing them to plugins
    using the :hook:`pytest_pycollect_makeitem` hook.
    

    6.0.2

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`7148`: Fixed ``--log-cli`` potentially causing unrelated ``print`` output to be swallowed.
    
    
    - :issue:`7672`: Fixed log-capturing level restored incorrectly if ``caplog.set_level`` is called more than once.
    
    
    - :issue:`7686`: Fixed `NotSetType.token` being used as the parameter ID when the parametrization list is empty.
    Regressed in pytest 6.0.0.
    
    
    - :issue:`7707`: Fix internal error when handling some exceptions that contain multiple lines or the style uses multiple lines (``--tb=line`` for example).
    

    6.0.1

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`7394`: Passing an empty ``help`` value to ``Parser.add_option`` is now accepted instead of crashing when running ``pytest --help``.
    Passing ``None`` raises a more informative ``TypeError``.
    
    
    - :issue:`7558`: Fix pylint ``not-callable`` lint on ``pytest.mark.parametrize()`` and the other builtin marks:
    ``skip``, ``skipif``, ``xfail``, ``usefixtures``, ``filterwarnings``.
    
    
    - :issue:`7559`: Fix regression in plugins using ``TestReport.longreprtext`` (such as ``pytest-html``) when ``TestReport.longrepr`` is not a string.
    
    
    - :issue:`7569`: Fix logging capture handler&#x27;s level not reset on teardown after a call to ``caplog.set_level()``.
    

    6.0.0

    =========================
    
    (**Please see the full set of changes for this release also in the 6.0.0rc1 notes below**)
    
    Breaking Changes
    ----------------
    
    - :issue:`5584`: **PytestDeprecationWarning are now errors by default.**
    
    Following our plan to remove deprecated features with as little disruption as
    possible, all warnings of type ``PytestDeprecationWarning`` now generate errors
    instead of warning messages.
    
    **The affected features will be effectively removed in pytest 6.1**, so please consult the
    :std:doc:`deprecations` section in the docs for directions on how to update existing code.
    
    In the pytest ``6.0.X`` series, it is possible to change the errors back into warnings as a
    stopgap measure by adding this to your ``pytest.ini`` file:
    
    .. code-block:: ini
    
       [pytest]
       filterwarnings =
           ignore::pytest.PytestDeprecationWarning
    
    But this will stop working when pytest ``6.1`` is released.
    
    **If you have concerns** about the removal of a specific feature, please add a
    comment to :issue:`5584`.
    
    
    - :issue:`7472`: The ``exec_()`` and ``is_true()`` methods of ``_pytest._code.Frame`` have been removed.
    
    
    
    Features
    --------
    
    - :issue:`7464`: Added support for :envvar:`NO_COLOR` and :envvar:`FORCE_COLOR` environment variables to control colored output.
    
    
    
    Improvements
    ------------
    
    - :issue:`7467`: ``--log-file`` CLI option and ``log_file`` ini marker now create subdirectories if needed.
    
    
    - :issue:`7489`: The :func:`pytest.raises` function has a clearer error message when ``match`` equals the obtained string but is not a regex match. In this case it is suggested to escape the regex.
    
    
    
    Bug Fixes
    ---------
    
    - :issue:`7392`: Fix the reported location of tests skipped with ``pytest.mark.skip`` when ``--runxfail`` is used.
    
    
    - :issue:`7491`: :fixture:`tmpdir` and :fixture:`tmp_path` no longer raise an error if the lock to check for
    stale temporary directories is not accessible.
    
    
    - :issue:`7517`: Preserve line endings when captured via ``capfd``.
    
    
    - :issue:`7534`: Restored the previous formatting of ``TracebackEntry.__str__`` which was changed by accident.
    
    
    
    Improved Documentation
    ----------------------
    
    - :issue:`7422`: Clarified when the ``usefixtures`` mark can apply fixtures to test.
    
    
    - :issue:`7441`: Add a note about ``-q`` option used in getting started guide.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - :issue:`7389`: Fixture scope ``package`` is no longer considered experimental.
    

    6.0.0rc1

    ============================
    
    Breaking Changes
    ----------------
    
    - :issue:`1316`: ``TestReport.longrepr`` is now always an instance of ``ReprExceptionInfo``. Previously it was a ``str`` when a test failed with ``pytest.fail(..., pytrace=False)``.
    
    
    - :issue:`5965`: symlinks are no longer resolved during collection and matching `conftest.py` files with test file paths.
    
    Resolving symlinks for the current directory and during collection was introduced as a bugfix in 3.9.0, but it actually is a new feature which had unfortunate consequences in Windows and surprising results in other platforms.
    
    The team decided to step back on resolving symlinks at all, planning to review this in the future with a more solid solution (see discussion in
    :pull:`6523` for details).
    
    This might break test suites which made use of this feature; the fix is to create a symlink
    for the entire test tree, and not only to partial files/tress as it was possible previously.
    
    
    - :issue:`6505`: ``Testdir.run().parseoutcomes()`` now always returns the parsed nouns in plural form.
    
    Originally ``parseoutcomes()`` would always returns the nouns in plural form, but a change
    meant to improve the terminal summary by using singular form single items (``1 warning`` or ``1 error``)
    caused an unintended regression by changing the keys returned by ``parseoutcomes()``.
    
    Now the API guarantees to always return the plural form, so calls like this:
    
    .. code-block:: python
    
       result = testdir.runpytest()
       result.assert_outcomes(error=1)
    
    Need to be changed to:
    
    
    .. code-block:: python
    
       result = testdir.runpytest()
       result.assert_outcomes(errors=1)
    
    
    - :issue:`6903`: The ``os.dup()`` function is now assumed to exist. We are not aware of any
    supported Python 3 implementations which do not provide it.
    
    
    - :issue:`7040`: ``-k`` no longer matches against the names of the directories outside the test session root.
    
    Also, ``pytest.Package.name`` is now just the name of the directory containing the package&#x27;s
    ``__init__.py`` file, instead of the full path. This is consistent with how the other nodes
    are named, and also one of the reasons why ``-k`` would match against any directory containing
    the test suite.
    
    
    - :issue:`7122`: Expressions given to the ``-m`` and ``-k`` options are no longer evaluated using Python&#x27;s :func:`eval`.
    The format supports ``or``, ``and``, ``not``, parenthesis and general identifiers to match against.
    Python constants, keywords or other operators are no longer evaluated differently.
    
    
    - :issue:`7135`: Pytest now uses its own ``TerminalWriter`` class instead of using the one from the ``py`` library.
    Plugins generally access this class through ``TerminalReporter.writer``, ``TerminalReporter.write()``
    (and similar methods), or ``_pytest.config.create_terminal_writer()``.
    
    The following breaking changes were made:
    
    - Output (``write()`` method and others) no longer flush implicitly; the flushing behavior
     of the underlying file is respected. To flush explicitly (for example, if you
     want output to be shown before an end-of-line is printed), use ``write(flush=True)`` or
     ``terminal_writer.flush()``.
    - Explicit Windows console support was removed, delegated to the colorama library.
    - Support for writing ``bytes`` was removed.
    - The ``reline`` method and ``chars_on_current_line`` property were removed.
    - The ``stringio`` and ``encoding`` arguments was removed.
    - Support for passing a callable instead of a file was removed.
    
    
    - :issue:`7224`: The `item.catch_log_handler` and `item.catch_log_handlers` attributes, set by the
    logging plugin and never meant to be public, are no longer available.
    
    The deprecated ``--no-print-logs`` option and ``log_print`` ini option are removed. Use ``--show-capture`` instead.
    
    
    - :issue:`7226`: Removed the unused ``args`` parameter from ``pytest.Function.__init__``.
    
    
    - :issue:`7418`: Removed the `pytest_doctest_prepare_content` hook specification. This hook
    hasn&#x27;t been triggered by pytest for at least 10 years.
    
    
    - :issue:`7438`: Some changes were made to the internal ``_pytest._code.source``, listed here
    for the benefit of plugin authors who may be using it:
    
    - The ``deindent`` argument to ``Source()`` has been removed, now it is always true.
    - Support for zero or multiple arguments to ``Source()`` has been removed.
    - Support for comparing ``Source`` with an ``str`` has been removed.
    - The methods ``Source.isparseable()`` and ``Source.putaround()`` have been removed.
    - The method ``Source.compile()`` and function ``_pytest._code.compile()`` have
     been removed; use plain ``compile()`` instead.
    - The function ``_pytest._code.source.getsource()`` has been removed; use
     ``Source()`` directly instead.
    
    
    
    Deprecations
    ------------
    
    - :issue:`7210`: The special ``-k &#x27;-expr&#x27;`` syntax to ``-k`` is deprecated. Use ``-k &#x27;not expr&#x27;``
    instead.
    
    The special ``-k &#x27;expr:&#x27;`` syntax to ``-k`` is deprecated. Please open an issue
    if you use this and want a replacement.
    
    - :issue:`4049`: ``pytest_warning_captured`` is deprecated in favor of the ``pytest_warning_recorded`` hook.
    
    
    Features
    --------
    
    - :issue:`1556`: pytest now supports ``pyproject.toml`` files for configuration.
    
    The configura
    opened by pyup-bot 1
  • Update sphinx to 6.0.0

    Update sphinx to 6.0.0

    This PR updates sphinx from 2.2.1 to 6.0.0.

    Changelog

    6.0.0

    =====================================
    
    Dependencies
    ------------
    
    * 10468: Drop Python 3.6 support
    * 10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and
    Docutils 0.17 support. Patch by Adam Turner
    
    Incompatible changes
    --------------------
    
    * 7405: Removed the jQuery and underscore.js JavaScript frameworks.
    
    These frameworks are no longer be automatically injected into themes from
    Sphinx 6.0. If you develop a theme or extension that uses the
    ``jQuery``, ``$``, or ``$u`` global objects, you need to update your
    JavaScript to modern standards, or use the mitigation below.
    
    The first option is to use the sphinxcontrib.jquery_ extension, which has been
    developed by the Sphinx team and contributors. To use this, add
    ``sphinxcontrib.jquery`` to the ``extensions`` list in ``conf.py``, or call
    ``app.setup_extension(&quot;sphinxcontrib.jquery&quot;)`` if you develop a Sphinx theme
    or extension.
    
    The second option is to manually ensure that the frameworks are present.
    To re-add jQuery and underscore.js, you will need to copy ``jquery.js`` and
    ``underscore.js`` from `the Sphinx repository`_ to your ``static`` directory,
    and add the following to your ``layout.html``:
    
    .. code-block:: html+jinja
    
      {%- block scripts %}
          &lt;script src=&quot;{{ pathto(&#x27;_static/jquery.js&#x27;, resource=True) }}&quot;&gt;&lt;/script&gt;
          &lt;script src=&quot;{{ pathto(&#x27;_static/underscore.js&#x27;, resource=True) }}&quot;&gt;&lt;/script&gt;
          {{ super() }}
      {%- endblock %}
    
    .. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/
    
    Patch by Adam Turner.
    * 10471, 10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See
    :ref:`dev-deprecated-apis` for details. Patch by Adam Turner.
    * 10901: C Domain: Remove support for parsing pre-v3 style type directives and
    roles. Also remove associated configuration variables ``c_allow_pre_v3`` and
    ``c_warn_on_allowed_pre_v3``. Patch by Adam Turner.
    
    Features added
    --------------
    
    * 10924: LaTeX: adopt better looking defaults for tables and code-blocks.
    See :confval:`latex_table_style` and the ``pre_border-radius`` and
    ``pre_background-TeXcolor`` :ref:`additionalcss` for the former defaults
    and how to re-enact them if desired.
    
    Bugs fixed
    ----------
    
    * 10984: LaTeX: Document :confval:`latex_additional_files` behavior for files
    with ``.tex`` extension.
    

    5.3.0

    =====================================
    
    * 10759: LaTeX: add :confval:`latex_table_style` and support the
    ``&#x27;booktabs&#x27;``, ``&#x27;borderless&#x27;``, and ``&#x27;colorrows&#x27;`` styles.
    (thanks to Stefan Wiehler for initial pull requests 6666, 6671)
    * 10840: One can cross-reference including an option value like ``:option:`--module=foobar,
    ``:option:`--module[=foobar] or ``:option:`--module foobar.
    Patch by Martin Liska.
    * 10881: autosectionlabel: Record the generated section label to the debug log.
    * 10268: Correctly URI-escape image filenames.
    * 10887: domains: Allow sections in all the content of all object description
    directives (e.g. :rst:dir:`py:function`). Patch by Adam Turner
    

    5.2.3

    =====================================
    
    * 10878: Fix base64 image embedding in ``sphinx.ext.imgmath``
    * 10886: Add ``:nocontentsentry:`` flag and global domain table of contents
    entry control option. Patch by Adam Turner
    

    5.2.2

    =====================================
    
    * 10872: Restore link targets for autodoc modules to the top of content.
    Patch by Dominic Davis-Foster.
    

    5.2.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10861: Always normalise the ``pycon3`` lexer to ``pycon``.
    * Fix using ``sphinx.ext.autosummary`` with modules containing titles in the
    module-level docstring.
    

    5.2.0.post0

    ===========================================
    
    * Recreated source tarballs for Debian maintainers.
    

    5.2.0

    =====================================
    
    Dependencies
    ------------
    
    * 10356: Sphinx now uses declarative metadata with ``pyproject.toml`` to
    create packages, using PyPA&#x27;s ``flit`` project as a build backend. Patch by
    Adam Turner.
    
    Deprecated
    ----------
    
    * 10843: Support for HTML 4 output. Patch by Adam Turner.
    
    Features added
    --------------
    
    * 10738: napoleon: Add support for docstring types using &#x27;of&#x27;, like
    ``type of type``. Example: ``tuple of int``.
    * 10286: C++, support requires clauses not just between the template
    parameter lists and the declaration.
    * 10755: linkcheck: Check the source URL of raw directives that use the ``url``
    option.
    * 10781: Allow :rst:role:`ref` role to be used with definitions and fields.
    * 10717: HTML Search: Increase priority for full title and
    subtitle matches in search results
    * 10718: HTML Search: Save search result score to the HTML element for debugging
    * 10673: Make toctree accept &#x27;genindex&#x27;, &#x27;modindex&#x27; and &#x27;search&#x27; docnames
    * 6316, 10804: Add domain objects to the table of contents. Patch by Adam Turner
    * 6692: HTML Search: Include explicit :rst:dir:`index` directive index entries
    in the search index and search results. Patch by Adam Turner
    * 10816: imgmath: Allow embedding images in HTML as base64
    * 10854: HTML Search: Use browser localstorage for highlight control, stop
    storing highlight parameters in URL query strings. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10723: LaTeX: 5.1.0 has made the &#x27;sphinxsetup&#x27; ``verbatimwithframe=false``
    become without effect.
    * 10257: C++, ensure consistent non-specialization template argument
    representation.
    * 10729: C++, fix parsing of certain non-type template parameter packs.
    * 10715: Revert 10520: &quot;Fix&quot; use of sidebar classes in ``agogo.css_t``
    

    5.1.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean``
    iterator implementation.
    * 10702: Restore compatability with third-party builders.
    

    5.1.0

    =====================================
    
    Dependencies
    ------------
    
    * 10656: Support `Docutils 0.19`_. Patch by Adam Turner.
    
    .. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05
    
    Deprecated
    ----------
    
    * 10467: Deprecated ``sphinx.util.stemmer`` in favour of ``snowballstemmer``.
    Patch by Adam Turner.
    * 9856: Deprecated ``sphinx.ext.napoleon.iterators``.
    
    Features added
    --------------
    
    * 10444: html theme: Allow specifying multiple CSS files through the ``stylesheet``
    setting in ``theme.conf`` or by setting ``html_style`` to an iterable of strings.
    * 10366: std domain: Add support for emphasising placeholders in :rst:dir:`option`
    directives through a new :confval:`option_emphasise_placeholders` configuration
    option.
    * 10439: std domain: Use the repr of some variables when displaying warnings,
    making whitespace issues easier to identify.
    * 10571: quickstart: Reduce content in the generated ``conf.py`` file. Patch by
    Pradyun Gedam.
    * 10648: LaTeX: CSS-named-alike additional :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;`
    keys allow to configure four separate border-widths, four paddings, four
    corner radii, a shadow (possibly inset), colours for border, background, shadow
    for each of the code-block, topic, attention, caution, danger, error and warning
    directives.
    * 10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
    * 10599: HTML Theme: Wrap consecutive footnotes in an ``&lt;aside&gt;`` element when
    using Docutils 0.18 or later, to allow for easier styling. This matches the
    behaviour introduced in Docutils 0.19. Patch by Adam Turner.
    * 10518: config: Add ``include_patterns`` as the opposite of ``exclude_patterns``.
    Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10594: HTML Theme: field term colons are doubled if using Docutils 0.18+
    * 10596: Build failure if Docutils version is 0.18 (not 0.18.1) due
    to missing ``Node.findall()``
    * 10506: LaTeX: build error if highlighting inline code role in figure caption
    (refs: 10251)
    * 10634: Make -P (pdb) option work better with exceptions triggered from events
    * 10550: py domain: Fix spurious whitespace in unparsing various operators (``+``,
    ``-``, ``~``, and ``**``). Patch by Adam Turner (refs: 10551).
    * 10460: logging: Always show node source locations as absolute paths.
    * HTML Search: HTML tags are displayed as a part of object name
    * HTML Search: search snipets should not be folded
    * HTML Search: Minor errors are emitted on fetching search snipets
    * HTML Search: The markers for header links are shown in the search result
    * 10520: HTML Theme: Fix use of sidebar classes in ``agogo.css_t``.
    * 6679: HTML Theme: Fix inclusion of hidden toctrees in the agogo theme.
    * 10566: HTML Theme: Fix enable_search_shortcuts does not work
    * 8686: LaTeX: Text can fall out of code-block at end of page and leave artifact
    on next page
    * 10633: LaTeX: user injected ``\color`` commands in topic or admonition boxes may
    cause color leaks in PDF due to upstream `framed.sty &lt;https://ctan.org/pkg/framed&gt;`_
    bug
    * 10638: LaTeX: framed coloured boxes in highlighted code (e.g. highlighted
    diffs using Pygments style ``&#x27;manni&#x27;``) inherit thickness of code-block frame
    * 10647: LaTeX: Only one ``\label`` is generated for ``desc_signature`` node
    even if it has multiple node IDs
    * 10579: i18n: UnboundLocalError is raised on translating raw directive
    * 9577, 10088: py domain: Fix warning for duplicate Python references when
    using ``:any:`` and autodoc.
    * 10548: HTML Search: fix minor summary issues.
    

    5.0.2

    =====================================
    
    Features added
    --------------
    
    * 10523: HTML Theme: Expose the Docutils&#x27;s version info tuple as a template
    variable, ``docutils_version_info``. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10538: autodoc: Inherited class attribute having docstring is documented even
    if :confval:`autodoc_inherit_docstring` is disabled
    * 10509: autosummary: autosummary fails with a shared library
    * 10497: py domain: Failed to resolve strings in Literal. Patch by Adam Turner.
    * 10523: HTML Theme: Fix double brackets on citation references in Docutils 0.18+.
    Patch by Adam Turner.
    * 10534: Missing CSS for nav.contents in Docutils 0.18+. Patch by Adam Turner.
    

    5.0.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10498: gettext: TypeError is raised when sorting warning messages if a node
    has no line number. Patch by Adam Turner.
    * 10493: HTML Theme: :rst:dir:`topic` directive is rendered incorrectly with
    Docutils 0.18. Patch by Adam Turner.
    * 10495: IndexError is raised for a :rst:role:`kbd` role having a separator.
    Patch by Adam Turner.
    

    5.0.0

    * 9575: autodoc: The annotation of return value should not be shown when
    ``autodoc_typehints=&quot;description&quot;``
    * 9648: autodoc: ``*args`` and ``**kwargs`` entries are duplicated when
    ``autodoc_typehints=&quot;description&quot;``
    * 8180: autodoc: Docstring metadata ignored for attributes
    * 10443: epub: EPUB builder can&#x27;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
    

    4.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`` and ``NO_COLOR`` for terminal colouring
    * 10234: autosummary: Add &quot;autosummary&quot; CSS class to summary tables
    * 10125: extlinks: Improve suggestion message for a reference having title
    * 10112: extlinks: Add :confval:`extlinks_detect_hardcoded_links` to enable
    hardcoded links detector feature
    * 9494, 9456: html search: Add a config variable
    :confval:`html_show_search_summary` to enable/disable the search summaries
    * 9337: HTML theme, add option ``enable_search_shortcuts`` that enables :kbd:`/` as
    a Quick search shortcut and :kbd:`Esc` shortcut that
    removes search highlighting.
    * 10107: i18n: Allow to suppress translation warnings by adding ``noqa``
    comment to the tail of each translation message
    * 10252: C++, support attributes on classes, unions, and enums.
    * 10253: :rst:role:`pep` role now generates URLs based on `peps.python.org
    &lt;https://peps.python.org&gt;`_
    
    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 support
    ``no-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. &quot;use&quot;)
    * 9529: LaTeX: named auto numbered footnote (ex. ``[named]``) that is referred
    multiple times was rendered to a question mark
    * 9924: LaTeX: multi-line :rst:dir:`cpp:function` directive has big vertical
    spacing in Latexpdf
    * 10158: LaTeX: excessive whitespace since v4.4.0 for undocumented
    variables/structure members 
    * 10175: LaTeX: named footnote reference is linked to an incorrect footnote if
    the name is also used in the different document
    * 10269: manpage: Failed to resolve the title of :rst:role:`ref` cross references
    * 10179: i18n: suppress &quot;rST localization&quot; 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
    

    4.4.0

    =====================================
    
    Dependencies
    ------------
    
    * 10007: Use ``importlib_metadata`` for python-3.9 or older
    * 10007: Drop ``setuptools``
    
    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`` -&gt; ``StringIO``)
    * 9831: Autosummary now documents only the members specified in a module&#x27;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: 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 &lt;kbd&gt; 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: &quot;Hide Search Matches&quot; link removes &quot;highlight&quot; 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 &quot;typing&quot; 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 = &#x27;separated&#x27;``
    * 9947: i18n: topic directive having a bullet list can&#x27;t be translatable
    * 9878: mathjax: MathJax configuration is placed after loading MathJax itself
    * 9932: napoleon: empty &quot;returns&quot; 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 &quot;data&quot; URIs
    * 9925: LaTeX: prohibit also with ``&#x27;xelatex&#x27;`` 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 &quot;typing&quot; 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
    

    4.3.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 9917: C and C++, parse fundamental types no matter the order of simple type
    specifiers.
    

    4.3.1

    =====================================
    
    Features added
    --------------
    
    * 9864: mathjax: Support chnaging the loading method of MathJax to &quot;defer&quot; 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 &quot;async&quot; method again
    

    4.3.0

    =====================================
    
    Dependencies
    ------------
    
    * Support Python 3.10
    
    Incompatible changes
    --------------------
    
    * 9649: ``searchindex.js``: the embedded data has changed format to allow
    objects with the same name in different domains.
    * 9672: The rendering of Python domain declarations is implemented
    with more docutils nodes to allow better CSS styling.
    It may break existing styling.
    * 9672: the signature of
    ``domains.python.PyObject.get_signature_prefix`` has changed to
    return a list of nodes instead of a plain string.
    * 9695: ``domains.js.JSObject.display_prefix`` has been changed into a method
    ``get_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 &quot;defer&quot; 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 &quot;fuzzy&quot;
    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 &quot;toctree contains reference to excluded document&quot;
    warnings using :confval:`suppress_warnings`
    
    Bugs fixed
    ----------
    
    * 9630: autodoc: Failed to build cross references if :confval:`primary_domain`
    is not &#x27;py&#x27;
    * 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 &quot;documented&quot; 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 &#x27;py&#x27;
    * 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 &quot;aggedright&quot; 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=&#x27;description&#x27;`
    * 9708: needs_extension failed to check double-digit version correctly
    * 9688: Fix Sphinx patched :dudir:`code` does not recognize ``:class:`` option
    * 9733: Fix for logging handler flushing warnings in the middle of the docs
    build
    * 9656: Fix warnings without subtype being incorrectly suppressed
    * Intersphinx, for unresolved references with an explicit inventory,
    e.g., ``proj:myFunc``, leave the inventory prefix in the unresolved text.
    

    4.2.0

    =====================================
    
    Features added
    --------------
    
    * 9445: autodoc: Support class properties
    * 9479: autodoc: Emit a warning if target is a mocked object
    * 9560: autodoc: Allow to refer NewType instances with module name in Python
    3.10 or above
    * 9447: html theme: Expose the version of Sphinx in the form of tuple as a
    template variable ``sphinx_version_tuple``
    * 9594: manpage: Suppress the title of man page if description is empty
    * 9445: py domain: :rst:dir:`py:property` directive supports ``:classmethod:``
    option to describe the class property
    * 9524: test: SphinxTestApp can take ``builddir`` as an argument
    * 9535: C and C++, support more fundamental types, including GNU extensions.
    
    Bugs fixed
    ----------
    
    * 9608: apidoc: apidoc does not generate a module definition for implicit
    namespace package
    * 9504: autodoc: generate incorrect reference to the parent class if the target
    class inherites the class having ``_name`` attribute
    * 9537, 9589: autodoc: Some objects under ``typing`` module are not displayed
    well with the HEAD of 3.10
    * 9487: autodoc: typehint for cached_property is not shown
    * 9509: autodoc: AttributeError is raised on failed resolving typehints
    * 9518: autodoc: autodoc_docstring_signature does not effect to ``__init__()``
    and ``__new__()``
    * 9522: autodoc: PEP 585 style typehints having arguments (ex. ``list[int]``)
    are not displayed well
    * 9481: autosummary: some warnings contain non-existing filenames
    * 9568: autosummary: summarise overlined sectioned headings correctly
    * 9600: autosummary: Type annotations which contain commas in autosummary table
    are not removed completely
    * 9481: c domain: some warnings contain non-existing filenames
    * 9481: cpp domain: some warnings contain non-existing filenames
    * 9456: html search: abbreation marks are inserted to the search result if
    failed to fetch the content of the page
    * 9617: html search: The JS requirement warning is shown if browser is slow
    * 9267: html theme: CSS and JS files added by theme were loaded twice
    * 9585: py domain: ``:type:`` option for :rst:dir:`py:property` directive does
    not create a hyperlink
    * 9576: py domain: Literal typehint was converted to a cross reference
    * 9535 comment: C++, fix parsing of defaulted function parameters that are
    function pointers.
    * 9564: smartquotes: don&#x27;t adjust typography for text with
    language-highlighted ``:code:`` role.
    * 9512: sphinx-build: crashed with the HEAD of Python 3.10
    

    4.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 = &quot;separated&quot;``
    * 9456: html search: html_copy_source can&#x27;t control the search summaries
    * 9500: LaTeX: Failed to build Japanese document on Windows
    * 9435: linkcheck: Failed to check anchors in github.com
    

    4.1.1

    =====================================
    
    Dependencies
    ------------
    
    * 9434: sphinxcontrib-htmlhelp-2.0.0 or above
    * 9434: sphinxcontrib-serializinghtml-1.1.5 or above
    
    Bugs fixed
    ----------
    
    * 9438: html: HTML logo or Favicon specified as file not being found on output
    

    4.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: 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 like
    ``foo.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 ``&#x27;both&#x27;`` 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=&#x27;none&#x27;`` now erases typehints for
    variables, attributes and properties
    * 3257: autosummary: Support instance attributes for classes
    * 9358: html: Add &quot;heading&quot; 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 &quot;working&quot;
    * 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 via
    ``Sphinx.registry.html_assets_policy``
    * C++, add support for
    
    - ``inline`` variables,
    - ``consteval`` functions,
    - ``constinit`` variables,
    - ``char8_t``,
    - ``explicit(&lt;constant expression&gt;)`` specifier,
    - digit separators in literals, and
    - constraints in placeholder type specifiers, aka. adjective syntax
     (e.g., ``Sortable auto &amp;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&#x27;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: &quot;exceptions&quot; 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.
    

    4.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
    

    4.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
    

    4.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 &quot;more than one target for
    cross-reference&quot; warning
    * 9201: websupport: UndefinedError is raised: &#x27;css_tag&#x27; is undefined
    

    4.0.0

    =====================================
    
    Dependencies
    ------------
    

    4.0.0b3

    * 9167: html: Failed to add CSS files to the specific page
    

    4.0.0b2

    * C, C++, fix ``KeyError`` when an ``alias`` directive is the first C/C++
    directive in a file with another C/C++ directive later.
    

    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=&quot;&quot; are ignored
    * 8380: html search: Paragraphs in search results are not identified as ``&lt;p&gt;``
    * 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 ``&#x27;pdflatex&#x27;/&#x27;lualatex&#x27;`` 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: &quot;release&quot; 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.
    

    3.5.5

    ==============================
    

    3.5.4

    =====================================
    
    Dependencies
    ------------
    
    * 9071: Restrict docutils to 0.16
    
    Bugs fixed
    ----------
    
    * 9078: autodoc: Async staticmethods and classmethods are considered as non
    async coroutine-functions with Python3.10
    * 8870, 9001, 9051: html theme: The style are not applied with docutils-0.17
    
    - toctree captions
    - The content of ``sidebar`` directive
    - figures
    

    3.5.3

    =====================================
    
    Features added
    --------------
    
    * 8959: using UNIX path separator in image directive confuses Sphinx on Windows
    

    3.5.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8943: i18n: Crashed by broken translation messages in ES, EL and HR
    * 8936: LaTeX: A custom LaTeX builder fails with unknown node error
    * 8952: Exceptions raised in a Directive cause parallel builds to hang
    

    3.5.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8883: autodoc: AttributeError is raised on assigning __annotations__ on
    read-only class
    * 8884: html: minified js stemmers not included in the distributed package
    * 8885: html: AttributeError is raised if CSS/JS files are installed via
    :confval:`html_context`
    * 8880: viewcode: ExtensionError is raised on incremental build after
    unparsable python module found
    

    3.5.0

    =====================================
    
    Dependencies
    ------------
    
    * LaTeX: ``multicol`` (it is anyhow a required part of the official latex2e
    base distribution)
    
    Incompatible changes
    --------------------
    
    * Update Underscore.js to 1.12.0
    * 6550: html: The config variable ``html_add_permalinks`` is replaced by
    :confval:`html_permalinks` and :confval:`html_permalinks_icon`
    
    Deprecated
    ----------
    
    * pending_xref node for viewcode extension
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.anchors_ignore``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.auth``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.broken``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.good``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.redirected``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.rqueue``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.to_ignore``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.workers``
    * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.wqueue``
    * ``sphinx.builders.linkcheck.node_line_or_0()``
    * ``sphinx.ext.autodoc.AttributeDocumenter.isinstanceattribute()``
    * ``sphinx.ext.autodoc.directive.DocumenterBridge.reporter``
    * ``sphinx.ext.autodoc.importer.get_module_members()``
    * ``sphinx.ext.autosummary.generate._simple_info()``
    * ``sphinx.ext.autosummary.generate._simple_warn()``
    * ``sphinx.writers.html.HTMLTranslator.permalink_text``
    * ``sphinx.writers.html5.HTML5Translator.permalink_text``
    
    Features added
    --------------
    
    * 8022: autodoc: autodata and autoattribute directives does not show right-hand
    value of the variable if docstring contains ``:meta hide-value:`` in
    info-field-list
    * 8514: autodoc: Default values of overloaded functions are taken from actual
    implementation if they&#x27;re ellipsis
    * 8775: autodoc: Support type union operator (PEP-604) in Python 3.10 or above
    * 8297: autodoc: Allow to extend :confval:`autodoc_default_options` via
    directive options
    * 759: autodoc: Add a new configuration :confval:`autodoc_preserve_defaults` as
    an experimental feature.  It preserves the default argument values of
    functions in source code and keep them not evaluated for readability.
    * 8619: html: kbd role generates customizable HTML tags for compound keys
    * 8634: html: Allow to change the order of JS/CSS via ``priority`` parameter
    for :meth:`Sphinx.add_js_file()` and :meth:`Sphinx.add_css_file()`
    * 6241: html: Allow to add JS/CSS files to the specific page when an extension
    calls ``app.add_js_file()`` or ``app.add_css_file()`` on
    :event:`html-page-context` event
    * 6550: html: Allow to use HTML permalink texts via
    :confval:`html_permalinks_icon`
    * 1638: html: Add permalink icons to glossary terms
    * 8868: html search: performance issue with massive lists
    * 8867: html search: Update JavaScript stemmer code to the latest version of
    Snowball (v2.1.0)
    * 8852: i18n: Allow to translate heading syntax in MyST-Parser
    * 8649: imgconverter: Skip availability check if builder supports the image
    type
    * 8573: napoleon: Allow to change the style of custom sections using
    :confval:`napoleon_custom_styles`
    * 8004: napoleon: Type definitions in Google style docstrings are rendered as
    references when :confval:`napoleon_preprocess_types` enabled
    * 6241: mathjax: Include mathjax.js only on the document using equations
    * 8775: py domain: Support type union operator (PEP-604)
    * 8651: std domain: cross-reference for a rubric having inline item is broken
    * 7642: std domain: Optimize case-insensitive match of term
    * 8681: viewcode: Support incremental build
    * 8132: Add :confval:`project_copyright` as an alias of :confval:`copyright`
    * 207: Now :confval:`highlight_language` supports multiple languages
    * 2030: :rst:dir:`code-block` and :rst:dir:`literalinclude` supports automatic
    dedent via no-argument ``:dedent:`` option
    * C++, also hyperlink operator overloads in expressions and alias declarations.
    * 8247: Allow production lists to refer to tokens from other production groups
    * 8813: Show what extension (or module) caused it on errors on event handler
    * 8213: C++: add ``maxdepth`` option to :rst:dir:`cpp:alias` to insert nested
    declarations.
    * C, add ``noroot`` option to :rst:dir:`c:alias` to render only nested
    declarations.
    * C++, add ``noroot`` option to :rst:dir:`cpp:alias` to render only nested
    declarations.
    
    Bugs fixed
    ----------
    
    * 8727: apidoc: namespace module file is not generated if no submodules there
    * 741: autodoc: inherited-members doesn&#x27;t work for instance attributes on super
    class
    * 8592: autodoc: ``:meta public:`` does not effect to variables
    * 8594: autodoc: empty __all__ attribute is ignored
    * 8315: autodoc: Failed to resolve struct.Struct type annotation
    * 8652: autodoc: All variable comments in the module are ignored if the module
    contains invalid type comments
    * 8693: autodoc: Default values for overloaded functions are rendered as string
    * 8134: autodoc: crashes when mocked decorator takes arguments
    * 8800: autodoc: Uninitialized attributes in superclass are recognized as
    undocumented
    * 8655: autodoc: Failed to generate document if target module contains an
    object that raises an exception on ``hasattr()``
    * 8306: autosummary: mocked modules are documented as empty page when using
    :recursive: option
    * 8232: graphviz: Image node is not rendered if graph file is in subdirectory
    * 8618: html: kbd role produces incorrect HTML when compound-key separators (-,
    + or ^) are used as keystrokes
    * 8629: html: A type warning for html_use_opensearch is shown twice
    * 8714: html: kbd role with &quot;Caps Lock&quot; rendered incorrectly
    * 8123: html search: fix searching for terms containing + (Requires a custom
    search language that does not split on +)
    * 8665: html theme: Could not override globaltoc_maxdepth in theme.conf
    * 8446: html: consecutive spaces are displayed as single space
    * 8745: i18n: crashes with KeyError when translation message adds a new auto
    footnote reference
    * 4304: linkcheck: Fix race condition that could lead to checking the
    availability of the same URL twice
    * 8791: linkcheck: The docname for each hyperlink is not displayed
    * 7118: sphinx-quickstart: questionare got Mojibake if libreadline unavailable
    * 8094: texinfo: image files on the different directory with document are not
    copied
    * 8782: todo: Cross references in todolist get broken
    * 8720: viewcode: module pages are generated for epub on incremental build
    * 8704: viewcode: anchors are generated in incremental build after singlehtml
    * 8756: viewcode: highlighted code is generated even if not referenced
    * 8671: :confval:`highlight_options` is not working
    * 8341: C, fix intersphinx lookup types for names in declarations.
    * C, C++: in general fix intersphinx and role lookup types.
    * 8683: :confval:`html_last_updated_fmt` does not support UTC offset (%z)
    * 8683: :confval:`html_last_updated_fmt` generates wrong time zone for %Z
    * 1112: ``download`` role creates duplicated copies when relative path is
    specified
    * 2616 (fifth item): LaTeX: footnotes from captions are not clickable,
    and for manually numbered footnotes only first one with same number is
    an hyperlink
    * 7576: LaTeX with French babel and memoir crash: &quot;Illegal parameter number
    in definition of ``\FNHprefntext``&quot;
    * 8055: LaTeX (docs): A potential display bug with the LaTeX generation step
    in Sphinx (how to generate one-column index)
    * 8072: LaTeX: Directive :rst:dir:`hlist` not implemented in LaTeX
    * 8214: LaTeX: The :rst:role:`index` role and the glossary generate duplicate
    entries in the LaTeX index (if both used for same term)
    * 8735: LaTeX: wrong internal links in pdf to captioned code-blocks when
    :confval:`numfig` is not True
    * 8442: LaTeX: some indexed terms are ignored when using xelatex engine
    (or pdflatex and :confval:`latex_use_xindy` set to True) with memoir class
    * 8750: LaTeX: URLs as footnotes fail to show in PDF if originating from
    inside function type signatures
    * 8780: LaTeX: long words in narrow columns may not be hyphenated
    * 8788: LaTeX: ``\titleformat`` last argument in sphinx.sty should be
    bracketed, not braced (and is anyhow not needed) 
    * 8849: LaTex: code-block printed out of margin (see the opt-in LaTeX syntax
    boolean :ref:`verbatimforcewraps &lt;latexsphinxsetupforcewraps&gt;` for use via
    the :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;` key of ``latex_elements``)
    * 8183: LaTeX: Remove substitution_reference nodes from doctree only on LaTeX
    builds
    * 8865: LaTeX: Restructure the index nodes inside title nodes only on LaTeX
    builds
    * 8796: LaTeX: potentially critical low level TeX coding mistake has gone
    unnoticed so far
    * C, :rst:dir:`c:alias` skip symbols without explicit declarations
    instead of crashing.
    * C, :rst:dir:`c:alias` give a warning when the root symbol is not declared.
    * C, ``expr`` role should start symbol lookup in the current scope.
    

    3.4.3

    =====================================
    
    Bugs fixed
    ----------
    
    * 8655: autodoc: Failed to generate document if target module contains an
    object that raises an exception on ``hasattr()``
    

    3.4.2

    =====================================
    
    Bugs fixed
    ----------
    
    * 8164: autodoc: Classes that inherit mocked class are not documented
    * 8602: autodoc: The ``autodoc-process-docstring`` event is emitted to the
    non-datadescriptors unexpectedly
    * 8616: autodoc: AttributeError is raised on non-class object is passed to
    autoclass directive
    

    3.4.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8559: autodoc: AttributeError is raised when using forward-reference type
    annotations
    * 8568: autodoc: TypeError is raised on checking slots attribute
    * 8567: autodoc: Instance attributes are incorrectly added to Parent class
    * 8566: autodoc: The ``autodoc-process-docstring`` event is emitted to the
    alias classes unexpectedly
    * 8583: autodoc: Unnecessary object comparison via ``__eq__`` method
    * 8565: linkcheck: Fix PriorityQueue crash when link tuples are not
    comparable
    

    3.4.0

    =====================================
    
    Incompatible changes
    --------------------
    
    * 8105: autodoc: the signature of class constructor will be shown for decorated
    classes, not a signature of decorator
    
    Deprecated
    ----------
    
    * The ``follow_wrapped`` argument of ``sphinx.util.inspect.signature()``
    * The ``no_docstring`` argument of
    ``sphinx.ext.autodoc.Documenter.add_content()``
    * ``sphinx.ext.autodoc.Documenter.get_object_members()``
    * ``sphinx.ext.autodoc.DataDeclarationDocumenter``
    * ``sphinx.ext.autodoc.GenericAliasDocumenter``
    * ``sphinx.ext.autodoc.InstanceAttributeDocumenter``
    * ``sphinx.ext.autodoc.SlotsAttributeDocumenter``
    * ``sphinx.ext.autodoc.TypeVarDocumenter``
    * ``sphinx.ext.autodoc.importer._getannotations()``
    * ``sphinx.ext.autodoc.importer._getmro()``
    * ``sphinx.pycode.ModuleAnalyzer.parse()``
    * ``sphinx.util.osutil.movefile()``
    * ``sphinx.util.requests.is_ssl_error()``
    
    Features added
    --------------
    
    * 8119: autodoc: Allow to determine whether a member not included in
    ``__all__`` attribute of the module should be documented or not via
    :event:`autodoc-skip-member` event
    * 8219: autodoc: Parameters for generic class are not shown when super class is
    a generic class and show-inheritance option is given (in Python 3.7 or above)
    * autodoc: Add ``Documenter.config`` as a shortcut to access the config object
    * autodoc: Add Optional[t] to annotation of function and method if a default
    value equal to None is set.
    * 8209: autodoc: Add ``:no-value:`` option to :rst:dir:`autoattribute` and
    :rst:dir:`autodata` directive to suppress the default value of the variable
    * 8460: autodoc: Support custom types defined by typing.NewType
    * 8285: napoleon: Add :confval:`napoleon_attr_annotations` to merge type hints
    on source code automatically if any type is specified in docstring
    * 8236: napoleon: Support numpydoc&#x27;s &quot;Receives&quot; section
    * 6914: Add a new event :event:`warn-missing-reference` to custom warning
    messages when failed to resolve a cross-reference
    * 6914: Emit a detailed warning when failed to resolve a ``:ref:`` reference
    * 6629: linkcheck: The builder now handles rate limits. See
    :confval:`linkcheck_retry_on_rate_limit` for details.
    
    Bugs fixed
    ----------
    
    * 7613: autodoc: autodoc does not respect __signature__ of the class
    * 4606: autodoc: the location of the warning is incorrect for inherited method
    * 8105: autodoc: the signature of class constructor is incorrect if the class
    is decorated
    * 8434: autodoc: :confval:`autodoc_type_aliases` does not effect to variables
    and attributes
    * 8443: autodoc: autodata directive can&#x27;t create document for PEP-526 based
    type annotated variables
    * 8443: autodoc: autoattribute directive can&#x27;t create document for PEP-526
    based uninitialized variables
    * 8480: autodoc: autoattribute could not create document for __slots__
    attributes
    * 8503: autodoc: autoattribute could not create document for a GenericAlias as
    class attributes correctly
    * 8534: autodoc: autoattribute could not create document for a commented
    attribute in alias class
    * 8452: autodoc: autodoc_type_aliases doesn&#x27;t work when autodoc_typehints is
    set to &quot;description&quot;
    * 8541: autodoc: autodoc_type_aliases doesn&#x27;t work for the type annotation to
    instance attributes
    * 8460: autodoc: autodata and autoattribute directives do not display type
    information of TypeVars
    * 8493: autodoc: references to builtins not working in class aliases
    * 8522: autodoc:  ``__bool__`` method could be called
    * 8067: autodoc: A typehint for the instance variable having type_comment on
    super class is not displayed
    * 8545: autodoc: a __slots__ attribute is not documented even having docstring
    * 741: autodoc: inherited-members doesn&#x27;t work for instance attributes on super
    class
    * 8477: autosummary: non utf-8 reST files are generated when template contains
    multibyte characters
    * 8501: autosummary: summary extraction splits text after &quot;el at.&quot; unexpectedly
    * 8524: html: Wrong url_root has been generated on a document named &quot;index&quot;
    * 8419: html search: Do not load ``language_data.js`` in non-search pages
    * 8549: i18n: ``-D gettext_compact=0`` is no longer working
    * 8454: graphviz: The layout option for graph and digraph directives don&#x27;t work
    * 8131: linkcheck: Use GET when HEAD requests cause Too Many Redirects, to
    accommodate infinite redirect loops on HEAD
    * 8437: Makefile: ``make clean`` with empty BUILDDIR is dangerous
    * 8365: py domain: ``:type:`` and ``:rtype:`` gives false ambiguous class
    lookup warnings
    * 8352: std domain: Failed to parse an option that starts with bracket
    * 8519: LaTeX: Prevent page brake in the middle of a seealso
    * 8520: C, fix copying of AliasNode.
    

    3.3.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 8372: autodoc: autoclass directive became slower than Sphinx-3.2
    * 7727: autosummary: raise PycodeError when documenting python package
    without __init__.py
    * 8350: autosummary: autosummary_mock_imports causes slow down builds
    * 8364: C, properly initialize attributes in empty symbols.
    * 8399: i18n: Put system locale path after the paths specified by configuration
    

    3.3.0

    =====================================
    
    Deprecated
    ----------
    
    * ``sphinx.builders.latex.LaTeXBuilder.usepackages``
    * ``sphinx.builders.latex.LaTeXBuilder.usepackages_afger_hyperref``
    * ``sphinx.ext.autodoc.SingledispatchFunctionDocumenter``
    * ``sphinx.ext.autodoc.SingledispatchMethodDocumenter``
    
    Features added
    --------------
    
    * 8100: html: Show a better error message for failures on copying
    html_static_files
    * 8141: C: added a ``maxdepth`` option to :rst:dir:`c:alias` to insert
    nested declarations.
    * 8081: LaTeX: Allow to add LaTeX package via ``app.add_latex_package()`` until
    just before writing .tex file
    * 7996: manpage: Add :confval:`man_make_section_directory` to make a section
    directory on build man page
    * 8289: epub: Allow to suppress &quot;duplicated ToC entry found&quot; warnings from epub
    builder using :confval:`suppress_warnings`.
    * 8298: sphinx-quickstart: Add :option:`sphinx-quickstart --no-sep` option
    * 8304: sphinx.testing: Register public markers in sphinx.testing.fixtures
    * 8051: napoleon: use the obj role for all See Also items
    * 8050: napoleon: Apply :confval:`napoleon_preprocess_types` to every field
    * C and C++, show line numbers for previous declarations when duplicates are
    detected.
    * 8183: Remove substitution_reference nodes from doctree only on LaTeX builds
    
    Bugs fixed
    ----------
    
    * 8085: i18n: Add support for having single text domain
    * 6640: i18n: Failed to override system message translation
    * 8143: autodoc: AttributeError is raised when False value is passed to
    autodoc_default_options
    * 8103: autodoc: functools.cached_property is not considered as a property
    * 8190: autodoc: parsing error is raised if some extension replaces docstring
    by string not ending with blank lines
    * 8142: autodoc: Wrong constructor signature for the class derived from
    typing.Generic
    * 8157: autodoc: TypeError is raised when annotation has invalid __args__
    * 7964: autodoc: Tuple in default value is wrongly rendered
    * 8200: autodoc: type aliases break type formatting of autoattribute
    * 7786: autodoc: can&#x27;t detect overloaded methods defined in other file
    * 8294: autodoc: single-string __slots__ is not handled correctly
    * 7785: autodoc: autodoc_typehints=&#x27;none&#x27; does not effect to overloaded functions
    * 8192: napoleon: description is disappeared when it contains inline literals
    * 8142: napoleon: Potential of regex denial of service in google style docs
    * 8169: LaTeX: pxjahyper loaded even when latex_engine is not platex
    * 8215: LaTeX: &#x27;oneside&#x27; classoption causes build warning
    * 8175: intersphinx: Potential of regex denial of service by broken inventory
    * 8277: sphinx-build: missing and redundant spacing (and etc) for console
    output on building
    * 7973: imgconverter: Check availability of imagemagick many times
    * 8255: py domain: number in default argument value is changed from hexadecimal
    to decimal
    * 8316: html: Prevent arrow keys changing page when button elements are focused
    * 8343: html search: Fix unnecessary load of images when parsing the document
    * 8254: html theme: Line numbers misalign with code lines
    * 8093: The highlight warning has wrong location in some builders (LaTeX,
    singlehtml and so on)
    * 8215: Eliminate Fancyhdr build warnings for oneside documents
    * 8239: Failed to refer a token in productionlist if it is indented
    * 8268: linkcheck: Report HTTP errors when ``linkcheck_anchors`` is ``True``
    * 8245: linkcheck: take source directory into account for local files
    * 8321: linkcheck: ``tel:`` schema hyperlinks are detected as errors
    * 8323: linkcheck: An exit status is incorrect when links having unsupported
    schema found
    * 8188: C, add missing items to internal object types dictionary,
    e.g., preventing intersphinx from resolving them.
    * C, fix anon objects in intersphinx.
    * 8270, C++, properly reject functions as duplicate declarations if a
    non-function declaration of the same name already exists.
    * C, fix references to function parameters.
    Link to the function instead of a non-existing anchor.
    * 6914: figure numbers are unexpectedly assigned to uncaptioned items
    * 8320: make &quot;inline&quot; line numbers un-selectable
    
    Testing
    --------
    
    * 8257: Support parallel build in sphinx.testing
    

    3.2.1

    =====================================
    
    Features added
    --------------
    
    * 8095: napoleon: Add :confval:`napoleon_preprocess_types` to enable the type
    preprocessor for numpy style docstrings
    * 8114: C and C++, parse function attributes after parameters and qualifiers.
    
    Bugs fixed
    ----------
    
    * 8074: napoleon: Crashes during processing C-ext module
    * 8088: napoleon: &quot;Inline literal start-string without end-string&quot; warning in
    Numpy style Parameters section
    * 8084: autodoc: KeyError is raised on documenting an attribute of the broken
    class
    * 8091: autodoc: AttributeError is raised on documenting an attribute on Python
    3.5.2
    * 8099: autodoc: NameError is raised when target code uses ``TYPE_CHECKING``
    * C++, fix parsing of template template parameters, broken by the fix of 7944
    

    3.2.0

    =====================================
    
    Deprecated
    ----------
    
    * ``sphinx.ext.autodoc.members_set_option()``
    * ``sphinx.ext.autodoc.merge_special_members_option()``
    * ``sphinx.writers.texinfo.TexinfoWriter.desc``
    * C, parsing of pre-v3 style type directives and roles, along with the options
    :confval:`c_allow_pre_v3` and :confval:`c_warn_on_allowed_pre_v3`.
    
    Features added
    --------------
    
    * 2076: autodoc: Allow overriding of exclude-members in skip-member function
    * 8034: autodoc: ``:private-member:`` can take an explicit list of member names
    to be documented
    * 2024: autosummary: Add :confval:`autosummary_filename_map` to avoid conflict
    of filenames between two object with different case
    * 8011: autosummary: Support instance attributes as a target of autosummary
    directive
    * 7849: html: Add :confval:`html_codeblock_linenos_style` to change the style
    of line numbers for code-blocks
    * 7853: C and C++, support parameterized GNU style attributes.
    * 7888: napoleon: Add aliases Warn and Raise.
    * 7690: napoleon: parse type strings and make them hyperlinks as possible.  The
    conversion rule can be updated via :confval:`napoleon_type_aliases`
    * 8049: napoleon: Create a hyperlink for each the type of parameter when
    :confval:`napoleon_use_params` is False
    * C, added :rst:dir:`c:alias` directive for inserting copies
    of existing declarations.
    * 7745: html: inventory is broken if the docname contains a space
    * 7991: html search: Allow searching for numbers
    * 7902: html theme: Add a new option :confval:`globaltoc_maxdepth` to control
    the behavior of globaltoc in sidebar
    * 7840: i18n: Optimize the dependencies check on bootstrap
    * 7768: i18n: :confval:`figure_language_filename` supports ``docpath`` token
    * 5208: linkcheck: Support checks for local links
    * 5090: setuptools: Link verbosity to distutils&#x27; -v and -q option
    * 6698: doctest: Add ``:trim-doctest-flags:`` and ``:no-trim-doctest-flags:``
    options to doctest, testcode and testoutput directives
    * 7052: add ``:noindexentry:`` to the Python, C, C++, and Javascript domains.
    Update the documentation to better reflect the relationship between this option
    and the ``:noindex:`` option.
    * 7899: C, add possibility of parsing of some pre-v3 style type directives and
    roles and try to convert them to equivalent v3 directives/roles.
    Set the new option :confval:`c_allow_pre_v3` to ``True`` to enable this.
    The warnings printed from this functionality can be suppressed by setting
    :confval:`c_warn_on_allowed_pre_v3`` to ``True``.
    The functionality is immediately deprecated.
    * 7999: C, add support for named variadic macro arguments.
    * 8071: Allow to suppress &quot;self referenced toctrees&quot; warning
    
    Bugs fixed
    ----------
    
    * 7886: autodoc: TypeError is raised on mocking generic-typed classes
    * 7935: autodoc: function signature is not shown when the function has a
    parameter having ``inspect._empty`` as its default value
    * 7901: autodoc: type annotations for overloaded functions are not resolved
    * 904: autodoc: An instance attribute cause a crash of autofunction directive
    * 1362: autodoc: ``private-members`` option does not work for class attributes
    * 7983: autodoc: Generator type annotation is wrongly rendered in py36
    * 8030: autodoc: An uninitialized annotated instance variable is not documented
    when ``:inherited-members:`` option given
    * 8032: autodoc: A type hint for the instance variable defined at parent class
    is not shown in the document of the derived class
    * 8041: autodoc: An annotated instance variable on super class is not
    documented when derived class has other annotated instance variables
    * 7839: autosummary: cannot handle umlauts in function names
    * 7865: autosummary: Failed to extract summary line when abbreviations found
    * 7866: autosummary: Failed to extract correct summary line when docstring
    contains a hyperlink target
    * 7469: autosummary: &quot;Module attributes&quot; header is not translatable
    * 7940: apidoc: An extra newline is generated at the end of the rst file if a
    module has submodules
    * 4258: napoleon: decorated special methods are not shown
    * 7799: napoleon: parameters are not escaped for combined params in numpydoc
    * 7780: napoleon: multiple parameters declaration in numpydoc was wrongly
    recognized when napoleon_use_params=True
    * 7715: LaTeX: ``numfig_secnum_depth &gt; 1`` leads to wrong figure links
    * 7846: html theme: XML-invalid files were generated
    * 7894: gettext: Wrong source info is shown when using rst_epilog
    * 7691: linkcheck: HEAD requests are not used for checking
    * 4888: i18n: Failed to add an explicit title to ``:ref:`` role on translation
    * 7928: py domain: failed to resolve a type annotation for the attribute
    * 8008: py domain: failed to parse a type annotation containing ellipsis
    * 7994: std domain: option directive does not generate old node_id compatible
    with 2.x or older
    * 7968: i18n: The content of ``math`` directive is interpreted as reST on
    translation
    * 7768: i18n: The ``root`` element for :confval:`figure_language_filename` is
    not a path that user specifies in the document
    * 7993: texinfo: TypeError is raised for nested object descriptions
    * 7993: texinfo: a warning not supporting desc_signature_line node is shown
    * 7869: :rst:role:`abbr` role without an explanation will show the explanation
    from the previous abbr role
    * 8048: graphviz: graphviz.css was copied on building non-HTML docum
    opened by pyup-bot 0
  • Update twine to 4.0.2

    Update twine to 4.0.2

    This PR updates twine from 2.0.0 to 4.0.2.

    The bot wasn't able to find a changelog for this release. Got an idea?

    Links
    • PyPI: https://pypi.org/project/twine
    • Docs: https://twine.readthedocs.io/
    opened by pyup-bot 0
  • Update flake8 to 6.0.0

    Update flake8 to 6.0.0

    This PR updates flake8 from 3.7.9 to 6.0.0.

    The bot wasn't able to find a changelog for this release. Got an idea?

    Links
    • PyPI: https://pypi.org/project/flake8
    • Repo: https://github.com/pycqa/flake8
    opened by pyup-bot 0
  • Update pytest to 7.2.0

    Update pytest to 7.2.0

    This PR updates pytest from 5.3.1 to 7.2.0.

    Changelog

    7.1.3

    =========================
    
    Bug Fixes
    ---------
    
    - `10060 &lt;https://github.com/pytest-dev/pytest/issues/10060&gt;`_: When running with ``--pdb``, ``TestCase.tearDown`` is no longer called for tests when the *class* has been skipped via ``unittest.skip`` or ``pytest.mark.skip``.
    
    
    - `10190 &lt;https://github.com/pytest-dev/pytest/issues/10190&gt;`_: Invalid XML characters in setup or teardown error messages are now properly escaped for JUnit XML reports.
    
    
    - `10230 &lt;https://github.com/pytest-dev/pytest/issues/10230&gt;`_: Ignore ``.py`` files created by ``pyproject.toml``-based editable builds introduced in `pip 21.3 &lt;https://pip.pypa.io/en/stable/news/#v21-3&gt;`__.
    
    
    - `3396 &lt;https://github.com/pytest-dev/pytest/issues/3396&gt;`_: Doctests now respect the ``--import-mode`` flag.
    
    
    - `9514 &lt;https://github.com/pytest-dev/pytest/issues/9514&gt;`_: Type-annotate ``FixtureRequest.param`` as ``Any`` as a stop gap measure until :issue:`8073` is fixed.
    
    
    - `9791 &lt;https://github.com/pytest-dev/pytest/issues/9791&gt;`_: Fixed a path handling code in ``rewrite.py`` that seems to work fine, but was incorrect and fails in some systems.
    
    
    - `9917 &lt;https://github.com/pytest-dev/pytest/issues/9917&gt;`_: Fixed string representation for :func:`pytest.approx` when used to compare tuples.
    
    
    
    Improved Documentation
    ----------------------
    
    - `9937 &lt;https://github.com/pytest-dev/pytest/issues/9937&gt;`_: Explicit note that :fixture:`tmpdir` fixture is discouraged in favour of :fixture:`tmp_path`.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `10114 &lt;https://github.com/pytest-dev/pytest/issues/10114&gt;`_: Replace `atomicwrites &lt;https://github.com/untitaker/python-atomicwrites&gt;`__ dependency on windows with `os.replace`.
    

    7.1.2

    =========================
    
    Bug Fixes
    ---------
    
    - `9726 &lt;https://github.com/pytest-dev/pytest/issues/9726&gt;`_: An unnecessary ``numpy`` import inside :func:`pytest.approx` was removed.
    
    
    - `9820 &lt;https://github.com/pytest-dev/pytest/issues/9820&gt;`_: Fix comparison of  ``dataclasses`` with ``InitVar``.
    
    
    - `9869 &lt;https://github.com/pytest-dev/pytest/issues/9869&gt;`_: Increase ``stacklevel`` for the ``NODE_CTOR_FSPATH_ARG`` deprecation to point to the
    user&#x27;s code, not pytest.
    
    
    - `9871 &lt;https://github.com/pytest-dev/pytest/issues/9871&gt;`_: Fix a bizarre (and fortunately rare) bug where the `temp_path` fixture could raise
    an internal error while attempting to get the current user&#x27;s username.
    

    7.1.1

    =========================
    
    Bug Fixes
    ---------
    
    - `9767 &lt;https://github.com/pytest-dev/pytest/issues/9767&gt;`_: Fixed a regression in pytest 7.1.0 where some conftest.py files outside of the source tree (e.g. in the `site-packages` directory) were not picked up.
    

    7.1.0

    =========================
    
    Breaking Changes
    ----------------
    
    - `8838 &lt;https://github.com/pytest-dev/pytest/issues/8838&gt;`_: As per our policy, the following features have been deprecated in the 6.X series and are now
    removed:
    
    * ``pytest._fillfuncargs`` function.
    
    * ``pytest_warning_captured`` hook - use ``pytest_warning_recorded`` instead.
    
    * ``-k -foobar`` syntax - use ``-k &#x27;not foobar&#x27;`` instead.
    
    * ``-k foobar:`` syntax.
    
    * ``pytest.collect`` module - import from ``pytest`` directly.
    
    For more information consult
    `Deprecations and Removals &lt;https://docs.pytest.org/en/latest/deprecations.html&gt;`__ in the docs.
    
    
    - `9437 &lt;https://github.com/pytest-dev/pytest/issues/9437&gt;`_: Dropped support for Python 3.6, which reached `end-of-life &lt;https://devguide.python.org/#status-of-python-branches&gt;`__ at 2021-12-23.
    
    
    
    Improvements
    ------------
    
    - `5192 &lt;https://github.com/pytest-dev/pytest/issues/5192&gt;`_: Fixed test output for some data types where ``-v`` would show less information.
    
    Also, when showing diffs for sequences, ``-q`` would produce full diffs instead of the expected diff.
    
    
    - `9362 &lt;https://github.com/pytest-dev/pytest/issues/9362&gt;`_: pytest now avoids specialized assert formatting when it is detected that the default ``__eq__`` is overridden in ``attrs`` or ``dataclasses``.
    
    
    - `9536 &lt;https://github.com/pytest-dev/pytest/issues/9536&gt;`_: When ``-vv`` is given on command line, show skipping and xfail reasons in full instead of truncating them to fit the terminal width.
    
    
    - `9644 &lt;https://github.com/pytest-dev/pytest/issues/9644&gt;`_: More information about the location of resources that led Python to raise :class:`ResourceWarning` can now
    be obtained by enabling :mod:`tracemalloc`.
    
    See :ref:`resource-warnings` for more information.
    
    
    - `9678 &lt;https://github.com/pytest-dev/pytest/issues/9678&gt;`_: More types are now accepted in the ``ids`` argument to ``pytest.mark.parametrize``.
    Previously only `str`, `float`, `int` and `bool` were accepted;
    now `bytes`, `complex`, `re.Pattern`, `Enum` and anything with a `__name__` are also accepted.
    
    
    - `9692 &lt;https://github.com/pytest-dev/pytest/issues/9692&gt;`_: :func:`pytest.approx` now raises a :class:`TypeError` when given an unordered sequence (such as :class:`set`).
    
    Note that this implies that custom classes which only implement ``__iter__`` and ``__len__`` are no longer supported as they don&#x27;t guarantee order.
    
    
    
    Bug Fixes
    ---------
    
    - `8242 &lt;https://github.com/pytest-dev/pytest/issues/8242&gt;`_: The deprecation of raising :class:`unittest.SkipTest` to skip collection of
    tests during the pytest collection phase is reverted - this is now a supported
    feature again.
    
    
    - `9493 &lt;https://github.com/pytest-dev/pytest/issues/9493&gt;`_: Symbolic link components are no longer resolved in conftest paths.
    This means that if a conftest appears twice in collection tree, using symlinks, it will be executed twice.
    For example, given
    
       tests/real/conftest.py
       tests/real/test_it.py
       tests/link -&gt; tests/real
    
    running ``pytest tests`` now imports the conftest twice, once as ``tests/real/conftest.py`` and once as ``tests/link/conftest.py``.
    This is a fix to match a similar change made to test collection itself in pytest 6.0 (see :pull:`6523` for details).
    
    
    - `9626 &lt;https://github.com/pytest-dev/pytest/issues/9626&gt;`_: Fixed count of selected tests on terminal collection summary when there were errors or skipped modules.
    
    If there were errors or skipped modules on collection, pytest would mistakenly subtract those from the selected count.
    
    
    - `9645 &lt;https://github.com/pytest-dev/pytest/issues/9645&gt;`_: Fixed regression where ``--import-mode=importlib`` used together with :envvar:`PYTHONPATH` or :confval:`pythonpath` would cause import errors in test suites.
    
    
    - `9708 &lt;https://github.com/pytest-dev/pytest/issues/9708&gt;`_: :fixture:`pytester` now requests a :fixture:`monkeypatch` fixture instead of creating one internally. This solves some issues with tests that involve pytest environment variables.
    
    
    - `9730 &lt;https://github.com/pytest-dev/pytest/issues/9730&gt;`_: Malformed ``pyproject.toml`` files now produce a clearer error message.
    

    7.0.1

    =========================
    
    Bug Fixes
    ---------
    
    - `9608 &lt;https://github.com/pytest-dev/pytest/issues/9608&gt;`_: Fix invalid importing of ``importlib.readers`` in Python 3.9.
    
    
    - `9610 &lt;https://github.com/pytest-dev/pytest/issues/9610&gt;`_: Restore `UnitTestFunction.obj` to return unbound rather than bound method.
    Fixes a crash during a failed teardown in unittest TestCases with non-default `__init__`.
    Regressed in pytest 7.0.0.
    
    
    - `9636 &lt;https://github.com/pytest-dev/pytest/issues/9636&gt;`_: The ``pythonpath`` plugin was renamed to ``python_path``. This avoids a conflict with the ``pytest-pythonpath`` plugin.
    
    
    - `9642 &lt;https://github.com/pytest-dev/pytest/issues/9642&gt;`_: Fix running tests by id with ``::`` in the parametrize portion.
    
    
    - `9643 &lt;https://github.com/pytest-dev/pytest/issues/9643&gt;`_: Delay issuing a :class:`~pytest.PytestWarning` about diamond inheritance involving :class:`~pytest.Item` and
    :class:`~pytest.Collector` so it can be filtered using :ref:`standard warning filters &lt;warnings&gt;`.
    

    7.0.0

    =========================
    
    (**Please see the full set of changes for this release also in the 7.0.0rc1 notes below**)
    
    Deprecations
    ------------
    
    - `9488 &lt;https://github.com/pytest-dev/pytest/issues/9488&gt;`_: If custom subclasses of nodes like :class:`pytest.Item` override the
    ``__init__`` method, they should take ``**kwargs``. See
    :ref:`uncooperative-constructors-deprecated` for details.
    
    Note that a deprection warning is only emitted when there is a conflict in the
    arguments pytest expected to pass. This deprecation was already part of pytest
    7.0.0rc1 but wasn&#x27;t documented.
    
    
    
    Bug Fixes
    ---------
    
    - `9355 &lt;https://github.com/pytest-dev/pytest/issues/9355&gt;`_: Fixed error message prints function decorators when using assert in Python 3.8 and above.
    
    
    - `9396 &lt;https://github.com/pytest-dev/pytest/issues/9396&gt;`_: Ensure :attr:`pytest.Config.inifile` is available during the :func:`pytest_cmdline_main &lt;_pytest.hookspec.pytest_cmdline_main&gt;` hook (regression during ``7.0.0rc1``).
    
    
    
    Improved Documentation
    ----------------------
    
    - `9404 &lt;https://github.com/pytest-dev/pytest/issues/9404&gt;`_: Added extra documentation on alternatives to common misuses of `pytest.warns(None)` ahead of its deprecation.
    
    
    - `9505 &lt;https://github.com/pytest-dev/pytest/issues/9505&gt;`_: Clarify where the configuration files are located. To avoid confusions documentation mentions
    that configuration file is located in the root of the repository.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `9521 &lt;https://github.com/pytest-dev/pytest/issues/9521&gt;`_: Add test coverage to assertion rewrite path.
    

    7.0.0rc1

    ============================
    
    Breaking Changes
    ----------------
    
    - `7259 &lt;https://github.com/pytest-dev/pytest/issues/7259&gt;`_: The :ref:`Node.reportinfo() &lt;non-python tests&gt;` function first return value type has been expanded from `py.path.local | str` to `os.PathLike[str] | str`.
    
    Most plugins which refer to `reportinfo()` only define it as part of a custom :class:`pytest.Item` implementation.
    Since `py.path.local` is a `os.PathLike[str]`, these plugins are unaffacted.
    
    Plugins and users which call `reportinfo()`, use the first return value and interact with it as a `py.path.local`, would need to adjust by calling `py.path.local(fspath)`.
    Although preferably, avoid the legacy `py.path.local` and use `pathlib.Path`, or use `item.location` or `item.path`, instead.
    
    Note: pytest was not able to provide a deprecation period for this change.
    
    
    - `8246 &lt;https://github.com/pytest-dev/pytest/issues/8246&gt;`_: ``--version`` now writes version information to ``stdout`` rather than ``stderr``.
    
    
    - `8733 &lt;https://github.com/pytest-dev/pytest/issues/8733&gt;`_: Drop a workaround for `pyreadline &lt;https://github.com/pyreadline/pyreadline&gt;`__ that made it work with ``--pdb``.
    
    The workaround was introduced in `1281 &lt;https://github.com/pytest-dev/pytest/pull/1281&gt;`__ in 2015, however since then
    `pyreadline seems to have gone unmaintained &lt;https://github.com/pyreadline/pyreadline/issues/58&gt;`__, is `generating
    warnings &lt;https://github.com/pytest-dev/pytest/issues/8847&gt;`__, and will stop working on Python 3.10.
    
    
    - `9061 &lt;https://github.com/pytest-dev/pytest/issues/9061&gt;`_: Using :func:`pytest.approx` in a boolean context now raises an error hinting at the proper usage.
    
    It is apparently common for users to mistakenly use ``pytest.approx`` like this:
    
    .. code-block:: python
    
       assert pytest.approx(actual, expected)
    
    While the correct usage is:
    
    .. code-block:: python
    
       assert actual == pytest.approx(expected)
    
    The new error message helps catch those mistakes.
    
    
    - `9277 &lt;https://github.com/pytest-dev/pytest/issues/9277&gt;`_: The ``pytest.Instance`` collector type has been removed.
    Importing ``pytest.Instance`` or ``_pytest.python.Instance`` returns a dummy type and emits a deprecation warning.
    See :ref:`instance-collector-deprecation` for details.
    
    
    - `9308 &lt;https://github.com/pytest-dev/pytest/issues/9308&gt;`_: **PytestRemovedIn7Warning deprecation warnings are now errors by default.**
    
    Following our plan to remove deprecated features with as little disruption as
    possible, all warnings of type ``PytestRemovedIn7Warning`` now generate errors
    instead of warning messages by default.
    
    **The affected features will be effectively removed in pytest 7.1**, so please consult the
    :ref:`deprecations` section in the docs for directions on how to update existing code.
    
    In the pytest ``7.0.X`` series, it is possible to change the errors back into warnings as a
    stopgap measure by adding this to your ``pytest.ini`` file:
    
    .. code-block:: ini
    
       [pytest]
       filterwarnings =
           ignore::pytest.PytestRemovedIn7Warning
    
    But this will stop working when pytest ``7.1`` is released.
    
    **If you have concerns** about the removal of a specific feature, please add a
    comment to :issue:`9308`.
    
    
    
    Deprecations
    ------------
    
    - `7259 &lt;https://github.com/pytest-dev/pytest/issues/7259&gt;`_: ``py.path.local`` arguments for hooks have been deprecated. See :ref:`the deprecation note &lt;legacy-path-hooks-deprecated&gt;` for full details.
    
    ``py.path.local`` arguments to Node constructors have been deprecated. See :ref:`the deprecation note &lt;node-ctor-fspath-deprecation&gt;` for full details.
    
    .. note::
       The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the
       new attribute being ``path``) is **the opposite** of the situation for hooks
       (the old argument being ``path``).
    
       This is an unfortunate artifact due to historical reasons, which should be
       resolved in future versions as we slowly get rid of the :pypi:`py`
       dependency (see :issue:`9283` for a longer discussion).
    
    
    - `7469 &lt;https://github.com/pytest-dev/pytest/issues/7469&gt;`_: Directly constructing the following classes is now deprecated:
    
    - ``_pytest.mark.structures.Mark``
    - ``_pytest.mark.structures.MarkDecorator``
    - ``_pytest.mark.structures.MarkGenerator``
    - ``_pytest.python.Metafunc``
    - ``_pytest.runner.CallInfo``
    - ``_pytest._code.ExceptionInfo``
    - ``_pytest.config.argparsing.Parser``
    - ``_pytest.config.argparsing.OptionGroup``
    - ``_pytest.pytester.HookRecorder``
    
    These constructors have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 8.
    
    
    - `8242 &lt;https://github.com/pytest-dev/pytest/issues/8242&gt;`_: Raising :class:`unittest.SkipTest` to skip collection of tests during the
    pytest collection phase is deprecated. Use :func:`pytest.skip` instead.
    
    Note: This deprecation only relates to using :class:`unittest.SkipTest` during test
    collection. You are probably not doing that. Ordinary usage of
    :class:`unittest.SkipTest` / :meth:`unittest.TestCase.skipTest` /
    :func:`unittest.skip` in unittest test cases is fully supported.
    
    .. note:: This deprecation has been reverted in pytest 7.1.0.
    
    
    - `8315 &lt;https://github.com/pytest-dev/pytest/issues/8315&gt;`_: Several behaviors of :meth:`Parser.addoption &lt;pytest.Parser.addoption&gt;` are now
    scheduled for removal in pytest 8 (deprecated since pytest 2.4.0):
    
    - ``parser.addoption(..., help=&quot;.. %default ..&quot;)`` - use ``%(default)s`` instead.
    - ``parser.addoption(..., type=&quot;int/string/float/complex&quot;)`` - use ``type=int`` etc. instead.
    
    
    - `8447 &lt;https://github.com/pytest-dev/pytest/issues/8447&gt;`_: Defining a custom pytest node type which is both an :class:`pytest.Item &lt;Item&gt;` and a :class:`pytest.Collector &lt;Collector&gt;` (e.g. :class:`pytest.File &lt;File&gt;`) now issues a warning.
    It was never sanely supported and triggers hard to debug errors.
    
    See :ref:`the deprecation note &lt;diamond-inheritance-deprecated&gt;` for full details.
    
    
    - `8592 &lt;https://github.com/pytest-dev/pytest/issues/8592&gt;`_: :hook:`pytest_cmdline_preparse` has been officially deprecated.  It will be removed in a future release.  Use :hook:`pytest_load_initial_conftests` instead.
    
    See :ref:`the deprecation note &lt;cmdline-preparse-deprecated&gt;` for full details.
    
    
    - `8645 &lt;https://github.com/pytest-dev/pytest/issues/8645&gt;`_: :func:`pytest.warns(None) &lt;pytest.warns&gt;` is now deprecated because many people used
    it to mean &quot;this code does not emit warnings&quot;, but it actually had the effect of
    checking that the code emits at least one warning of any type - like ``pytest.warns()``
    or ``pytest.warns(Warning)``.
    
    
    - `8948 &lt;https://github.com/pytest-dev/pytest/issues/8948&gt;`_: :func:`pytest.skip(msg=...) &lt;pytest.skip&gt;`, :func:`pytest.fail(msg=...) &lt;pytest.fail&gt;` and :func:`pytest.exit(msg=...) &lt;pytest.exit&gt;`
    signatures now accept a ``reason`` argument instead of ``msg``.  Using ``msg`` still works, but is deprecated and will be removed in a future release.
    
    This was changed for consistency with :func:`pytest.mark.skip &lt;pytest.mark.skip&gt;` and  :func:`pytest.mark.xfail &lt;pytest.mark.xfail&gt;` which both accept
    ``reason`` as an argument.
    
    - `8174 &lt;https://github.com/pytest-dev/pytest/issues/8174&gt;`_: The following changes have been made to types reachable through :attr:`pytest.ExceptionInfo.traceback`:
    
    - The ``path`` property of ``_pytest.code.Code`` returns ``Path`` instead of ``py.path.local``.
    - The ``path`` property of ``_pytest.code.TracebackEntry`` returns ``Path`` instead of ``py.path.local``.
    
    There was no deprecation period for this change (sorry!).
    
    
    Features
    --------
    
    - `5196 &lt;https://github.com/pytest-dev/pytest/issues/5196&gt;`_: Tests are now ordered by definition order in more cases.
    
    In a class hierarchy, tests from base classes are now consistently ordered before tests defined on their subclasses (reverse MRO order).
    
    
    - `7132 &lt;https://github.com/pytest-dev/pytest/issues/7132&gt;`_: Added two environment variables :envvar:`PYTEST_THEME` and :envvar:`PYTEST_THEME_MODE` to let the users customize the pygments theme used.
    
    
    - `7259 &lt;https://github.com/pytest-dev/pytest/issues/7259&gt;`_: Added :meth:`cache.mkdir() &lt;pytest.Cache.mkdir&gt;`, which is similar to the existing :meth:`cache.makedir() &lt;pytest.Cache.makedir&gt;`,
    but returns a :class:`pathlib.Path` instead of a legacy ``py.path.local``.
    
    Added a ``paths`` type to :meth:`parser.addini() &lt;pytest.Parser.addini&gt;`,
    as in ``parser.addini(&quot;mypaths&quot;, &quot;my paths&quot;, type=&quot;paths&quot;)``,
    which is similar to the existing ``pathlist``,
    but returns a list of :class:`pathlib.Path` instead of legacy ``py.path.local``.
    
    
    - `7469 &lt;https://github.com/pytest-dev/pytest/issues/7469&gt;`_: The types of objects used in pytest&#x27;s API are now exported so they may be used in type annotations.
    
    The newly-exported types are:
    
    - ``pytest.Config`` for :class:`Config &lt;pytest.Config&gt;`.
    - ``pytest.Mark`` for :class:`marks &lt;pytest.Mark&gt;`.
    - ``pytest.MarkDecorator`` for :class:`mark decorators &lt;pytest.MarkDecorator&gt;`.
    - ``pytest.MarkGenerator`` for the :class:`pytest.mark &lt;pytest.MarkGenerator&gt;` singleton.
    - ``pytest.Metafunc`` for the :class:`metafunc &lt;pytest.MarkGenerator&gt;` argument to the :hook:`pytest_generate_tests` hook.
    - ``pytest.CallInfo`` for the :class:`CallInfo &lt;pytest.CallInfo&gt;` type passed to various hooks.
    - ``pytest.PytestPluginManager`` for :class:`PytestPluginManager &lt;pytest.PytestPluginManager&gt;`.
    - ``pytest.ExceptionInfo`` for the :class:`ExceptionInfo &lt;pytest.ExceptionInfo&gt;` type returned from :func:`pytest.raises` and passed to various hooks.
    - ``pytest.Parser`` for the :class:`Parser &lt;pytest.Parser&gt;` type passed to the :hook:`pytest_addoption` hook.
    - ``pytest.OptionGroup`` for the :class:`OptionGroup &lt;pytest.OptionGroup&gt;` type returned from the :func:`parser.addgroup &lt;pytest.Parser.getgroup&gt;` method.
    - ``pytest.HookRecorder`` for the :class:`HookRecorder &lt;pytest.HookRecorder&gt;` type returned from :class:`~pytest.Pytester`.
    - ``pytest.RecordedHookCall`` for the :class:`RecordedHookCall &lt;pytest.HookRecorder&gt;` type returned from :class:`~pytest.HookRecorder`.
    - ``pytest.RunResult`` for the :class:`RunResult &lt;pytest.RunResult&gt;` type returned from :class:`~pytest.Pytester`.
    - ``pytest.LineMatcher`` for the :class:`LineMatcher &lt;pytest.RunResult&gt;` type used in :class:`~pytest.RunResult` and others.
    - ``pytest.TestReport`` for the :class:`TestReport &lt;pytest.TestReport&gt;` type used in various hooks.
    - ``pytest.CollectReport`` for the :class:`CollectReport &lt;pytest.CollectReport&gt;` type used in various hooks.
    
    Constructing most of them directly is not supported; they are only meant for use in type annotations.
    Doing so will emit a deprecation warning, and may become a hard-error in pytest 8.0.
    
    Subclassing them is also not supported. This is not currently enforced at runtime, but is detected by type-checkers such as mypy.
    
    
    - `7856 &lt;https://github.com/pytest-dev/pytest/issues/7856&gt;`_: :ref:`--import-mode=importlib &lt;import-modes&gt;` now works with features that
    depend on modules being on :py:data:`sys.modules`, such as :mod:`pickle` and :mod:`dataclasses`.
    
    
    - `8144 &lt;https://github.com/pytest-dev/pytest/issues/8144&gt;`_: The following hooks now receive an additional ``pathlib.Path`` argument, equivalent to an existing ``py.path.local`` argument:
    
    - :hook:`pytest_ignore_collect` - The ``collection_path`` parameter (equivalent to existing ``path`` parameter).
    - :hook:`pytest_collect_file` - The ``file_path`` parameter (equivalent to existing ``path`` parameter).
    - :hook:`pytest_pycollect_makemodule` - The ``module_path`` parameter (equivalent to existing ``path`` parameter).
    - :hook:`pytest_report_header` - The ``start_path`` parameter (equivalent to existing ``startdir`` parameter).
    - :hook:`pytest_report_collectionfinish` - The ``start_path`` parameter (equivalent to existing ``startdir`` parameter).
    
    .. note::
       The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the
       new attribute being ``path``) is **the opposite** of the situation for hooks
       (the old argument being ``path``).
    
       This is an unfortunate artifact due to historical reasons, which should be
       resolved in future versions as we slowly get rid of the :pypi:`py`
       dependency (see :issue:`9283` for a longer discussion).
    
    
    - `8251 &lt;https://github.com/pytest-dev/pytest/issues/8251&gt;`_: Implement ``Node.path`` as a ``pathlib.Path``. Both the old ``fspath`` and this new attribute gets set no matter whether ``path`` or ``fspath`` (deprecated) is passed to the constructor. It is a replacement for the ``fspath`` attribute (which represents the same path as ``py.path.local``). While ``fspath`` is not deprecated yet
    due to the ongoing migration of methods like :meth:`~_pytest.Item.reportinfo`, we expect to deprecate it in a future release.
    
    .. note::
       The name of the :class:`~_pytest.nodes.Node` arguments and attributes (the
       new attribute being ``path``) is **the opposite** of the situation for hooks
       (the old argument being ``path``).
    
       This is an unfortunate artifact due to historical reasons, which should be
       resolved in future versions as we slowly get rid of the :pypi:`py`
       dependency (see :issue:`9283` for a longer discussion).
    
    
    - `8421 &lt;https://github.com/pytest-dev/pytest/issues/8421&gt;`_: :func:`pytest.approx` now works on :class:`~decimal.Decimal` within mappings/dicts and sequences/lists.
    
    
    - `8606 &lt;https://github.com/pytest-dev/pytest/issues/8606&gt;`_: pytest invocations with ``--fixtures-per-test`` and ``--fixtures`` have been enriched with:
    
    - Fixture location path printed with the fixture name.
    - First section of the fixture&#x27;s docstring printed under the fixture name.
    - Whole of fixture&#x27;s docstring printed under the fixture name using ``--verbose`` option.
    
    
    - `8761 &lt;https://github.com/pytest-dev/pytest/issues/8761&gt;`_: New :ref:`version-tuple` attribute, which makes it simpler for users to do something depending on the pytest version (such as declaring hooks which are introduced in later versions).
    
    
    - `8789 &lt;https://github.com/pytest-dev/pytest/issues/8789&gt;`_: Switch TOML parser from ``toml`` to ``tomli`` for TOML v1.0.0 support in ``pyproject.toml``.
    
    
    - `8920 &lt;https://github.com/pytest-dev/pytest/issues/8920&gt;`_: Added :class:`pytest.Stash`, a facility for plugins to store their data on :class:`~pytest.Config` and :class:`~_pytest.nodes.Node`\s in a type-safe and conflict-free manner.
    See :ref:`plugin-stash` for details.
    
    
    - `8953 &lt;https://github.com/pytest-dev/pytest/issues/8953&gt;`_: :class:`RunResult &lt;_pytest.pytester.RunResult&gt;` method :meth:`assert_outcomes &lt;_pytest.pytester.RunResult.assert_outcomes&gt;` now accepts a
    ``warnings`` argument to assert the total number of warnings captured.
    
    
    - `8954 &lt;https://github.com/pytest-dev/pytest/issues/8954&gt;`_: ``--debug`` flag now accepts a :class:`str` file to route debug logs into, remains defaulted to `pytestdebug.log`.
    
    
    - `9023 &lt;https://github.com/pytest-dev/pytest/issues/9023&gt;`_: Full diffs are now always shown for equality assertions of iterables when
    `CI` or ``BUILD_NUMBER`` is found in the environment, even when ``-v`` isn&#x27;t
    used.
    
    
    - `9113 &lt;https://github.com/pytest-dev/pytest/issues/9113&gt;`_: :class:`RunResult &lt;_pytest.pytester.RunResult&gt;` method :meth:`assert_outcomes &lt;_pytest.pytester.RunResult.assert_outcomes&gt;` now accepts a
    ``deselected`` argument to assert the total number of deselected tests.
    
    
    - `9114 &lt;https://github.com/pytest-dev/pytest/issues/9114&gt;`_: Added :confval:`pythonpath` setting that adds listed paths to :data:`sys.path` for the duration of the test session. If you currently use the pytest-pythonpath or pytest-srcpaths plugins, you should be able to replace them with built-in `pythonpath` setting.
    
    
    
    Improvements
    ------------
    
    - `7480 &lt;https://github.com/pytest-dev/pytest/issues/7480&gt;`_: A deprecation scheduled to be removed in a major version X (e.g. pytest 7, 8, 9, ...) now uses warning category `PytestRemovedInXWarning`,
    a subclass of :class:`~pytest.PytestDeprecationWarning`,
    instead of :class:`PytestDeprecationWarning` directly.
    
    See :ref:`backwards-compatibility` for more details.
    
    
    - `7864 &lt;https://github.com/pytest-dev/pytest/issues/7864&gt;`_: Improved error messages when parsing warning filters.
    
    Previously pytest would show an internal traceback, which besides being ugly sometimes would hide the cause
    of the problem (for example an ``ImportError`` while importing a specific warning type).
    
    
    - `8335 &lt;https://github.com/pytest-dev/pytest/issues/8335&gt;`_: Improved :func:`pytest.approx` assertion messages for sequences of numbers.
    
    The assertion messages now dumps a table with the index and the error of each diff.
    Example::
    
       &gt;       assert [1, 2, 3, 4] == pytest.approx([1, 3, 3, 5])
       E       assert comparison failed for 2 values:
       E         Index | Obtained | Expected
       E         1     | 2        | 3 +- 3.0e-06
       E         3     | 4        | 5 +- 5.0e-06
    
    
    - `8403 &lt;https://github.com/pytest-dev/pytest/issues/8403&gt;`_: By default, pytest will truncate long strings in assert errors so they don&#x27;t clutter the output too much,
    currently at ``240`` characters by default.
    
    However, in some cases the longer output helps, or is even crucial, to diagnose a failure. Using ``-v`` will
    now increase the truncation threshold to ``2400`` characters, and ``-vv`` or higher will disable truncation entirely.
    
    
    - `8509 &lt;https://github.com/pytest-dev/pytest/issues/8509&gt;`_: Fixed issue where :meth:`unittest.TestCase.setUpClass` is not called when a test has `/` in its name since pytest 6.2.0.
    
    This refers to the path part in pytest node IDs, e.g. ``TestClass::test_it`` in the node ID ``tests/test_file.py::TestClass::test_it``.
    
    Now, instead of assuming that the test name does not contain ``/``, it is assumed that test path does not contain ``::``. We plan to hopefully make both of these work in the future.
    
    
    - `8803 &lt;https://github.com/pytest-dev/pytest/issues/8803&gt;`_: It is now possible to add colors to custom log levels on cli log.
    
    By using :func:`add_color_level &lt;_pytest.logging.add_color_level&gt;` from a ``pytest_configure`` hook, colors can be added::
    
       logging_plugin = config.pluginmanager.get_plugin(&#x27;logging-plugin&#x27;)
       logging_plugin.log_cli_handler.formatter.add_color_level(logging.INFO, &#x27;cyan&#x27;)
       logging_plugin.log_cli_handler.formatter.add_color_level(logging.SPAM, &#x27;blue&#x27;)
    
    See :ref:`log_colors` for more information.
    
    
    - `8822 &lt;https://github.com/pytest-dev/pytest/issues/8822&gt;`_: When showing fixture paths in `--fixtures` or `--fixtures-by-test`, fixtures coming from pytest itself now display an elided path, rather than the full path to the file in the `site-packages` directory.
    
    
    - `8898 &lt;https://github.com/pytest-dev/pytest/issues/8898&gt;`_: Complex numbers are now treated like floats and integers when generating parameterization IDs.
    
    
    - `9062 &lt;https://github.com/pytest-dev/pytest/issues/9062&gt;`_: ``--stepwise-skip`` now implicitly enables ``--stepwise`` and can be used on its own.
    
    
    - `9205 &lt;https://github.com/pytest-dev/pytest/issues/9205&gt;`_: :meth:`pytest.Cache.set` now preserves key order when saving dicts.
    
    
    
    Bug Fixes
    ---------
    
    - `7124 &lt;https://github.com/pytest-dev/pytest/issues/7124&gt;`_: Fixed an issue where ``__main__.py`` would raise an ``ImportError`` when ``--doctest-modules`` was provided.
    
    
    - `8061 &lt;https://github.com/pytest-dev/pytest/issues/8061&gt;`_: Fixed failing ``staticmethod`` test cases if they are inherited from a parent test class.
    
    
    - `8192 &lt;https://github.com/pytest-dev/pytest/issues/8192&gt;`_: ``testdir.makefile`` now silently accepts values which don&#x27;t start with ``.`` to maintain backward compatibility with older pytest versions.
    
    ``pytester.makefile`` now issues a clearer error if the ``.`` is missing in the ``ext`` argument.
    
    
    - `8258 &lt;https://github.com/pytest-dev/pytest/issues/8258&gt;`_: Fixed issue where pytest&#x27;s ``faulthandler`` support would not dump traceback on crashes
    if the :mod:`faulthandler` module was already enabled during pytest startup (using
    ``python -X dev -m pytest`` for example).
    
    
    - `8317 &lt;https://github.com/pytest-dev/pytest/issues/8317&gt;`_: Fixed an issue where illegal directory characters derived from ``getpass.getuser()`` raised an ``OSError``.
    
    
    - `8367 &lt;https://github.com/pytest-dev/pytest/issues/8367&gt;`_: Fix ``Class.from_parent`` so it forwards extra keyword arguments to the constructor.
    
    
    - `8377 &lt;https://github.com/pytest-dev/pytest/issues/8377&gt;`_: The test selection options ``pytest -k`` and ``pytest -m`` now support matching
    names containing forward slash (``/``) characters.
    
    
    - `8384 &lt;https://github.com/pytest-dev/pytest/issues/8384&gt;`_: The ``pytest.mark.skip`` decorator now correctly handles its arguments. When the ``reason`` argument is accidentally given both positional and as a keyword (e.g. because it was confused with ``skipif``), a ``TypeError`` now occurs. Before, such tests were silently skipped, and the positional argument ignored. Additionally, ``reason`` is now documented correctly as positional or keyword (rather than keyword-only).
    
    
    - `8394 &lt;https://github.com/pytest-dev/pytest/issues/8394&gt;`_: Use private names for internal fixtures that handle classic setup/teardown so that they don&#x27;t show up with the default ``--fixtures`` invocation (but they still show up with ``--fixtures -v``).
    
    
    - `8456 &lt;https://github.com/pytest-dev/pytest/issues/8456&gt;`_: The :confval:`required_plugins` config option now works correctly when pre-releases of plugins are installed, rather than falsely claiming that those plugins aren&#x27;t installed at all.
    
    
    - `8464 &lt;https://github.com/pytest-dev/pytest/issues/8464&gt;`_: ``-c &lt;config file&gt;`` now also properly defines ``rootdir`` as the directory that contains ``&lt;config file&gt;``.
    
    
    - `8503 &lt;https://github.com/pytest-dev/pytest/issues/8503&gt;`_: :meth:`pytest.MonkeyPatch.syspath_prepend` no longer fails when
    ``setuptools`` is not installed.
    It now only calls :func:`pkg_resources.fixup_namespace_packages` if
    ``pkg_resources`` was previously imported, because it is not needed otherwise.
    
    
    - `8548 &lt;https://github.com/pytest-dev/pytest/issues/8548&gt;`_: Introduce fix to handle precision width in ``log-cli-format`` in turn to fix output coloring for certain formats.
    
    
    - `8796 &lt;https://github.com/pytest-dev/pytest/issues/8796&gt;`_: Fixed internal error when skipping doctests.
    
    
    - `8983 &lt;https://github.com/pytest-dev/pytest/issues/8983&gt;`_: The test selection options ``pytest -k`` and ``pytest -m`` now support matching names containing backslash (`\\`) characters.
    Backslashes are treated literally, not as escape characters (the values being matched against are already escaped).
    
    
    - `8990 &lt;https://github.com/pytest-dev/pytest/issues/8990&gt;`_: Fix `pytest -vv` crashing with an internal exception `AttributeError: &#x27;str&#x27; object has no attribute &#x27;relative_to&#x27;` in some cases.
    
    
    - `9077 &lt;https://github.com/pytest-dev/pytest/issues/9077&gt;`_: Fixed confusing error message when ``request.fspath`` / ``request.path`` was accessed from a session-scoped fixture.
    
    
    - `9131 &lt;https://github.com/pytest-dev/pytest/issues/9131&gt;`_: Fixed the URL used by ``--pastebin`` to use `bpa.st &lt;http://bpa.st&gt;`__.
    
    
    - `9163 &lt;https://github.com/pytest-dev/pytest/issues/9163&gt;`_: The end line number and end column offset are now properly set for rewritten assert statements.
    
    
    - `9169 &lt;https://github.com/pytest-dev/pytest/issues/9169&gt;`_: Support for the ``files`` API from ``importlib.resources`` within rewritten files.
    
    
    - `9272 &lt;https://github.com/pytest-dev/pytest/issues/9272&gt;`_: The nose compatibility module-level fixtures `setup()` and `teardown()` are now only called once per module, instead of for each test function.
    They are now called even if object-level `setup`/`teardown` is defined.
    
    
    
    Improved Documentation
    ----------------------
    
    - `4320 &lt;https://github.com/pytest-dev/pytest/issues/4320&gt;`_: Improved docs for `pytester.copy_example`.
    
    
    - `5105 &lt;https://github.com/pytest-dev/pytest/issues/5105&gt;`_: Add automatically generated :ref:`plugin-list`. The list is updated on a periodic schedule.
    
    
    - `8337 &lt;https://github.com/pytest-dev/pytest/issues/8337&gt;`_: Recommend `numpy.testing &lt;https://numpy.org/doc/stable/reference/routines.testing.html&gt;`__ module on :func:`pytest.approx` documentation.
    
    
    - `8655 &lt;https://github.com/pytest-dev/pytest/issues/8655&gt;`_: Help text for ``--pdbcls`` more accurately reflects the option&#x27;s behavior.
    
    
    - `9210 &lt;https://github.com/pytest-dev/pytest/issues/9210&gt;`_: Remove incorrect docs about ``confcutdir`` being a configuration option: it can only be set through the ``--confcutdir`` command-line option.
    
    
    - `9242 &lt;https://github.com/pytest-dev/pytest/issues/9242&gt;`_: Upgrade readthedocs configuration to use a `newer Ubuntu version &lt;https://blog.readthedocs.com/new-build-specification/&gt;`__` with better unicode support for PDF docs.
    
    
    - `9341 &lt;https://github.com/pytest-dev/pytest/issues/9341&gt;`_: Various methods commonly used for :ref:`non-python tests` are now correctly documented in the reference docs. They were undocumented previously.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `8133 &lt;https://github.com/pytest-dev/pytest/issues/8133&gt;`_: Migrate to ``setuptools_scm`` 6.x to use ``SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST`` for more robust release tooling.
    
    
    - `8174 &lt;https://github.com/pytest-dev/pytest/issues/8174&gt;`_: The following changes have been made to internal pytest types/functions:
    
    - The ``_pytest.code.getfslineno()`` function returns ``Path`` instead of ``py.path.local``.
    - The ``_pytest.python.path_matches_patterns()`` function takes ``Path`` instead of ``py.path.local``.
    - The ``_pytest._code.Traceback.cut()`` function accepts any ``os.PathLike[str]``, not just ``py.path.local``.
    
    
    - `8248 &lt;https://github.com/pytest-dev/pytest/issues/8248&gt;`_: Internal Restructure: let ``python.PyObjMixin`` inherit from ``nodes.Node`` to carry over typing information.
    
    
    - `8432 &lt;https://github.com/pytest-dev/pytest/issues/8432&gt;`_: Improve error message when :func:`pytest.skip` is used at module level without passing `allow_module_level=True`.
    
    
    - `8818 &lt;https://github.com/pytest-dev/pytest/issues/8818&gt;`_: Ensure ``regendoc`` opts out of ``TOX_ENV`` cachedir selection to ensure independent example test runs.
    
    
    - `8913 &lt;https://github.com/pytest-dev/pytest/issues/8913&gt;`_: The private ``CallSpec2._arg2scopenum`` attribute has been removed after an internal refactoring.
    
    
    - `8967 &lt;https://github.com/pytest-dev/pytest/issues/8967&gt;`_: :hook:`pytest_assertion_pass` is no longer considered experimental and
    future changes to it will be considered more carefully.
    
    
    - `9202 &lt;https://github.com/pytest-dev/pytest/issues/9202&gt;`_: Add github action to upload coverage report to codecov instead of bash uploader.
    
    
    - `9225 &lt;https://github.com/pytest-dev/pytest/issues/9225&gt;`_: Changed the command used to create sdist and wheel artifacts: using the build package instead of setup.py.
    
    
    - `9351 &lt;https://github.com/pytest-dev/pytest/issues/9351&gt;`_: Correct minor typos in doc/en/example/special.rst.
    

    6.2.5

    =========================
    
    
    Trivial/Internal Changes
    ------------------------
    
    - :issue:`8494`: Python 3.10 is now supported.
    
    
    - :issue:`9040`: Enable compatibility with ``pluggy 1.0`` or later.
    

    6.2.4

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`8539`: Fixed assertion rewriting on Python 3.10.
    

    6.2.3

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`8414`: pytest used to create directories under ``/tmp`` with world-readable
    permissions. This means that any user in the system was able to read
    information written by tests in temporary directories (such as those created by
    the ``tmp_path``/``tmpdir`` fixture). Now the directories are created with
    private permissions.
    
    pytest used to silently use a pre-existing ``/tmp/pytest-of-&lt;username&gt;`` directory,
    even if owned by another user. This means another user could pre-create such a
    directory and gain control of another user&#x27;s temporary directory. Now such a
    condition results in an error.
    

    6.2.2

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`8152`: Fixed &quot;(&lt;Skipped instance&gt;)&quot; being shown as a skip reason in the verbose test summary line when the reason is empty.
    
    
    - :issue:`8249`: Fix the ``faulthandler`` plugin for occasions when running with ``twisted.logger`` and using ``pytest --capture=no``.
    

    6.2.1

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`7678`: Fixed bug where ``ImportPathMismatchError`` would be raised for files compiled in
    the host and loaded later from an UNC mounted path (Windows).
    
    
    - :issue:`8132`: Fixed regression in ``approx``: in 6.2.0 ``approx`` no longer raises
    ``TypeError`` when dealing with non-numeric types, falling back to normal comparison.
    Before 6.2.0, array types like tf.DeviceArray fell through to the scalar case,
    and happened to compare correctly to a scalar if they had only one element.
    After 6.2.0, these types began failing, because they inherited neither from
    standard Python number hierarchy nor from ``numpy.ndarray``.
    
    ``approx`` now converts arguments to ``numpy.ndarray`` if they expose the array
    protocol and are not scalars. This treats array-like objects like numpy arrays,
    regardless of size.
    

    6.2.0

    =========================
    
    Breaking Changes
    ----------------
    
    - :issue:`7808`: pytest now supports python3.6+ only.
    
    
    
    Deprecations
    ------------
    
    - :issue:`7469`: Directly constructing/calling the following classes/functions is now deprecated:
    
    - ``_pytest.cacheprovider.Cache``
    - ``_pytest.cacheprovider.Cache.for_config()``
    - ``_pytest.cacheprovider.Cache.clear_cache()``
    - ``_pytest.cacheprovider.Cache.cache_dir_from_config()``
    - ``_pytest.capture.CaptureFixture``
    - ``_pytest.fixtures.FixtureRequest``
    - ``_pytest.fixtures.SubRequest``
    - ``_pytest.logging.LogCaptureFixture``
    - ``_pytest.pytester.Pytester``
    - ``_pytest.pytester.Testdir``
    - ``_pytest.recwarn.WarningsRecorder``
    - ``_pytest.recwarn.WarningsChecker``
    - ``_pytest.tmpdir.TempPathFactory``
    - ``_pytest.tmpdir.TempdirFactory``
    
    These have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 8.0.0.
    
    
    - :issue:`7530`: The ``--strict`` command-line option has been deprecated, use ``--strict-markers`` instead.
    
    We have plans to maybe in the future to reintroduce ``--strict`` and make it an encompassing flag for all strictness
    related options (``--strict-markers`` and ``--strict-config`` at the moment, more might be introduced in the future).
    
    
    - :issue:`7988`: The ``pytest.yield_fixture`` decorator/function is now deprecated. Use :func:`pytest.fixture` instead.
    
    ``yield_fixture`` has been an alias for ``fixture`` for a very long time, so can be search/replaced safely.
    
    
    
    Features
    --------
    
    - :issue:`5299`: pytest now warns about unraisable exceptions and unhandled thread exceptions that occur in tests on Python&gt;=3.8.
    See :ref:`unraisable` for more information.
    
    
    - :issue:`7425`: New :fixture:`pytester` fixture, which is identical to :fixture:`testdir` but its methods return :class:`pathlib.Path` when appropriate instead of ``py.path.local``.
    
    This is part of the movement to use :class:`pathlib.Path` objects internally, in order to remove the dependency to ``py`` in the future.
    
    Internally, the old :class:`Testdir &lt;_pytest.pytester.Testdir&gt;` is now a thin wrapper around :class:`Pytester &lt;_pytest.pytester.Pytester&gt;`, preserving the old interface.
    
    
    - :issue:`7695`: A new hook was added, `pytest_markeval_namespace` which should return a dictionary.
    This dictionary will be used to augment the &quot;global&quot; variables available to evaluate skipif/xfail/xpass markers.
    
    Pseudo example
    
    ``conftest.py``:
    
    .. code-block:: python
    
      def pytest_markeval_namespace():
          return {&quot;color&quot;: &quot;red&quot;}
    
    ``test_func.py``:
    
    .. code-block:: python
    
      pytest.mark.skipif(&quot;color == &#x27;blue&#x27;&quot;, reason=&quot;Color is not red&quot;)
      def test_func():
          assert False
    
    
    - :issue:`8006`: It is now possible to construct a :class:`~pytest.MonkeyPatch` object directly as ``pytest.MonkeyPatch()``,
    in cases when the :fixture:`monkeypatch` fixture cannot be used. Previously some users imported it
    from the private `_pytest.monkeypatch.MonkeyPatch` namespace.
    
    Additionally, :meth:`MonkeyPatch.context &lt;pytest.MonkeyPatch.context&gt;` is now a classmethod,
    and can be used as ``with MonkeyPatch.context() as mp: ...``. This is the recommended way to use
    ``MonkeyPatch`` directly, since unlike the ``monkeypatch`` fixture, an instance created directly
    is not ``undo()``-ed automatically.
    
    
    
    Improvements
    ------------
    
    - :issue:`1265`: Added an ``__str__`` implementation to the :class:`~pytest.pytester.LineMatcher` class which is returned from ``pytester.run_pytest().stdout`` and similar. It returns the entire output, like the existing ``str()`` method.
    
    
    - :issue:`2044`: Verbose mode now shows the reason that a test was skipped in the test&#x27;s terminal line after the &quot;SKIPPED&quot;, &quot;XFAIL&quot; or &quot;XPASS&quot;.
    
    
    - :issue:`7469` The types of builtin pytest fixtures are now exported so they may be used in type annotations of test functions.
    The newly-exported types are:
    
    - ``pytest.FixtureRequest`` for the :fixture:`request` fixture.
    - ``pytest.Cache`` for the :fixture:`cache` fixture.
    - ``pytest.CaptureFixture[str]`` for the :fixture:`capfd` and :fixture:`capsys` fixtures.
    - ``pytest.CaptureFixture[bytes]`` for the :fixture:`capfdbinary` and :fixture:`capsysbinary` fixtures.
    - ``pytest.LogCaptureFixture`` for the :fixture:`caplog` fixture.
    - ``pytest.Pytester`` for the :fixture:`pytester` fixture.
    - ``pytest.Testdir`` for the :fixture:`testdir` fixture.
    - ``pytest.TempdirFactory`` for the :fixture:`tmpdir_factory` fixture.
    - ``pytest.TempPathFactory`` for the :fixture:`tmp_path_factory` fixture.
    - ``pytest.MonkeyPatch`` for the :fixture:`monkeypatch` fixture.
    - ``pytest.WarningsRecorder`` for the :fixture:`recwarn` fixture.
    
    Constructing them is not supported (except for `MonkeyPatch`); they are only meant for use in type annotations.
    Doing so will emit a deprecation warning, and may become a hard-error in pytest 8.0.
    
    Subclassing them is also not supported. This is not currently enforced at runtime, but is detected by type-checkers such as mypy.
    
    
    - :issue:`7527`: When a comparison between :func:`namedtuple &lt;collections.namedtuple&gt;` instances of the same type fails, pytest now shows the differing field names (possibly nested) instead of their indexes.
    
    
    - :issue:`7615`: :meth:`Node.warn &lt;_pytest.nodes.Node.warn&gt;` now permits any subclass of :class:`Warning`, not just :class:`PytestWarning &lt;pytest.PytestWarning&gt;`.
    
    
    - :issue:`7701`: Improved reporting when using ``--collected-only``. It will now show the number of collected tests in the summary stats.
    
    
    - :issue:`7710`: Use strict equality comparison for non-numeric types in :func:`pytest.approx` instead of
    raising :class:`TypeError`.
    
    This was the undocumented behavior before 3.7, but is now officially a supported feature.
    
    
    - :issue:`7938`: New ``--sw-skip`` argument which is a shorthand for ``--stepwise-skip``.
    
    
    - :issue:`8023`: Added ``&#x27;node_modules&#x27;`` to default value for :confval:`norecursedirs`.
    
    
    - :issue:`8032`: :meth:`doClassCleanups &lt;unittest.TestCase.doClassCleanups&gt;` (introduced in :mod:`unittest` in Python and 3.8) is now called appropriately.
    
    
    
    Bug Fixes
    ---------
    
    - :issue:`4824`: Fixed quadratic behavior and improved performance of collection of items using autouse fixtures and xunit fixtures.
    
    
    - :issue:`7758`: Fixed an issue where some files in packages are getting lost from ``--lf`` even though they contain tests that failed. Regressed in pytest 5.4.0.
    
    
    - :issue:`7911`: Directories created by by :fixture:`tmp_path` and :fixture:`tmpdir` are now considered stale after 3 days without modification (previous value was 3 hours) to avoid deleting directories still in use in long running test suites.
    
    
    - :issue:`7913`: Fixed a crash or hang in :meth:`pytester.spawn &lt;_pytest.pytester.Pytester.spawn&gt;` when the :mod:`readline` module is involved.
    
    
    - :issue:`7951`: Fixed handling of recursive symlinks when collecting tests.
    
    
    - :issue:`7981`: Fixed symlinked directories not being followed during collection. Regressed in pytest 6.1.0.
    
    
    - :issue:`8016`: Fixed only one doctest being collected when using ``pytest --doctest-modules path/to/an/__init__.py``.
    
    
    
    Improved Documentation
    ----------------------
    
    - :issue:`7429`: Add more information and use cases about skipping doctests.
    
    
    - :issue:`7780`: Classes which should not be inherited from are now marked ``final class`` in the API reference.
    
    
    - :issue:`7872`: ``_pytest.config.argparsing.Parser.addini()`` accepts explicit ``None`` and ``&quot;string&quot;``.
    
    
    - :issue:`7878`: In pull request section, ask to commit after editing changelog and authors file.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - :issue:`7802`: The ``attrs`` dependency requirement is now &gt;=19.2.0 instead of &gt;=17.4.0.
    
    
    - :issue:`8014`: `.pyc` files created by pytest&#x27;s assertion rewriting now conform to the newer :pep:`552` format on Python&gt;=3.7.
    (These files are internal and only interpreted by pytest itself.)
    

    6.1.2

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`7758`: Fixed an issue where some files in packages are getting lost from ``--lf`` even though they contain tests that failed. Regressed in pytest 5.4.0.
    
    
    - :issue:`7911`: Directories created by `tmpdir` are now considered stale after 3 days without modification (previous value was 3 hours) to avoid deleting directories still in use in long running test suites.
    
    
    
    Improved Documentation
    ----------------------
    
    - :issue:`7815`: Improve deprecation warning message for ``pytest._fillfuncargs()``.
    

    6.1.1

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`7807`: Fixed regression in pytest 6.1.0 causing incorrect rootdir to be determined in some non-trivial cases where parent directories have config files as well.
    
    
    - :issue:`7814`: Fixed crash in header reporting when :confval:`testpaths` is used and contains absolute paths (regression in 6.1.0).
    

    6.1.0

    =========================
    
    Breaking Changes
    ----------------
    
    - :issue:`5585`: As per our policy, the following features which have been deprecated in the 5.X series are now
    removed:
    
    * The ``funcargnames`` read-only property of ``FixtureRequest``, ``Metafunc``, and ``Function`` classes. Use ``fixturenames`` attribute.
    
    * ``pytest.fixture`` no longer supports positional arguments, pass all arguments by keyword instead.
    
    * Direct construction of ``Node`` subclasses now raise an error, use ``from_parent`` instead.
    
    * The default value for ``junit_family`` has changed to ``xunit2``. If you require the old format, add ``junit_family=xunit1`` to your configuration file.
    
    * The ``TerminalReporter`` no longer has a ``writer`` attribute. Plugin authors may use the public functions of the ``TerminalReporter`` instead of accessing the ``TerminalWriter`` object directly.
    
    * The ``--result-log`` option has been removed. Users are recommended to use the `pytest-reportlog &lt;https://github.com/pytest-dev/pytest-reportlog&gt;`__ plugin instead.
    
    
    For more information consult :std:doc:`deprecations` in the docs.
    
    
    
    Deprecations
    ------------
    
    - :issue:`6981`: The ``pytest.collect`` module is deprecated: all its names can be imported from ``pytest`` directly.
    
    
    - :issue:`7097`: The ``pytest._fillfuncargs`` function is deprecated. This function was kept
    for backward compatibility with an older plugin.
    
    It&#x27;s functionality is not meant to be used directly, but if you must replace
    it, use `function._request._fillfixtures()` instead, though note this is not
    a public API and may break in the future.
    
    
    - :issue:`7210`: The special ``-k &#x27;-expr&#x27;`` syntax to ``-k`` is deprecated. Use ``-k &#x27;not expr&#x27;``
    instead.
    
    The special ``-k &#x27;expr:&#x27;`` syntax to ``-k`` is deprecated. Please open an issue
    if you use this and want a replacement.
    
    
    - :issue:`7255`: The :hook:`pytest_warning_captured` hook is deprecated in favor
    of :hook:`pytest_warning_recorded`, and will be removed in a future version.
    
    
    - :issue:`7648`: The ``gethookproxy()`` and ``isinitpath()`` methods of ``FSCollector`` and ``Package`` are deprecated;
    use ``self.session.gethookproxy()`` and ``self.session.isinitpath()`` instead.
    This should work on all pytest versions.
    
    
    
    Features
    --------
    
    - :issue:`7667`: New ``--durations-min`` command-line flag controls the minimal duration for inclusion in the slowest list of tests shown by ``--durations``. Previously this was hard-coded to ``0.005s``.
    
    
    
    Improvements
    ------------
    
    - :issue:`6681`: Internal pytest warnings issued during the early stages of initialization are now properly handled and can filtered through :confval:`filterwarnings` or ``--pythonwarnings/-W``.
    
    This also fixes a number of long standing issues: :issue:`2891`, :issue:`7620`, :issue:`7426`.
    
    
    - :issue:`7572`: When a plugin listed in ``required_plugins`` is missing or an unknown config key is used with ``--strict-config``, a simple error message is now shown instead of a stacktrace.
    
    
    - :issue:`7685`: Added two new attributes :attr:`rootpath &lt;_pytest.config.Config.rootpath&gt;` and :attr:`inipath &lt;_pytest.config.Config.inipath&gt;` to :class:`Config &lt;_pytest.config.Config&gt;`.
    These attributes are :class:`pathlib.Path` versions of the existing :attr:`rootdir &lt;_pytest.config.Config.rootdir&gt;` and :attr:`inifile &lt;_pytest.config.Config.inifile&gt;` attributes,
    and should be preferred over them when possible.
    
    
    - :issue:`7780`: Public classes which are not designed to be inherited from are now marked :func:`final &lt;typing.final&gt;`.
    Code which inherits from these classes will trigger a type-checking (e.g. mypy) error, but will still work in runtime.
    Currently the ``final`` designation does not appear in the API Reference but hopefully will in the future.
    
    
    
    Bug Fixes
    ---------
    
    - :issue:`1953`: Fixed error when overwriting a parametrized fixture, while also reusing the super fixture value.
    
    .. code-block:: python
    
        conftest.py
       import pytest
    
    
       pytest.fixture(params=[1, 2])
       def foo(request):
           return request.param
    
    
        test_foo.py
       import pytest
    
    
       pytest.fixture
       def foo(foo):
           return foo * 2
    
    
    - :issue:`4984`: Fixed an internal error crash with ``IndexError: list index out of range`` when
    collecting a module which starts with a decorated function, the decorator
    raises, and assertion rewriting is enabled.
    
    
    - :issue:`7591`: pylint shouldn&#x27;t complain anymore about unimplemented abstract methods when inheriting from :ref:`File &lt;non-python tests&gt;`.
    
    
    - :issue:`7628`: Fixed test collection when a full path without a drive letter was passed to pytest on Windows (for example ``\projects\tests\test.py`` instead of ``c:\projects\tests\pytest.py``).
    
    
    - :issue:`7638`: Fix handling of command-line options that appear as paths but trigger an OS-level syntax error on Windows, such as the options used internally by ``pytest-xdist``.
    
    
    - :issue:`7742`: Fixed INTERNALERROR when accessing locals / globals with faulty ``exec``.
    
    
    
    Improved Documentation
    ----------------------
    
    - :issue:`1477`: Removed faq.rst and its reference in contents.rst.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - :issue:`7536`: The internal ``junitxml`` plugin has rewritten to use ``xml.etree.ElementTree``.
    The order of attributes in XML elements might differ. Some unneeded escaping is
    no longer performed.
    
    
    - :issue:`7587`: The dependency on the ``more-itertools`` package has been removed.
    
    
    - :issue:`7631`: The result type of :meth:`capfd.readouterr() &lt;_pytest.capture.CaptureFixture.readouterr&gt;` (and similar) is no longer a namedtuple,
    but should behave like one in all respects. This was done for technical reasons.
    
    
    - :issue:`7671`: When collecting tests, pytest finds test classes and functions by examining the
    attributes of python objects (modules, classes and instances). To speed up this
    process, pytest now ignores builtin attributes (like ``__class__``,
    ``__delattr__`` and ``__new__``) without consulting the :confval:`python_classes` and
    :confval:`python_functions` configuration options and without passing them to plugins
    using the :hook:`pytest_pycollect_makeitem` hook.
    

    6.0.2

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`7148`: Fixed ``--log-cli`` potentially causing unrelated ``print`` output to be swallowed.
    
    
    - :issue:`7672`: Fixed log-capturing level restored incorrectly if ``caplog.set_level`` is called more than once.
    
    
    - :issue:`7686`: Fixed `NotSetType.token` being used as the parameter ID when the parametrization list is empty.
    Regressed in pytest 6.0.0.
    
    
    - :issue:`7707`: Fix internal error when handling some exceptions that contain multiple lines or the style uses multiple lines (``--tb=line`` for example).
    

    6.0.1

    =========================
    
    Bug Fixes
    ---------
    
    - :issue:`7394`: Passing an empty ``help`` value to ``Parser.add_option`` is now accepted instead of crashing when running ``pytest --help``.
    Passing ``None`` raises a more informative ``TypeError``.
    
    
    - :issue:`7558`: Fix pylint ``not-callable`` lint on ``pytest.mark.parametrize()`` and the other builtin marks:
    ``skip``, ``skipif``, ``xfail``, ``usefixtures``, ``filterwarnings``.
    
    
    - :issue:`7559`: Fix regression in plugins using ``TestReport.longreprtext`` (such as ``pytest-html``) when ``TestReport.longrepr`` is not a string.
    
    
    - :issue:`7569`: Fix logging capture handler&#x27;s level not reset on teardown after a call to ``caplog.set_level()``.
    

    6.0.0

    =========================
    
    (**Please see the full set of changes for this release also in the 6.0.0rc1 notes below**)
    
    Breaking Changes
    ----------------
    
    - :issue:`5584`: **PytestDeprecationWarning are now errors by default.**
    
    Following our plan to remove deprecated features with as little disruption as
    possible, all warnings of type ``PytestDeprecationWarning`` now generate errors
    instead of warning messages.
    
    **The affected features will be effectively removed in pytest 6.1**, so please consult the
    :std:doc:`deprecations` section in the docs for directions on how to update existing code.
    
    In the pytest ``6.0.X`` series, it is possible to change the errors back into warnings as a
    stopgap measure by adding this to your ``pytest.ini`` file:
    
    .. code-block:: ini
    
       [pytest]
       filterwarnings =
           ignore::pytest.PytestDeprecationWarning
    
    But this will stop working when pytest ``6.1`` is released.
    
    **If you have concerns** about the removal of a specific feature, please add a
    comment to :issue:`5584`.
    
    
    - :issue:`7472`: The ``exec_()`` and ``is_true()`` methods of ``_pytest._code.Frame`` have been removed.
    
    
    
    Features
    --------
    
    - :issue:`7464`: Added support for :envvar:`NO_COLOR` and :envvar:`FORCE_COLOR` environment variables to control colored output.
    
    
    
    Improvements
    ------------
    
    - :issue:`7467`: ``--log-file`` CLI option and ``log_file`` ini marker now create subdirectories if needed.
    
    
    - :issue:`7489`: The :func:`pytest.raises` function has a clearer error message when ``match`` equals the obtained string but is not a regex match. In this case it is suggested to escape the regex.
    
    
    
    Bug Fixes
    ---------
    
    - :issue:`7392`: Fix the reported location of tests skipped with ``pytest.mark.skip`` when ``--runxfail`` is used.
    
    
    - :issue:`7491`: :fixture:`tmpdir` and :fixture:`tmp_path` no longer raise an error if the lock to check for
    stale temporary directories is not accessible.
    
    
    - :issue:`7517`: Preserve line endings when captured via ``capfd``.
    
    
    - :issue:`7534`: Restored the previous formatting of ``TracebackEntry.__str__`` which was changed by accident.
    
    
    
    Improved Documentation
    ----------------------
    
    - :issue:`7422`: Clarified when the ``usefixtures`` mark can apply fixtures to test.
    
    
    - :issue:`7441`: Add a note about ``-q`` option used in getting started guide.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - :issue:`7389`: Fixture scope ``package`` is no longer considered experimental.
    

    6.0.0rc1

    ============================
    
    Breaking Changes
    ----------------
    
    - :issue:`1316`: ``TestReport.longrepr`` is now always an instance of ``ReprExceptionInfo``. Previously it was a ``str`` when a test failed with ``pytest.fail(..., pytrace=False)``.
    
    
    - :issue:`5965`: symlinks are no longer resolved during collection and matching `conftest.py` files with test file paths.
    
    Resolving symlinks for the current directory and during collection was introduced as a bugfix in 3.9.0, but it actually is a new feature which had unfortunate consequences in Windows and surprising results in other platforms.
    
    The team decided to step back on resolving symlinks at all, planning to review this in the future with a more solid solution (see discussion in
    :pull:`6523` for details).
    
    This might break test suites which made use of this feature; the fix is to create a symlink
    for the entire test tree, and not only to partial files/tress as it was possible previously.
    
    
    - :issue:`6505`: ``Testdir.run().parseoutcomes()`` now always returns the parsed nouns in plural form.
    
    Originally ``parseoutcomes()`` would always returns the nouns in plural form, but a change
    meant to improve the terminal summary by using singular form single items (``1 warning`` or ``1 error``)
    caused an unintended regression by changing the keys returned by ``parseoutcomes()``.
    
    Now the API guarantees to always return the plural form, so calls like this:
    
    .. code-block:: python
    
       result = testdir.runpytest()
       result.assert_outcomes(error=1)
    
    Need to be changed to:
    
    
    .. code-block:: python
    
       result = testdir.runpytest()
       result.assert_outcomes(errors=1)
    
    
    - :issue:`6903`: The ``os.dup()`` function is now assumed to exist. We are not aware of any
    supported Python 3 implementations which do not provide it.
    
    
    - :issue:`7040`: ``-k`` no longer matches against the names of the directories outside the test session root.
    
    Also, ``pytest.Package.name`` is now just the name of the directory containing the package&#x27;s
    ``__init__.py`` file, instead of the full path. This is consistent with how the other nodes
    are named, and also one of the reasons why ``-k`` would match against any directory containing
    the test suite.
    
    
    - :issue:`7122`: Expressions given to the ``-m`` and ``-k`` options are no longer evaluated using Python&#x27;s :func:`eval`.
    The format supports ``or``, ``and``, ``not``, parenthesis and general identifiers to match against.
    Python constants, keywords or other operators are no longer evaluated differently.
    
    
    - :issue:`7135`: Pytest now uses its own ``TerminalWriter`` class instead of using the one from the ``py`` library.
    Plugins generally access this class through ``TerminalReporter.writer``, ``TerminalReporter.write()``
    (and similar methods), or ``_pytest.config.create_terminal_writer()``.
    
    The following breaking changes were made:
    
    - Output (``write()`` method and others) no longer flush implicitly; the flushing behavior
     of the underlying file is respected. To flush explicitly (for example, if you
     want output to be shown before an end-of-line is printed), use ``write(flush=True)`` or
     ``terminal_writer.flush()``.
    - Explicit Windows console support was removed, delegated to the colorama library.
    - Support for writing ``bytes`` was removed.
    - The ``reline`` method and ``chars_on_current_line`` property were removed.
    - The ``stringio`` and ``encoding`` arguments was removed.
    - Support for passing a callable instead of a file was removed.
    
    
    - :issue:`7224`: The `item.catch_log_handler` and `item.catch_log_handlers` attributes, set by the
    logging plugin and never meant to be public, are no longer available.
    
    The deprecated ``--no-print-logs`` option and ``log_print`` ini option are removed. Use ``--show-capture`` instead.
    
    
    - :issue:`7226`: Removed the unused ``args`` parameter from ``pytest.Function.__init__``.
    
    
    - :issue:`7418`: Removed the `pytest_doctest_prepare_content` hook specification. This hook
    hasn&#x27;t been triggered by pytest for at least 10 years.
    
    
    - :issue:`7438`: Some changes were made to the internal ``_pytest._code.source``, listed here
    for the benefit of plugin authors who may be using it:
    
    - The ``deindent`` argument to ``Source()`` has been removed, now it is always true.
    - Support for zero or multiple arguments to ``Source()`` has been removed.
    - Support for comparing ``Source`` with an ``str`` has been removed.
    - The methods ``Source.isparseable()`` and ``Source.putaround()`` have been removed.
    - The method ``Source.compile()`` and function ``_pytest._code.compile()`` have
     been removed; use plain ``compile()`` instead.
    - The function ``_pytest._code.source.getsource()`` has been removed; use
     ``Source()`` directly instead.
    
    
    
    Deprecations
    ------------
    
    - :issue:`7210`: The special ``-k &#x27;-expr&#x27;`` syntax to ``-k`` is deprecated. Use ``-k &#x27;not expr&#x27;``
    instead.
    
    The special ``-k &#x27;expr:&#x27;`` syntax to ``-k`` is deprecated. Please open an issue
    if you use this and want a replacement.
    
    - :issue:`4049`: ``pytest_warning_captured`` is deprecated in favor of the ``pytest_warning_recorded`` hook.
    
    
    Features
    --------
    
    - :issue:`1556`: pytest now supports ``pyproject.toml`` files for configuration.
    
    The configura
    opened by pyup-bot 0
  • Crash on import.

    Crash on import.

    Brief Description

    on Import I get the error "AttributeError: module 'pandas.core.indexing' has no attribute '_NDFrameIndexer'"

    as far as I can tell this is was bound to private method that been removed from pandas

    System Information

    jupyter core : 4.7.1 jupyter-notebook : 6.2.0 qtconsole : not installed ipython : 7.21.0 ipykernel : 5.5.0 jupyter client : 6.1.12 jupyter lab : 3.0.10 nbconvert : 5.6.1

    • Notebook /
    • Python version (required): Python 3.8.5

    Minimally Reproducible Code

    import pandas as pd from pandas.api.types import is_string_dtype, is_numeric_dtype, is_categorical_dtype import dovpanda

    Error Messages

     "AttributeError: module 'pandas.core.indexing' has no attribute '_NDFrameIndexer'"
    
    bug good first issue 
    opened by OrenBochman 2
  • Update bump2version to 1.0.1

    Update bump2version to 1.0.1

    This PR updates bump2version from 0.5.11 to 1.0.1.

    Changelog

    1.0.1

    - Added: enable special characters in search/replace, thanks mckelvin
    - Added: allow globbing a pattern to match multiple files, thanks balrok
    - Added: way to only bump a specified file via --no-configured-files, thanks balrok
    - Fixed: dry-run now correctly outputs, thanks fmigneault
    - Housekeeping: documentation for lightweight tags improved, thanks GreatBahram
    - Housekeeping: added related tools document, thanks florisla
    - Fixed: no more falling back to default search, thanks florisla
    

    1.0.0

    - Fix the spurious newline that bump2version adds when writing to bumpversion.cfg, thanks kyluca 58
    - Add Python3.8 support, thanks florisla 
    - Drop Python2 support, thanks hugovk
    - Allow additional arguments to the commit call, thanks lubomir
    - Various documentation improvements, thanks lubomir florisla padamstx glotis
    - Housekeeping, move changelog into own file
    
    Links
    • PyPI: https://pypi.org/project/bump2version
    • Changelog: https://pyup.io/changelogs/bump2version/
    • Repo: https://github.com/c4urself/bump2version
    opened by pyup-bot 0
Releases(v0.0.3.alpha)
Owner
dovpandev
dovpandev
Build, test, deploy, iterate - Dev and prod tool for data science pipelines

Prodmodel is a build system for data science pipelines. Users, testers, contributors are welcome! Motivation · Concepts · Installation · Usage · Contr

Prodmodel 53 Nov 29, 2022
Pandas integration with sklearn

Sklearn-pandas This module provides a bridge between Scikit-Learn's machine learning methods and pandas-style Data Frames. In particular, it provides

2.7k Dec 27, 2022
BatchFlow helps you conveniently work with random or sequential batches of your data and define data processing and machine learning workflows even for datasets that do not fit into memory.

BatchFlow BatchFlow helps you conveniently work with random or sequential batches of your data and define data processing and machine learning workflo

Data Analysis Center 185 Dec 20, 2022
Directions overlay for working with pandas in an analysis environment

dovpanda Directions OVer PANDAs Directions are hints and tips for using pandas in an analysis environment. dovpanda is an overlay companion for workin

dovpandev 431 Dec 20, 2022
Easy pipelines for pandas DataFrames.

pdpipe ˨ Easy pipelines for pandas DataFrames (learn how!). Website: https://pdpipe.github.io/pdpipe/ Documentation: https://pdpipe.github.io/pdpipe/d

694 Jan 05, 2023
functional data manipulation for pandas

pandas-ply: functional data manipulation for pandas pandas-ply is a thin layer which makes it easier to manipulate data with pandas. In particular, it

Coursera 188 Nov 24, 2022
dplyr for python

Dplython: Dplyr for Python Welcome to Dplython: Dplyr for Python. Dplyr is a library for the language R designed to make data analysis fast and easy.

Chris Riederer 754 Nov 21, 2022
A Python toolkit for processing tabular data

meza: A Python toolkit for processing tabular data Index Introduction | Requirements | Motivation | Hello World | Usage | Interoperability | Installat

Reuben Cummings 401 Dec 19, 2022
Tools for parsing messy tabular data.

Parsing for messy tables A library for dealing with messy tabular data in several formats, guessing types and detecting headers. See the documentation

Open Knowledge Foundation 382 Nov 10, 2022
Microsoft Azure provides a wide number of services for managing and storing data

Microsoft Azure provides a wide number of services for managing and storing data. One product is Microsoft Azure SQL. Which gives us the capability to create and manage instances of SQL Servers hoste

Riya Vijay Vishwakarma 1 Dec 12, 2021
Clean APIs for data cleaning. Python implementation of R package Janitor

pyjanitor pyjanitor is a Python implementation of the R package janitor, and provides a clean API for cleaning data. Why janitor? Originally a port of

Eric Ma 1.1k Jan 01, 2023