Skip to content

Releases: nedbat/coveragepy

7.3.1

06 Sep 12:23
7.3.1
7ce94f1
Compare
Choose a tag to compare
  • The semantics of stars in file patterns has been clarified in the docs. A leading or trailing star matches any number of path components, like a double star would. This is different than the behavior of a star in the middle of a pattern. This discrepancy was identified by Sviatoslav Sydorenko, who provided patient detailed diagnosis and graciously agreed to a pragmatic resolution.
  • The API docs were missing from the last version. They are now restored.

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

7.3.0

12 Aug 18:37
7.3.0
9c2f924
Compare
Choose a tag to compare
  • Added a .Coverage.collect context manager to start and stop coverage data collection.
  • Dropped support for Python 3.7.
  • Fix: in unusual circumstances, SQLite cannot be set to asynchronous mode. Coverage.py would fail with the error Safety level may not be changed inside a transaction. This is now avoided, closing issue 1646. Thanks to Michael Bell for the detailed bug report.
  • Docs: examples of configuration files now include separate examples for the different syntaxes: .coveragerc, pyproject.toml, setup.cfg, and tox.ini.
  • Fix: added nosemgrep comments to our JavaScript code so that semgrep-based SAST security checks won't raise false alarms about security problems that aren't problems.
  • Added a CITATION.cff file, thanks to Ken Schackart.

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

7.2.7

29 May 20:10
7.2.7
27cabc2
Compare
Choose a tag to compare
  • Fix: reverted a change from 6.4.3 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 and David Szotten for persisting with problem reports and detailed diagnoses.
  • Wheels are now provided for CPython 3.12.

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

7.2.6

24 May 01:42
7.2.6
a138669
Compare
Choose a tag to compare
  • 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 coverage.py 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.

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

7.2.5

30 Apr 11:14
7.2.5
9d4ac48
Compare
Choose a tag to compare
  • 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.

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

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