Skip to content

Scheduled monthly dependency update for April#228

Closed
pyup-bot wants to merge 13 commits intomainfrom
pyup-scheduled-update-2023-04-01
Closed

Scheduled monthly dependency update for April#228
pyup-bot wants to merge 13 commits intomainfrom
pyup-scheduled-update-2023-04-01

Conversation

@pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Apr 1, 2023

Update coverage from 6.3.2 to 7.2.2.

Changelog

7.2.2

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

- Fix: if a virtualenv was created inside a source directory, and a sourced
package was installed inside the virtualenv, then all of the third-party
packages inside the virtualenv would be measured.  This was incorrect, but
has now been fixed: only the specified packages will be measured, thanks to
`Manuel Jacob <pull 1560_>`_.

- Fix: the ``coverage lcov`` command could create a .lcov file with incorrect
LF (lines found) and LH (lines hit) totals.  This is now fixed, thanks to
`Ian Moore <pull 1583_>`_.

- Fix: the ``coverage xml`` command on Windows could create a .xml file with
duplicate ``<package>`` elements. This is now fixed, thanks to `Benjamin
Parzella <pull 1574_>`_, closing `issue 1573`_.

.. _pull 1560: https://github.com/nedbat/coveragepy/pull/1560
.. _issue 1573: https://github.com/nedbat/coveragepy/issues/1573
.. _pull 1574: https://github.com/nedbat/coveragepy/pull/1574
.. _pull 1583: https://github.com/nedbat/coveragepy/pull/1583


.. _changes_7-2-1:

7.2.1

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

- Fix: the PyPI page had broken links to documentation pages, but no longer
does, closing `issue 1566`_.

- Fix: public members of the coverage module are now properly indicated so that
mypy will find them, fixing `issue 1564`_.

.. _issue 1564: https://github.com/nedbat/coveragepy/issues/1564
.. _issue 1566: https://github.com/nedbat/coveragepy/issues/1566


.. _changes_7-2-0:

7.2.0

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

- Added a new setting ``[report] exclude_also`` to let you add more exclusions
without overwriting the defaults.  Thanks, `Alpha Chen <pull 1557_>`_,
closing `issue 1391`_.

- Added a :meth:`.CoverageData.purge_files` method to remove recorded data for
a particular file.  Contributed by `Stephan Deibel <pull 1547_>`_.

- Fix: when reporting commands fail, they will no longer congratulate
themselves with messages like "Wrote XML report to file.xml" before spewing a
traceback about their failure.

- Fix: arguments in the public API that name file paths now accept pathlib.Path
objects.  This includes the ``data_file`` and ``config_file`` arguments to
the Coverage constructor and the ``basename`` argument to CoverageData.
Closes `issue 1552`_.

- Fix: In some embedded environments, an IndexError could occur on stop() when
the originating thread exits before completion.  This is now fixed, thanks to
`Russell Keith-Magee <pull 1543_>`_, closing `issue 1542`_.

- Added a ``py.typed`` file to announce our type-hintedness.  Thanks,
`KotlinIsland <pull 1550_>`_.

.. _issue 1391: https://github.com/nedbat/coveragepy/issues/1391
.. _issue 1542: https://github.com/nedbat/coveragepy/issues/1542
.. _pull 1543: https://github.com/nedbat/coveragepy/pull/1543
.. _pull 1547: https://github.com/nedbat/coveragepy/pull/1547
.. _pull 1550: https://github.com/nedbat/coveragepy/pull/1550
.. _issue 1552: https://github.com/nedbat/coveragepy/issues/1552
.. _pull 1557: https://github.com/nedbat/coveragepy/pull/1557


.. _changes_7-1-0:

7.1.0

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

- Added: the debug output file can now be specified with ``[run] debug_file``
in the configuration file.  Closes `issue 1319`_.

- Performance: fixed a slowdown with dynamic contexts that's been around since
6.4.3.  The fix closes `issue 1538`_.  Thankfully this doesn't break the
`Cython change`_ that fixed `issue 972`_.  Thanks to Mathieu Kniewallner for
the deep investigative work and comprehensive issue report.

- Typing: all product and test code has type annotations.

.. _Cython change: https://github.com/nedbat/coveragepy/pull/1347
.. _issue 972: https://github.com/nedbat/coveragepy/issues/972
.. _issue 1319: https://github.com/nedbat/coveragepy/issues/1319
.. _issue 1538: https://github.com/nedbat/coveragepy/issues/1538

.. _changes_7-0-5:

7.0.5

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

- Fix: On Python 3.7, a file with type annotations but no ``from __future__
import annotations`` would be missing statements in the coverage report. This
is now fixed, closing `issue 1524`_.

.. _issue 1524: https://github.com/nedbat/coveragepy/issues/1524


.. _changes_7-0-4:

7.0.4

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

- Performance: an internal cache of file names was accidentally disabled,
resulting in sometimes drastic reductions in performance.  This is now fixed,
closing `issue 1527`_.   Thanks to Ivan Ciuvalschii for the reproducible test
case.

.. _issue 1527: https://github.com/nedbat/coveragepy/issues/1527


.. _changes_7-0-3:

7.0.3

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

- Fix: when using pytest-cov or pytest-xdist, or perhaps both, the combining
step could fail with ``assert row is not None`` using 7.0.2.  This was due to
a race condition that has always been possible and is still possible. In
7.0.1 and before, the error was silently swallowed by the combining code.
Now it will produce a message "Couldn't combine data file" and ignore the
data file as it used to do before 7.0.2.  Closes `issue 1522`_.

.. _issue 1522: https://github.com/nedbat/coveragepy/issues/1522


.. _changes_7-0-2:

7.0.2

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

- Fix: when using the ``[run] relative_files = True`` setting, a relative
``[paths]`` pattern was still being made absolute.  This is now fixed,
closing `issue 1519`_.

- Fix: if Python doesn't provide tomllib, then TOML configuration files can
only be read if coverage.py is installed with the ``[toml]`` extra.
Coverage.py will raise an error if TOML support is not installed when it sees
your settings are in a .toml file. But it didn't understand that
``[tools.coverage]`` was a valid section header, so the error wasn't reported
if you used that header, and settings were silently ignored.  This is now
fixed, closing `issue 1516`_.

- Fix: adjusted how decorators are traced on PyPy 7.3.10, fixing `issue 1515`_.

- Fix: the ``coverage lcov`` report did not properly implement the
``--fail-under=MIN`` option.  This has been fixed.

- Refactor: added many type annotations, including a number of refactorings.
This should not affect outward behavior, but they were a bit invasive in some
places, so keep your eyes peeled for oddities.

- Refactor: removed the vestigial and long untested support for Jython and
IronPython.

.. _issue 1515: https://github.com/nedbat/coveragepy/issues/1515
.. _issue 1516: https://github.com/nedbat/coveragepy/issues/1516
.. _issue 1519: https://github.com/nedbat/coveragepy/issues/1519


.. _changes_7-0-1:

7.0.1

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

- When checking if a file mapping resolved to a file that exists, we weren'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

<changes_7-0-0b1_>`_.)

- 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 <pull 1479_>`_, 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'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't
require ``__init__.py``.  A new setting ``[report]
include_namespace_packages`` tells coverage.py to consider these directories
during reporting.  Thanks to `Felix Horvat <pull 1387_>`_ 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 <pull 1438_>`_. Closes
`issue 1425`_.

- Starting with coverage.py 6.2, ``class`` statements were marked as a branch.
This wasn'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 <pull 1405_>`_.

- Fix a messaging failure when combining Windows data files on a different
drive than the current directory, closing `issue 1428`_.  Thanks, `Lorenzo
Micò <pull 1430_>`_.

- Fix path calculations when running in the root directory, as you might do in
a Docker container. Thanks `Arthur Rio <pull 1403_>`_.

- Filtering in the HTML report wouldn't work when reloading the index page.
This is now fixed.  Thanks, `Marc Legendre <pull 1413_>`_.

- Fix a problem with Cython code measurement, closing `issue 972`_.  Thanks,
`Matus Valo <pull 1347_>`_.

.. _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 <pull 1399_>`_.

.. _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
 <pull 1364_>`_.

- The time stamp and version are displayed at the top of the report.  Thanks,
 `Ammar Askar <pull 1354_>`_. 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 <pull 1359_>`_.

- 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:
Links

Update flake8 from 4.0.1 to 6.0.0.

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

Links

Update pre-commit from 2.17.0 to 3.2.1.

Changelog

3.2.1

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

Fixes
- Fix `language_version` for `language: rust` without global `rustup`.
 - 2823 issue by daschuer.
 - 2827 PR by asottile.

3.2.0

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

Features
- Allow `pre-commit`, `pre-push`, and `pre-merge-commit` as `stages`.
 - 2732 issue by asottile.
 - 2808 PR by asottile.
- Add `pre-rebase` hook support.
 - 2582 issue by BrutalSimplicity.
 - 2725 PR by mgaligniana.

Fixes
- Remove bulky cargo cache from `language: rust` installs.
 - 2820 PR by asottile.

3.1.1

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

Fixes
- Fix `rust` with `language_version` and a non-writable host `RUSTUP_HOME`.
 - pre-commit-ci/issues173 by Swiftb0y.
 - 2788 by asottile.

3.1.0

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

Fixes
- Fix `dotnet` for `.sln`-based hooks for dotnet>=7.0.200.
 - 2763 PR by m-rsha.
- Prevent stashing when `diff` fails to execute.
 - 2774 PR by asottile.
 - 2773 issue by strubbly.
- Dependencies are no longer sorted in repository key.
 - 2776 PR by asottile.

Updating
- Deprecate `language: python_venv`.  Use `language: python` instead.
 - 2746 PR by asottile.
 - 2734 issue by asottile.

3.0.4

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

Fixes
- Fix hook diff detection for files affected by `--textconv`.
 - 2743 PR by adamchainz.
 - 2743 issue by adamchainz.

3.0.3

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

Fixes
- Revert "Prevent local `Gemfile` from interfering with hook execution.".
 - 2739 issue by Roguelazer.
 - 2740 PR by asottile.

3.0.2

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

Fixes
- Prevent local `Gemfile` from interfering with hook execution.
 - 2727 PR by asottile.
- Fix `language: r`, `repo: local` hooks
 - pre-commit-ci/issues107 by lorenzwalthert.
 - 2728 PR by asottile.

3.0.1

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

Fixes
- Ensure coursier hooks are available offline after install.
 - 2723 PR by asottile.

3.0.0

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

Features
- Make `language: golang` bootstrap `go` if not present.
 - 2651 PR by taoufik07.
 - 2649 issue by taoufik07.
- `language: coursier` now supports `additional_dependencies` and `repo: local`
 - 2702 PR by asottile.
- Upgrade `ruby-build` to `20221225`.
 - 2718 PR by jalessio.

Fixes
- Improve error message for invalid yaml for `pre-commit autoupdate`.
 - 2686 PR by asottile.
 - 2685 issue by CarstenGrohmann.
- `repo: local` no longer provisions an empty `git` repo.
 - 2699 PR by asottile.

Updating
- Drop support for python<3.8
 - 2655 PR by asottile.
- Drop support for top-level list, use `pre-commit migrate-config` to update.
 - 2656 PR by asottile.
- Drop support for `sha` to specify revision, use `pre-commit migrate-config`
to update.
 - 2657 PR by asottile.
- Remove `pre-commit-validate-config` and `pre-commit-validate-manifest`, use
`pre-commit validate-config` and `pre-commit validate-manifest` instead.
 - 2658 PR by asottile.
- `language: golang` hooks must use `go.mod` to specify dependencies
 - 2672 PR by taoufik07.

2.21.0

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

Features
- Require new-enough virtualenv to prevent 3.10 breakage
 - 2467 PR by asottile.
- Respect aliases with `SKIP` for environment install.
 - 2480 PR by kmARC.
 - 2478 issue by kmARC.
- Allow `pre-commit run --files` against unmerged paths.
 - 2484 PR by asottile.
- Also apply regex warnings to `repo: local` hooks.
 - 2524 PR by chrisRedwine.
 - 2521 issue by asottile.
- `rust` is now a "first class" language -- supporting `language_version` and
installation when not present.
 - 2534 PR by Holzhaus.
- `r` now uses more-reliable binary installation.
 - 2460 PR by lorenzwalthert.
- `GIT_ALLOW_PROTOCOL` is now passed through for git operations.
 - 2555 PR by asottile.
- `GIT_ASKPASS` is now passed through for git operations.
 - 2564 PR by mattp-.
- Remove `toml` dependency by using `cargo add` directly.
 - 2568 PR by m-rsha.
- Support `dotnet` hooks which have dotted prefixes.
 - 2641 PR by rkm.
 - 2629 issue by rkm.

Fixes
- Properly adjust `--commit-msg-filename` if run from a sub directory.
 - 2459 PR by asottile.
- Simplify `--intent-to-add` detection by using `git diff`.
 - 2580 PR by m-rsha.
- Fix `R.exe` selection on windows.
 - 2605 PR by lorenzwalthert.
 - 2599 issue by SInginc.
- Skip default `nuget` source when installing `dotnet` packages.
 - 2642 PR by rkm.

2.20.0

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

Features
- Expose `source` and `object-name` (positional args) of `prepare-commit-msg`
hook as `PRE_COMMIT_COMIT_MSG_SOURCE` and `PRE_COMMIT_COMMIT_OBJECT_NAME`.
 - 2407 PR by M-Whitaker.
 - 2406 issue by M-Whitaker.

Fixes
- Fix `language: ruby` installs when `--user-install` is set in gemrc.
 - 2394 PR by narpfel.
 - 2393 issue by narpfel.
- Adjust pty setup for solaris.
 - 2390 PR by gaige.
 - 2389 issue by gaige.
- Remove unused `--config` option from `gc`, `sample-config`,
`validate-config`, `validate-manifest` sub-commands.
 - 2429 PR by asottile.

2.19.0

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

Features
- Allow multiple outputs from `language: dotnet` hooks.
 - 2332 PR by WallucePinkham.
- Add more information to `healthy()` failure.
 - 2348 PR by asottile.
- Upgrade ruby-build.
 - 2342 PR by jalessio.
- Add `pre-commit validate-config` / `pre-commit validate-manifest` and
deprecate `pre-commit-validate-config` and `pre-commit-validate-manifest`.
 - 2362 PR by asottile.

Fixes
- Fix `pre-push` when pushed ref contains spaces.
 - 2345 PR by wwade.
 - 2344 issue by wwade.

Updating
- Change `pre-commit-validate-config` / `pre-commit-validate-manifest` to
`pre-commit validate-config` / `pre-commit validate-manifest`.
 - 2362 PR by asottile.

2.18.1

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

Fixes
- Fix regression for `repo: local` hooks running `python<3.7`
 - 2324 PR by asottile.

2.18.0

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

Features
- Keep `GIT_HTTP_PROXY_AUTHMETHOD` in git environ.
 - 2272 PR by VincentBerthier.
 - 2271 issue by VincentBerthier.
- Support both `cs` and `coursier` executables for coursier hooks.
 - 2293 PR by Holzhaus.
- Include more information in errors for `language_version` /
`additional_dependencies` for languages which do not support them.
 -  2315 PR by asottile.
- Have autoupdate preferentially pick tags which look like versions when
there are multiple equivalent tags.
 - 2312 PR by mblayman.
 - 2311 issue by mblayman.
- Upgrade `ruby-build`.
 - 2319 PR by jalessio.
- Add top level `default_install_hook_types` which will be installed when
`--hook-types` is not specified in `pre-commit install`.
 - 2322 PR by asottile.

Fixes
- Fix typo in help message for `--from-ref` and `--to-ref`.
 - 2266 PR by leetrout.
- Prioritize binary builds for R dependencies.
 - 2277 PR by lorenzwalthert.
- Fix handling of git worktrees.
 - 2252 PR by daschuer.
- Fix handling of `$R_HOME` for R hooks.
 - 2301 PR by jeff-m-sullivan.
 - 2300 issue by jeff-m-sullivan.
- Fix a rare race condition in change stashing.
 - 2323 PR by asottile.
 - 2287 issue by ian-h-chamberlain.

Updating
- Remove python3.6 support.  Note that pre-commit still supports running hooks
written in older versions, but pre-commit itself requires python 3.7+.
 - 2215 PR by asottile.
- pre-commit has migrated from the `master` branch to `main`.
 - 2302 PR by asottile.
Links

Update pytest from 7.0.1 to 7.2.2.

Changelog

7.2.2

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

Bug Fixes
---------

- `10533 <https://github.com/pytest-dev/pytest/issues/10533>`_: Fixed :func:`pytest.approx` handling of dictionaries containing one or more values of `0.0`.


- `10592 <https://github.com/pytest-dev/pytest/issues/10592>`_: Fixed crash if `--cache-show` and `--help` are passed at the same time.


- `10597 <https://github.com/pytest-dev/pytest/issues/10597>`_: Fixed bug where a fixture method named ``teardown`` would be called as part of ``nose`` teardown stage.


- `10626 <https://github.com/pytest-dev/pytest/issues/10626>`_: Fixed crash if ``--fixtures`` and ``--help`` are passed at the same time.


- `10660 <https://github.com/pytest-dev/pytest/issues/10660>`_: Fixed :py:func:`pytest.raises` to return a 'ContextManager' so that type-checkers could narrow
:code:`pytest.raises(...) if ... else nullcontext()` down to 'ContextManager' rather than 'object'.



Improved Documentation
----------------------

- `10690 <https://github.com/pytest-dev/pytest/issues/10690>`_: Added `CI` and `BUILD_NUMBER` environment variables to the documentation.


- `10721 <https://github.com/pytest-dev/pytest/issues/10721>`_: Fixed entry-points declaration in the documentation example using Hatch.


- `10753 <https://github.com/pytest-dev/pytest/issues/10753>`_: Changed wording of the module level skip to be very explicit
about not collecting tests and not executing the rest of the module.

7.2.1

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

Bug Fixes
---------

- `10452 <https://github.com/pytest-dev/pytest/issues/10452>`_: Fix 'importlib.abc.TraversableResources' deprecation warning in Python 3.12.


- `10457 <https://github.com/pytest-dev/pytest/issues/10457>`_: If a test is skipped from inside a fixture, the test summary now shows the test location instead of the fixture location.


- `10506 <https://github.com/pytest-dev/pytest/issues/10506>`_: Fix bug where sometimes pytest would use the file system root directory as :ref:`rootdir <rootdir>` on Windows.


- `10607 <https://github.com/pytest-dev/pytest/issues/10607>`_: Fix a race condition when creating junitxml reports, which could occur when multiple instances of pytest execute in parallel.


- `10641 <https://github.com/pytest-dev/pytest/issues/10641>`_: Fix a race condition when creating or updating the stepwise plugin's cache, which could occur when multiple xdist worker nodes try to simultaneously update the stepwise plugin's cache.

7.2.0

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

Deprecations
------------

- `10012 <https://github.com/pytest-dev/pytest/issues/10012>`_: Update :class:`pytest.PytestUnhandledCoroutineWarning` to a deprecation; it will raise an error in pytest 8.


- `10396 <https://github.com/pytest-dev/pytest/issues/10396>`_: pytest no longer depends on the ``py`` library.  ``pytest`` provides a vendored copy of ``py.error`` and ``py.path`` modules but will use the ``py`` library if it is installed.  If you need other ``py.*`` modules, continue to install the deprecated ``py`` library separately, otherwise it can usually be removed as a dependency.


- `4562 <https://github.com/pytest-dev/pytest/issues/4562>`_: Deprecate configuring hook specs/impls using attributes/marks.

Instead use :py:func:`pytest.hookimpl` and :py:func:`pytest.hookspec`.
For more details, see the :ref:`docs <legacy-path-hooks-deprecated>`.


- `9886 <https://github.com/pytest-dev/pytest/issues/9886>`_: The functionality for running tests written for ``nose`` has been officially deprecated.

This includes:

* Plain ``setup`` and ``teardown`` functions and methods: this might catch users by surprise, as ``setup()`` and ``teardown()`` are not pytest idioms, but part of the ``nose`` support.
* Setup/teardown using the `with_setup <with-setup-nose>`_ decorator.

For more details, consult the :ref:`deprecation docs <nose-deprecation>`.

.. _`with-setup-nose`: https://nose.readthedocs.io/en/latest/testing_tools.html?highlight=with_setup#nose.tools.with_setup

- `7337 <https://github.com/pytest-dev/pytest/issues/7337>`_: A deprecation warning is now emitted if a test function returns something other than `None`. This prevents a common mistake among beginners that expect that returning a `bool` (for example `return foo(a, b) == result`) would cause a test to pass or fail, instead of using `assert`. The plan is to make returning non-`None` from tests an error in the future.


Features
--------

- `9897 <https://github.com/pytest-dev/pytest/issues/9897>`_: Added shell-style wildcard support to ``testpaths``.



Improvements
------------

- `10218 <https://github.com/pytest-dev/pytest/issues/10218>`_: ``pytest.mark.parametrize()`` (and similar functions) now accepts any ``Sequence[str]`` for the argument names,
instead of just ``list[str]`` and ``tuple[str, ...]``.

(Note that ``str``, which is itself a ``Sequence[str]``, is still treated as a
comma-delimited name list, as before).


- `10381 <https://github.com/pytest-dev/pytest/issues/10381>`_: The ``--no-showlocals`` flag has been added. This can be passed directly to tests to override ``--showlocals`` declared through ``addopts``.


- `3426 <https://github.com/pytest-dev/pytest/issues/3426>`_: Assertion failures with strings in NFC and NFD forms that normalize to the same string now have a dedicated error message detailing the issue, and their utf-8 representation is expressed instead.


- `8508 <https://github.com/pytest-dev/pytest/issues/8508>`_: Introduce multiline display for warning matching  via :py:func:`pytest.warns` and
enhance match comparison for :py:func:`_pytest._code.ExceptionInfo.match` as returned by :py:func:`pytest.raises`.


- `8646 <https://github.com/pytest-dev/pytest/issues/8646>`_: Improve :py:func:`pytest.raises`. Previously passing an empty tuple would give a confusing
error. We now raise immediately with a more helpful message.


- `9741 <https://github.com/pytest-dev/pytest/issues/9741>`_: On Python 3.11, use the standard library's :mod:`tomllib` to parse TOML.

:mod:`tomli` is no longer a dependency on Python 3.11.


- `9742 <https://github.com/pytest-dev/pytest/issues/9742>`_: Display assertion message without escaped newline characters with ``-vv``.


- `9823 <https://github.com/pytest-dev/pytest/issues/9823>`_: Improved error message that is shown when no collector is found for a given file.


- `9873 <https://github.com/pytest-dev/pytest/issues/9873>`_: Some coloring has been added to the short test summary.


- `9883 <https://github.com/pytest-dev/pytest/issues/9883>`_: Normalize the help description of all command-line options.


- `9920 <https://github.com/pytest-dev/pytest/issues/9920>`_: Display full crash messages in ``short test summary info``, when running in a CI environment.


- `9987 <https://github.com/pytest-dev/pytest/issues/9987>`_: Added support for hidden configuration file by allowing ``.pytest.ini`` as an alternative to ``pytest.ini``.



Bug Fixes
---------

- `10150 <https://github.com/pytest-dev/pytest/issues/10150>`_: :data:`sys.stdin` now contains all expected methods of a file-like object when capture is enabled.


- `10382 <https://github.com/pytest-dev/pytest/issues/10382>`_: Do not break into pdb when ``raise unittest.SkipTest()`` appears top-level in a file.


- `7792 <https://github.com/pytest-dev/pytest/issues/7792>`_: Marks are now inherited according to the full MRO in test classes. Previously, if a test class inherited from two or more classes, only marks from the first super-class would apply.

When inheriting marks from super-classes, marks from the sub-classes are now ordered before marks from the super-classes, in MRO order. Previously it was the reverse.

When inheriting marks from super-classes, the `pytestmark` attribute of the sub-class now only contains the marks directly applied to it. Previously, it also contained marks from its super-classes. Please note that this attribute should not normally be accessed directly; use :func:`pytest.Node.iter_markers` instead.


- `9159 <https://github.com/pytest-dev/pytest/issues/9159>`_: Showing inner exceptions by forcing native display in ``ExceptionGroups`` even when using display options other than ``--tb=native``. A temporary step before full implementation of pytest-native display for inner exceptions in ``ExceptionGroups``.


- `9877 <https://github.com/pytest-dev/pytest/issues/9877>`_: Ensure ``caplog.get_records(when)`` returns current/correct data after invoking ``caplog.clear()``.



Improved Documentation
----------------------

- `10344 <https://github.com/pytest-dev/pytest/issues/10344>`_: Update information on writing plugins to use ``pyproject.toml`` instead of ``setup.py``.


- `9248 <https://github.com/pytest-dev/pytest/issues/9248>`_: The documentation is now built using Sphinx 5.x (up from 3.x previously).


- `9291 <https://github.com/pytest-dev/pytest/issues/9291>`_: Update documentation on how :func:`pytest.warns` affects :class:`DeprecationWarning`.



Trivial/Internal Changes
------------------------

- `10313 <https://github.com/pytest-dev/pytest/issues/10313>`_: Made ``_pytest.doctest.DoctestItem`` export ``pytest.DoctestItem`` for
type check and runtime purposes. Made `_pytest.doctest` use internal APIs
to avoid circular imports.


- `9906 <https://github.com/pytest-dev/pytest/issues/9906>`_: Made ``_pytest.compat`` re-export ``importlib_metadata`` in the eyes of type checkers.


- `9910 <https://github.com/pytest-dev/pytest/issues/9910>`_: Fix default encoding warning (``EncodingWarning``) in ``cacheprovider``


- `9984 <https://github.com/pytest-dev/pytest/issues/9984>`_: Improve the error message when we attempt to access a fixture that has been
torn down.
Add an additional sentence to the docstring explaining when it's not a good
idea to call ``getfixturevalue``.

7.1.3

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

Bug Fixes
---------

- `10060 <https://github.com/pytest-dev/pytest/issues/10060>`_: When running with ``--pdb``, ``TestCase.tearDown`` is no longer called for tests when the *class* has been skipped via ``unittest.skip`` or ``pytest.mark.skip``.


- `10190 <https://github.com/pytest-dev/pytest/issues/10190>`_: Invalid XML characters in setup or teardown error messages are now properly escaped for JUnit XML reports.


- `10230 <https://github.com/pytest-dev/pytest/issues/10230>`_: Ignore ``.py`` files created by ``pyproject.toml``-based editable builds introduced in `pip 21.3 <https://pip.pypa.io/en/stable/news/#v21-3>`__.


- `3396 <https://github.com/pytest-dev/pytest/issues/3396>`_: Doctests now respect the ``--import-mode`` flag.


- `9514 <https://github.com/pytest-dev/pytest/issues/9514>`_: Type-annotate ``FixtureRequest.param`` as ``Any`` as a stop gap measure until :issue:`8073` is fixed.


- `9791 <https://github.com/pytest-dev/pytest/issues/9791>`_: Fixed a path handling code in ``rewrite.py`` that seems to work fine, but was incorrect and fails in some systems.


- `9917 <https://github.com/pytest-dev/pytest/issues/9917>`_: Fixed string representation for :func:`pytest.approx` when used to compare tuples.



Improved Documentation
----------------------

- `9937 <https://github.com/pytest-dev/pytest/issues/9937>`_: Explicit note that :fixture:`tmpdir` fixture is discouraged in favour of :fixture:`tmp_path`.



Trivial/Internal Changes
------------------------

- `10114 <https://github.com/pytest-dev/pytest/issues/10114>`_: Replace `atomicwrites <https://github.com/untitaker/python-atomicwrites>`__ dependency on windows with `os.replace`.

7.1.2

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

Bug Fixes
---------

- `9726 <https://github.com/pytest-dev/pytest/issues/9726>`_: An unnecessary ``numpy`` import inside :func:`pytest.approx` was removed.


- `9820 <https://github.com/pytest-dev/pytest/issues/9820>`_: Fix comparison of  ``dataclasses`` with ``InitVar``.


- `9869 <https://github.com/pytest-dev/pytest/issues/9869>`_: Increase ``stacklevel`` for the ``NODE_CTOR_FSPATH_ARG`` deprecation to point to the
user's code, not pytest.


- `9871 <https://github.com/pytest-dev/pytest/issues/9871>`_: Fix a bizarre (and fortunately rare) bug where the `temp_path` fixture could raise
an internal error while attempting to get the current user's username.

7.1.1

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

Bug Fixes
---------

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

7.1.0

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

Breaking Changes
----------------

- `8838 <https://github.com/pytest-dev/pytest/issues/8838>`_: As per our policy, the following features have been deprecated in the 6.X series and are now
removed:

* ``pytest._fillfuncargs`` function.

* ``pytest_warning_captured`` hook - use ``pytest_warning_recorded`` instead.

* ``-k -foobar`` syntax - use ``-k 'not foobar'`` instead.

* ``-k foobar:`` syntax.

* ``pytest.collect`` module - import from ``pytest`` directly.

For more information consult
`Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`__ in the docs.


- `9437 <https://github.com/pytest-dev/pytest/issues/9437>`_: Dropped support for Python 3.6, which reached `end-of-life <https://devguide.python.org/#status-of-python-branches>`__ at 2021-12-23.



Improvements
------------

- `5192 <https://github.com/pytest-dev/pytest/issues/5192>`_: Fixed test output for some data types where ``-v`` would show less information.

Also, when showing diffs for sequences, ``-q`` would produce full diffs instead of the expected diff.


- `9362 <https://github.com/pytest-dev/pytest/issues/9362>`_: pytest now avoids specialized assert formatting when it is detected that the default ``__eq__`` is overridden in ``attrs`` or ``dataclasses``.


- `9536 <https://github.com/pytest-dev/pytest/issues/9536>`_: When ``-vv`` is given on command line, show skipping and xfail reasons in full instead of truncating them to fit the terminal width.


- `9644 <https://github.com/pytest-dev/pytest/issues/9644>`_: More information about the location of resources that led Python to raise :class:`ResourceWarning` can now
be obtained by enabling :mod:`tracemalloc`.

See :ref:`resource-warnings` for more information.


- `9678 <https://github.com/pytest-dev/pytest/issues/9678>`_: More types are now accepted in the ``ids`` argument to ``pytest.mark.parametrize``.
Previously only `str`, `float`, `int` and `bool` were accepted;
now `bytes`, `complex`, `re.Pattern`, `Enum` and anything with a `__name__` are also accepted.


- `9692 <https://github.com/pytest-dev/pytest/issues/9692>`_: :func:`pytest.approx` now raises a :class:`TypeError` when given an unordered sequence (such as :class:`set`).

Note that this implies that custom classes which only implement ``__iter__`` and ``__len__`` are no longer supported as they don't guarantee order.



Bug Fixes
---------

- `8242 <https://github.com/pytest-dev/pytest/issues/8242>`_: The deprecation of raising :class:`unittest.SkipTest` to skip collection of
tests during the pytest collection phase is reverted - this is now a supported
feature again.


- `9493 <https://github.com/pytest-dev/pytest/issues/9493>`_: Symbolic link components are no longer resolved in conftest paths.
This means that if a conftest appears twice in collection tree, using symlinks, it will be executed twice.
For example, given

   tests/real/conftest.py
   tests/real/test_it.py
   tests/link -> tests/real

running ``pytest tests`` now imports the conftest twice, once as ``tests/real/conftest.py`` and once as ``tests/link/conftest.py``.
This is a fix to match a similar change made to test collection itself in pytest 6.0 (see :pull:`6523` for details).


- `9626 <https://github.com/pytest-dev/pytest/issues/9626>`_: Fixed count of selected tests on terminal collection summary when there were errors or skipped modules.

If there were errors or skipped modules on collection, pytest would mistakenly subtract those from the selected count.


- `9645 <https://github.com/pytest-dev/pytest/issues/9645>`_: Fixed regression where ``--import-mode=importlib`` used together with :envvar:`PYTHONPATH` or :confval:`pythonpath` would cause import errors in test suites.


- `9708 <https://github.com/pytest-dev/pytest/issues/9708>`_: :fixture:`pytester` now requests a :fixture:`monkeypatch` fixture instead of creating one internally. This solves some issues with tests that involve pytest environment variables.


- `9730 <https://github.com/pytest-dev/pytest/issues/9730>`_: Malformed ``pyproject.toml`` files now produce a clearer error message.
Links

Update pytest-mock from 3.7.0 to 3.10.0.

Changelog

3.10.0

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

* Added new ``mocker.stop(m)`` method to stop specific ``mocker.patch`` or ``mocker.spy`` calls (`319`_).

.. _319: https://github.com/pytest-dev/pytest-mock/pull/319

3.9.0

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

* Expose ``NonCallableMagicMock`` via the ``mocker`` fixture (`318`_).

.. _318: https://github.com/pytest-dev/pytest-mock/pull/318

3.8.2

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

- Fixed ``AsyncMock`` support for Python 3.7+ in ``mocker.async_stub`` (`302`_).

.. _302: https://github.com/pytest-dev/pytest-mock/pull/302

3.8.1

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

* Fixed regression caused by an explicit ``mock`` dependency in the code (`298`_).

.. _298: https://github.com/pytest-dev/pytest-mock/issues/298

3.8.0

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

* Add ``MockerFixture.async_mock`` method. Thanks `PerchunPak`_ for the PR (`296`_).

.. _PerchunPak: https://github.com/PerchunPak
.. _296: https://github.com/pytest-dev/pytest-mock/pull/296
Links

Update requests-mock from 1.9.3 to 1.10.0.

Changelog

1.10.0

What's Changed
* Response parameters type hints by OldSneerJaw in https://github.com/jamielennox/requests-mock/pull/178
* Support Python 3.10. by adamchainz in https://github.com/jamielennox/requests-mock/pull/190
* Avoid using distutils to check pytest version. by adamchainz in https://github.com/jamielennox/requests-mock/pull/189
* Add reset methods on the Mocker class type. by zozoens31 in https://github.com/jamielennox/requests-mock/pull/184
* add GitHub URL for PyPi by andriyor in https://github.com/jamielennox/requests-mock/pull/196
* Prevent race condition when using requests_futures and ThreadPoolExecutor by phodge in https://github.com/jamielennox/requests-mock/pull/183
* pytest plugin should lazy-load requests_mock by ikonst in https://github.com/jamielennox/requests-mock/pull/195
* Update homepage/doc URLs of requests library by soxofaan in https://github.com/jamielennox/requests-mock/pull/206
* Thread Locking by phodge in https://github.com/jamielennox/requests-mock/pull/203
* Shorten line length of comments by jamielennox in https://github.com/jamielennox/requests-mock/pull/183 and https://github.com/jamielennox/requests-mock/pull/200
* Improvements to Type Hints by jamielennox in https://github.com/jamielennox/requests-mock/pull/199
* Allow passing json_encoder to mocking by jamielennox in https://github.com/jamielennox/requests-mock/pull/198

New Contributors
* petrem made their first contribution in https://github.com/jamielennox/requests-mock/pull/185
* mgorny made their first contribution in https://github.com/jamielennox/requests-mock/pull/164
* akhsiM made their first contribution in https://github.com/jamielennox/requests-mock/pull/194
* adamchainz made their first contribution in https://github.com/jamielennox/requests-mock/pull/190
* zozoens31 made their first contribution in https://github.com/jamielennox/requests-mock/pull/184
* andriyor made their first contribution in https://github.com/jamielennox/requests-mock/pull/196
* phodge made their first contribution in https://github.com/jamielennox/requests-mock/pull/183
* ikonst made their first contribution in https://github.com/jamielennox/requests-mock/pull/195
* soxofaan made their first contribution in https://github.com/jamielennox/requests-mock/pull/206

**Full Changelog**: https://github.com/jamielennox/requests-mock/compare/1.9.3...1.10.0
Links

Update Sphinx from 4.4.0 to 6.1.3.

Changelog

6.1.3

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

Bugs fixed
----------

* 11116: Reverted to previous Sphinx 5 node copying method
* 11117: Reverted changes to parallel image processing from Sphinx 6.1.0
* 11119: Supress ``ValueError`` in the ``linkcheck`` builder

6.1.2

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

Bugs fixed
----------

* 11101: LaTeX: ``div.topic_padding`` key of sphinxsetup documented at 5.1.0 was
implemented with name ``topic_padding``
* 11099: LaTeX: ``shadowrule`` key of sphinxsetup causes PDF build to crash
since Sphinx 5.1.0
* 11096: LaTeX: ``shadowsize`` key of sphinxsetup causes PDF build to crash
since Sphinx 5.1.0
* 11095: LaTeX: shadow of :dudir:`topic` and contents_ boxes not in page
margin since Sphinx 5.1.0

.. _contents: https://docutils.sourceforge.io/docs/ref/rst/directives.html#table-of-contents
* 11100: Fix copying images when running under parallel mode.

6.1.1

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

Bugs fixed
----------

* 11091: Fix ``util.nodes.apply_source_workaround`` for ``literal_block`` nodes
with no source information in the node or the node's parents.

6.1.0

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

Dependencies
------------

* Adopted the `Ruff`_ code linter.

.. _Ruff: https://github.com/charliermarsh/ruff

Incompatible changes
--------------------

* 10979: gettext: Removed support for pluralisation in ``get_translation``.
This was unused and complicated other changes to ``sphinx.locale``.

Deprecated
----------

* ``sphinx.util`` functions:

* Renamed ``sphinx.util.typing.stringify()``
  to ``sphinx.util.typing.stringify_annotation()``
* Moved ``sphinx.util.xmlname_checker()``
  to ``sphinx.builders.epub3._XML_NAME_PATTERN``

Moved to ``sphinx.util.display``:

* ``sphinx.util.status_iterator``
* ``sphinx.util.display_chunk``
* ``sphinx.util.SkipProgressMessage``
* ``sphinx.util.progress_message``

Moved to ``sphinx.util.http_date``:

* ``sphinx.util.epoch_to_rfc1123``
* ``sphinx.util.rfc1123_to_epoch``

Moved to ``sphinx.util.exceptions``:

* ``sphinx.util.save_traceback``
* ``sphinx.util.format_exception_cut_frames``

Features added
--------------

* Cache doctrees in the build environment during the writing phase.
* Make all writing phase tasks support parallel execution.
* 11072: Use PEP 604 (``X | Y``) display conventions for ``typing.Optional``
and ``typing.Optional`` types within the Python domain and autodoc.
* 10700: autodoc: Document ``typing.NewType()`` types as classes rather than
'data'.
* Cache doctrees between the reading and writing phases.

Bugs fixed
----------

* 10962: HTML: Fix the multi-word key name lookup table.
* Fixed support for Python 3.12 alpha 3 (changes in the ``enum`` module).
* 11069: HTML Theme: Removed outdated "shortcut" link relation keyword.
* 10952: Properly terminate parallel processes on programme interuption.
* 10988: Speed up ``TocTree.resolve()`` through more efficient copying.
* 6744: LaTeX: support for seealso directive should be via an environment
to allow styling.
* 11074: LaTeX: Can't change sphinxnote to use sphinxheavybox starting with
5.1.0

6.0.1

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

Dependencies
------------

* Require Pygments 2.13 or later.

Bugs fixed
----------

* 10944: imgmath:  Fix resolving image paths for files in nested folders.

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("sphinxcontrib.jquery")`` if you develop a Sphinx theme
or extension.

The second option is to manually ensure that the frameworks are present.
To re-add jQuery and underscore.js, you will need to copy ``jquery.js`` 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 %}
      <script src="{{ pathto('_static/jquery.js', resource=True) }}"></script>
      <script src="{{ pathto('_static/underscore.js', resource=True) }}"></script>
      {{ 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
``'booktabs'``, ``'borderless'``, and ``'colorrows'`` styles.
(thanks to Stefan Wiehler for initial pull requests 6666, 6671)
* 10840: One can cross-reference including an option value like ``:option:`--module=foobar,
``:option:`--module[=foobar] or ``:option:`--module foobar.
Patch by Martin Liska.
* 10881: autosectionlabel: Record the generated section label to the debug log.
* 10268: Correctly URI-escape image filenames.
* 10887: domains: Allow sections in all the content of all object description
directives (e.g. :rst:dir:`py:function`). Patch by Adam Turner

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'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 'of', 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 'genindex', 'modindex' and 'search' 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 'sphinxsetup' ``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: "Fix" 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:`'sphinxsetup' <latexsphinxsetup>`
keys allow to configure four separate border-widths, four paddings, four
corner radii, a shadow (possibly inset), colours for border, background, shadow
for each of the code-block, topic, attention, caution, danger, error and warning
directives.
* 10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
* 10599: HTML Theme: Wrap consecutive footnotes in an ``<aside>`` element when
using Docutils 0.18 or later, to allow for easier styling. This matches the
behaviour introduced in Docutils 0.19. Patch by Adam Turner.
* 10518: config: Add ``include_patterns`` as the opposite 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 <https://ctan.org/pkg/framed>`_
bug
* 10638: LaTeX: framed coloured boxes in highlighted code (e.g. highlighted
diffs using Pygments style ``'manni'``) inherit thickness of code-block frame
* 10647: LaTeX: Only one ``\label`` is generated 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&#x

@pyup-bot pyup-bot added the update label Apr 1, 2023
@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Jul 1, 2023

Closing this in favor of #231

@pyup-bot pyup-bot closed this Jul 1, 2023
@tyki6 tyki6 deleted the pyup-scheduled-update-2023-04-01 branch July 1, 2023 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant