Skip to content

Releases: nedbat/coveragepy

7.2.4

28 Apr 10:19
7.2.4
9073664
Compare
Choose a tag to compare

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.
  • 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.
  • 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.
  • Docs: a new Migrating page <migrating> with details about how to migrate between major versions of coverage.py. It currently covers the wildcard changes in 7.x. Thanks, Brian Grohe.

➡️  PyPI page: coverage 7.2.4.
➡️  To install: python3 -m pip install coverage==7.2.4

7.2.3

06 Apr 14:38
7.2.3
6297f19
Compare
Choose a tag to compare
  • Fix: the 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, 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.
  • Development dependencies no longer use hashed pins, closing issue 1592.

➡️  PyPI page: coverage 7.2.3.
➡️  To install: python3 -m pip install coverage==7.2.3

7.2.2

16 Mar 14:43
7.2.2
3971cc8
Compare
Choose a tag to compare
  • 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.
  • 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.
  • Fix: the coverage xml command on Windows could create a .xml file with duplicate <package> elements. This is now fixed, thanks to Benjamin Parzella, closing issue 1573.

➡️  PyPI page: coverage 7.2.2.
➡️  To install: python3 -m pip install coverage==7.2.2

7.2.1

26 Feb 14:00
7.2.1
9fcf1d6
Compare
Choose a tag to compare
  • 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.

➡️  PyPI page: coverage 7.2.1.
➡️  To install: python3 -m pip install coverage==7.2.1

7.2.0

23 Feb 01:01
7.2.0
b14e7f4
Compare
Choose a tag to compare
  • Added a new setting [report] exclude_also to let you add more exclusions without overwriting the defaults. Thanks, Alpha Chen, closing issue 1391.
  • Added a .CoverageData.purge_files method to remove recorded data for a particular file. Contributed by Stephan Deibel.
  • 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, closing issue 1542.
  • Added a py.typed file to announce our type-hintedness. Thanks, KotlinIsland.

➡️  PyPI page: coverage 7.2.0.
➡️  To install: python3 -m pip install coverage==7.2.0

7.1.0

25 Jan 01:26
7.1.0
32fd81e
Compare
Choose a tag to compare
  • 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.

➡️  PyPI page: coverage 7.1.0.
➡️  To install: python3 -m pip install coverage==7.1.0

7.0.5

11 Jan 00:03
7.0.5
97642c8
Compare
Choose a tag to compare
  • 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.

➡️  PyPI page: coverage 7.0.5.
➡️  To install: python3 -m pip install coverage==7.0.5

7.0.4

07 Jan 21:58
7.0.4
f4c27c7
Compare
Choose a tag to compare
  • 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.

➡️  PyPI page: coverage 7.0.4.
➡️  To install: python3 -m pip install coverage==7.0.4

7.0.3

04 Jan 00:17
7.0.3
2ff9098
Compare
Choose a tag to compare
  • 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.

➡️  PyPI page: coverage 7.0.3.
➡️  To install: python3 -m pip install coverage==7.0.3

7.0.2

02 Jan 19:01
7.0.2
2f731e2
Compare
Choose a tag to compare
  • 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.

➡️  PyPI page: coverage 7.0.2.
➡️  To install: python3 -m pip install coverage==7.0.2