Python package to add text to images, textures and different backgrounds

Overview

nider

Travis build Supported python versions PyPI version Documentation Status Updates License

Python package for text images generation and watermarking

nider is an approach to make generation of text images simple yet flexible. Creating of an image is as simple as describing units you want to be rendered to the image and choosing a method that will be used for drawing.

Installation

$ pip install nider

Example

Creating a simple image is as easy as

from nider.models import Header
from nider.models import Paragraph
from nider.models import Linkback
from nider.models import Content
from nider.models import Image

header = Header('Your super interesting title!')
para = Paragraph('Lorem ipsum dolor sit amet.')
linkback = Linkback('foo.com | @username')
content = Content(para, header, linkback, padding=60)

img = Image(content, fullpath='result.png')

img.draw_on_bg('#212121')

Featured images

All of the featured images were drawn using nider package. Code used to generate them can be found here.

Example 1

example1

Example 2

example2

Example 3

example3

Example 4

example4

Watermark example 1

add_watermark_example

Watermark example 2

draw_on_bg_with_watermark_example

Comments
  • SEO-Friendly HTML Output

    SEO-Friendly HTML Output

    Since image text cannot be seen by search engines, I think a useful feature would be the ability to output SEO-friendly HTML for embedding the generated image.

    If you agree, please assign me to the Issue and I will implement this. 😃

    Feature Description

    Passing an html=True param to img methods will output a .txt file containing an <img> tag. The title and alt properties will be generated using the text from header and para, respectively.

    Example

    from nider.models import Content
    from nider.models import Header
    from nider.models import Linkback
    from nider.models import Paragraph
    from nider.models import Image
    
    header = Header('Your super interesting title!')
    para = Paragraph('Lorem ipsum dolor sit amet.')
    linkback = Linkback('foo.com | @username')
    content = Content(para, header, linkback, padding=60)
    
    img = Image(content, fullpath='result.png')
    
    img.draw_on_bg('#212121', html=True)
    
    

    Output

    result.png
    result.txt
    

    result.txt

    <img src="result.png" alt="Lorem ipsum dolor sit amet." title="Your super interesting title!" />
    
    opened by totallyquiche 4
  • Resolving Travis CI fails

    Resolving Travis CI fails

    The package had several issues which led to Travis CI fails. Here are the changes I made:

    1. Refreshed Python version (changed from Python3.4-3.6 to Python3.6-3.8).
    2. Updated pip in before_install in Travis YAML (by default, it used pip v.19). Moreover, this package now works both for CI and an end user (tested by me on Ubuntu 20.04 and using Python3.8, pip==20.2.2).
    3. Updated requirements (although they were not insecure, most of them were outdated).
    4. Removed potentially dangerous requirements: pip and wheel. Click here for more info.
    5. Modified setup.py: using try/except blocks can handle both 20 > pip >= 10 and pip >= 20.
    6. In tox.ini all Python versions are specified (in previous py36 was not clarified which led to deprecation warning by Travis CI).
    7. In tox.ini flake8-ignore did not work: now it is resolved and any occuring warnings are specified.

    Sorry for inconvenience, I know pull requests are supposed to be small, but I feel I have played around it for a long time.

    opened by pandrey2003 3
  • Update pillow to 8.0.0

    Update pillow to 8.0.0

    This PR updates Pillow from 7.2.0 to 8.0.0.

    Changelog

    8.0.0

    ------------------
    
    - Drop support for EOL Python 3.5 4746, 4794
    [hugovk, radarhere, nulano]
    
    - Drop support for PyPy3 &lt; 7.2.0 4964
    [nulano]
    
    - Remove ImageCms.CmsProfile attributes deprecated since 3.2.0 4768
    [hugovk, radarhere]
    
    - Remove long-deprecated Image.py functions 4798
    [hugovk, nulano, radarhere]
    
    - Add support for 16-bit precision JPEG quantization values 4918
    [gofr]
    
    - Added reading of IFD tag type 4979
    [radarhere]
    
    - Initialize offset memory for PyImagingPhotoPut 4806
    [nqbit]
    
    - Fix TiffDecode comparison warnings 4756
    [nulano]
    
    - Docs: Add dark mode 4968
    [hugovk, nulano]
    
    - Added macOS SDK install path to library and include directories 4974
    [radarhere, fxcoudert]
    
    - Imaging.h: prevent confusion with system 4923
    [ax3l, ,radarhere]
    
    - Avoid using pkg_resources in PIL.features.pilinfo 4975
    [nulano]
    
    - Add getlength and getbbox functions for TrueType fonts 4959
    [nulano, radarhere, hugovk]
    
    - Allow tuples with one item to give single color value in getink 4927
    [radarhere, nulano]
    
    - Add support for CBDT and COLR fonts 4955
    [nulano, hugovk]
    
    - Removed OSError in favour of DecompressionBombError for BMP 4966
    [radarhere]
    
    - Implemented another ellipse drawing algorithm 4523
    [xtsm, radarhere]
    
    - Removed unused JpegImagePlugin._fixup_dict function 4957
    [radarhere]
    
    - Added reading and writing of private PNG chunks 4292
    [radarhere]
    
    - Implement anchor for TrueType fonts 4930
    [nulano, hugovk]
    
    - Fixed bug in Exif __delitem__ 4942
    [radarhere]
    
    - Fix crash in ImageTk.PhotoImage on MinGW 64-bit 4946
    [nulano]
    
    - Moved CVE images to pillow-depends 4929
    [radarhere]
    
    - Refactor font_getsize and font_render 4910
    [nulano]
    
    - Fixed loading profile with non-ASCII path on Windows 4914
    [radarhere]
    
    - Fixed effect_spread bug for zero distance 4908
    [radarhere, hugovk]
    
    - Added formats parameter to Image.open 4837
    [nulano, radarhere]
    
    - Added regular_polygon draw method 4846
    [comhar]
    
    - Raise proper TypeError in putpixel 4882
    [nulano, hugovk]
    
    - Added writing of subIFDs 4862
    [radarhere]
    
    - Fix IFDRational __eq__ bug 4888
    [luphord, radarhere]
    
    - Fixed duplicate variable name 4885
    [liZe, radarhere]
    
    - Added homebrew zlib include directory 4842
    [radarhere]
    
    - Corrected inverted PDF CMYK colors 4866
    [radarhere]
    
    - Do not try to close file pointer if file pointer is empty 4823
    [radarhere]
    
    - ImageOps.autocontrast: add mask parameter 4843
    [navneeth, hugovk]
    
    - Read EXIF data tEXt chunk into info as bytes instead of string 4828
    [radarhere]
    
    - Replaced distutils with setuptools 4797, 4809, 4814, 4817, 4829, 4890
    [hugovk, radarhere]
    
    - Add MIME type to PsdImagePlugin 4788
    [samamorgan]
    
    - Allow ImageOps.autocontrast to specify low and high cutoffs separately 4749
    [millionhz, radarhere]
    
    Links
    • PyPI: https://pypi.org/project/pillow
    • Changelog: https://pyup.io/changelogs/pillow/
    • Homepage: https://python-pillow.org
    opened by pyup-bot 2
  • Mergify integration

    Mergify integration

    Although Pyup-bot automates keeping track of dependencies, it may be boring to manually merge each bot's pull request and then delete that merged branch. Here is when Mergify comes into play: it automatically merges pull requests under requested conditions and is absolutely free for public repositories. In my added YAML file, I added support for automating merging Pyup's pull requests (after Travis CI checks, sure!) and then deleting a redundant merged branch.

    You, as the author of this package, will only need to register on their official website (the link is above) and grant access to the nider repository (Mergify is free for public repositories).

    After this, you can forget about dependencies as well as merging them.

    Official Mergify's documentation for more information: https://doc.mergify.io/

    opened by pandrey2003 2
  • Added Mergify support

    Added Mergify support

    Although Pyup-bot automates keeping track of dependencies, it may be boring to manually merge each bot's pull request and then delete that merged branch. Here is when Mergify comes into play: it automatically merges pull requests under requested conditions and is absolutely free for public repositories. In my added YAML file, I added support for automating merging Pyup's pull requests (after Travis CI checks, sure!) and then deleting a redundant merged branch.

    You, as the author of this package, will only need to register on their official website (the link is above) and grant access to the nider repository (Mergify is free for public repositories).

    After this, you can forget about dependencies as well as merging them.

    Official Mergify's documentation for more information: https://doc.mergify.io/

    opened by pandrey2003 2
  • Added title and description attributes to Image class

    Added title and description attributes to Image class

    These attributes default to empty strings unless content.header and content.para are not None (respectively), in which case the attributes use the values of the corresponding text attributes.

    opened by totallyquiche 2
  • Update tox to 4.1.1

    Update tox to 4.1.1

    This PR updates tox from 3.19.0 to 4.1.1.

    Changelog

    3.28.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - Support provision of tox 4 with the ``min_version`` option - by :user:`hroncok`
    `2661 &lt;https://github.com/tox-dev/tox/issues/2661&gt;`_
    

    3.27.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Replaced deprecated ``license_file`` key with ``license_files`` in ``setup.cfg`` -- by :user:`mgorny`.
    `2521 &lt;https://github.com/tox-dev/tox/issues/2521&gt;`_
    - Add env cleanup to envreport - fix PYTHONPATH leak into &quot;envreport&quot; -- by :user:`f3flight`.
    `2528 &lt;https://github.com/tox-dev/tox/issues/2528&gt;`_
    

    3.27.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Dropped ``--build-option`` in isolated builds, an alternative fix for the ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2497 &lt;https://github.com/tox-dev/tox/issues/2497&gt;`_
    - Remove read-only files in ``ensure_empty_dir``.
    `2498 &lt;https://github.com/tox-dev/tox/issues/2498&gt;`_
    - Multiple tox instances no longer clobber the ``.tox`` directory when
    ``provision_tox_env`` is used. - by :user:`masenf`
    `2515 &lt;https://github.com/tox-dev/tox/issues/2515&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Clarify that ``install_command`` only takes one command - by :user:`jugmac00`
    `2433 &lt;https://github.com/tox-dev/tox/issues/2433&gt;`_
    - Documented problems with plugin and provision env - by :user:`ziima`.
    `2469 &lt;https://github.com/tox-dev/tox/issues/2469&gt;`_
    

    3.26.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix fallback to ``python`` environment when ``isolated_build = true`` is set -- by :user:`Unrud`
    `2474 &lt;https://github.com/tox-dev/tox/issues/2474&gt;`_
    - Fixed ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2478 &lt;https://github.com/tox-dev/tox/issues/2478&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Use ``tomllib`` on Python 3.11 or later and ``tomli`` instead of ``toml`` library on lower versions - by :user:`hroncok`.
    `2463 &lt;https://github.com/tox-dev/tox/issues/2463&gt;`_
    

    3.25.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``sitepackages = true`` will add user&#x27;s site-package to the python path on Windows as expected -- by :user:`niander`
    `2402 &lt;https://github.com/tox-dev/tox/issues/2402&gt;`_
    - Avoid importing ``pipes`` on Python 3.3+ to avoid ``DeprecationWarning`` on Python 3.11 -- by :user:`adamchainz`
    `2417 &lt;https://github.com/tox-dev/tox/issues/2417&gt;`_
    - Fix ``isolated_build`` when the build process produces stderr at exit.
    `2449 &lt;https://github.com/tox-dev/tox/issues/2449&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Explain advantages of ``PIP_CONSTRAINT`` environment variable over ``--constraint`` argument.
    `2423 &lt;https://github.com/tox-dev/tox/issues/2423&gt;`_
    

    3.25.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed failing isolated_build because setuptools warning was captured
    in ``build_requires``. -- by :user:`zariiii9003`
    `2332 &lt;https://github.com/tox-dev/tox/issues/2332&gt;`_
    - Avoid potential 30s delay caused by socket.getfqdn(). -- by :user:`ssbarnea`
    `2375 &lt;https://github.com/tox-dev/tox/issues/2375&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Ignore missing commands if they are prefixed by ``-``
    -- by :user:`cdown`.
    `2315 &lt;https://github.com/tox-dev/tox/issues/2315&gt;`_
    - Add default environment variables (such as http_proxy) regardless of their case to passenv on UNIX -- by :user:`poggenhans`.
    `2372 &lt;https://github.com/tox-dev/tox/issues/2372&gt;`_
    - On Windows ``PROGRAMFILES``, ``PROGRAMFILES(X86)``, and ``PROGRAMDATA`` environment variables are now passed through, unmasking system values necessary to locate resources such as a C compiler.
    `2382 &lt;https://github.com/tox-dev/tox/issues/2382&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Deleted the tox mailing list -- by :user:`jugmac00`
    `2364 &lt;https://github.com/tox-dev/tox/issues/2364&gt;`_
    

    3.24.5

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed an issue where ``usedevelop`` would cause an invocation error if setup.py does not exist. -- by :user:`VincentVanlaer`
    `2197 &lt;https://github.com/tox-dev/tox/issues/2197&gt;`_
    

    3.24.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed handling of ``-e ALL`` in parallel mode by ignoring the ``ALL`` in subprocesses -- by :user:`guahki`.
    `2167 &lt;https://github.com/tox-dev/tox/issues/2167&gt;`_
    - Prevent tox from using a truncated interpreter when using
    ``TOX_LIMITED_SHEBANG`` -- by :user:`jdknight`.
    `2208 &lt;https://github.com/tox-dev/tox/issues/2208&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Enabled the use of the favicon in the Sphinx docs first
    introduced in :pull:`764` but not integrated fully
    -- :user:`webknjaz`
    `2177 &lt;https://github.com/tox-dev/tox/issues/2177&gt;`_
    

    3.24.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--parallel`` reports now show ASCII OK/FAIL/SKIP lines when full Unicode output is not available - by :user:`brettcs`
    `1421 &lt;https://github.com/tox-dev/tox/issues/1421&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Started enforcing valid references in Sphinx docs -- :user:`webknjaz`
    `2168 &lt;https://github.com/tox-dev/tox/issues/2168&gt;`_
    

    3.24.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - include ``LC_ALL`` to implicit list of passenv variables - by :user:`ssbarnea`
    `2162 &lt;https://github.com/tox-dev/tox/issues/2162&gt;`_
    

    3.24.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``get_requires_for_build_sdist`` hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system - by :user:`oczkoisse`
    `2130 &lt;https://github.com/tox-dev/tox/issues/2130&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - The documentation of ``install_command`` now also mentions that you can provide arbitrary commands - by :user:`jugmac00`
    `2081 &lt;https://github.com/tox-dev/tox/issues/2081&gt;`_
    

    3.24.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--devenv`` no longer modifies the directory in which the ``.tox`` environment is provisioned - by :user:`isaac-ped`
    `2065 &lt;https://github.com/tox-dev/tox/issues/2065&gt;`_
    - Fix show config when the package names are not in canonical form - by :user:`gaborbernat`.
    `2103 &lt;https://github.com/tox-dev/tox/issues/2103&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Extended environment variables section - by :user:`majiang`
    `2036 &lt;https://github.com/tox-dev/tox/issues/2036&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - ``tox`` no longer shows deprecation warnings for ``distutils.sysconfig`` on
    Python 3.10 - by :user:`9999years`
    `2100 &lt;https://github.com/tox-dev/tox/issues/2100&gt;`_
    

    3.23.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Distinguish between normal Windows Python and MSYS2 Python when looking for
    virtualenv executable path.  Adds os.sep to :class:`~tox.interpreters.InterpreterInfo`
    - by :user:`jschwartzentruber`
    `1982 &lt;https://github.com/tox-dev/tox/issues/1982&gt;`_
    - Fix a ``tox-conda`` isolation build bug - by :user:`AntoineD`.
    `2056 &lt;https://github.com/tox-dev/tox/issues/2056&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Update examples in the documentation to use ``setenv`` in the ``[testenv]`` sections, not wrongly in the ``[tox]`` main section.
    - by :user:`AndreyNautilus`
    `1999 &lt;https://github.com/tox-dev/tox/issues/1999&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 6+ by :user:`hroncok`
    `1984 &lt;https://github.com/tox-dev/tox/issues/1984&gt;`_
    

    3.23.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - tox can now be invoked with a new ``--no-provision`` flag that prevents provision,
    if :conf:`requires` or :conf:`minversion` are not satisfied,
    tox will fail;
    if a path is specified as an argument to the flag
    (e.g. as ``tox --no-provision missing.json``) and provision is prevented,
    provision metadata are written as JSON to that path - by :user:`hroncok`
    `1921 &lt;https://github.com/tox-dev/tox/issues/1921&gt;`_
    - Unicode support in ``pyproject.toml`` - by :user:`domdfcoding`
    `1940 &lt;https://github.com/tox-dev/tox/issues/1940&gt;`_
    

    3.22.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - The value of the :conf:`requires` configuration option is now exposed via
    the :class:`tox.config.Config` object - by :user:`hroncok`
    `1918 &lt;https://github.com/tox-dev/tox/issues/1918&gt;`_
    

    3.21.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Adapt tests not to assume the ``easy_install`` command exists, as it was removed from ``setuptools`` 52.0.0+ - by :user:`hroncok`
    `1893 &lt;https://github.com/tox-dev/tox/issues/1893&gt;`_
    

    3.21.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix a killed tox (via SIGTERM) leaving the commands subprocesses running
    by handling it as if it were a KeyboardInterrupt - by :user:`dajose`
    `1772 &lt;https://github.com/tox-dev/tox/issues/1772&gt;`_
    

    3.21.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Newer coverage tools update the ``COV_CORE_CONTEXT`` environment variable, add it to the list of environment variables
    that can change in our pytest plugin - by :user:`gaborbernat`.
    `1854 &lt;https://github.com/tox-dev/tox/issues/1854&gt;`_
    

    3.21.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix regression that broke using install_command in config replacements - by :user:`jayvdb`
    `1777 &lt;https://github.com/tox-dev/tox/issues/1777&gt;`_
    - Fix regression parsing posargs default containing colon. - by :user:`jayvdb`
    `1785 &lt;https://github.com/tox-dev/tox/issues/1785&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Prevent .tox in envlist - by :user:`jayvdb`
    `1684 &lt;https://github.com/tox-dev/tox/issues/1684&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 4 and 5 by :user:`hroncok`
    `1799 &lt;https://github.com/tox-dev/tox/issues/1799&gt;`_
    

    3.21.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix the false ``congratulations`` message that appears when a ``KeyboardInterrupt`` occurs during package installation. - by :user:`gnikonorov`
    `1453 &lt;https://github.com/tox-dev/tox/issues/1453&gt;`_
    - Fix ``platform`` support for ``install_command``. - by :user:`jayvdb`
    `1464 &lt;https://github.com/tox-dev/tox/issues/1464&gt;`_
    - Fixed regression in v3.20.0 that caused escaped curly braces in setenv
    to break usage of the variable elsewhere in tox.ini. - by :user:`jayvdb`
    `1690 &lt;https://github.com/tox-dev/tox/issues/1690&gt;`_
    - Prevent ``{}`` and require ``{:`` is only followed by ``}``. - by :user:`jayvdb`
    `1711 &lt;https://github.com/tox-dev/tox/issues/1711&gt;`_
    - Raise ``MissingSubstitution`` on access of broken ini setting. - by :user:`jayvdb`
    `1716 &lt;https://github.com/tox-dev/tox/issues/1716&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Allow \{ and \} in default of {env:key:default}. - by :user:`jayvdb`
    `1502 &lt;https://github.com/tox-dev/tox/issues/1502&gt;`_
    - Allow {posargs} in setenv. - by :user:`jayvdb`
    `1695 &lt;https://github.com/tox-dev/tox/issues/1695&gt;`_
    - Allow {/} to refer to os.sep. - by :user:`jayvdb`
    `1700 &lt;https://github.com/tox-dev/tox/issues/1700&gt;`_
    - Make parsing [testenv] sections in setup.cfg official. - by :user:`mauvilsa`
    `1727 &lt;https://github.com/tox-dev/tox/issues/1727&gt;`_
    - Relax importlib requirement to allow 3.0.0 or any newer version - by
    :user:`pkolbus`
    `1763 &lt;https://github.com/tox-dev/tox/issues/1763&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Document more info about using ``platform`` setting. - by :user:`prakhargurunani`
    `1144 &lt;https://github.com/tox-dev/tox/issues/1144&gt;`_
    - Replace ``indexserver`` in documentation with environment variables - by :user:`ziima`.
    `1357 &lt;https://github.com/tox-dev/tox/issues/1357&gt;`_
    - Document that the ``passenv`` environment setting is case insensitive. - by :user:`gnikonorov`
    `1534 &lt;https://github.com/tox-dev/tox/issues/1534&gt;`_
    

    3.20.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Relax importlib requirement to allow version&lt;3 - by :user:`usamasadiq`
    `1682 &lt;https://github.com/tox-dev/tox/issues/1682&gt;`_
    

    3.20.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Allow hyphens and empty factors in generative section name. - by :user:`tyagdit`
    `1636 &lt;https://github.com/tox-dev/tox/issues/1636&gt;`_
    - Support for PEP517 in-tree build backend-path key in ``get-build-requires``. - by :user:`nizox`
    `1654 &lt;https://github.com/tox-dev/tox/issues/1654&gt;`_
    - Allow escaping curly braces in setenv. - by :user:`mkenigs`
    `1656 &lt;https://github.com/tox-dev/tox/issues/1656&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Support for comments within ``setenv`` and environment files via the ``files|`` prefix. - by :user:`gaborbernat`
    `1667 &lt;https://github.com/tox-dev/tox/issues/1667&gt;`_
    
    Links
    • PyPI: https://pypi.org/project/tox
    • Changelog: https://pyup.io/changelogs/tox/
    opened by pyup-bot 1
  • Update tox to 4.0.19

    Update tox to 4.0.19

    This PR updates tox from 3.19.0 to 4.0.19.

    Changelog

    3.28.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - Support provision of tox 4 with the ``min_version`` option - by :user:`hroncok`
    `2661 &lt;https://github.com/tox-dev/tox/issues/2661&gt;`_
    

    3.27.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Replaced deprecated ``license_file`` key with ``license_files`` in ``setup.cfg`` -- by :user:`mgorny`.
    `2521 &lt;https://github.com/tox-dev/tox/issues/2521&gt;`_
    - Add env cleanup to envreport - fix PYTHONPATH leak into &quot;envreport&quot; -- by :user:`f3flight`.
    `2528 &lt;https://github.com/tox-dev/tox/issues/2528&gt;`_
    

    3.27.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Dropped ``--build-option`` in isolated builds, an alternative fix for the ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2497 &lt;https://github.com/tox-dev/tox/issues/2497&gt;`_
    - Remove read-only files in ``ensure_empty_dir``.
    `2498 &lt;https://github.com/tox-dev/tox/issues/2498&gt;`_
    - Multiple tox instances no longer clobber the ``.tox`` directory when
    ``provision_tox_env`` is used. - by :user:`masenf`
    `2515 &lt;https://github.com/tox-dev/tox/issues/2515&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Clarify that ``install_command`` only takes one command - by :user:`jugmac00`
    `2433 &lt;https://github.com/tox-dev/tox/issues/2433&gt;`_
    - Documented problems with plugin and provision env - by :user:`ziima`.
    `2469 &lt;https://github.com/tox-dev/tox/issues/2469&gt;`_
    

    3.26.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix fallback to ``python`` environment when ``isolated_build = true`` is set -- by :user:`Unrud`
    `2474 &lt;https://github.com/tox-dev/tox/issues/2474&gt;`_
    - Fixed ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2478 &lt;https://github.com/tox-dev/tox/issues/2478&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Use ``tomllib`` on Python 3.11 or later and ``tomli`` instead of ``toml`` library on lower versions - by :user:`hroncok`.
    `2463 &lt;https://github.com/tox-dev/tox/issues/2463&gt;`_
    

    3.25.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``sitepackages = true`` will add user&#x27;s site-package to the python path on Windows as expected -- by :user:`niander`
    `2402 &lt;https://github.com/tox-dev/tox/issues/2402&gt;`_
    - Avoid importing ``pipes`` on Python 3.3+ to avoid ``DeprecationWarning`` on Python 3.11 -- by :user:`adamchainz`
    `2417 &lt;https://github.com/tox-dev/tox/issues/2417&gt;`_
    - Fix ``isolated_build`` when the build process produces stderr at exit.
    `2449 &lt;https://github.com/tox-dev/tox/issues/2449&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Explain advantages of ``PIP_CONSTRAINT`` environment variable over ``--constraint`` argument.
    `2423 &lt;https://github.com/tox-dev/tox/issues/2423&gt;`_
    

    3.25.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed failing isolated_build because setuptools warning was captured
    in ``build_requires``. -- by :user:`zariiii9003`
    `2332 &lt;https://github.com/tox-dev/tox/issues/2332&gt;`_
    - Avoid potential 30s delay caused by socket.getfqdn(). -- by :user:`ssbarnea`
    `2375 &lt;https://github.com/tox-dev/tox/issues/2375&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Ignore missing commands if they are prefixed by ``-``
    -- by :user:`cdown`.
    `2315 &lt;https://github.com/tox-dev/tox/issues/2315&gt;`_
    - Add default environment variables (such as http_proxy) regardless of their case to passenv on UNIX -- by :user:`poggenhans`.
    `2372 &lt;https://github.com/tox-dev/tox/issues/2372&gt;`_
    - On Windows ``PROGRAMFILES``, ``PROGRAMFILES(X86)``, and ``PROGRAMDATA`` environment variables are now passed through, unmasking system values necessary to locate resources such as a C compiler.
    `2382 &lt;https://github.com/tox-dev/tox/issues/2382&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Deleted the tox mailing list -- by :user:`jugmac00`
    `2364 &lt;https://github.com/tox-dev/tox/issues/2364&gt;`_
    

    3.24.5

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed an issue where ``usedevelop`` would cause an invocation error if setup.py does not exist. -- by :user:`VincentVanlaer`
    `2197 &lt;https://github.com/tox-dev/tox/issues/2197&gt;`_
    

    3.24.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed handling of ``-e ALL`` in parallel mode by ignoring the ``ALL`` in subprocesses -- by :user:`guahki`.
    `2167 &lt;https://github.com/tox-dev/tox/issues/2167&gt;`_
    - Prevent tox from using a truncated interpreter when using
    ``TOX_LIMITED_SHEBANG`` -- by :user:`jdknight`.
    `2208 &lt;https://github.com/tox-dev/tox/issues/2208&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Enabled the use of the favicon in the Sphinx docs first
    introduced in :pull:`764` but not integrated fully
    -- :user:`webknjaz`
    `2177 &lt;https://github.com/tox-dev/tox/issues/2177&gt;`_
    

    3.24.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--parallel`` reports now show ASCII OK/FAIL/SKIP lines when full Unicode output is not available - by :user:`brettcs`
    `1421 &lt;https://github.com/tox-dev/tox/issues/1421&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Started enforcing valid references in Sphinx docs -- :user:`webknjaz`
    `2168 &lt;https://github.com/tox-dev/tox/issues/2168&gt;`_
    

    3.24.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - include ``LC_ALL`` to implicit list of passenv variables - by :user:`ssbarnea`
    `2162 &lt;https://github.com/tox-dev/tox/issues/2162&gt;`_
    

    3.24.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``get_requires_for_build_sdist`` hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system - by :user:`oczkoisse`
    `2130 &lt;https://github.com/tox-dev/tox/issues/2130&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - The documentation of ``install_command`` now also mentions that you can provide arbitrary commands - by :user:`jugmac00`
    `2081 &lt;https://github.com/tox-dev/tox/issues/2081&gt;`_
    

    3.24.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--devenv`` no longer modifies the directory in which the ``.tox`` environment is provisioned - by :user:`isaac-ped`
    `2065 &lt;https://github.com/tox-dev/tox/issues/2065&gt;`_
    - Fix show config when the package names are not in canonical form - by :user:`gaborbernat`.
    `2103 &lt;https://github.com/tox-dev/tox/issues/2103&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Extended environment variables section - by :user:`majiang`
    `2036 &lt;https://github.com/tox-dev/tox/issues/2036&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - ``tox`` no longer shows deprecation warnings for ``distutils.sysconfig`` on
    Python 3.10 - by :user:`9999years`
    `2100 &lt;https://github.com/tox-dev/tox/issues/2100&gt;`_
    

    3.23.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Distinguish between normal Windows Python and MSYS2 Python when looking for
    virtualenv executable path.  Adds os.sep to :class:`~tox.interpreters.InterpreterInfo`
    - by :user:`jschwartzentruber`
    `1982 &lt;https://github.com/tox-dev/tox/issues/1982&gt;`_
    - Fix a ``tox-conda`` isolation build bug - by :user:`AntoineD`.
    `2056 &lt;https://github.com/tox-dev/tox/issues/2056&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Update examples in the documentation to use ``setenv`` in the ``[testenv]`` sections, not wrongly in the ``[tox]`` main section.
    - by :user:`AndreyNautilus`
    `1999 &lt;https://github.com/tox-dev/tox/issues/1999&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 6+ by :user:`hroncok`
    `1984 &lt;https://github.com/tox-dev/tox/issues/1984&gt;`_
    

    3.23.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - tox can now be invoked with a new ``--no-provision`` flag that prevents provision,
    if :conf:`requires` or :conf:`minversion` are not satisfied,
    tox will fail;
    if a path is specified as an argument to the flag
    (e.g. as ``tox --no-provision missing.json``) and provision is prevented,
    provision metadata are written as JSON to that path - by :user:`hroncok`
    `1921 &lt;https://github.com/tox-dev/tox/issues/1921&gt;`_
    - Unicode support in ``pyproject.toml`` - by :user:`domdfcoding`
    `1940 &lt;https://github.com/tox-dev/tox/issues/1940&gt;`_
    

    3.22.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - The value of the :conf:`requires` configuration option is now exposed via
    the :class:`tox.config.Config` object - by :user:`hroncok`
    `1918 &lt;https://github.com/tox-dev/tox/issues/1918&gt;`_
    

    3.21.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Adapt tests not to assume the ``easy_install`` command exists, as it was removed from ``setuptools`` 52.0.0+ - by :user:`hroncok`
    `1893 &lt;https://github.com/tox-dev/tox/issues/1893&gt;`_
    

    3.21.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix a killed tox (via SIGTERM) leaving the commands subprocesses running
    by handling it as if it were a KeyboardInterrupt - by :user:`dajose`
    `1772 &lt;https://github.com/tox-dev/tox/issues/1772&gt;`_
    

    3.21.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Newer coverage tools update the ``COV_CORE_CONTEXT`` environment variable, add it to the list of environment variables
    that can change in our pytest plugin - by :user:`gaborbernat`.
    `1854 &lt;https://github.com/tox-dev/tox/issues/1854&gt;`_
    

    3.21.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix regression that broke using install_command in config replacements - by :user:`jayvdb`
    `1777 &lt;https://github.com/tox-dev/tox/issues/1777&gt;`_
    - Fix regression parsing posargs default containing colon. - by :user:`jayvdb`
    `1785 &lt;https://github.com/tox-dev/tox/issues/1785&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Prevent .tox in envlist - by :user:`jayvdb`
    `1684 &lt;https://github.com/tox-dev/tox/issues/1684&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 4 and 5 by :user:`hroncok`
    `1799 &lt;https://github.com/tox-dev/tox/issues/1799&gt;`_
    

    3.21.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix the false ``congratulations`` message that appears when a ``KeyboardInterrupt`` occurs during package installation. - by :user:`gnikonorov`
    `1453 &lt;https://github.com/tox-dev/tox/issues/1453&gt;`_
    - Fix ``platform`` support for ``install_command``. - by :user:`jayvdb`
    `1464 &lt;https://github.com/tox-dev/tox/issues/1464&gt;`_
    - Fixed regression in v3.20.0 that caused escaped curly braces in setenv
    to break usage of the variable elsewhere in tox.ini. - by :user:`jayvdb`
    `1690 &lt;https://github.com/tox-dev/tox/issues/1690&gt;`_
    - Prevent ``{}`` and require ``{:`` is only followed by ``}``. - by :user:`jayvdb`
    `1711 &lt;https://github.com/tox-dev/tox/issues/1711&gt;`_
    - Raise ``MissingSubstitution`` on access of broken ini setting. - by :user:`jayvdb`
    `1716 &lt;https://github.com/tox-dev/tox/issues/1716&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Allow \{ and \} in default of {env:key:default}. - by :user:`jayvdb`
    `1502 &lt;https://github.com/tox-dev/tox/issues/1502&gt;`_
    - Allow {posargs} in setenv. - by :user:`jayvdb`
    `1695 &lt;https://github.com/tox-dev/tox/issues/1695&gt;`_
    - Allow {/} to refer to os.sep. - by :user:`jayvdb`
    `1700 &lt;https://github.com/tox-dev/tox/issues/1700&gt;`_
    - Make parsing [testenv] sections in setup.cfg official. - by :user:`mauvilsa`
    `1727 &lt;https://github.com/tox-dev/tox/issues/1727&gt;`_
    - Relax importlib requirement to allow 3.0.0 or any newer version - by
    :user:`pkolbus`
    `1763 &lt;https://github.com/tox-dev/tox/issues/1763&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Document more info about using ``platform`` setting. - by :user:`prakhargurunani`
    `1144 &lt;https://github.com/tox-dev/tox/issues/1144&gt;`_
    - Replace ``indexserver`` in documentation with environment variables - by :user:`ziima`.
    `1357 &lt;https://github.com/tox-dev/tox/issues/1357&gt;`_
    - Document that the ``passenv`` environment setting is case insensitive. - by :user:`gnikonorov`
    `1534 &lt;https://github.com/tox-dev/tox/issues/1534&gt;`_
    

    3.20.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Relax importlib requirement to allow version&lt;3 - by :user:`usamasadiq`
    `1682 &lt;https://github.com/tox-dev/tox/issues/1682&gt;`_
    

    3.20.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Allow hyphens and empty factors in generative section name. - by :user:`tyagdit`
    `1636 &lt;https://github.com/tox-dev/tox/issues/1636&gt;`_
    - Support for PEP517 in-tree build backend-path key in ``get-build-requires``. - by :user:`nizox`
    `1654 &lt;https://github.com/tox-dev/tox/issues/1654&gt;`_
    - Allow escaping curly braces in setenv. - by :user:`mkenigs`
    `1656 &lt;https://github.com/tox-dev/tox/issues/1656&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Support for comments within ``setenv`` and environment files via the ``files|`` prefix. - by :user:`gaborbernat`
    `1667 &lt;https://github.com/tox-dev/tox/issues/1667&gt;`_
    
    Links
    • PyPI: https://pypi.org/project/tox
    • Changelog: https://pyup.io/changelogs/tox/
    opened by pyup-bot 1
  • Update tox to 4.0.18

    Update tox to 4.0.18

    This PR updates tox from 3.19.0 to 4.0.18.

    Changelog

    3.28.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - Support provision of tox 4 with the ``min_version`` option - by :user:`hroncok`
    `2661 &lt;https://github.com/tox-dev/tox/issues/2661&gt;`_
    

    3.27.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Replaced deprecated ``license_file`` key with ``license_files`` in ``setup.cfg`` -- by :user:`mgorny`.
    `2521 &lt;https://github.com/tox-dev/tox/issues/2521&gt;`_
    - Add env cleanup to envreport - fix PYTHONPATH leak into &quot;envreport&quot; -- by :user:`f3flight`.
    `2528 &lt;https://github.com/tox-dev/tox/issues/2528&gt;`_
    

    3.27.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Dropped ``--build-option`` in isolated builds, an alternative fix for the ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2497 &lt;https://github.com/tox-dev/tox/issues/2497&gt;`_
    - Remove read-only files in ``ensure_empty_dir``.
    `2498 &lt;https://github.com/tox-dev/tox/issues/2498&gt;`_
    - Multiple tox instances no longer clobber the ``.tox`` directory when
    ``provision_tox_env`` is used. - by :user:`masenf`
    `2515 &lt;https://github.com/tox-dev/tox/issues/2515&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Clarify that ``install_command`` only takes one command - by :user:`jugmac00`
    `2433 &lt;https://github.com/tox-dev/tox/issues/2433&gt;`_
    - Documented problems with plugin and provision env - by :user:`ziima`.
    `2469 &lt;https://github.com/tox-dev/tox/issues/2469&gt;`_
    

    3.26.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix fallback to ``python`` environment when ``isolated_build = true`` is set -- by :user:`Unrud`
    `2474 &lt;https://github.com/tox-dev/tox/issues/2474&gt;`_
    - Fixed ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2478 &lt;https://github.com/tox-dev/tox/issues/2478&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Use ``tomllib`` on Python 3.11 or later and ``tomli`` instead of ``toml`` library on lower versions - by :user:`hroncok`.
    `2463 &lt;https://github.com/tox-dev/tox/issues/2463&gt;`_
    

    3.25.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``sitepackages = true`` will add user&#x27;s site-package to the python path on Windows as expected -- by :user:`niander`
    `2402 &lt;https://github.com/tox-dev/tox/issues/2402&gt;`_
    - Avoid importing ``pipes`` on Python 3.3+ to avoid ``DeprecationWarning`` on Python 3.11 -- by :user:`adamchainz`
    `2417 &lt;https://github.com/tox-dev/tox/issues/2417&gt;`_
    - Fix ``isolated_build`` when the build process produces stderr at exit.
    `2449 &lt;https://github.com/tox-dev/tox/issues/2449&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Explain advantages of ``PIP_CONSTRAINT`` environment variable over ``--constraint`` argument.
    `2423 &lt;https://github.com/tox-dev/tox/issues/2423&gt;`_
    

    3.25.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed failing isolated_build because setuptools warning was captured
    in ``build_requires``. -- by :user:`zariiii9003`
    `2332 &lt;https://github.com/tox-dev/tox/issues/2332&gt;`_
    - Avoid potential 30s delay caused by socket.getfqdn(). -- by :user:`ssbarnea`
    `2375 &lt;https://github.com/tox-dev/tox/issues/2375&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Ignore missing commands if they are prefixed by ``-``
    -- by :user:`cdown`.
    `2315 &lt;https://github.com/tox-dev/tox/issues/2315&gt;`_
    - Add default environment variables (such as http_proxy) regardless of their case to passenv on UNIX -- by :user:`poggenhans`.
    `2372 &lt;https://github.com/tox-dev/tox/issues/2372&gt;`_
    - On Windows ``PROGRAMFILES``, ``PROGRAMFILES(X86)``, and ``PROGRAMDATA`` environment variables are now passed through, unmasking system values necessary to locate resources such as a C compiler.
    `2382 &lt;https://github.com/tox-dev/tox/issues/2382&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Deleted the tox mailing list -- by :user:`jugmac00`
    `2364 &lt;https://github.com/tox-dev/tox/issues/2364&gt;`_
    

    3.24.5

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed an issue where ``usedevelop`` would cause an invocation error if setup.py does not exist. -- by :user:`VincentVanlaer`
    `2197 &lt;https://github.com/tox-dev/tox/issues/2197&gt;`_
    

    3.24.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed handling of ``-e ALL`` in parallel mode by ignoring the ``ALL`` in subprocesses -- by :user:`guahki`.
    `2167 &lt;https://github.com/tox-dev/tox/issues/2167&gt;`_
    - Prevent tox from using a truncated interpreter when using
    ``TOX_LIMITED_SHEBANG`` -- by :user:`jdknight`.
    `2208 &lt;https://github.com/tox-dev/tox/issues/2208&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Enabled the use of the favicon in the Sphinx docs first
    introduced in :pull:`764` but not integrated fully
    -- :user:`webknjaz`
    `2177 &lt;https://github.com/tox-dev/tox/issues/2177&gt;`_
    

    3.24.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--parallel`` reports now show ASCII OK/FAIL/SKIP lines when full Unicode output is not available - by :user:`brettcs`
    `1421 &lt;https://github.com/tox-dev/tox/issues/1421&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Started enforcing valid references in Sphinx docs -- :user:`webknjaz`
    `2168 &lt;https://github.com/tox-dev/tox/issues/2168&gt;`_
    

    3.24.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - include ``LC_ALL`` to implicit list of passenv variables - by :user:`ssbarnea`
    `2162 &lt;https://github.com/tox-dev/tox/issues/2162&gt;`_
    

    3.24.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``get_requires_for_build_sdist`` hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system - by :user:`oczkoisse`
    `2130 &lt;https://github.com/tox-dev/tox/issues/2130&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - The documentation of ``install_command`` now also mentions that you can provide arbitrary commands - by :user:`jugmac00`
    `2081 &lt;https://github.com/tox-dev/tox/issues/2081&gt;`_
    

    3.24.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--devenv`` no longer modifies the directory in which the ``.tox`` environment is provisioned - by :user:`isaac-ped`
    `2065 &lt;https://github.com/tox-dev/tox/issues/2065&gt;`_
    - Fix show config when the package names are not in canonical form - by :user:`gaborbernat`.
    `2103 &lt;https://github.com/tox-dev/tox/issues/2103&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Extended environment variables section - by :user:`majiang`
    `2036 &lt;https://github.com/tox-dev/tox/issues/2036&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - ``tox`` no longer shows deprecation warnings for ``distutils.sysconfig`` on
    Python 3.10 - by :user:`9999years`
    `2100 &lt;https://github.com/tox-dev/tox/issues/2100&gt;`_
    

    3.23.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Distinguish between normal Windows Python and MSYS2 Python when looking for
    virtualenv executable path.  Adds os.sep to :class:`~tox.interpreters.InterpreterInfo`
    - by :user:`jschwartzentruber`
    `1982 &lt;https://github.com/tox-dev/tox/issues/1982&gt;`_
    - Fix a ``tox-conda`` isolation build bug - by :user:`AntoineD`.
    `2056 &lt;https://github.com/tox-dev/tox/issues/2056&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Update examples in the documentation to use ``setenv`` in the ``[testenv]`` sections, not wrongly in the ``[tox]`` main section.
    - by :user:`AndreyNautilus`
    `1999 &lt;https://github.com/tox-dev/tox/issues/1999&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 6+ by :user:`hroncok`
    `1984 &lt;https://github.com/tox-dev/tox/issues/1984&gt;`_
    

    3.23.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - tox can now be invoked with a new ``--no-provision`` flag that prevents provision,
    if :conf:`requires` or :conf:`minversion` are not satisfied,
    tox will fail;
    if a path is specified as an argument to the flag
    (e.g. as ``tox --no-provision missing.json``) and provision is prevented,
    provision metadata are written as JSON to that path - by :user:`hroncok`
    `1921 &lt;https://github.com/tox-dev/tox/issues/1921&gt;`_
    - Unicode support in ``pyproject.toml`` - by :user:`domdfcoding`
    `1940 &lt;https://github.com/tox-dev/tox/issues/1940&gt;`_
    

    3.22.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - The value of the :conf:`requires` configuration option is now exposed via
    the :class:`tox.config.Config` object - by :user:`hroncok`
    `1918 &lt;https://github.com/tox-dev/tox/issues/1918&gt;`_
    

    3.21.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Adapt tests not to assume the ``easy_install`` command exists, as it was removed from ``setuptools`` 52.0.0+ - by :user:`hroncok`
    `1893 &lt;https://github.com/tox-dev/tox/issues/1893&gt;`_
    

    3.21.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix a killed tox (via SIGTERM) leaving the commands subprocesses running
    by handling it as if it were a KeyboardInterrupt - by :user:`dajose`
    `1772 &lt;https://github.com/tox-dev/tox/issues/1772&gt;`_
    

    3.21.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Newer coverage tools update the ``COV_CORE_CONTEXT`` environment variable, add it to the list of environment variables
    that can change in our pytest plugin - by :user:`gaborbernat`.
    `1854 &lt;https://github.com/tox-dev/tox/issues/1854&gt;`_
    

    3.21.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix regression that broke using install_command in config replacements - by :user:`jayvdb`
    `1777 &lt;https://github.com/tox-dev/tox/issues/1777&gt;`_
    - Fix regression parsing posargs default containing colon. - by :user:`jayvdb`
    `1785 &lt;https://github.com/tox-dev/tox/issues/1785&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Prevent .tox in envlist - by :user:`jayvdb`
    `1684 &lt;https://github.com/tox-dev/tox/issues/1684&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 4 and 5 by :user:`hroncok`
    `1799 &lt;https://github.com/tox-dev/tox/issues/1799&gt;`_
    

    3.21.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix the false ``congratulations`` message that appears when a ``KeyboardInterrupt`` occurs during package installation. - by :user:`gnikonorov`
    `1453 &lt;https://github.com/tox-dev/tox/issues/1453&gt;`_
    - Fix ``platform`` support for ``install_command``. - by :user:`jayvdb`
    `1464 &lt;https://github.com/tox-dev/tox/issues/1464&gt;`_
    - Fixed regression in v3.20.0 that caused escaped curly braces in setenv
    to break usage of the variable elsewhere in tox.ini. - by :user:`jayvdb`
    `1690 &lt;https://github.com/tox-dev/tox/issues/1690&gt;`_
    - Prevent ``{}`` and require ``{:`` is only followed by ``}``. - by :user:`jayvdb`
    `1711 &lt;https://github.com/tox-dev/tox/issues/1711&gt;`_
    - Raise ``MissingSubstitution`` on access of broken ini setting. - by :user:`jayvdb`
    `1716 &lt;https://github.com/tox-dev/tox/issues/1716&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Allow \{ and \} in default of {env:key:default}. - by :user:`jayvdb`
    `1502 &lt;https://github.com/tox-dev/tox/issues/1502&gt;`_
    - Allow {posargs} in setenv. - by :user:`jayvdb`
    `1695 &lt;https://github.com/tox-dev/tox/issues/1695&gt;`_
    - Allow {/} to refer to os.sep. - by :user:`jayvdb`
    `1700 &lt;https://github.com/tox-dev/tox/issues/1700&gt;`_
    - Make parsing [testenv] sections in setup.cfg official. - by :user:`mauvilsa`
    `1727 &lt;https://github.com/tox-dev/tox/issues/1727&gt;`_
    - Relax importlib requirement to allow 3.0.0 or any newer version - by
    :user:`pkolbus`
    `1763 &lt;https://github.com/tox-dev/tox/issues/1763&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Document more info about using ``platform`` setting. - by :user:`prakhargurunani`
    `1144 &lt;https://github.com/tox-dev/tox/issues/1144&gt;`_
    - Replace ``indexserver`` in documentation with environment variables - by :user:`ziima`.
    `1357 &lt;https://github.com/tox-dev/tox/issues/1357&gt;`_
    - Document that the ``passenv`` environment setting is case insensitive. - by :user:`gnikonorov`
    `1534 &lt;https://github.com/tox-dev/tox/issues/1534&gt;`_
    

    3.20.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Relax importlib requirement to allow version&lt;3 - by :user:`usamasadiq`
    `1682 &lt;https://github.com/tox-dev/tox/issues/1682&gt;`_
    

    3.20.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Allow hyphens and empty factors in generative section name. - by :user:`tyagdit`
    `1636 &lt;https://github.com/tox-dev/tox/issues/1636&gt;`_
    - Support for PEP517 in-tree build backend-path key in ``get-build-requires``. - by :user:`nizox`
    `1654 &lt;https://github.com/tox-dev/tox/issues/1654&gt;`_
    - Allow escaping curly braces in setenv. - by :user:`mkenigs`
    `1656 &lt;https://github.com/tox-dev/tox/issues/1656&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Support for comments within ``setenv`` and environment files via the ``files|`` prefix. - by :user:`gaborbernat`
    `1667 &lt;https://github.com/tox-dev/tox/issues/1667&gt;`_
    
    Links
    • PyPI: https://pypi.org/project/tox
    • Changelog: https://pyup.io/changelogs/tox/
    opened by pyup-bot 1
  • Update tox to 4.0.17

    Update tox to 4.0.17

    This PR updates tox from 3.19.0 to 4.0.17.

    Changelog

    3.28.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - Support provision of tox 4 with the ``min_version`` option - by :user:`hroncok`
    `2661 &lt;https://github.com/tox-dev/tox/issues/2661&gt;`_
    

    3.27.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Replaced deprecated ``license_file`` key with ``license_files`` in ``setup.cfg`` -- by :user:`mgorny`.
    `2521 &lt;https://github.com/tox-dev/tox/issues/2521&gt;`_
    - Add env cleanup to envreport - fix PYTHONPATH leak into &quot;envreport&quot; -- by :user:`f3flight`.
    `2528 &lt;https://github.com/tox-dev/tox/issues/2528&gt;`_
    

    3.27.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Dropped ``--build-option`` in isolated builds, an alternative fix for the ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2497 &lt;https://github.com/tox-dev/tox/issues/2497&gt;`_
    - Remove read-only files in ``ensure_empty_dir``.
    `2498 &lt;https://github.com/tox-dev/tox/issues/2498&gt;`_
    - Multiple tox instances no longer clobber the ``.tox`` directory when
    ``provision_tox_env`` is used. - by :user:`masenf`
    `2515 &lt;https://github.com/tox-dev/tox/issues/2515&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Clarify that ``install_command`` only takes one command - by :user:`jugmac00`
    `2433 &lt;https://github.com/tox-dev/tox/issues/2433&gt;`_
    - Documented problems with plugin and provision env - by :user:`ziima`.
    `2469 &lt;https://github.com/tox-dev/tox/issues/2469&gt;`_
    

    3.26.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix fallback to ``python`` environment when ``isolated_build = true`` is set -- by :user:`Unrud`
    `2474 &lt;https://github.com/tox-dev/tox/issues/2474&gt;`_
    - Fixed ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2478 &lt;https://github.com/tox-dev/tox/issues/2478&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Use ``tomllib`` on Python 3.11 or later and ``tomli`` instead of ``toml`` library on lower versions - by :user:`hroncok`.
    `2463 &lt;https://github.com/tox-dev/tox/issues/2463&gt;`_
    

    3.25.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``sitepackages = true`` will add user&#x27;s site-package to the python path on Windows as expected -- by :user:`niander`
    `2402 &lt;https://github.com/tox-dev/tox/issues/2402&gt;`_
    - Avoid importing ``pipes`` on Python 3.3+ to avoid ``DeprecationWarning`` on Python 3.11 -- by :user:`adamchainz`
    `2417 &lt;https://github.com/tox-dev/tox/issues/2417&gt;`_
    - Fix ``isolated_build`` when the build process produces stderr at exit.
    `2449 &lt;https://github.com/tox-dev/tox/issues/2449&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Explain advantages of ``PIP_CONSTRAINT`` environment variable over ``--constraint`` argument.
    `2423 &lt;https://github.com/tox-dev/tox/issues/2423&gt;`_
    

    3.25.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed failing isolated_build because setuptools warning was captured
    in ``build_requires``. -- by :user:`zariiii9003`
    `2332 &lt;https://github.com/tox-dev/tox/issues/2332&gt;`_
    - Avoid potential 30s delay caused by socket.getfqdn(). -- by :user:`ssbarnea`
    `2375 &lt;https://github.com/tox-dev/tox/issues/2375&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Ignore missing commands if they are prefixed by ``-``
    -- by :user:`cdown`.
    `2315 &lt;https://github.com/tox-dev/tox/issues/2315&gt;`_
    - Add default environment variables (such as http_proxy) regardless of their case to passenv on UNIX -- by :user:`poggenhans`.
    `2372 &lt;https://github.com/tox-dev/tox/issues/2372&gt;`_
    - On Windows ``PROGRAMFILES``, ``PROGRAMFILES(X86)``, and ``PROGRAMDATA`` environment variables are now passed through, unmasking system values necessary to locate resources such as a C compiler.
    `2382 &lt;https://github.com/tox-dev/tox/issues/2382&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Deleted the tox mailing list -- by :user:`jugmac00`
    `2364 &lt;https://github.com/tox-dev/tox/issues/2364&gt;`_
    

    3.24.5

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed an issue where ``usedevelop`` would cause an invocation error if setup.py does not exist. -- by :user:`VincentVanlaer`
    `2197 &lt;https://github.com/tox-dev/tox/issues/2197&gt;`_
    

    3.24.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed handling of ``-e ALL`` in parallel mode by ignoring the ``ALL`` in subprocesses -- by :user:`guahki`.
    `2167 &lt;https://github.com/tox-dev/tox/issues/2167&gt;`_
    - Prevent tox from using a truncated interpreter when using
    ``TOX_LIMITED_SHEBANG`` -- by :user:`jdknight`.
    `2208 &lt;https://github.com/tox-dev/tox/issues/2208&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Enabled the use of the favicon in the Sphinx docs first
    introduced in :pull:`764` but not integrated fully
    -- :user:`webknjaz`
    `2177 &lt;https://github.com/tox-dev/tox/issues/2177&gt;`_
    

    3.24.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--parallel`` reports now show ASCII OK/FAIL/SKIP lines when full Unicode output is not available - by :user:`brettcs`
    `1421 &lt;https://github.com/tox-dev/tox/issues/1421&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Started enforcing valid references in Sphinx docs -- :user:`webknjaz`
    `2168 &lt;https://github.com/tox-dev/tox/issues/2168&gt;`_
    

    3.24.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - include ``LC_ALL`` to implicit list of passenv variables - by :user:`ssbarnea`
    `2162 &lt;https://github.com/tox-dev/tox/issues/2162&gt;`_
    

    3.24.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``get_requires_for_build_sdist`` hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system - by :user:`oczkoisse`
    `2130 &lt;https://github.com/tox-dev/tox/issues/2130&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - The documentation of ``install_command`` now also mentions that you can provide arbitrary commands - by :user:`jugmac00`
    `2081 &lt;https://github.com/tox-dev/tox/issues/2081&gt;`_
    

    3.24.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--devenv`` no longer modifies the directory in which the ``.tox`` environment is provisioned - by :user:`isaac-ped`
    `2065 &lt;https://github.com/tox-dev/tox/issues/2065&gt;`_
    - Fix show config when the package names are not in canonical form - by :user:`gaborbernat`.
    `2103 &lt;https://github.com/tox-dev/tox/issues/2103&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Extended environment variables section - by :user:`majiang`
    `2036 &lt;https://github.com/tox-dev/tox/issues/2036&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - ``tox`` no longer shows deprecation warnings for ``distutils.sysconfig`` on
    Python 3.10 - by :user:`9999years`
    `2100 &lt;https://github.com/tox-dev/tox/issues/2100&gt;`_
    

    3.23.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Distinguish between normal Windows Python and MSYS2 Python when looking for
    virtualenv executable path.  Adds os.sep to :class:`~tox.interpreters.InterpreterInfo`
    - by :user:`jschwartzentruber`
    `1982 &lt;https://github.com/tox-dev/tox/issues/1982&gt;`_
    - Fix a ``tox-conda`` isolation build bug - by :user:`AntoineD`.
    `2056 &lt;https://github.com/tox-dev/tox/issues/2056&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Update examples in the documentation to use ``setenv`` in the ``[testenv]`` sections, not wrongly in the ``[tox]`` main section.
    - by :user:`AndreyNautilus`
    `1999 &lt;https://github.com/tox-dev/tox/issues/1999&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 6+ by :user:`hroncok`
    `1984 &lt;https://github.com/tox-dev/tox/issues/1984&gt;`_
    

    3.23.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - tox can now be invoked with a new ``--no-provision`` flag that prevents provision,
    if :conf:`requires` or :conf:`minversion` are not satisfied,
    tox will fail;
    if a path is specified as an argument to the flag
    (e.g. as ``tox --no-provision missing.json``) and provision is prevented,
    provision metadata are written as JSON to that path - by :user:`hroncok`
    `1921 &lt;https://github.com/tox-dev/tox/issues/1921&gt;`_
    - Unicode support in ``pyproject.toml`` - by :user:`domdfcoding`
    `1940 &lt;https://github.com/tox-dev/tox/issues/1940&gt;`_
    

    3.22.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - The value of the :conf:`requires` configuration option is now exposed via
    the :class:`tox.config.Config` object - by :user:`hroncok`
    `1918 &lt;https://github.com/tox-dev/tox/issues/1918&gt;`_
    

    3.21.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Adapt tests not to assume the ``easy_install`` command exists, as it was removed from ``setuptools`` 52.0.0+ - by :user:`hroncok`
    `1893 &lt;https://github.com/tox-dev/tox/issues/1893&gt;`_
    

    3.21.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix a killed tox (via SIGTERM) leaving the commands subprocesses running
    by handling it as if it were a KeyboardInterrupt - by :user:`dajose`
    `1772 &lt;https://github.com/tox-dev/tox/issues/1772&gt;`_
    

    3.21.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Newer coverage tools update the ``COV_CORE_CONTEXT`` environment variable, add it to the list of environment variables
    that can change in our pytest plugin - by :user:`gaborbernat`.
    `1854 &lt;https://github.com/tox-dev/tox/issues/1854&gt;`_
    

    3.21.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix regression that broke using install_command in config replacements - by :user:`jayvdb`
    `1777 &lt;https://github.com/tox-dev/tox/issues/1777&gt;`_
    - Fix regression parsing posargs default containing colon. - by :user:`jayvdb`
    `1785 &lt;https://github.com/tox-dev/tox/issues/1785&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Prevent .tox in envlist - by :user:`jayvdb`
    `1684 &lt;https://github.com/tox-dev/tox/issues/1684&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 4 and 5 by :user:`hroncok`
    `1799 &lt;https://github.com/tox-dev/tox/issues/1799&gt;`_
    

    3.21.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix the false ``congratulations`` message that appears when a ``KeyboardInterrupt`` occurs during package installation. - by :user:`gnikonorov`
    `1453 &lt;https://github.com/tox-dev/tox/issues/1453&gt;`_
    - Fix ``platform`` support for ``install_command``. - by :user:`jayvdb`
    `1464 &lt;https://github.com/tox-dev/tox/issues/1464&gt;`_
    - Fixed regression in v3.20.0 that caused escaped curly braces in setenv
    to break usage of the variable elsewhere in tox.ini. - by :user:`jayvdb`
    `1690 &lt;https://github.com/tox-dev/tox/issues/1690&gt;`_
    - Prevent ``{}`` and require ``{:`` is only followed by ``}``. - by :user:`jayvdb`
    `1711 &lt;https://github.com/tox-dev/tox/issues/1711&gt;`_
    - Raise ``MissingSubstitution`` on access of broken ini setting. - by :user:`jayvdb`
    `1716 &lt;https://github.com/tox-dev/tox/issues/1716&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Allow \{ and \} in default of {env:key:default}. - by :user:`jayvdb`
    `1502 &lt;https://github.com/tox-dev/tox/issues/1502&gt;`_
    - Allow {posargs} in setenv. - by :user:`jayvdb`
    `1695 &lt;https://github.com/tox-dev/tox/issues/1695&gt;`_
    - Allow {/} to refer to os.sep. - by :user:`jayvdb`
    `1700 &lt;https://github.com/tox-dev/tox/issues/1700&gt;`_
    - Make parsing [testenv] sections in setup.cfg official. - by :user:`mauvilsa`
    `1727 &lt;https://github.com/tox-dev/tox/issues/1727&gt;`_
    - Relax importlib requirement to allow 3.0.0 or any newer version - by
    :user:`pkolbus`
    `1763 &lt;https://github.com/tox-dev/tox/issues/1763&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Document more info about using ``platform`` setting. - by :user:`prakhargurunani`
    `1144 &lt;https://github.com/tox-dev/tox/issues/1144&gt;`_
    - Replace ``indexserver`` in documentation with environment variables - by :user:`ziima`.
    `1357 &lt;https://github.com/tox-dev/tox/issues/1357&gt;`_
    - Document that the ``passenv`` environment setting is case insensitive. - by :user:`gnikonorov`
    `1534 &lt;https://github.com/tox-dev/tox/issues/1534&gt;`_
    

    3.20.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Relax importlib requirement to allow version&lt;3 - by :user:`usamasadiq`
    `1682 &lt;https://github.com/tox-dev/tox/issues/1682&gt;`_
    

    3.20.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Allow hyphens and empty factors in generative section name. - by :user:`tyagdit`
    `1636 &lt;https://github.com/tox-dev/tox/issues/1636&gt;`_
    - Support for PEP517 in-tree build backend-path key in ``get-build-requires``. - by :user:`nizox`
    `1654 &lt;https://github.com/tox-dev/tox/issues/1654&gt;`_
    - Allow escaping curly braces in setenv. - by :user:`mkenigs`
    `1656 &lt;https://github.com/tox-dev/tox/issues/1656&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Support for comments within ``setenv`` and environment files via the ``files|`` prefix. - by :user:`gaborbernat`
    `1667 &lt;https://github.com/tox-dev/tox/issues/1667&gt;`_
    
    Links
    • PyPI: https://pypi.org/project/tox
    • Changelog: https://pyup.io/changelogs/tox/
    opened by pyup-bot 1
  • Update tox to 4.0.16

    Update tox to 4.0.16

    This PR updates tox from 3.19.0 to 4.0.16.

    Changelog

    3.28.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - Support provision of tox 4 with the ``min_version`` option - by :user:`hroncok`
    `2661 &lt;https://github.com/tox-dev/tox/issues/2661&gt;`_
    

    3.27.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Replaced deprecated ``license_file`` key with ``license_files`` in ``setup.cfg`` -- by :user:`mgorny`.
    `2521 &lt;https://github.com/tox-dev/tox/issues/2521&gt;`_
    - Add env cleanup to envreport - fix PYTHONPATH leak into &quot;envreport&quot; -- by :user:`f3flight`.
    `2528 &lt;https://github.com/tox-dev/tox/issues/2528&gt;`_
    

    3.27.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Dropped ``--build-option`` in isolated builds, an alternative fix for the ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2497 &lt;https://github.com/tox-dev/tox/issues/2497&gt;`_
    - Remove read-only files in ``ensure_empty_dir``.
    `2498 &lt;https://github.com/tox-dev/tox/issues/2498&gt;`_
    - Multiple tox instances no longer clobber the ``.tox`` directory when
    ``provision_tox_env`` is used. - by :user:`masenf`
    `2515 &lt;https://github.com/tox-dev/tox/issues/2515&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Clarify that ``install_command`` only takes one command - by :user:`jugmac00`
    `2433 &lt;https://github.com/tox-dev/tox/issues/2433&gt;`_
    - Documented problems with plugin and provision env - by :user:`ziima`.
    `2469 &lt;https://github.com/tox-dev/tox/issues/2469&gt;`_
    

    3.26.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix fallback to ``python`` environment when ``isolated_build = true`` is set -- by :user:`Unrud`
    `2474 &lt;https://github.com/tox-dev/tox/issues/2474&gt;`_
    - Fixed ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2478 &lt;https://github.com/tox-dev/tox/issues/2478&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Use ``tomllib`` on Python 3.11 or later and ``tomli`` instead of ``toml`` library on lower versions - by :user:`hroncok`.
    `2463 &lt;https://github.com/tox-dev/tox/issues/2463&gt;`_
    

    3.25.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``sitepackages = true`` will add user&#x27;s site-package to the python path on Windows as expected -- by :user:`niander`
    `2402 &lt;https://github.com/tox-dev/tox/issues/2402&gt;`_
    - Avoid importing ``pipes`` on Python 3.3+ to avoid ``DeprecationWarning`` on Python 3.11 -- by :user:`adamchainz`
    `2417 &lt;https://github.com/tox-dev/tox/issues/2417&gt;`_
    - Fix ``isolated_build`` when the build process produces stderr at exit.
    `2449 &lt;https://github.com/tox-dev/tox/issues/2449&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Explain advantages of ``PIP_CONSTRAINT`` environment variable over ``--constraint`` argument.
    `2423 &lt;https://github.com/tox-dev/tox/issues/2423&gt;`_
    

    3.25.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed failing isolated_build because setuptools warning was captured
    in ``build_requires``. -- by :user:`zariiii9003`
    `2332 &lt;https://github.com/tox-dev/tox/issues/2332&gt;`_
    - Avoid potential 30s delay caused by socket.getfqdn(). -- by :user:`ssbarnea`
    `2375 &lt;https://github.com/tox-dev/tox/issues/2375&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Ignore missing commands if they are prefixed by ``-``
    -- by :user:`cdown`.
    `2315 &lt;https://github.com/tox-dev/tox/issues/2315&gt;`_
    - Add default environment variables (such as http_proxy) regardless of their case to passenv on UNIX -- by :user:`poggenhans`.
    `2372 &lt;https://github.com/tox-dev/tox/issues/2372&gt;`_
    - On Windows ``PROGRAMFILES``, ``PROGRAMFILES(X86)``, and ``PROGRAMDATA`` environment variables are now passed through, unmasking system values necessary to locate resources such as a C compiler.
    `2382 &lt;https://github.com/tox-dev/tox/issues/2382&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Deleted the tox mailing list -- by :user:`jugmac00`
    `2364 &lt;https://github.com/tox-dev/tox/issues/2364&gt;`_
    

    3.24.5

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed an issue where ``usedevelop`` would cause an invocation error if setup.py does not exist. -- by :user:`VincentVanlaer`
    `2197 &lt;https://github.com/tox-dev/tox/issues/2197&gt;`_
    

    3.24.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed handling of ``-e ALL`` in parallel mode by ignoring the ``ALL`` in subprocesses -- by :user:`guahki`.
    `2167 &lt;https://github.com/tox-dev/tox/issues/2167&gt;`_
    - Prevent tox from using a truncated interpreter when using
    ``TOX_LIMITED_SHEBANG`` -- by :user:`jdknight`.
    `2208 &lt;https://github.com/tox-dev/tox/issues/2208&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Enabled the use of the favicon in the Sphinx docs first
    introduced in :pull:`764` but not integrated fully
    -- :user:`webknjaz`
    `2177 &lt;https://github.com/tox-dev/tox/issues/2177&gt;`_
    

    3.24.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--parallel`` reports now show ASCII OK/FAIL/SKIP lines when full Unicode output is not available - by :user:`brettcs`
    `1421 &lt;https://github.com/tox-dev/tox/issues/1421&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Started enforcing valid references in Sphinx docs -- :user:`webknjaz`
    `2168 &lt;https://github.com/tox-dev/tox/issues/2168&gt;`_
    

    3.24.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - include ``LC_ALL`` to implicit list of passenv variables - by :user:`ssbarnea`
    `2162 &lt;https://github.com/tox-dev/tox/issues/2162&gt;`_
    

    3.24.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``get_requires_for_build_sdist`` hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system - by :user:`oczkoisse`
    `2130 &lt;https://github.com/tox-dev/tox/issues/2130&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - The documentation of ``install_command`` now also mentions that you can provide arbitrary commands - by :user:`jugmac00`
    `2081 &lt;https://github.com/tox-dev/tox/issues/2081&gt;`_
    

    3.24.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--devenv`` no longer modifies the directory in which the ``.tox`` environment is provisioned - by :user:`isaac-ped`
    `2065 &lt;https://github.com/tox-dev/tox/issues/2065&gt;`_
    - Fix show config when the package names are not in canonical form - by :user:`gaborbernat`.
    `2103 &lt;https://github.com/tox-dev/tox/issues/2103&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Extended environment variables section - by :user:`majiang`
    `2036 &lt;https://github.com/tox-dev/tox/issues/2036&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - ``tox`` no longer shows deprecation warnings for ``distutils.sysconfig`` on
    Python 3.10 - by :user:`9999years`
    `2100 &lt;https://github.com/tox-dev/tox/issues/2100&gt;`_
    

    3.23.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Distinguish between normal Windows Python and MSYS2 Python when looking for
    virtualenv executable path.  Adds os.sep to :class:`~tox.interpreters.InterpreterInfo`
    - by :user:`jschwartzentruber`
    `1982 &lt;https://github.com/tox-dev/tox/issues/1982&gt;`_
    - Fix a ``tox-conda`` isolation build bug - by :user:`AntoineD`.
    `2056 &lt;https://github.com/tox-dev/tox/issues/2056&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Update examples in the documentation to use ``setenv`` in the ``[testenv]`` sections, not wrongly in the ``[tox]`` main section.
    - by :user:`AndreyNautilus`
    `1999 &lt;https://github.com/tox-dev/tox/issues/1999&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 6+ by :user:`hroncok`
    `1984 &lt;https://github.com/tox-dev/tox/issues/1984&gt;`_
    

    3.23.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - tox can now be invoked with a new ``--no-provision`` flag that prevents provision,
    if :conf:`requires` or :conf:`minversion` are not satisfied,
    tox will fail;
    if a path is specified as an argument to the flag
    (e.g. as ``tox --no-provision missing.json``) and provision is prevented,
    provision metadata are written as JSON to that path - by :user:`hroncok`
    `1921 &lt;https://github.com/tox-dev/tox/issues/1921&gt;`_
    - Unicode support in ``pyproject.toml`` - by :user:`domdfcoding`
    `1940 &lt;https://github.com/tox-dev/tox/issues/1940&gt;`_
    

    3.22.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - The value of the :conf:`requires` configuration option is now exposed via
    the :class:`tox.config.Config` object - by :user:`hroncok`
    `1918 &lt;https://github.com/tox-dev/tox/issues/1918&gt;`_
    

    3.21.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Adapt tests not to assume the ``easy_install`` command exists, as it was removed from ``setuptools`` 52.0.0+ - by :user:`hroncok`
    `1893 &lt;https://github.com/tox-dev/tox/issues/1893&gt;`_
    

    3.21.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix a killed tox (via SIGTERM) leaving the commands subprocesses running
    by handling it as if it were a KeyboardInterrupt - by :user:`dajose`
    `1772 &lt;https://github.com/tox-dev/tox/issues/1772&gt;`_
    

    3.21.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Newer coverage tools update the ``COV_CORE_CONTEXT`` environment variable, add it to the list of environment variables
    that can change in our pytest plugin - by :user:`gaborbernat`.
    `1854 &lt;https://github.com/tox-dev/tox/issues/1854&gt;`_
    

    3.21.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix regression that broke using install_command in config replacements - by :user:`jayvdb`
    `1777 &lt;https://github.com/tox-dev/tox/issues/1777&gt;`_
    - Fix regression parsing posargs default containing colon. - by :user:`jayvdb`
    `1785 &lt;https://github.com/tox-dev/tox/issues/1785&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Prevent .tox in envlist - by :user:`jayvdb`
    `1684 &lt;https://github.com/tox-dev/tox/issues/1684&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 4 and 5 by :user:`hroncok`
    `1799 &lt;https://github.com/tox-dev/tox/issues/1799&gt;`_
    

    3.21.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix the false ``congratulations`` message that appears when a ``KeyboardInterrupt`` occurs during package installation. - by :user:`gnikonorov`
    `1453 &lt;https://github.com/tox-dev/tox/issues/1453&gt;`_
    - Fix ``platform`` support for ``install_command``. - by :user:`jayvdb`
    `1464 &lt;https://github.com/tox-dev/tox/issues/1464&gt;`_
    - Fixed regression in v3.20.0 that caused escaped curly braces in setenv
    to break usage of the variable elsewhere in tox.ini. - by :user:`jayvdb`
    `1690 &lt;https://github.com/tox-dev/tox/issues/1690&gt;`_
    - Prevent ``{}`` and require ``{:`` is only followed by ``}``. - by :user:`jayvdb`
    `1711 &lt;https://github.com/tox-dev/tox/issues/1711&gt;`_
    - Raise ``MissingSubstitution`` on access of broken ini setting. - by :user:`jayvdb`
    `1716 &lt;https://github.com/tox-dev/tox/issues/1716&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Allow \{ and \} in default of {env:key:default}. - by :user:`jayvdb`
    `1502 &lt;https://github.com/tox-dev/tox/issues/1502&gt;`_
    - Allow {posargs} in setenv. - by :user:`jayvdb`
    `1695 &lt;https://github.com/tox-dev/tox/issues/1695&gt;`_
    - Allow {/} to refer to os.sep. - by :user:`jayvdb`
    `1700 &lt;https://github.com/tox-dev/tox/issues/1700&gt;`_
    - Make parsing [testenv] sections in setup.cfg official. - by :user:`mauvilsa`
    `1727 &lt;https://github.com/tox-dev/tox/issues/1727&gt;`_
    - Relax importlib requirement to allow 3.0.0 or any newer version - by
    :user:`pkolbus`
    `1763 &lt;https://github.com/tox-dev/tox/issues/1763&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Document more info about using ``platform`` setting. - by :user:`prakhargurunani`
    `1144 &lt;https://github.com/tox-dev/tox/issues/1144&gt;`_
    - Replace ``indexserver`` in documentation with environment variables - by :user:`ziima`.
    `1357 &lt;https://github.com/tox-dev/tox/issues/1357&gt;`_
    - Document that the ``passenv`` environment setting is case insensitive. - by :user:`gnikonorov`
    `1534 &lt;https://github.com/tox-dev/tox/issues/1534&gt;`_
    

    3.20.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Relax importlib requirement to allow version&lt;3 - by :user:`usamasadiq`
    `1682 &lt;https://github.com/tox-dev/tox/issues/1682&gt;`_
    

    3.20.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Allow hyphens and empty factors in generative section name. - by :user:`tyagdit`
    `1636 &lt;https://github.com/tox-dev/tox/issues/1636&gt;`_
    - Support for PEP517 in-tree build backend-path key in ``get-build-requires``. - by :user:`nizox`
    `1654 &lt;https://github.com/tox-dev/tox/issues/1654&gt;`_
    - Allow escaping curly braces in setenv. - by :user:`mkenigs`
    `1656 &lt;https://github.com/tox-dev/tox/issues/1656&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Support for comments within ``setenv`` and environment files via the ``files|`` prefix. - by :user:`gaborbernat`
    `1667 &lt;https://github.com/tox-dev/tox/issues/1667&gt;`_
    
    Links
    • PyPI: https://pypi.org/project/tox
    • Changelog: https://pyup.io/changelogs/tox/
    opened by pyup-bot 1
  • Update tox to 4.1.2

    Update tox to 4.1.2

    This PR updates tox from 3.19.0 to 4.1.2.

    Changelog

    3.28.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - Support provision of tox 4 with the ``min_version`` option - by :user:`hroncok`
    `2661 &lt;https://github.com/tox-dev/tox/issues/2661&gt;`_
    

    3.27.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Replaced deprecated ``license_file`` key with ``license_files`` in ``setup.cfg`` -- by :user:`mgorny`.
    `2521 &lt;https://github.com/tox-dev/tox/issues/2521&gt;`_
    - Add env cleanup to envreport - fix PYTHONPATH leak into &quot;envreport&quot; -- by :user:`f3flight`.
    `2528 &lt;https://github.com/tox-dev/tox/issues/2528&gt;`_
    

    3.27.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Dropped ``--build-option`` in isolated builds, an alternative fix for the ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2497 &lt;https://github.com/tox-dev/tox/issues/2497&gt;`_
    - Remove read-only files in ``ensure_empty_dir``.
    `2498 &lt;https://github.com/tox-dev/tox/issues/2498&gt;`_
    - Multiple tox instances no longer clobber the ``.tox`` directory when
    ``provision_tox_env`` is used. - by :user:`masenf`
    `2515 &lt;https://github.com/tox-dev/tox/issues/2515&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Clarify that ``install_command`` only takes one command - by :user:`jugmac00`
    `2433 &lt;https://github.com/tox-dev/tox/issues/2433&gt;`_
    - Documented problems with plugin and provision env - by :user:`ziima`.
    `2469 &lt;https://github.com/tox-dev/tox/issues/2469&gt;`_
    

    3.26.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix fallback to ``python`` environment when ``isolated_build = true`` is set -- by :user:`Unrud`
    `2474 &lt;https://github.com/tox-dev/tox/issues/2474&gt;`_
    - Fixed ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2478 &lt;https://github.com/tox-dev/tox/issues/2478&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Use ``tomllib`` on Python 3.11 or later and ``tomli`` instead of ``toml`` library on lower versions - by :user:`hroncok`.
    `2463 &lt;https://github.com/tox-dev/tox/issues/2463&gt;`_
    

    3.25.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``sitepackages = true`` will add user&#x27;s site-package to the python path on Windows as expected -- by :user:`niander`
    `2402 &lt;https://github.com/tox-dev/tox/issues/2402&gt;`_
    - Avoid importing ``pipes`` on Python 3.3+ to avoid ``DeprecationWarning`` on Python 3.11 -- by :user:`adamchainz`
    `2417 &lt;https://github.com/tox-dev/tox/issues/2417&gt;`_
    - Fix ``isolated_build`` when the build process produces stderr at exit.
    `2449 &lt;https://github.com/tox-dev/tox/issues/2449&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Explain advantages of ``PIP_CONSTRAINT`` environment variable over ``--constraint`` argument.
    `2423 &lt;https://github.com/tox-dev/tox/issues/2423&gt;`_
    

    3.25.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed failing isolated_build because setuptools warning was captured
    in ``build_requires``. -- by :user:`zariiii9003`
    `2332 &lt;https://github.com/tox-dev/tox/issues/2332&gt;`_
    - Avoid potential 30s delay caused by socket.getfqdn(). -- by :user:`ssbarnea`
    `2375 &lt;https://github.com/tox-dev/tox/issues/2375&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Ignore missing commands if they are prefixed by ``-``
    -- by :user:`cdown`.
    `2315 &lt;https://github.com/tox-dev/tox/issues/2315&gt;`_
    - Add default environment variables (such as http_proxy) regardless of their case to passenv on UNIX -- by :user:`poggenhans`.
    `2372 &lt;https://github.com/tox-dev/tox/issues/2372&gt;`_
    - On Windows ``PROGRAMFILES``, ``PROGRAMFILES(X86)``, and ``PROGRAMDATA`` environment variables are now passed through, unmasking system values necessary to locate resources such as a C compiler.
    `2382 &lt;https://github.com/tox-dev/tox/issues/2382&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Deleted the tox mailing list -- by :user:`jugmac00`
    `2364 &lt;https://github.com/tox-dev/tox/issues/2364&gt;`_
    

    3.24.5

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed an issue where ``usedevelop`` would cause an invocation error if setup.py does not exist. -- by :user:`VincentVanlaer`
    `2197 &lt;https://github.com/tox-dev/tox/issues/2197&gt;`_
    

    3.24.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed handling of ``-e ALL`` in parallel mode by ignoring the ``ALL`` in subprocesses -- by :user:`guahki`.
    `2167 &lt;https://github.com/tox-dev/tox/issues/2167&gt;`_
    - Prevent tox from using a truncated interpreter when using
    ``TOX_LIMITED_SHEBANG`` -- by :user:`jdknight`.
    `2208 &lt;https://github.com/tox-dev/tox/issues/2208&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Enabled the use of the favicon in the Sphinx docs first
    introduced in :pull:`764` but not integrated fully
    -- :user:`webknjaz`
    `2177 &lt;https://github.com/tox-dev/tox/issues/2177&gt;`_
    

    3.24.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--parallel`` reports now show ASCII OK/FAIL/SKIP lines when full Unicode output is not available - by :user:`brettcs`
    `1421 &lt;https://github.com/tox-dev/tox/issues/1421&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Started enforcing valid references in Sphinx docs -- :user:`webknjaz`
    `2168 &lt;https://github.com/tox-dev/tox/issues/2168&gt;`_
    

    3.24.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - include ``LC_ALL`` to implicit list of passenv variables - by :user:`ssbarnea`
    `2162 &lt;https://github.com/tox-dev/tox/issues/2162&gt;`_
    

    3.24.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``get_requires_for_build_sdist`` hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system - by :user:`oczkoisse`
    `2130 &lt;https://github.com/tox-dev/tox/issues/2130&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - The documentation of ``install_command`` now also mentions that you can provide arbitrary commands - by :user:`jugmac00`
    `2081 &lt;https://github.com/tox-dev/tox/issues/2081&gt;`_
    

    3.24.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``--devenv`` no longer modifies the directory in which the ``.tox`` environment is provisioned - by :user:`isaac-ped`
    `2065 &lt;https://github.com/tox-dev/tox/issues/2065&gt;`_
    - Fix show config when the package names are not in canonical form - by :user:`gaborbernat`.
    `2103 &lt;https://github.com/tox-dev/tox/issues/2103&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Extended environment variables section - by :user:`majiang`
    `2036 &lt;https://github.com/tox-dev/tox/issues/2036&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - ``tox`` no longer shows deprecation warnings for ``distutils.sysconfig`` on
    Python 3.10 - by :user:`9999years`
    `2100 &lt;https://github.com/tox-dev/tox/issues/2100&gt;`_
    

    3.23.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Distinguish between normal Windows Python and MSYS2 Python when looking for
    virtualenv executable path.  Adds os.sep to :class:`~tox.interpreters.InterpreterInfo`
    - by :user:`jschwartzentruber`
    `1982 &lt;https://github.com/tox-dev/tox/issues/1982&gt;`_
    - Fix a ``tox-conda`` isolation build bug - by :user:`AntoineD`.
    `2056 &lt;https://github.com/tox-dev/tox/issues/2056&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Update examples in the documentation to use ``setenv`` in the ``[testenv]`` sections, not wrongly in the ``[tox]`` main section.
    - by :user:`AndreyNautilus`
    `1999 &lt;https://github.com/tox-dev/tox/issues/1999&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 6+ by :user:`hroncok`
    `1984 &lt;https://github.com/tox-dev/tox/issues/1984&gt;`_
    

    3.23.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - tox can now be invoked with a new ``--no-provision`` flag that prevents provision,
    if :conf:`requires` or :conf:`minversion` are not satisfied,
    tox will fail;
    if a path is specified as an argument to the flag
    (e.g. as ``tox --no-provision missing.json``) and provision is prevented,
    provision metadata are written as JSON to that path - by :user:`hroncok`
    `1921 &lt;https://github.com/tox-dev/tox/issues/1921&gt;`_
    - Unicode support in ``pyproject.toml`` - by :user:`domdfcoding`
    `1940 &lt;https://github.com/tox-dev/tox/issues/1940&gt;`_
    

    3.22.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - The value of the :conf:`requires` configuration option is now exposed via
    the :class:`tox.config.Config` object - by :user:`hroncok`
    `1918 &lt;https://github.com/tox-dev/tox/issues/1918&gt;`_
    

    3.21.4

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Adapt tests not to assume the ``easy_install`` command exists, as it was removed from ``setuptools`` 52.0.0+ - by :user:`hroncok`
    `1893 &lt;https://github.com/tox-dev/tox/issues/1893&gt;`_
    

    3.21.3

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix a killed tox (via SIGTERM) leaving the commands subprocesses running
    by handling it as if it were a KeyboardInterrupt - by :user:`dajose`
    `1772 &lt;https://github.com/tox-dev/tox/issues/1772&gt;`_
    

    3.21.2

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Newer coverage tools update the ``COV_CORE_CONTEXT`` environment variable, add it to the list of environment variables
    that can change in our pytest plugin - by :user:`gaborbernat`.
    `1854 &lt;https://github.com/tox-dev/tox/issues/1854&gt;`_
    

    3.21.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix regression that broke using install_command in config replacements - by :user:`jayvdb`
    `1777 &lt;https://github.com/tox-dev/tox/issues/1777&gt;`_
    - Fix regression parsing posargs default containing colon. - by :user:`jayvdb`
    `1785 &lt;https://github.com/tox-dev/tox/issues/1785&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Prevent .tox in envlist - by :user:`jayvdb`
    `1684 &lt;https://github.com/tox-dev/tox/issues/1684&gt;`_
    
    
    Miscellaneous
    ^^^^^^^^^^^^^
    
    - Enable building tox with ``setuptools_scm`` 4 and 5 by :user:`hroncok`
    `1799 &lt;https://github.com/tox-dev/tox/issues/1799&gt;`_
    

    3.21.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix the false ``congratulations`` message that appears when a ``KeyboardInterrupt`` occurs during package installation. - by :user:`gnikonorov`
    `1453 &lt;https://github.com/tox-dev/tox/issues/1453&gt;`_
    - Fix ``platform`` support for ``install_command``. - by :user:`jayvdb`
    `1464 &lt;https://github.com/tox-dev/tox/issues/1464&gt;`_
    - Fixed regression in v3.20.0 that caused escaped curly braces in setenv
    to break usage of the variable elsewhere in tox.ini. - by :user:`jayvdb`
    `1690 &lt;https://github.com/tox-dev/tox/issues/1690&gt;`_
    - Prevent ``{}`` and require ``{:`` is only followed by ``}``. - by :user:`jayvdb`
    `1711 &lt;https://github.com/tox-dev/tox/issues/1711&gt;`_
    - Raise ``MissingSubstitution`` on access of broken ini setting. - by :user:`jayvdb`
    `1716 &lt;https://github.com/tox-dev/tox/issues/1716&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Allow \{ and \} in default of {env:key:default}. - by :user:`jayvdb`
    `1502 &lt;https://github.com/tox-dev/tox/issues/1502&gt;`_
    - Allow {posargs} in setenv. - by :user:`jayvdb`
    `1695 &lt;https://github.com/tox-dev/tox/issues/1695&gt;`_
    - Allow {/} to refer to os.sep. - by :user:`jayvdb`
    `1700 &lt;https://github.com/tox-dev/tox/issues/1700&gt;`_
    - Make parsing [testenv] sections in setup.cfg official. - by :user:`mauvilsa`
    `1727 &lt;https://github.com/tox-dev/tox/issues/1727&gt;`_
    - Relax importlib requirement to allow 3.0.0 or any newer version - by
    :user:`pkolbus`
    `1763 &lt;https://github.com/tox-dev/tox/issues/1763&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Document more info about using ``platform`` setting. - by :user:`prakhargurunani`
    `1144 &lt;https://github.com/tox-dev/tox/issues/1144&gt;`_
    - Replace ``indexserver`` in documentation with environment variables - by :user:`ziima`.
    `1357 &lt;https://github.com/tox-dev/tox/issues/1357&gt;`_
    - Document that the ``passenv`` environment setting is case insensitive. - by :user:`gnikonorov`
    `1534 &lt;https://github.com/tox-dev/tox/issues/1534&gt;`_
    

    3.20.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Relax importlib requirement to allow version&lt;3 - by :user:`usamasadiq`
    `1682 &lt;https://github.com/tox-dev/tox/issues/1682&gt;`_
    

    3.20.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Allow hyphens and empty factors in generative section name. - by :user:`tyagdit`
    `1636 &lt;https://github.com/tox-dev/tox/issues/1636&gt;`_
    - Support for PEP517 in-tree build backend-path key in ``get-build-requires``. - by :user:`nizox`
    `1654 &lt;https://github.com/tox-dev/tox/issues/1654&gt;`_
    - Allow escaping curly braces in setenv. - by :user:`mkenigs`
    `1656 &lt;https://github.com/tox-dev/tox/issues/1656&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Support for comments within ``setenv`` and environment files via the ``files|`` prefix. - by :user:`gaborbernat`
    `1667 &lt;https://github.com/tox-dev/tox/issues/1667&gt;`_
    
    Links
    • PyPI: https://pypi.org/project/tox
    • Changelog: https://pyup.io/changelogs/tox/
    opened by pyup-bot 0
  • Update sphinx to 6.0.0

    Update sphinx to 6.0.0

    This PR updates Sphinx from 3.2.0 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
    
    Links
    • PyPI: https://pypi.org/project/sphinx
    • Changelog: https://pyup.io/changelogs/sphinx/
    opened by pyup-bot 0
  • Update coverage to 7.0.1

    Update coverage to 7.0.1

    This PR updates coverage from 5.2.1 to 7.0.1.

    Changelog

    7.0.1

    --------------------------
    
    - When checking if a file mapping resolved to a file that exists, we weren&#x27;t
    considering files in .whl files.  This is now fixed, closing `issue 1511`_.
    
    - File pattern rules were too strict, forbidding plus signs and curly braces in
    directory and file names.  This is now fixed, closing `issue 1513`_.
    
    - Unusual Unicode or control characters in source files could prevent
    reporting.  This is now fixed, closing `issue 1512`_.
    
    - The PyPy wheel now installs on PyPy 3.7, 3.8, and 3.9, closing `issue 1510`_.
    
    .. _issue 1510: https://github.com/nedbat/coveragepy/issues/1510
    .. _issue 1511: https://github.com/nedbat/coveragepy/issues/1511
    .. _issue 1512: https://github.com/nedbat/coveragepy/issues/1512
    .. _issue 1513: https://github.com/nedbat/coveragepy/issues/1513
    
    
    .. _changes_7-0-0:
    

    7.0.0

    --------------------------
    
    Nothing new beyond 7.0.0b1.
    
    
    .. _changes_7-0-0b1:
    

    7.0.0b1

    &lt;changes_7-0-0b1_&gt;`_.)
    
    - Changes to file pattern matching, which might require updating your
    configuration:
    
    - Previously, ``*`` would incorrectly match directory separators, making
     precise matching difficult.  This is now fixed, closing `issue 1407`_.
    
    - Now ``**`` matches any number of nested directories, including none.
    
    - Improvements to combining data files when using the
    :ref:`config_run_relative_files` setting:
    
    - During ``coverage combine``, relative file paths are implicitly combined
     without needing a ``[paths]`` configuration setting.  This also fixed
     `issue 991`_.
    
    - A ``[paths]`` setting like ``*/foo`` will now match ``foo/bar.py`` so that
     relative file paths can be combined more easily.
    
    - The setting is properly interpreted in more places, fixing `issue 1280`_.
    
    - Fixed environment variable expansion in pyproject.toml files.  It was overly
    broad, causing errors outside of coverage.py settings, as described in `issue
    1481`_ and `issue 1345`_.  This is now fixed, but in rare cases will require
    changing your pyproject.toml to quote non-string values that use environment
    substitution.
    
    - Fixed internal logic that prevented coverage.py from running on
    implementations other than CPython or PyPy (`issue 1474`_).
    
    .. _issue 991: https://github.com/nedbat/coveragepy/issues/991
    .. _issue 1280: https://github.com/nedbat/coveragepy/issues/1280
    .. _issue 1345: https://github.com/nedbat/coveragepy/issues/1345
    .. _issue 1407: https://github.com/nedbat/coveragepy/issues/1407
    .. _issue 1474: https://github.com/nedbat/coveragepy/issues/1474
    .. _issue 1481: https://github.com/nedbat/coveragepy/issues/1481
    
    
    .. _changes_6-5-0:
    

    6.6.0

    - Changes to file pattern matching, which might require updating your
    configuration:
    
    - Previously, ``*`` would incorrectly match directory separators, making
     precise matching difficult.  This is now fixed, closing `issue 1407`_.
    
    - Now ``**`` matches any number of nested directories, including none.
    
    - Improvements to combining data files when using the
    :ref:`config_run_relative_files` setting, which might require updating your
    configuration:
    
    - During ``coverage combine``, relative file paths are implicitly combined
     without needing a ``[paths]`` configuration setting.  This also fixed
     `issue 991`_.
    
    - A ``[paths]`` setting like ``*/foo`` will now match ``foo/bar.py`` so that
     relative file paths can be combined more easily.
    
    - The :ref:`config_run_relative_files` setting is properly interpreted in
     more places, fixing `issue 1280`_.
    
    - When remapping file paths with ``[paths]``, a path will be remapped only if
    the resulting path exists.  The documentation has long said the prefix had to
    exist, but it was never enforced.  This fixes `issue 608`_, improves `issue
    649`_, and closes `issue 757`_.
    
    - Reporting operations now implicitly use the ``[paths]`` setting to remap file
    paths within a single data file.  Combining multiple files still requires the
    ``coverage combine`` step, but this simplifies some single-file situations.
    Closes `issue 1212`_ and `issue 713`_.
    
    - The ``coverage report`` command now has a ``--format=`` option.  The original
    style is now ``--format=text``, and is the default.
    
    - Using ``--format=markdown`` will write the table in Markdown format, thanks
     to `Steve Oswald &lt;pull 1479_&gt;`_, closing `issue 1418`_.
    
    - Using ``--format=total`` will write a single total number to the
     output.  This can be useful for making badges or writing status updates.
    
    - Combining data files with ``coverage combine`` now hashes the data files to
    skip files that add no new information.  This can reduce the time needed.
    Many details affect the speed-up, but for coverage.py&#x27;s own test suite,
    combining is about 40% faster. Closes `issue 1483`_.
    
    - When searching for completely un-executed files, coverage.py uses the
    presence of ``__init__.py`` files to determine which directories have source
    that could have been imported.  However, `implicit namespace packages`_ don&#x27;t
    require ``__init__.py``.  A new setting ``[report]
    include_namespace_packages`` tells coverage.py to consider these directories
    during reporting.  Thanks to `Felix Horvat &lt;pull 1387_&gt;`_ for the
    contribution.  Closes `issue 1383`_ and `issue 1024`_.
    
    - Fixed environment variable expansion in pyproject.toml files.  It was overly
    broad, causing errors outside of coverage.py settings, as described in `issue
    1481`_ and `issue 1345`_.  This is now fixed, but in rare cases will require
    changing your pyproject.toml to quote non-string values that use environment
    substitution.
    
    - An empty file has a coverage total of 100%, but used to fail with
    ``--fail-under``.  This has been fixed, closing `issue 1470`_.
    
    - The text report table no longer writes out two separator lines if there are
    no files listed in the table.  One is plenty.
    
    - Fixed a mis-measurement of a strange use of wildcard alternatives in
    match/case statements, closing `issue 1421`_.
    
    - Fixed internal logic that prevented coverage.py from running on
    implementations other than CPython or PyPy (`issue 1474`_).
    
    - The deprecated ``[run] note`` setting has been completely removed.
    
    .. _implicit namespace packages: https://peps.python.org/pep-0420/
    .. _issue 608: https://github.com/nedbat/coveragepy/issues/608
    .. _issue 649: https://github.com/nedbat/coveragepy/issues/649
    .. _issue 713: https://github.com/nedbat/coveragepy/issues/713
    .. _issue 757: https://github.com/nedbat/coveragepy/issues/757
    .. _issue 991: https://github.com/nedbat/coveragepy/issues/991
    .. _issue 1024: https://github.com/nedbat/coveragepy/issues/1024
    .. _issue 1212: https://github.com/nedbat/coveragepy/issues/1212
    .. _issue 1280: https://github.com/nedbat/coveragepy/issues/1280
    .. _issue 1345: https://github.com/nedbat/coveragepy/issues/1345
    .. _issue 1383: https://github.com/nedbat/coveragepy/issues/1383
    .. _issue 1407: https://github.com/nedbat/coveragepy/issues/1407
    .. _issue 1418: https://github.com/nedbat/coveragepy/issues/1418
    .. _issue 1421: https://github.com/nedbat/coveragepy/issues/1421
    .. _issue 1470: https://github.com/nedbat/coveragepy/issues/1470
    .. _issue 1474: https://github.com/nedbat/coveragepy/issues/1474
    .. _issue 1481: https://github.com/nedbat/coveragepy/issues/1481
    .. _issue 1483: https://github.com/nedbat/coveragepy/issues/1483
    .. _pull 1387: https://github.com/nedbat/coveragepy/pull/1387
    .. _pull 1479: https://github.com/nedbat/coveragepy/pull/1479
    
    
    
    .. _changes_6-6-0b1:
    

    6.6.0b1

    ----------------------------
    

    6.5.0

    --------------------------
    
    - The JSON report now includes details of which branches were taken, and which
    are missing for each file. Thanks, `Christoph Blessing &lt;pull 1438_&gt;`_. Closes
    `issue 1425`_.
    
    - Starting with coverage.py 6.2, ``class`` statements were marked as a branch.
    This wasn&#x27;t right, and has been reverted, fixing `issue 1449`_. Note this
    will very slightly reduce your coverage total if you are measuring branch
    coverage.
    
    - Packaging is now compliant with `PEP 517`_, closing `issue 1395`_.
    
    - A new debug option ``--debug=pathmap`` shows details of the remapping of
    paths that happens during combine due to the ``[paths]`` setting.
    
    - Fix an internal problem with caching of invalid Python parsing. Found by
    OSS-Fuzz, fixing their `bug 50381`_.
    
    .. _bug 50381: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50381
    .. _PEP 517: https://peps.python.org/pep-0517/
    .. _issue 1395: https://github.com/nedbat/coveragepy/issues/1395
    .. _issue 1425: https://github.com/nedbat/coveragepy/issues/1425
    .. _issue 1449: https://github.com/nedbat/coveragepy/issues/1449
    .. _pull 1438: https://github.com/nedbat/coveragepy/pull/1438
    
    
    .. _changes_6-4-4:
    

    6.4.4

    --------------------------
    
    - Wheels are now provided for Python 3.11.
    
    
    .. _changes_6-4-3:
    

    6.4.3

    --------------------------
    
    - Fix a failure when combining data files if the file names contained glob-like
    patterns.  Thanks, `Michael Krebs and Benjamin Schubert &lt;pull 1405_&gt;`_.
    
    - Fix a messaging failure when combining Windows data files on a different
    drive than the current directory, closing `issue 1428`_.  Thanks, `Lorenzo
    Micò &lt;pull 1430_&gt;`_.
    
    - Fix path calculations when running in the root directory, as you might do in
    a Docker container. Thanks `Arthur Rio &lt;pull 1403_&gt;`_.
    
    - Filtering in the HTML report wouldn&#x27;t work when reloading the index page.
    This is now fixed.  Thanks, `Marc Legendre &lt;pull 1413_&gt;`_.
    
    - Fix a problem with Cython code measurement, closing `issue 972`_.  Thanks,
    `Matus Valo &lt;pull 1347_&gt;`_.
    
    .. _issue 972: https://github.com/nedbat/coveragepy/issues/972
    .. _issue 1428: https://github.com/nedbat/coveragepy/issues/1428
    .. _pull 1347: https://github.com/nedbat/coveragepy/pull/1347
    .. _pull 1403: https://github.com/nedbat/coveragepy/issues/1403
    .. _pull 1405: https://github.com/nedbat/coveragepy/issues/1405
    .. _pull 1413: https://github.com/nedbat/coveragepy/issues/1413
    .. _pull 1430: https://github.com/nedbat/coveragepy/pull/1430
    
    
    .. _changes_6-4-2:
    

    6.4.2

    --------------------------
    
    - Updated for a small change in Python 3.11.0 beta 4: modules now start with a
    line with line number 0, which is ignored.  This line cannot be executed, so
    coverage totals were thrown off.  This line is now ignored by coverage.py,
    but this also means that truly empty modules (like ``__init__.py``) have no
    lines in them, rather than one phantom line.  Fixes `issue 1419`_.
    
    - Internal debugging data added to sys.modules is now an actual module, to
    avoid confusing code that examines everything in sys.modules.  Thanks,
    `Yilei Yang &lt;pull 1399_&gt;`_.
    
    .. _issue 1419: https://github.com/nedbat/coveragepy/issues/1419
    .. _pull 1399: https://github.com/nedbat/coveragepy/pull/1399
    
    
    .. _changes_6-4-1:
    

    6.4.1

    --------------------------
    
    - Greatly improved performance on PyPy, and other environments that need the
    pure Python trace function.  Thanks, Carl Friedrich Bolz-Tereick (`pull
    1381`_ and `pull 1388`_).  Slightly improved performance when using the C
    trace function, as most environments do.  Closes `issue 1339`_.
    
    - The conditions for using tomllib from the standard library have been made
    more precise, so that 3.11 alphas will continue to work. Closes `issue
    1390`_.
    
    .. _issue 1339: https://github.com/nedbat/coveragepy/issues/1339
    .. _pull 1381: https://github.com/nedbat/coveragepy/pull/1381
    .. _pull 1388: https://github.com/nedbat/coveragepy/pull/1388
    .. _issue 1390: https://github.com/nedbat/coveragepy/issues/1390
    
    
    .. _changes_64:
    

    6.4

    ------------------------
    
    - A new setting, :ref:`config_run_sigterm`, controls whether a SIGTERM signal
    handler is used.  In 6.3, the signal handler was always installed, to capture
    data at unusual process ends.  Unfortunately, this introduced other problems
    (see `issue 1310`_).  Now the signal handler is only used if you opt-in by
    setting ``[run] sigterm = true``.
    
    - Small changes to the HTML report:
    
    - Added links to next and previous file, and more keyboard shortcuts: ``[``
     and ``]`` for next file and previous file; ``u`` for up to the index; and
     ``?`` to open/close the help panel.  Thanks, `J. M. F. Tsang
     &lt;pull 1364_&gt;`_.
    
    - The time stamp and version are displayed at the top of the report.  Thanks,
     `Ammar Askar &lt;pull 1354_&gt;`_. Closes `issue 1351`_.
    
    - A new debug option ``debug=sqldata`` adds more detail to ``debug=sql``,
    logging all the data being written to the database.
    
    - Previously, running ``coverage report`` (or any of the reporting commands) in
    an empty directory would create a .coverage data file.  Now they do not,
    fixing `issue 1328`_.
    
    - On Python 3.11, the ``[toml]`` extra no longer installs tomli, instead using
    tomllib from the standard library.  Thanks `Shantanu &lt;pull 1359_&gt;`_.
    
    - In-memory CoverageData objects now properly update(), closing `issue 1323`_.
    
    .. _issue 1310: https://github.com/nedbat/coveragepy/issues/1310
    .. _issue 1323: https://github.com/nedbat/coveragepy/issues/1323
    .. _issue 1328: https://github.com/nedbat/coveragepy/issues/1328
    .. _issue 1351: https://github.com/nedbat/coveragepy/issues/1351
    .. _pull 1354: https://github.com/nedbat/coveragepy/pull/1354
    .. _pull 1359: https://github.com/nedbat/coveragepy/pull/1359
    .. _pull 1364: https://github.com/nedbat/coveragepy/pull/1364
    
    
    .. _changes_633:
    

    6.3.3

    --------------------------
    
    - Fix: Coverage.py now builds successfully on CPython 3.11 (3.11.0b1) again.
    Closes `issue 1367`_.  Some results for generators may have changed.
    
    .. _issue 1367: https://github.com/nedbat/coveragepy/issues/1367
    
    
    .. _changes_632:
    

    6.3.2

    --------------------------
    
    - Fix: adapt to pypy3.9&#x27;s decorator tracing behavior.  It now traces function
    decorators like CPython 3.8: both the -line and the def-line are traced.
    Fixes `issue 1326`_.
    
    - Debug: added ``pybehave`` to the list of :ref:`coverage debug &lt;cmd_debug&gt;`
    and :ref:`cmd_run_debug` options.
    
    - Fix: show an intelligible error message if ``--concurrency=multiprocessing``
    is used without a configuration file.  Closes `issue 1320`_.
    
    .. _issue 1320: https://github.com/nedbat/coveragepy/issues/1320
    .. _issue 1326: https://github.com/nedbat/coveragepy/issues/1326
    
    
    .. _changes_631:
    

    6.3.1

    --------------------------
    
    - Fix: deadlocks could occur when terminating processes.  Some of these
    deadlocks (described in `issue 1310`_) are now fixed.
    
    - Fix: a signal handler was being set from multiple threads, causing an error:
    &quot;ValueError: signal only works in main thread&quot;.  This is now fixed, closing
    `issue 1312`_.
    
    - Fix: ``--precision`` on the command-line was being ignored while considering
    ``--fail-under``.  This is now fixed, thanks to
    `Marcelo Trylesinski &lt;pull 1317_&gt;`_.
    
    - Fix: releases no longer provide 3.11.0-alpha wheels. Coverage.py uses CPython
    internal fields which are moving during the alpha phase. Fixes `issue 1316`_.
    
    .. _issue 1310: https://github.com/nedbat/coveragepy/issues/1310
    .. _issue 1312: https://github.com/nedbat/coveragepy/issues/1312
    .. _issue 1316: https://github.com/nedbat/coveragepy/issues/1316
    .. _pull 1317: https://github.com/nedbat/coveragepy/pull/1317
    
    
    .. _changes_63:
    

    6.3

    ------------------------
    
    - Feature: Added the ``lcov`` command to generate reports in LCOV format.
    Thanks, `Bradley Burns &lt;pull 1289_&gt;`_. Closes issues `587 &lt;issue 587_&gt;`_
    and `626 &lt;issue 626_&gt;`_.
    
    - Feature: the coverage data file can now be specified on the command line with
    the ``--data-file`` option in any command that reads or writes data.  This is
    in addition to the existing ``COVERAGE_FILE`` environment variable.  Closes
    `issue 624`_. Thanks, `Nikita Bloshchanevich &lt;pull 1304_&gt;`_.
    
    - Feature: coverage measurement data will now be written when a SIGTERM signal
    is received by the process.  This includes
    :meth:`Process.terminate &lt;python:multiprocessing.Process.terminate&gt;`,
    and other ways to terminate a process.  Currently this is only on Linux and
    Mac; Windows is not supported.  Fixes `issue 1307`_.
    
    - Dropped support for Python 3.6, which reached end-of-life on 2021-12-23.
    
    - Updated Python 3.11 support to 3.11.0a4, fixing `issue 1294`_.
    
    - Fix: the coverage data file is now created in a more robust way, to avoid
    problems when multiple processes are trying to write data at once. Fixes
    issues `1303 &lt;issue 1303_&gt;`_ and `883 &lt;issue 883_&gt;`_.
    
    - Fix: a .gitignore file will only be written into the HTML report output
    directory if the directory is empty.  This should prevent certain unfortunate
    accidents of writing the file where it is not wanted.
    
    - Releases now have MacOS arm64 wheels for Apple Silicon, fixing `issue 1288`_.
    
    .. _issue 587: https://github.com/nedbat/coveragepy/issues/587
    .. _issue 624: https://github.com/nedbat/coveragepy/issues/624
    .. _issue 626: https://github.com/nedbat/coveragepy/issues/626
    .. _issue 883: https://github.com/nedbat/coveragepy/issues/883
    .. _issue 1288: https://github.com/nedbat/coveragepy/issues/1288
    .. _issue 1294: https://github.com/nedbat/coveragepy/issues/1294
    .. _issue 1303: https://github.com/nedbat/coveragepy/issues/1303
    .. _issue 1307: https://github.com/nedbat/coveragepy/issues/1307
    .. _pull 1289: https://github.com/nedbat/coveragepy/pull/1289
    .. _pull 1304: https://github.com/nedbat/coveragepy/pull/1304
    
    
    .. _changes_62:
    

    6.2

    ------------------------
    
    - Feature: Now the ``--concurrency`` setting can now have a list of values, so
    that threads and another lightweight threading package can be measured
    together, such as ``--concurrency=gevent,thread``.  Closes `issue 1012`_ and
    `issue 1082`_.
    
    - Fix: A module specified as the ``source`` setting is imported during startup,
    before the user program imports it.  This could cause problems if the rest of
    the program isn&#x27;t ready yet.  For example, `issue 1203`_ describes a Django
    setting that is accessed before settings have been configured.  Now the early
    import is wrapped in a try/except so errors then don&#x27;t stop execution.
    
    - Fix: A colon in a decorator expression would cause an exclusion to end too
    early, preventing the exclusion of the decorated function. This is now fixed.
    
    - Fix: The HTML report now will not overwrite a .gitignore file that already
    exists in the HTML output directory (follow-on for `issue 1244`_).
    
    - API: The exceptions raised by Coverage.py have been specialized, to provide
    finer-grained catching of exceptions by third-party code.
    
    - API: Using ``suffix=False`` when constructing a Coverage object with
    multiprocessing wouldn&#x27;t suppress the data file suffix (`issue 989`_).  This
    is now fixed.
    
    - Debug: The ``coverage debug data`` command will now sniff out combinable data
    files, and report on all of them.
    
    - Debug: The ``coverage debug`` command used to accept a number of topics at a
    time, and show all of them, though this was never documented.  This no longer
    works, to allow for command-line options in the future.
    
    .. _issue 989: https://github.com/nedbat/coveragepy/issues/989
    .. _issue 1012: https://github.com/nedbat/coveragepy/issues/1012
    .. _issue 1082: https://github.com/nedbat/coveragepy/issues/1082
    .. _issue 1203: https://github.com/nedbat/coveragepy/issues/1203
    
    
    .. _changes_612:
    

    6.1.2

    --------------------------
    
    - Python 3.11 is supported (tested with 3.11.0a2).  One still-open issue has to
    do with `exits through with-statements &lt;issue 1270_&gt;`_.
    
    - Fix: When remapping file paths through the ``[paths]`` setting while
    combining, the ``[run] relative_files`` setting was ignored, resulting in
    absolute paths for remapped file names (`issue 1147`_).  This is now fixed.
    
    - Fix: Complex conditionals over excluded lines could have incorrectly reported
    a missing branch (`issue 1271`_). This is now fixed.
    
    - Fix: More exceptions are now handled when trying to parse source files for
    reporting.  Problems that used to terminate coverage.py can now be handled
    with ``[report] ignore_errors``.  This helps with plugins failing to read
    files (`django_coverage_plugin issue 78`_).
    
    - Fix: Removed another vestige of jQuery from the source tarball
    (`issue 840`_).
    
    - Fix: Added a default value for a new-to-6.x argument of an internal class.
    This unsupported class is being used by coveralls (`issue 1273`_). Although
    I&#x27;d rather not &quot;fix&quot; unsupported interfaces, it&#x27;s actually nicer with a
    default value.
    
    .. _django_coverage_plugin issue 78: https://github.com/nedbat/django_coverage_plugin/issues/78
    .. _issue 1147: https://github.com/nedbat/coveragepy/issues/1147
    .. _issue 1270: https://github.com/nedbat/coveragepy/issues/1270
    .. _issue 1271: https://github.com/nedbat/coveragepy/issues/1271
    .. _issue 1273: https://github.com/nedbat/coveragepy/issues/1273
    
    
    .. _changes_611:
    

    6.1.1

    --------------------------
    
    - Fix: The sticky header on the HTML report didn&#x27;t work unless you had branch
    coverage enabled. This is now fixed: the sticky header works for everyone.
    (Do people still use coverage without branch measurement!? j/k)
    
    - Fix: When using explicitly declared namespace packages, the &quot;already imported
    a file that will be measured&quot; warning would be issued (`issue 888`_).  This
    is now fixed.
    
    .. _issue 888: https://github.com/nedbat/coveragepy/issues/888
    
    
    .. _changes_61:
    

    6.1

    ------------------------
    
    - Deprecated: The ``annotate`` command and the ``Coverage.annotate`` function
    will be removed in a future version, unless people let me know that they are
    using it.  Instead, the ``html`` command gives better-looking (and more
    accurate) output, and the ``report -m`` command will tell you line numbers of
    missing lines.  Please get in touch if you have a reason to use ``annotate``
    over those better options: nednedbatchelder.com.
    
    - Feature: Coverage now sets an environment variable, ``COVERAGE_RUN`` when
    running your code with the ``coverage run`` command.  The value is not
    important, and may change in the future.  Closes `issue 553`_.
    
    - Feature: The HTML report pages for Python source files now have a sticky
    header so the file name and controls are always visible.
    
    - Feature: The ``xml`` and ``json`` commands now describe what they wrote
    where.
    
    - Feature: The ``html``, ``combine``, ``xml``, and ``json`` commands all accept
    a ``-q/--quiet`` option to suppress the messages they write to stdout about
    what they are doing (`issue 1254`_).
    
    - Feature: The ``html`` command writes a ``.gitignore`` file into the HTML
    output directory, to prevent the report from being committed to git.  If you
    want to commit it, you will need to delete that file.  Closes `issue 1244`_.
    
    - Feature: Added support for PyPy 3.8.
    
    - Fix: More generated code is now excluded from measurement.  Code such as
    `attrs`_ boilerplate, or doctest code, was being measured though the
    synthetic line numbers meant they were never reported.  Once Cython was
    involved though, the generated .so files were parsed as Python, raising
    syntax errors, as reported in `issue 1160`_.  This is now fixed.
    
    - Fix: When sorting human-readable names, numeric components are sorted
    correctly: file10.py will appear after file9.py.  This applies to file names,
    module names, environment variables, and test contexts.
    
    - Performance: Branch coverage measurement is faster, though you might only
    notice on code that is executed many times, such as long-running loops.
    
    - Build: jQuery is no longer used or vendored (`issue 840`_ and `issue 1118`_).
    Huge thanks to Nils Kattenbeck (septatrix) for the conversion to vanilla
    JavaScript in `pull request 1248`_.
    
    .. _issue 553: https://github.com/nedbat/coveragepy/issues/553
    .. _issue 840: https://github.com/nedbat/coveragepy/issues/840
    .. _issue 1118: https://github.com/nedbat/coveragepy/issues/1118
    .. _issue 1160: https://github.com/nedbat/coveragepy/issues/1160
    .. _issue 1244: https://github.com/nedbat/coveragepy/issues/1244
    .. _pull request 1248: https://github.com/nedbat/coveragepy/pull/1248
    .. _issue 1254: https://github.com/nedbat/coveragepy/issues/1254
    .. _attrs: https://www.attrs.org/
    
    
    .. _changes_602:
    

    6.0.2

    --------------------------
    
    - Namespace packages being measured weren&#x27;t properly handled by the new code
    that ignores third-party packages. If the namespace package was installed, it
    was ignored as a third-party package.  That problem (`issue 1231`_) is now
    fixed.
    
    - Packages named as &quot;source packages&quot; (with ``source``, or ``source_pkgs``, or
    pytest-cov&#x27;s ``--cov``) might have been only partially measured.  Their
    top-level statements could be marked as un-executed, because they were
    imported by coverage.py before measurement began (`issue 1232`_).  This is
    now fixed, but the package will be imported twice, once by coverage.py, then
    again by your test suite.  This could cause problems if importing the package
    has side effects.
    
    - The :meth:`.CoverageData.contexts_by_lineno` method was documented to return
    a dict, but was returning a defaultdict.  Now it returns a plain dict.  It
    also no longer returns negative numbered keys.
    
    .. _issue 1231: https://github.com/nedbat/coveragepy/issues/1231
    .. _issue 1232: https://github.com/nedbat/coveragepy/issues/1232
    
    
    .. _changes_601:
    

    6.0.1

    --------------------------
    
    - In 6.0, the coverage.py exceptions moved from coverage.misc to
    coverage.exceptions. These exceptions are not part of the public supported
    API, CoverageException is. But a number of other third-party packages were
    importing the exceptions from coverage.misc, so they are now available from
    there again (`issue 1226`_).
    
    - Changed an internal detail of how tomli is imported, so that tomli can use
    coverage.py for their own test suite (`issue 1228`_).
    
    - Defend against an obscure possibility under code obfuscation, where a
    function can have an argument called &quot;self&quot;, but no local named &quot;self&quot;
    (`pull request 1210`_).  Thanks, Ben Carlsson.
    
    .. _pull request 1210: https://github.com/nedbat/coveragepy/pull/1210
    .. _issue 1226: https://github.com/nedbat/coveragepy/issues/1226
    .. _issue 1228: https://github.com/nedbat/coveragepy/issues/1228
    
    
    .. _changes_60:
    

    6.0

    ------------------------
    
    - The ``coverage html`` command now prints a message indicating where the HTML
    report was written.  Fixes `issue 1195`_.
    
    - The ``coverage combine`` command now prints messages indicating each data
    file being combined.  Fixes `issue 1105`_.
    
    - The HTML report now includes a sentence about skipped files due to
    ``skip_covered`` or ``skip_empty`` settings.  Fixes `issue 1163`_.
    
    - Unrecognized options in the configuration file are no longer errors. They are
    now warnings, to ease the use of coverage across versions.  Fixes `issue
    1035`_.
    
    - Fix handling of exceptions through context managers in Python 3.10. A missing
    exception is no longer considered a missing branch from the with statement.
    Fixes `issue 1205`_.
    
    - Fix another rarer instance of &quot;Error binding parameter 0 - probably
    unsupported type.&quot; (`issue 1010`_).
    
    - Creating a directory for the coverage data file now is safer against
    conflicts when two coverage runs happen simultaneously (`pull 1220`_).
    Thanks, Clément Pit-Claudel.
    
    .. _issue 1035: https://github.com/nedbat/coveragepy/issues/1035
    .. _issue 1105: https://github.com/nedbat/coveragepy/issues/1105
    .. _issue 1163: https://github.com/nedbat/coveragepy/issues/1163
    .. _issue 1195: https://github.com/nedbat/coveragepy/issues/1195
    .. _issue 1205: https://github.com/nedbat/coveragepy/issues/1205
    .. _pull 1220: https://github.com/nedbat/coveragepy/pull/1220
    
    
    .. _changes_60b1:
    

    6.0b1

    --------------------------
    
    - Dropped support for Python 2.7, PyPy 2, and Python 3.5.
    
    - Added support for the Python 3.10 ``match/case`` syntax.
    
    - Data collection is now thread-safe.  There may have been rare instances of
    exceptions raised in multi-threaded programs.
    
    - Plugins (like the `Django coverage plugin`_) were generating &quot;Already
    imported a file that will be measured&quot; warnings about Django itself.  These
    have been fixed, closing `issue 1150`_.
    
    - Warnings generated by coverage.py are now real Python warnings.
    
    - Using ``--fail-under=100`` with coverage near 100% could result in the
    self-contradictory message :code:`total of 100 is less than fail-under=100`.
    This bug (`issue 1168`_) is now fixed.
    
    - The ``COVERAGE_DEBUG_FILE`` environment variable now accepts ``stdout`` and
    ``stderr`` to write to those destinations.
    
    - TOML parsing now uses the `tomli`_ library.
    
    - Some minor changes to usually invisible details of the HTML report:
    
    - Use a modern hash algorithm when fingerprinting, for high-security
     environments (`issue 1189`_).  When generating the HTML report, we save the
     hash of the data, to avoid regenerating an unchanged HTML page. We used to
     use MD5 to generate the hash, and now use SHA-3-256.  This was never a
     security concern, but security scanners would notice the MD5 algorithm and
     raise a false alarm.
    
    - Change how report file names are generated, to avoid leading underscores
     (`issue 1167`_), to avoid rare file name collisions (`issue 584`_), and to
     avoid file names becoming too long (`issue 580`_).
    
    .. _Django coverage plugin: https://pypi.org/project/django-coverage-plugin/
    .. _issue 580: https://github.com/nedbat/coveragepy/issues/580
    .. _issue 584: https://github.com/nedbat/coveragepy/issues/584
    .. _issue 1150: https://github.com/nedbat/coveragepy/issues/1150
    .. _issue 1167: https://github.com/nedbat/coveragepy/issues/1167
    .. _issue 1168: https://github.com/nedbat/coveragepy/issues/1168
    .. _issue 1189: https://github.com/nedbat/coveragepy/issues/1189
    .. _tomli: https://pypi.org/project/tomli/
    
    
    .. _changes_56b1:
    

    5.6b1

    --------------------------
    
    Note: 5.6 final was never released. These changes are part of 6.0.
    
    - Third-party packages are now ignored in coverage reporting.  This solves a
    few problems:
    
    - Coverage will no longer report about other people&#x27;s code (`issue 876`_).
     This is true even when using ``--source=.`` with a venv in the current
     directory.
    
    - Coverage will no longer generate &quot;Already imported a file that will be
     measured&quot; warnings about coverage itself (`issue 905`_).
    
    - The HTML report uses j/k to move up and down among the highlighted chunks of
    code.  They used to highlight the current chunk, but 5.0 broke that behavior.
    Now the highlighting is working again.
    
    - The JSON report now includes ``percent_covered_display``, a string with the
    total percentage, rounded to the same number of decimal places as the other
    reports&#x27; totals.
    
    .. _issue 876: https://github.com/nedbat/coveragepy/issues/876
    .. _issue 905: https://github.com/nedbat/coveragepy/issues/905
    
    
    .. _changes_55:
    

    5.5

    ------------------------
    
    - ``coverage combine`` has a new option, ``--keep`` to keep the original data
    files after combining them.  The default is still to delete the files after
    they have been combined.  This was requested in `issue 1108`_ and implemented
    in `pull request 1110`_.  Thanks, Éric Larivière.
    
    - When reporting missing branches in ``coverage report``, branches aren&#x27;t
    reported that jump to missing lines.  This adds to the long-standing behavior
    of not reporting branches from missing lines.  Now branches are only reported
    if both the source and destination lines are executed.  Closes both `issue
    1065`_ and `issue 955`_.
    
    - Minor improvements to the HTML report:
    
    - The state of the line visibility selector buttons is saved in local storage
     so you don&#x27;t have to fiddle with them so often, fixing `issue 1123`_.
    
    - It has a little more room for line numbers so that 4-digit numbers work
     well, fixing `issue 1124`_.
    
    - Improved the error message when combining line and branch data, so that users
    will be more likely to understand what&#x27;s happening, closing `issue 803`_.
    
    .. _issue 803: https://github.com/nedbat/coveragepy/issues/803
    .. _issue 955: https://github.com/nedbat/coveragepy/issues/955
    .. _issue 1065: https://github.com/nedbat/coveragepy/issues/1065
    .. _issue 1108: https://github.com/nedbat/coveragepy/issues/1108
    .. _pull request 1110: https://github.com/nedbat/coveragepy/pull/1110
    .. _issue 1123: https://github.com/nedbat/coveragepy/issues/1123
    .. _issue 1124: https://github.com/nedbat/coveragepy/issues/1124
    
    
    .. _changes_54:
    

    5.4

    ------------------------
    
    - The text report produced by ``coverage report`` now always outputs a TOTAL
    line, even if only one Python file is reported.  This makes regex parsing
    of the output easier.  Thanks, Judson Neer.  This had been requested a number
    of times (`issue 1086`_, `issue 922`_, `issue 732`_).
    
    - The ``skip_covered`` and ``skip_empty`` settings in the configuration file
    can now be specified in the ``[html]`` section, so that text reports and HTML
    reports can use separate settings.  The HTML report will still use the
    ``[report]`` settings if there isn&#x27;t a value in the ``[html]`` section.
    Closes `issue 1090`_.
    
    - Combining files on Windows across drives now works properly, fixing `issue
    577`_.  Thanks, `Valentin Lab &lt;pr1080_&gt;`_.
    
    - Fix an obscure warning from deep in the _decimal module, as reported in
    `issue 1084`_.
    
    - Update to support Python 3.10 alphas in progress, including `PEP 626: Precise
    line numbers for debugging and other tools &lt;pep626_&gt;`_.
    
    .. _issue 577: https://github.com/nedbat/coveragepy/issues/577
    .. _issue 732: https://github.com/nedbat/coveragepy/issues/732
    .. _issue 922: https://github.com/nedbat/coveragepy/issues/922
    .. _issue 1084: https://github.com/nedbat/coveragepy/issues/1084
    .. _issue 1086: https://github.com/nedbat/coveragepy/issues/1086
    .. _issue 1090: https://github.com/nedbat/coveragepy/issues/1090
    .. _pr1080: https://github.com/nedbat/coveragepy/pull/1080
    .. _pep626: https://www.python.org/dev/peps/pep-0626/
    
    
    .. _changes_531:
    

    5.3.1

    --------------------------
    
    - When using ``--source`` on a large source tree, v5.x was slower than previous
    versions.  This performance regression is now fixed, closing `issue 1037`_.
    
    - Mysterious SQLite errors can happen on PyPy, as reported in `issue 1010`_. An
    immediate retry seems to fix the problem, although it is an unsatisfying
    solution.
    
    - The HTML report now saves the sort order in a more widely supported way,
    fixing `issue 986`_.  Thanks, Sebastián Ramírez (`pull request 1066`_).
    
    - The HTML report pages now have a :ref:`Sleepy Snake &lt;sleepy&gt;` favicon.
    
    - Wheels are now provided for manylinux2010, and for PyPy3 (pp36 and pp37).
    
    - Continuous integration has moved from Travis and AppVeyor to GitHub Actions.
    
    .. _issue 986: https://github.com/nedbat/coveragepy/issues/986
    .. _issue 1037: https://github.com/nedbat/coveragepy/issues/1037
    .. _issue 1010: https://github.com/nedbat/coveragepy/issues/1010
    .. _pull request 1066: https://github.com/nedbat/coveragepy/pull/1066
    
    .. _changes_53:
    

    5.3

    ------------------------
    
    - The ``source`` setting has always been interpreted as either a file path or a
    module, depending on which existed.  If both interpretations were valid, it
    was assumed to be a file path.  The new ``source_pkgs`` setting can be used
    to name a package to disambiguate this case.  Thanks, Thomas Grainger. Fixes
    `issue 268`_.
    
    - If a plugin was disabled due to an exception, we used to still try to record
    its information, causing an exception, as reported in `issue 1011`_.  This is
    now fixed.
    
    .. _issue 268: https://github.com/nedbat/coveragepy/issues/268
    .. _issue 1011: https://github.com/nedbat/coveragepy/issues/1011
    
    
    .. endchangesinclude
    
    Older changes
    -------------
    
    The complete history is available in the `coverage.py docs`__.
    
    __ https://coverage.readthedocs.io/en/latest/changes.html
    
    Links
    • PyPI: https://pypi.org/project/coverage
    • Changelog: https://pyup.io/changelogs/coverage/
    • Repo: https://github.com/nedbat/coveragepy
    opened by pyup-bot 0
  • Update cryptography to 38.0.4

    Update cryptography to 38.0.4

    This PR updates cryptography from 3.0 to 38.0.4.

    Changelog

    38.0.4

    ~~~~~~~~~~~~~~~~~~~
    
    * Fixed compilation when using LibreSSL 3.6.0.
    * Fixed error when using ``py2app`` to build an application with a
    ``cryptography`` dependency.
    
    .. _v38-0-3:
    

    38.0.3

    ~~~~~~~~~~~~~~~~~~~
    
    * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.0.7,
    which resolves *CVE-2022-3602* and *CVE-2022-3786*.
    
    .. _v38-0-2:
    

    38.0.2

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    .. attention::
    
     This release was subsequently yanked from PyPI due to a regression in OpenSSL.
    
    * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.0.6.
    
    
    .. _v38-0-1:
    

    38.0.1

    ~~~~~~~~~~~~~~~~~~~
    
    * Fixed parsing TLVs in ASN.1 with length greater than 65535 bytes (typically
    seen in large CRLs).
    
    .. _v38-0-0:
    

    38.0.0

    ~~~~~~~~~~~~~~~~~~~
    
    * Final deprecation of OpenSSL 1.1.0. The next release of ``cryptography``
    will drop support.
    * We no longer ship ``manylinux2010`` wheels. Users should upgrade to the
    latest ``pip`` to ensure this doesn&#x27;t cause issues downloading wheels on
    their platform. We now ship ``manylinux_2_28`` wheels for users on new
    enough platforms.
    * Updated the minimum supported Rust version (MSRV) to 1.48.0, from 1.41.0.
    Users with the latest ``pip`` will typically get a wheel and not need Rust
    installed, but check :doc:`/installation` for documentation on installing a
    newer ``rustc`` if required.
    * :meth:`~cryptography.fernet.Fernet.decrypt` and related methods now accept
    both ``str`` and ``bytes`` tokens.
    * Parsing ``CertificateSigningRequest`` restores the behavior of enforcing
    that the ``Extension`` ``critical`` field must be correctly encoded DER. See
    `the issue &lt;https://github.com/pyca/cryptography/issues/6368&gt;`_ for complete
    details.
    * Added two new OpenSSL functions to the bindings to support an upcoming
    ``pyOpenSSL`` release.
    * When parsing :class:`~cryptography.x509.CertificateRevocationList` and
    :class:`~cryptography.x509.CertificateSigningRequest` values, it is now
    enforced that the ``version`` value in the input must be valid according to
    the rules of :rfc:`2986` and :rfc:`5280`.
    * Using MD5 or SHA1 in :class:`~cryptography.x509.CertificateBuilder` and
    other X.509 builders is deprecated and support will be removed in the next
    version.
    * Added additional APIs to
    :class:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp`, including
    :attr:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp.signature_hash_algorithm`,
    :attr:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp.signature_algorithm`,
    :attr:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp.signature`, and
    :attr:`~cryptography.x509.certificate_transparency.SignedCertificateTimestamp.extension_bytes`.
    * Added :attr:`~cryptography.x509.Certificate.tbs_precertificate_bytes`, allowing
    users to access the to-be-signed pre-certificate data needed for signed
    certificate timestamp verification.
    * :class:`~cryptography.hazmat.primitives.kdf.kbkdf.KBKDFHMAC` and
    :class:`~cryptography.hazmat.primitives.kdf.kbkdf.KBKDFCMAC` now support
    :attr:`~cryptography.hazmat.primitives.kdf.kbkdf.CounterLocation.MiddleFixed`
    counter location.
    * Fixed :rfc:`4514` name parsing to reverse the order of the RDNs according
    to the section 2.1 of the RFC, affecting method
    :meth:`~cryptography.x509.Name.from_rfc4514_string`.
    * It is now possible to customize some aspects of encryption when serializing
    private keys, using
    :meth:`~cryptography.hazmat.primitives.serialization.PrivateFormat.encryption_builder`.
    * Removed several legacy symbols from our OpenSSL bindings. Users of pyOpenSSL
    versions older than 22.0 will need to upgrade.
    * Added
    :class:`~cryptography.hazmat.primitives.ciphers.algorithms.AES128` and
    :class:`~cryptography.hazmat.primitives.ciphers.algorithms.AES256` classes.
    These classes do not replace
    :class:`~cryptography.hazmat.primitives.ciphers.algorithms.AES` (which
    allows all AES key lengths), but are intended for applications where
    developers want to be explicit about key length.
    
    .. _v37-0-4:
    

    37.0.4

    ~~~~~~~~~~~~~~~~~~~
    
    * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.0.5.
    
    .. _v37-0-3:
    

    37.0.3

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    .. attention::
    
     This release was subsequently yanked from PyPI due to a regression in OpenSSL.
    
    * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.0.4.
    
    .. _v37-0-2:
    

    37.0.2

    ~~~~~~~~~~~~~~~~~~~
    
    * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.0.3.
    * Added a constant needed for an upcoming pyOpenSSL release.
    
    .. _v37-0-1:
    

    37.0.1

    ~~~~~~~~~~~~~~~~~~~
    
    * Fixed an issue where parsing an encrypted private key with the public
    loader functions would hang waiting for console input on OpenSSL 3.0.x rather
    than raising an error.
    * Restored some legacy symbols for older ``pyOpenSSL`` users. These will be
    removed again in the future, so ``pyOpenSSL`` users should still upgrade
    to the latest version of that package when they upgrade ``cryptography``.
    
    .. _v37-0-0:
    

    37.0.0

    ~~~~~~~~~~~~~~~~~~~
    
    * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.0.2.
    * **BACKWARDS INCOMPATIBLE:** Dropped support for LibreSSL 2.9.x and 3.0.x.
    The new minimum LibreSSL version is 3.1+.
    * **BACKWARDS INCOMPATIBLE:** Removed ``signer`` and ``verifier`` methods
    from the public key and private key classes. These methods were originally
    deprecated in version 2.0, but had an extended deprecation timeline due
    to usage. Any remaining users should transition to ``sign`` and ``verify``.
    * Deprecated OpenSSL 1.1.0 support. OpenSSL 1.1.0 is no longer supported by
    the OpenSSL project. The next release of ``cryptography`` will be the last
    to support compiling with OpenSSL 1.1.0.
    * Deprecated Python 3.6 support. Python 3.6 is no longer supported by the
    Python core team. Support for Python 3.6 will be removed in a future
    ``cryptography`` release.
    * Deprecated the current minimum supported Rust version (MSRV) of 1.41.0.
    In the next release we will raise MSRV to 1.48.0. Users with the latest
    ``pip`` will typically get a wheel and not need Rust installed, but check
    :doc:`/installation` for documentation on installing a newer ``rustc`` if
    required.
    * Deprecated
    :class:`~cryptography.hazmat.primitives.ciphers.algorithms.CAST5`,
    :class:`~cryptography.hazmat.primitives.ciphers.algorithms.SEED`,
    :class:`~cryptography.hazmat.primitives.ciphers.algorithms.IDEA`, and
    :class:`~cryptography.hazmat.primitives.ciphers.algorithms.Blowfish` because
    they are legacy algorithms with extremely low usage. These will be removed
    in a future version of ``cryptography``.
    * Added limited support for distinguished names containing a bit string.
    * We now ship ``universal2`` wheels on macOS, which contain both ``arm64``
    and ``x86_64`` architectures. Users on macOS should upgrade to the latest
    ``pip`` to ensure they can use this wheel, although we will continue to
    ship ``x86_64`` specific wheels for now to ease the transition.
    * This will be the final release for which we ship ``manylinux2010`` wheels.
    Going forward the minimum supported ``manylinux`` ABI for our wheels will
    be ``manylinux2014``. The vast majority of users will continue to receive
    ``manylinux`` wheels provided they have an up to date ``pip``. For PyPy
    wheels this release already requires ``manylinux2014`` for compatibility
    with binaries distributed by upstream.
    * Added support for multiple
    :class:`~cryptography.x509.ocsp.OCSPSingleResponse` in a
    :class:`~cryptography.x509.ocsp.OCSPResponse`.
    * Restored support for signing certificates and other structures in
    :doc:`/x509/index` with SHA3 hash algorithms.
    * :class:`~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES` is
    disabled in FIPS mode.
    * Added support for serialization of PKCS12 CA friendly names/aliases in
    :func:`~cryptography.hazmat.primitives.serialization.pkcs12.serialize_key_and_certificates`
    * Added support for 12-15 byte (96 to 120 bit) nonces to
    :class:`~cryptography.hazmat.primitives.ciphers.aead.AESOCB3`. This class
    previously supported only 12 byte (96 bit).
    * Added support for
    :class:`~cryptography.hazmat.primitives.ciphers.aead.AESSIV` when using
    OpenSSL 3.0.0+.
    * Added support for serializing PKCS7 structures from a list of
    certificates with
    :class:`~cryptography.hazmat.primitives.serialization.pkcs7.serialize_certificates`.
    * Added support for parsing :rfc:`4514` strings with
    :meth:`~cryptography.x509.Name.from_rfc4514_string`.
    * Added :attr:`~cryptography.hazmat.primitives.asymmetric.padding.PSS.AUTO` to
    :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS`. This can
    be used to verify a signature where the salt length is not already known.
    * Added :attr:`~cryptography.hazmat.primitives.asymmetric.padding.PSS.DIGEST_LENGTH`
    to :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS`. This
    constant will set the salt length to the same length as the ``PSS`` hash
    algorithm.
    * Added support for loading RSA-PSS key types with
    :func:`~cryptography.hazmat.primitives.serialization.load_pem_private_key`
    and
    :func:`~cryptography.hazmat.primitives.serialization.load_der_private_key`.
    This functionality is limited to OpenSSL 1.1.1e+ and loads the key as a
    normal RSA private key, discarding the PSS constraint information.
    
    .. _v36-0-2:
    

    36.0.2

    ~~~~~~~~~~~~~~~~~~~
    
    * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 1.1.1n.
    
    .. _v36-0-1:
    

    36.0.1

    ~~~~~~~~~~~~~~~~~~~
    
    * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 1.1.1m.
    
    .. _v36-0-0:
    

    36.0.0

    ~~~~~~~~~~~~~~~~~~~
    
    * **FINAL DEPRECATION** Support for ``verifier`` and ``signer`` on our
    asymmetric key classes was deprecated in version 2.0. These functions had an
    extended deprecation due to usage, however the next version of
    ``cryptography`` will drop support. Users should migrate to ``sign`` and
    ``verify``.
    * The entire :doc:`/x509/index` layer is now written in Rust. This allows
    alternate asymmetric key implementations that can support cloud key
    management services or hardware security modules provided they implement
    the necessary interface (for example:
    :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`).
    * :ref:`Deprecated the backend argument&lt;faq-missing-backend&gt;` for all
    functions.
    * Added support for
    :class:`~cryptography.hazmat.primitives.ciphers.aead.AESOCB3`.
    * Added support for iterating over arbitrary request
    :attr:`~cryptography.x509.CertificateSigningRequest.attributes`.
    * Deprecated the ``get_attribute_for_oid`` method on
    :class:`~cryptography.x509.CertificateSigningRequest` in favor of
    :meth:`~cryptography.x509.Attributes.get_attribute_for_oid` on the new
    :class:`~cryptography.x509.Attributes` object.
    * Fixed handling of PEM files to allow loading when certificate and key are
    in the same file.
    * Fixed parsing of :class:`~cryptography.x509.CertificatePolicies` extensions
    containing legacy ``BMPString`` values in their ``explicitText``.
    * Allow parsing of negative serial numbers in certificates. Negative serial
    numbers are prohibited by :rfc:`5280` so a deprecation warning will be
    raised whenever they are encountered. A future version of ``cryptography``
    will drop support for parsing them.
    * Added support for parsing PKCS12 files with friendly names for all
    certificates with
    :func:`~cryptography.hazmat.primitives.serialization.pkcs12.load_pkcs12`,
    which will return an object of type
    :class:`~cryptography.hazmat.primitives.serialization.pkcs12.PKCS12KeyAndCertificates`.
    * :meth:`~cryptography.x509.Name.rfc4514_string` and related methods now have
    an optional ``attr_name_overrides`` parameter to supply custom OID to name
    mappings, which can be used to match vendor-specific extensions.
    * **BACKWARDS INCOMPATIBLE:** Reverted the nonstandard formatting of
    email address fields as ``E`` in
    :meth:`~cryptography.x509.Name.rfc4514_string` methods from version 35.0.
    
    The previous behavior can be restored with:
    ``name.rfc4514_string({NameOID.EMAIL_ADDRESS: &quot;E&quot;})``
    * Allow
    :class:`~cryptography.hazmat.primitives.asymmetric.x25519.X25519PublicKey`
    and
    :class:`~cryptography.hazmat.primitives.asymmetric.x448.X448PublicKey` to
    be used as public keys when parsing certificates or creating them with
    :class:`~cryptography.x509.CertificateBuilder`. These key types must be
    signed with a different signing algorithm as ``X25519`` and ``X448`` do
    not support signing.
    * Extension values can now be serialized to a DER byte string by calling
    :func:`~cryptography.x509.ExtensionType.public_bytes`.
    * Added experimental support for compiling against BoringSSL. As BoringSSL
    does not commit to a stable API, ``cryptography`` tests against the
    latest commit only. Please note that several features are not available
    when building against BoringSSL.
    * Parsing ``CertificateSigningRequest`` from DER and PEM now, for a limited
    time period, allows the ``Extension`` ``critical`` field to be incorrectly
    encoded. See `the issue &lt;https://github.com/pyca/cryptography/issues/6368&gt;`_
    for complete details. This will be reverted in a future ``cryptography``
    release.
    * When :class:`~cryptography.x509.OCSPNonce` are parsed and generated their
    value is now correctly wrapped in an ASN.1 ``OCTET STRING``. This conforms
    to :rfc:`6960` but conflicts with the original behavior specified in
    :rfc:`2560`. For a temporary period for backwards compatibility, we will
    also parse values that are encoded as specified in :rfc:`2560` but this
    behavior will be removed in a future release.
    
    .. _v35-0-0:
    

    35.0.0

    ~~~~~~~~~~~~~~~~~~~
    
    * Changed the :ref:`version scheme &lt;api-stability:versioning&gt;`. This will
    result in us incrementing the major version more frequently, but does not
    change our existing backwards compatibility policy.
    * **BACKWARDS INCOMPATIBLE:** The :doc:`/x509/index` PEM parsers now require
    that the PEM string passed have PEM delimiters of the correct type. For
    example, parsing a private key PEM concatenated with a certificate PEM will
    no longer be accepted by the PEM certificate parser.
    * **BACKWARDS INCOMPATIBLE:** The X.509 certificate parser no longer allows
    negative serial numbers. :rfc:`5280` has always prohibited these.
    * **BACKWARDS INCOMPATIBLE:** Additional forms of invalid ASN.1 found during
    :doc:`/x509/index` parsing will raise an error on initial parse rather than
    when the malformed field is accessed.
    * Rust is now required for building ``cryptography``, the
    ``CRYPTOGRAPHY_DONT_BUILD_RUST`` environment variable is no longer
    respected.
    * Parsers for :doc:`/x509/index` no longer use OpenSSL and have been
    rewritten in Rust. This should be backwards compatible (modulo the items
    listed above) and improve both security and performance.
    * Added support for OpenSSL 3.0.0 as a compilation target.
    * Added support for
    :class:`~cryptography.hazmat.primitives.hashes.SM3` and
    :class:`~cryptography.hazmat.primitives.ciphers.algorithms.SM4`,
    when using OpenSSL 1.1.1. These algorithms are provided for compatibility
    in regions where they may be required, and are not generally recommended.
    * We now ship ``manylinux_2_24`` and ``musllinux_1_1`` wheels, in addition to
    our ``manylinux2010`` and ``manylinux2014`` wheels. Users on distributions
    like Alpine Linux should ensure they upgrade to the latest ``pip`` to
    correctly receive wheels.
    * Added ``rfc4514_attribute_name`` attribute to :attr:`x509.NameAttribute
    &lt;cryptography.x509.NameAttribute.rfc4514_attribute_name&gt;`.
    * Added :class:`~cryptography.hazmat.primitives.kdf.kbkdf.KBKDFCMAC`.
    
    .. _v3-4-8:
    

    3.4.8

    ~~~~~~~~~~~~~~~~~~
    
    * Updated Windows, macOS, and ``manylinux`` wheels to be compiled with
    OpenSSL 1.1.1l.
    
    .. _v3-4-7:
    

    3.4.7

    ~~~~~~~~~~~~~~~~~~
    
    * Updated Windows, macOS, and ``manylinux`` wheels to be compiled with
    OpenSSL 1.1.1k.
    
    .. _v3-4-6:
    

    3.4.6

    ~~~~~~~~~~~~~~~~~~
    
    * Updated Windows, macOS, and ``manylinux`` wheels to be compiled with
    OpenSSL 1.1.1j.
    
    .. _v3-4-5:
    

    3.4.5

    ~~~~~~~~~~~~~~~~~~
    
    * Various improvements to type hints.
    * Lower the minimum supported Rust version (MSRV) to &gt;=1.41.0. This change
    improves compatibility with system-provided Rust on several Linux
    distributions.
    * ``cryptography`` will be switching to a new versioning scheme with its next
    feature release. More information is available in our
    :doc:`/api-stability` documentation.
    
    .. _v3-4-4:
    

    3.4.4

    ~~~~~~~~~~~~~~~~~~
    
    * Added a ``py.typed`` file so that ``mypy`` will know to use our type
    annotations.
    * Fixed an import cycle that could be triggered by certain import sequences.
    
    .. _v3-4-3:
    

    3.4.3

    ~~~~~~~~~~~~~~~~~~
    
    * Specify our supported Rust version (&gt;=1.45.0) in our ``setup.py`` so users
    on older versions will get a clear error message.
    
    .. _v3-4-2:
    

    3.4.2

    ~~~~~~~~~~~~~~~~~~
    
    * Improvements to make the rust transition a bit easier. This includes some
    better error messages and small dependency fixes. If you experience
    installation problems **Be sure to update pip** first, then check the
    :doc:`FAQ &lt;/faq&gt;`.
    
    .. _v3-4-1:
    

    3.4.1

    ~~~~~~~~~~~~~~~~~~
    
    * Fixed a circular import issue.
    * Added additional debug output to assist users seeing installation errors
    due to outdated ``pip`` or missing ``rustc``.
    
    .. _v3-4:
    

    3.4

    ~~~~~~~~~~~~~~~~
    
    * **BACKWARDS INCOMPATIBLE:** Support for Python 2 has been removed.
    * We now ship ``manylinux2014`` wheels and no longer ship ``manylinux1``
    wheels. Users should upgrade to the latest ``pip`` to ensure this doesn&#x27;t
    cause issues downloading wheels on their platform.
    * ``cryptography`` now incorporates Rust code. Users building ``cryptography``
    themselves will need to have the Rust toolchain installed. Users who use an
    officially produced wheel will not need to make any changes. The minimum
    supported Rust version is 1.45.0.
    * ``cryptography`` now has :pep:`484` type hints on nearly all of of its public
    APIs. Users can begin using them to type check their code with ``mypy``.
    
    .. _v3-3-2:
    

    3.3.2

    ~~~~~~~~~~~~~~~~~~
    
    * **SECURITY ISSUE:** Fixed a bug where certain sequences of ``update()`` calls
    when symmetrically encrypting very large payloads (&gt;2GB) could result in an
    integer overflow, leading to buffer overflows. *CVE-2020-36242* **Update:**
    This fix is a workaround for *CVE-2021-23840* in OpenSSL, fixed in OpenSSL
    1.1.1j.
    
    .. _v3-3-1:
    

    3.3.1

    ~~~~~~~~~~~~~~~~~~
    
    * Re-added a legacy symbol causing problems for older ``pyOpenSSL`` users.
    
    .. _v3-3:
    

    3.3

    ~~~~~~~~~~~~~~~~
    
    * **BACKWARDS INCOMPATIBLE:** Support for Python 3.5 has been removed due to
    low usage and maintenance burden.
    * **BACKWARDS INCOMPATIBLE:** The
    :class:`~cryptography.hazmat.primitives.ciphers.modes.GCM` and
    :class:`~cryptography.hazmat.primitives.ciphers.aead.AESGCM` now require
    64-bit to 1024-bit (8 byte to 128 byte) initialization vectors. This change
    is to conform with an upcoming OpenSSL release that will no longer support
    sizes outside this window.
    * **BACKWARDS INCOMPATIBLE:** When deserializing asymmetric keys we now
    raise ``ValueError`` rather than ``UnsupportedAlgorithm`` when an
    unsupported cipher is used. This change is to conform with an upcoming
    OpenSSL release that will no longer distinguish between error types.
    * **BACKWARDS INCOMPATIBLE:** We no longer allow loading of finite field
    Diffie-Hellman parameters of less than 512 bits in length. This change is to
    conform with an upcoming OpenSSL release that no longer supports smaller
    sizes. These keys were already wildly insecure and should not have been used
    in any application outside of testing.
    * Updated Windows, macOS, and ``manylinux`` wheels to be compiled with
    OpenSSL 1.1.1i.
    * Python 2 support is deprecated in ``cryptography``. This is the last release
    that will support Python 2.
    * Added the
    :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey.recover_data_from_signature`
    function to
    :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`
    for recovering the signed data from an RSA signature.
    
    .. _v3-2-1:
    

    3.2.1

    ~~~~~~~~~~~~~~~~~~
    
    * Disable blinding on RSA public keys to address an error with some versions
    of OpenSSL.
    
    .. _v3-2:
    

    3.2

    ~~~~~~~~~~~~~~~~
    
    * **SECURITY ISSUE:** Attempted to make RSA PKCS1v1.5 decryption more constant
    time, to protect against Bleichenbacher vulnerabilities. Due to limitations
    imposed by our API, we cannot completely mitigate this vulnerability and a
    future release will contain a new API which is designed to be resilient to
    these for contexts where it is required. Credit to **Hubert Kario** for
    reporting the issue. *CVE-2020-25659*
    * Support for OpenSSL 1.0.2 has been removed. Users on older version of OpenSSL
    will need to upgrade.
    * Added basic support for PKCS7 signing (including SMIME) via
    :class:`~cryptography.hazmat.primitives.serialization.pkcs7.PKCS7SignatureBuilder`.
    
    .. _v3-1-1:
    

    3.1.1

    ~~~~~~~~~~~~~~~~~~
    
    * Updated Windows, macOS, and ``manylinux`` wheels to be compiled with
    OpenSSL 1.1.1h.
    
    .. _v3-1:
    

    3.1

    ~~~~~~~~~~~~~~~~
    
    * **BACKWARDS INCOMPATIBLE:** Removed support for ``idna`` based
    :term:`U-label` parsing in various X.509 classes. This support was originally
    deprecated in version 2.1 and moved to an extra in 2.5.
    * Deprecated OpenSSL 1.0.2 support. OpenSSL 1.0.2 is no longer supported by
    the OpenSSL project. The next version of ``cryptography`` will drop support
    for it.
    * Deprecated support for Python 3.5. This version sees very little use and will
    be removed in the next release.
    * ``backend`` arguments to functions are no longer required and the
    default backend will automatically be selected if no ``backend`` is provided.
    * Added initial support for parsing certificates from PKCS7 files with
    :func:`~cryptography.hazmat.primitives.serialization.pkcs7.load_pem_pkcs7_certificates`
    and
    :func:`~cryptography.hazmat.primitives.serialization.pkcs7.load_der_pkcs7_certificates`
    .
    * Calling ``update`` or ``update_into`` on
    :class:`~cryptography.hazmat.primitives.ciphers.CipherContext` with ``data``
    longer than 2\ :sup:`31` bytes no longer raises an ``OverflowError``. This
    also resolves the same issue in :doc:`/fernet`.
    
    .. _v3-0:
    
    Links
    • PyPI: https://pypi.org/project/cryptography
    • Changelog: https://pyup.io/changelogs/cryptography/
    • Repo: https://github.com/pyca/cryptography
    opened by pyup-bot 0
  • Update flake8 to 6.0.0

    Update flake8 to 6.0.0

    This PR updates flake8 from 3.8.3 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
  • Bump pillow from 7.2.0 to 9.3.0 in /requirements

    Bump pillow from 7.2.0 to 9.3.0 in /requirements

    Bumps pillow from 7.2.0 to 9.3.0.

    Release notes

    Sourced from pillow's releases.

    9.3.0

    https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    9.3.0 (2022-10-29)

    • Limit SAMPLESPERPIXEL to avoid runtime DOS #6700 [wiredfool]

    • Initialize libtiff buffer when saving #6699 [radarhere]

    • Inline fname2char to fix memory leak #6329 [nulano]

    • Fix memory leaks related to text features #6330 [nulano]

    • Use double quotes for version check on old CPython on Windows #6695 [hugovk]

    • Remove backup implementation of Round for Windows platforms #6693 [cgohlke]

    • Fixed set_variation_by_name offset #6445 [radarhere]

    • Fix malloc in _imagingft.c:font_setvaraxes #6690 [cgohlke]

    • Release Python GIL when converting images using matrix operations #6418 [hmaarrfk]

    • Added ExifTags enums #6630 [radarhere]

    • Do not modify previous frame when calculating delta in PNG #6683 [radarhere]

    • Added support for reading BMP images with RLE4 compression #6674 [npjg, radarhere]

    • Decode JPEG compressed BLP1 data in original mode #6678 [radarhere]

    • Added GPS TIFF tag info #6661 [radarhere]

    • Added conversion between RGB/RGBA/RGBX and LAB #6647 [radarhere]

    • Do not attempt normalization if mode is already normal #6644 [radarhere]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Owner
Vladyslav Ovchynnykov
Vladyslav Ovchynnykov
An implementation of "Optimal Textures: Fast and Robust Texture Synthesis and Style Transfer through Optimal Transport"

Optex An implementation of Optimal Textures: Fast and Robust Texture Synthesis and Style Transfer through Optimal Transport for TU Delft CS4240. You c

Hans Brouwer 33 Jan 5, 2023
An NVDA add-on to split screen reader and audio from other programs to different sound channels

An NVDA add-on to split screen reader and audio from other programs to different sound channels (add-on idea credit: Tony Malykh)

Joseph Lee 7 Dec 25, 2022
A collection of pre-trained StyleGAN2 models trained on different datasets at different resolution.

Awesome Pretrained StyleGAN2 A collection of pre-trained StyleGAN2 models trained on different datasets at different resolution. Note the readme is a

Justin 1.1k Dec 24, 2022
Deep Text Search is an AI-powered multilingual text search and recommendation engine with state-of-the-art transformer-based multilingual text embedding (50+ languages).

Deep Text Search - AI Based Text Search & Recommendation System Deep Text Search is an AI-powered multilingual text search and recommendation engine w

null 19 Sep 29, 2022
TAP: Text-Aware Pre-training for Text-VQA and Text-Caption, CVPR 2021 (Oral)

TAP: Text-Aware Pre-training TAP: Text-Aware Pre-training for Text-VQA and Text-Caption by Zhengyuan Yang, Yijuan Lu, Jianfeng Wang, Xi Yin, Dinei Flo

Microsoft 61 Nov 14, 2022
Pytorch re-implementation of Paper: SwinTextSpotter: Scene Text Spotting via Better Synergy between Text Detection and Text Recognition (CVPR 2022)

SwinTextSpotter This is the pytorch implementation of Paper: SwinTextSpotter: Scene Text Spotting via Better Synergy between Text Detection and Text R

mxin262 183 Jan 3, 2023
Script that receives an Image (original) and a set of images to be used as "pixels" in reconstruction of the Original image using the set of images as "pixels"

picinpics Script that receives an Image (original) and a set of images to be used as "pixels" in reconstruction of the Original image using the set of

RodrigoCMoraes 1 Oct 24, 2021
OCR Streamlit App is used to extract text from images using python's easyocr, pytorch and streamlit packages

OCR-Streamlit-App OCR Streamlit App is used to extract text from images using python's easyocr, pytorch and streamlit packages OCR app gets an image a

Siva Prakash 5 Apr 5, 2022
Add-on for importing and auto setup of character creator 3 character exports.

CC3 Blender Tools An add-on for importing and automatically setting up materials for Character Creator 3 character exports. Using Blender in the Chara

null 260 Jan 5, 2023
Some useful blender add-ons for SMPL skeleton's poses and global translation.

Blender add-ons for SMPL skeleton's poses and trans There are two blender add-ons for SMPL skeleton's poses and trans.The first is for making an offli

犹在镜中 154 Jan 4, 2023
This program can detect your face and add an Christams hat on the top of your head

Auto_Christmas This program can detect your face and add a Christmas hat to the top of your head. just run the Auto_Christmas.py, then you can see the

null 3 Dec 22, 2021
Generate vibrant and detailed images using only text.

CLIP Guided Diffusion From RiversHaveWings. Generate vibrant and detailed images using only text. See captions and more generations in the Gallery See

Clay M. 401 Dec 28, 2022
Joint learning of images and text via maximization of mutual information

mutual_info_img_txt Joint learning of images and text via maximization of mutual information. This repository incorporates the algorithms presented in

Ruizhi Liao 10 Dec 22, 2022
This YoloV5 based model is fit to detect people and different types of land vehicles, and displaying their density on a fitted map, according to their coordinates and detected labels.

This YoloV5 based model is fit to detect people and different types of land vehicles, and displaying their density on a fitted map, according to their

Liron Bdolah 8 May 22, 2022
UMT is a unified and flexible framework which can handle different input modality combinations, and output video moment retrieval and/or highlight detection results.

Unified Multi-modal Transformers This repository maintains the official implementation of the paper UMT: Unified Multi-modal Transformers for Joint Vi

Applied Research Center (ARC), Tencent PCG 84 Jan 4, 2023
Blender Add-On for slicing meshes with planes

MeshSlicer Blender Add-On for slicing meshes with multiple overlapping planes at once. This is a simple Blender addon to slice a silmple mesh with mul

null 52 Dec 12, 2022
Add gui for YoloV5 using PyQt5

<<<<<<< HEAD 更新2021.08.16 **添加图片和视频保存功能: 1.图片和视频按照当前系统时间进行命名 2.各自检测结果存放入output文件夹 3.摄像头检测的默认设备序号更改为0,减少调试报错 温馨提示: 1.项目放置在全英文路径下,防止项目报错 2.默认使用cpu进行检测,自

Ruihao Wang 65 Dec 27, 2022