Skip to content

Update dependency coverage to <7.10 #365

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 15, 2025

This PR contains the following updates:

Package Change Age Confidence
coverage <7.6 -> <7.10 age confidence

Release Notes

nedbat/coveragepy (coverage)

v7.9.2

Compare Source

  • Fix: complex conditionals within a line might cause a KeyError when using
    sys.monitoring, as reported in issue 1991_. This is now fixed.

  • Fix: we can now measure coverage for code in Python archive (.par) files.
    Thanks, Itamer Oren <pull 1984_>_.

.. _pull 1984:https://github.com/nedbat/coveragepy/pull/19844
.. _issue 1991https://github.com/nedbat/coveragepy/issues/199191

.. _changes_7-9-1:

v7.9.1

Compare Source

  • The "no-ctracer" warning is not issued for Python pre-release versions.
    Coverage doesn't ship compiled wheels for those versions, so this was far too
    noisy.

  • On Python 3.14+, the "sysmon" core is now the default if it's supported for
    your configuration. Plugins and dynamic contexts are still not supported
    with it.

.. _changes_7-9-0:

v7.9.0

Compare Source

  • Added a [run] core configuration setting to specify the measurement core,
    which was previously only available through the COVERAGE_CORE environment
    variable. Finishes issue 1746_.

  • Fixed incorrect rendering of f-strings with doubled braces, closing issue 1980_.

  • If the C tracer core can't be imported, a warning ("no-ctracer") is issued
    with the reason.

  • The C tracer core extension module now conforms to PEP 489, closing issue 1977. Thanks, Adam Turner <pull 1978_>_.

  • Fixed a "ValueError: min() arg is an empty sequence" error caused by strange
    empty modules, found by oss-fuzz_.

.. _issue 1746:https://github.com/nedbat/coveragepy/issues/17466
.. _issue 1977https://github.com/nedbat/coveragepy/issues/197777
.. _pull 197https://github.com/nedbat/coveragepy/pull/1978978
.. _issue 19https://github.com/nedbat/coveragepy/issues/19801980
.. _PEP 489: https://peps.python.org/pep-0489
.. _oss-fuzz: https://google.github.io/oss-fuzz/

.. _changes_7-8-2:

v7.8.2

Compare Source

  • Wheels are provided for Windows ARM64 on Python 3.11, 3.12, and 3.13.
    Thanks, Finn Womack <pull 1972_>_.

.. _issue 1971:https://github.com/nedbat/coveragepy/pull/19711
.. _pull 1972https://github.com/nedbat/coveragepy/pull/197272

.. _changes_7-8-1:

v7.8.1

Compare Source

  • A number of EncodingWarnings were fixed that could appear if you've enabled
    PYTHONWARNDEFAULTENCODING, fixing issue 1966. Thanks, Henry Schreiner <pull 1967_>.

  • Fixed a race condition when using sys.monitoring with free-threading Python,
    closing issue 1970_.

.. _issue 1966:https://github.com/nedbat/coveragepy/issues/19666
.. _pull 1967https://github.com/nedbat/coveragepy/pull/196767
.. _issue 197https://github.com/nedbat/coveragepy/issues/1970970

.. _changes_7-8-0:

v7.8.0

Compare Source

  • Added a new source_dirs setting for symmetry with the existing
    source_pkgs setting. It's preferable to the existing source setting,
    because you'll get a clear error when directories don't exist. Fixes issue 1942. Thanks, Jeremy Fleischman <pull 1943_>.

  • Fix: the PYTHONSAFEPATH environment variable new in Python 3.11 is properly
    supported, closing issue 1696. Thanks, Philipp A. <pull 1700_>. This
    works properly except for a detail when using the coverage command on
    Windows. There you can use python -m coverage instead if you need exact
    emulation.

.. _issue 1696:https://github.com/nedbat/coveragepy/issues/16966
.. _pull 1700https://github.com/nedbat/coveragepy/pull/170000
.. _issue 194https://github.com/nedbat/coveragepy/issues/1942942
.. _pull 19https://github.com/nedbat/coveragepy/pull/19431943

.. _changes_7-7-1:

v7.7.1

Compare Source

  • A few small tweaks to the sys.monitoring support for Python 3.14. Please
    test!

.. _changes_7-7-0:

v7.7.0

Compare Source

  • The Coverage object has a new method, :meth:.Coverage.branch_stats for
    getting simple branch information for a module. Closes issue 1888_.

  • The :class:Coverage constructor<.Coverage> now has a plugins parameter
    for passing in plugin objects directly, thanks to Alex Gaynor <pull 1919_>_.

  • Many constant tests in if statements are now recognized as being optimized
    away. For example, previously if 13: would have been considered a branch
    with one path not taken. Now it is understood as always true and no coverage
    is missing.

  • The experimental sys.monitoring support now works for branch coverage if you
    are using Python 3.14.0 alpha 6 or newer. This should reduce the overhead
    coverage.py imposes on your test suite. Set the environment variable
    COVERAGE_CORE=sysmon to try it out.

  • Confirmed support for PyPy 3.11. Thanks Michał Górny.

.. _issue 1888:https://github.com/nedbat/coveragepy/issues/18888
.. _pull 1919https://github.com/nedbat/coveragepy/pull/191919

.. _changes_7-6-12:

v7.6.12

Compare Source

  • Fix: some aarch64 distributions were missing (issue 1927_). These are now
    building reliably.

.. _issue 1927:https://github.com/nedbat/coveragepy/issues/19277

.. _changes_7-6-11:

v7.6.11

Compare Source

  • Fix: a memory leak in CTracer has been fixed. The details are in issue 1924_ and pytest-dev 676_. This should reduce the memory footprint for
    everyone even if it hadn't caused a problem before.

  • We now ship a py3-none-any.whl wheel file. Thanks, Russell Keith-Magee <pull 1914_>_.

.. _pull 1914:https://github.com/nedbat/coveragepy/pull/19144
.. _issue 1924https://github.com/nedbat/coveragepy/issues/192424
.. _pytest-dev 67https://github.com/pytest-dev/pytest-cov/issues/676676

.. _changes_7-6-10:

v7.6.10

Compare Source

  • Fix: some descriptions of missing branches in HTML and LCOV reports were
    incorrect when multi-line statements were involved (issue 1874_ and issue 1875_). These are now fixed.

  • Fix: Python 3.14 defers evaluation of annotations <pep649_>_ by moving them
    into separate code objects. That code is rarely executed, so coverage.py
    would mark them as missing, as reported in issue 1908_. Now they are
    ignored by coverage automatically.

  • Fixed an obscure and mysterious problem on PyPy 3.10 seemingly involving
    mocks, imports, and trace functions: issue 1902_. To be honest, I don't
    understand the problem or the solution, but git bisect helped find it,
    and now it's fixed.

  • Docs: re-wrote the :ref:subprocess page to put multiprocessing first and to
    highlight the correct use of :class:multiprocessing.Pool <python:multiprocessing.pool.Pool>.

.. _issue 1874:https://github.com/nedbat/coveragepy/issues/18744
.. _issue 1875https://github.com/nedbat/coveragepy/issues/187575
.. _issue 190https://github.com/nedbat/coveragepy/issues/1902902
.. _issue 19https://github.com/nedbat/coveragepy/issues/19081908
.. _pep649: https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-pep649

.. _changes_7-6-9:

v7.6.9

Compare Source

  • Fix: Tomas Uribe fixed <pull 1901_>_ a performance problem in the XML
    report. Large code bases should produce XML reports much faster now.

.. _pull 1901:https://github.com/nedbat/coveragepy/pull/19011

.. _changes_7-6-8:

v7.6.8

Compare Source

  • Fix: the LCOV report code assumed that a branch line that took no branches
    meant that the entire line was unexecuted. This isn't true in a few cases:
    the line might always raise an exception, or might have been optimized away.
    Fixes issue 1896_.

  • Fix: similarly, the HTML report will now explain that a line that jumps to
    none of its expected destinations must have always raised an exception.
    Previously, it would say something nonsensical like, "line 4 didn't jump to
    line 5 because line 4 was never true, and it didn't jump to line 7 because
    line 4 was always true." This was also shown in issue 1896_.

.. _issue 1896:https://github.com/nedbat/coveragepy/issues/18966

.. _changes_7-6-7:

v7.6.7

Compare Source

  • Fix: ugh, the other assert from 7.6.5 can also be encountered in the wild,
    so it's been restored to a conditional. Sorry for the churn.

.. _changes_7-6-6:

v7.6.6

Compare Source

  • One of the new asserts from 7.6.5 caused problems in real projects, as
    reported in issue 1891_. The assert has been removed.

.. _issue 1891:https://github.com/nedbat/coveragepy/issues/18911

.. _changes_7-6-5:

v7.6.5

Compare Source

  • Fix: fine-tuned the exact Python version (3.12.6) when exiting from with
    statements changed how they traced. This affected whether people saw the
    fix for issue 1880_.

  • Fix: isolate our code more from mocking in the os module that in rare cases
    can cause bizarre behavior <pytest-cov-666_>_.

  • Refactor: some code unreachable code paths in parser.py were changed to
    asserts. If you encounter any of these, please let me know!

.. _pytest-cov-666:https://github.com/pytest-dev/pytest-cov/issues/6666

.. _changes_7-6-4:

v7.6.4

Compare Source

  • Fix: multi-line with statements could cause contained branches to be
    incorrectly marked as missing (issue 1880_). This is now fixed.

.. _issue 1880:https://github.com/nedbat/coveragepy/issues/18800

.. _changes_7-6-3:

v7.6.3

Compare Source

  • Fix: nested context managers could incorrectly be analyzed to flag a missing
    branch on the last context manager, as described in issue 1876_. This is
    now fixed.

  • Fix: the missing branch message about not exiting a module had an extra
    "didn't," as described in issue 1873_. This is now fixed.

.. _issue 1873:https://github.com/nedbat/coveragepy/issues/18733
.. _issue 1876https://github.com/nedbat/coveragepy/issues/187676

.. _changes_7-6-2:

v7.6.2

Compare Source

  • Dropped support for Python 3.8 and PyPy 3.8.

  • Fix: a final wildcard match/case clause assigning to a name (case _ as value) was incorrectly marked as a missing branch. This is now fixed,
    closing issue 1860_.

  • Fewer things are considered branches now. Lambdas, comprehensions, and
    generator expressions are no longer marked as missing branches if they don't
    complete execution. Closes issue 1852_.

  • Fix: the HTML report didn't properly show multi-line f-strings that end with
    a backslash continuation. This is now fixed, closing issue 1836, thanks
    to LiuYinCarl and Marco Ricci <pull 1838_>
    .

  • Fix: the LCOV report now has correct line numbers (fixing issue 1846) and
    better branch descriptions for BRDA records (fixing issue 1850
    ). There
    are other changes to lcov also, including a new configuration option
    :ref:line_checksums <config_lcov_line_checksums> to control whether line
    checksums are included in the lcov report. The default is false. To keep
    checksums set it to true. All this work is thanks to Zack Weinberg
    (pull 1849_ and pull 1851_).

  • Fixed the docs for multi-line regex exclusions, closing issue 1863_.

  • Fixed a potential crash in the C tracer, closing issue 1835, thanks to
    Jan Kühle <pull 1843_>
    .

.. _issue 1835:https://github.com/nedbat/coveragepy/issues/18355
.. _issue 1836https://github.com/nedbat/coveragepy/issues/183636
.. _pull 183https://github.com/nedbat/coveragepy/pull/1838838
.. _pull 18https://github.com/nedbat/coveragepy/pull/18431843
.. _issue 1https://github.com/nedbat/coveragepy/issues/1846/1846
.. _pull https://github.com/nedbat/coveragepy/pull/1849l/1849
.. _issuehttps://github.com/nedbat/coveragepy/issues/1850es/1850
.. _pulhttps://github.com/nedbat/coveragepy/pull/1851ull/1851
.. _isshttps://github.com/nedbat/coveragepy/issues/1852sues/1852
.. _ishttps://github.com/nedbat/coveragepy/issues/1860ssues/1860
.. _ihttps://github.com/nedbat/coveragepy/issues/1863issues/1863

.. _changes_7-6-1:

v7.6.1

Compare Source

  • Fix: some aarch64 distributions were missing (issue 1927_). These are now
    building reliably.

.. _issue 1927:https://github.com/nedbat/coveragepy/issues/19277

.. _changes_7-6-11:

v7.6.0

Compare Source

  • Exclusion patterns can now be multi-line, thanks to Daniel Diniz <pull 1807_>. This enables many interesting exclusion use-cases, including those
    requested in issues 118 <issue 118_>
    (entire files), 996 <issue 996_>_ (multiple lines only when appearing together), 1741 <issue 1741_>_ (remainder of a function), and 1803 <issue 1803_>_
    (arbitrary sequence of marked lines). See the :ref:multi_line_exclude
    section of the docs for more details and examples.

  • The JSON report now includes per-function and per-class coverage information.
    Thanks to Daniel Diniz <pull 1809_>_ for getting the work started. This
    closes issue 1793_ and issue 1532_.

  • Fixed an incorrect calculation of "(no class)" lines in the HTML classes
    report.

  • Python 3.13.0b3 is supported.

.. _issue 118:https://github.com/nedbat/coveragepy/issues/1188
.. _issue 996https://github.com/nedbat/coveragepy/issues/99696
.. _issue 153https://github.com/nedbat/coveragepy/issues/1532532
.. _issue 17https://github.com/nedbat/coveragepy/issues/17411741
.. _issue 1https://github.com/nedbat/coveragepy/issues/1793/1793
.. _issue https://github.com/nedbat/coveragepy/issues/1803s/1803
.. _pullhttps://github.com/nedbat/coveragepy/pull/1807ll/1807
.. _pulhttps://github.com/nedbat/coveragepy/pull/1809ull/1809

.. _changes_7-5-4:


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants