Releases: nedbat/coveragepy
7.9.2
Version 7.9.2 — 2025-07-03
- 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.
➡️ PyPI page: coverage 7.9.2.
➡️ To install: python3 -m pip install coverage==7.9.2
7.9.1
Version 7.9.1 — 2025-06-13
- 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.
➡️ PyPI page: coverage 7.9.1.
➡️ To install: python3 -m pip install coverage==7.9.1
7.9.0
Version 7.9.0 — 2025-06-11
- 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.
- Fixed a “ValueError: min() arg is an empty sequence” error caused by strange empty modules, found by oss-fuzz.
➡️ PyPI page: coverage 7.9.0.
➡️ To install: python3 -m pip install coverage==7.9.0
7.8.2
Version 7.8.2 — 2025-05-23
- Wheels are provided for Windows ARM64 on Python 3.11, 3.12, and 3.13. Thanks, Finn Womack.
➡️ PyPI page: coverage 7.8.2.
➡️ To install: python3 -m pip install coverage==7.8.2
7.8.1
Version 7.8.1 — 2025-05-21
- A number of EncodingWarnings were fixed that could appear if you’ve enabled PYTHONWARNDEFAULTENCODING, fixing issue 1966. Thanks, Henry Schreiner.
- Fixed a race condition when using sys.monitoring with free-threading Python, closing issue 1970.
➡️ PyPI page: coverage 7.8.1.
➡️ To install: python3 -m pip install coverage==7.8.1
7.8.0
Version 7.8.0 — 2025-03-30
- Added a new
source_dirs
setting for symmetry with the existingsource_pkgs
setting. It’s preferable to the existingsource
setting, because you’ll get a clear error when directories don’t exist. Fixes issue 1942. Thanks, Jeremy Fleischman. - Fix: the PYTHONSAFEPATH environment variable new in Python 3.11 is properly supported, closing issue 1696. Thanks, Philipp A.. This works properly except for a detail when using the
coverage
command on Windows. There you can usepython -m coverage
instead if you need exact emulation.
➡️ PyPI page: coverage 7.8.0.
➡️ To install: python3 -m pip install coverage==7.8.0
7.7.1
Version 7.7.1 — 2025-03-21
- A few small tweaks to the sys.monitoring support for Python 3.14. Please test!
➡️ PyPI page: coverage 7.7.1.
➡️ To install: python3 -m pip install coverage==7.7.1
7.7.0
Version 7.7.0 — 2025-03-16
- The Coverage object has a new method, Coverage.branch_stats() for getting simple branch information for a module. Closes issue 1888.
- The Coverage constructor now has a
plugins
parameter for passing in plugin objects directly, thanks to Alex Gaynor. - 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.
➡️ PyPI page: coverage 7.7.0.
➡️ To install: python3 -m pip install coverage==7.7.0
7.6.12
Version 7.6.12 — 2025-02-11
- Fix: some aarch64 distributions were missing (issue 1927). These are now building reliably.
➡️ PyPI page: coverage 7.6.12.
➡️ To install: python3 -m pip install coverage==7.6.12
7.6.11
Version 7.6.11 — 2025-02-08
- 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.
➡️ PyPI page: coverage 7.6.11.
➡️ To install: python3 -m pip install coverage==7.6.11