Skip to content

chore(deps): update dependency coverage to v7

RenovateBot requested to merge renovate/coverage-7.x into develop

This MR contains the following updates:

Package Type Update Change
coverage dev-dependencies major ^6.3.2 -> ^6.3.2 || ^7.0.0

Release Notes



Compare Source

  • Fix: reverted a change from 6.4.3 <pull 1347_>_ that helped Cython, but also increased the size of data files when using dynamic contexts, as described in the now-fixed issue 1586*. The problem is now avoided due to a recent change (issue 1538*). Thanks to Anders Kaseorg <pull 1629_>_ and David Szotten for persisting with problem reports and detailed diagnoses.

  • Wheels are now provided for CPython 3.12.

.. _issue 1586: .. _pull 1629:

.. _changes_7-2-6:


Compare Source

  • Fix: the lcov command could raise an IndexError exception if a file is translated to Python but then executed under its own name. Jinja2 does this when rendering templates. Fixes issue 1553_.

  • Python 3.12 beta 1 now inlines comprehensions. Previously they were compiled as invisible functions and would warn you if they weren't completely executed. This no longer happens under Python 3.12.

  • Fix: the coverage debug sys command includes some environment variables in its output. This could have included sensitive data. Those values are now hidden with asterisks, closing issue 1628_.

.. _issue 1553: .. _issue 1628:

.. _changes_7-2-5:


Compare Source

  • Fix: html_report() could fail with an AttributeError on isatty if run in an unusual environment where sys.stdout had been replaced. This is now fixed.

.. _changes_7-2-4:


Compare Source

PyCon 2023 sprint fixes!

  • Fix: with relative_files = true, specifying a specific file to include or omit wouldn't work correctly (issue 1604*). This is now fixed, with testing help by Marc Gibbons <pull 1608_>*.

  • Fix: the XML report would have an incorrect <source> element when using relative files and the source option ended with a slash (issue 1541*). This is now fixed, thanks to Kevin Brown-Silva <pull 1608_>*.

  • When the HTML report location is printed to the terminal, it's now a terminal-compatible URL, so that you can click the location to open the HTML file in your browser. Finishes issue 1523_ thanks to Ricardo Newbery <pull 1613_>_.

  • Docs: a new :ref:Migrating page <migrating> with details about how to migrate between major versions of It currently covers the wildcard changes in 7.x. Thanks, Brian Grohe <pull 1610_>_.

.. _issue 1523: .. _issue 1541: .. _issue 1604: .. _pull 1608: .. _pull 1609: .. _pull 1610: .. _pull 1613:

.. _changes_7-2-3:


Compare Source

  • Fix: the :ref:config_run_sigterm setting was meant to capture data if a process was terminated with a SIGTERM signal, but it didn't always. This was fixed thanks to Lewis Gaul <pull 1600_>*, closing issue 1599*.

  • Performance: HTML reports with context information are now much more compact. File sizes are typically as small as one-third the previous size, but can be dramatically smaller. This closes issue 1584_ thanks to Oleh Krehel <pull 1587_>_.

  • Development dependencies no longer use hashed pins, closing issue 1592_.

.. _issue 1584: .. _pull 1587: .. _issue 1592: .. _issue 1599: .. _pull 1600:

.. _changes_7-2-2:


Compare Source

  • 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: .. _issue 1573: .. _pull 1574: .. _pull 1583:

.. _changes_7-2-1:


Compare Source

  • 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: .. _issue 1566:

.. _changes_7-2-0:


Compare Source

  • 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: .. _issue 1542: .. _pull 1543: .. _pull 1547: .. _pull 1550: .. _issue 1552: .. _pull 1557:

.. _changes_7-1-0:


Compare Source

  • 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: .. _issue 972: .. _issue 1319: .. _issue 1538:

.. _changes_7-0-5:


Compare Source

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

.. _changes_7-0-4:


Compare Source

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

.. _changes_7-0-3:


Compare Source

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

.. _changes_7-0-2:


Compare Source

  • 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 is installed with the [toml] extra. 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: .. _issue 1516: .. _issue 1519:

.. _changes_7-0-1:


Compare Source

  • 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: .. _issue 1511: .. _issue 1512: .. _issue 1513:

.. _changes_7-0-0:


Compare Source

Nothing new beyond 7.0.0b1.

.. _changes_7-0-0b1:


📅 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 MR becomes conflicted, or you tick the rebase/retry checkbox.

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

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

This MR has been generated by Renovate Bot.

Edited by RenovateBot

Merge request reports