Releases: nedbat/coveragepy
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
7.6.10
Version 7.6.10 — 2024-12-26
- 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 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 Measuring subprocesses page to put multiprocessing first and to highlight the correct use of https://docs.python.org/3/library/multiprocessing.html#multiprocessing.pool.Pool.
➡️ PyPI page: coverage 7.6.10.
➡️ To install: python3 -m pip install coverage==7.6.10
7.6.9
Version 7.6.9 — 2024-12-06
- Fix: Tomas Uribe fixed a performance problem in the XML report. Large code bases should produce XML reports much faster now.
➡️ PyPI page: coverage 7.6.9.
➡️ To install: python3 -m pip install coverage==7.6.9
7.6.8
Version 7.6.8 — 2024-11-23
- 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.
➡️ PyPI page: coverage 7.6.8.
➡️ To install: python3 -m pip install coverage==7.6.8
7.6.7
Version 7.6.7 — 2024-11-15
- 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.
➡️ PyPI page: coverage 7.6.7.
➡️ To install: python3 -m pip install coverage==7.6.7
7.6.6
Version 7.6.6 — 2024-11-15
- One of the new asserts from 7.6.5 caused problems in real projects, as reported in issue 1891. The assert has been removed.
➡️ PyPI page: coverage 7.6.6.
➡️ To install: python3 -m pip install coverage==7.6.6
7.6.5
Version 7.6.5 — 2024-11-14
- 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.
- Refactor: some code unreachable code paths in parser.py were changed to asserts. If you encounter any of these, please let me know!
➡️ PyPI page: coverage 7.6.5.
➡️ To install: python3 -m pip install coverage==7.6.5
7.6.4
Version 7.6.4 — 2024-10-20
- Fix: multi-line
with
statements could cause contained branches to be incorrectly marked as missing (issue 1880). This is now fixed.
➡️ PyPI page: coverage 7.6.4.
➡️ To install: python3 -m pip install coverage==7.6.4
7.6.3
Version 7.6.3 — 2024-10-13
- 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.
➡️ PyPI page: coverage 7.6.3.
➡️ To install: python3 -m pip install coverage==7.6.3