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_>_.
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.
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_.
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.
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_.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
Release Notes
nedbat/coveragepyv7.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:https://github.com/nedbat/coveragepy/issues/15644
.. _issue 1566https://github.com/nedbat/coveragepy/issues/156666
.. _changes_7-2-0:
v7.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:https://github.com/nedbat/coveragepy/issues/13911
.. _issue 1542https://github.com/nedbat/coveragepy/issues/154242
.. _pull 154https://github.com/nedbat/coveragepy/pull/1543543
.. _pull 15https://github.com/nedbat/coveragepy/pull/15471547
.. _pull 1https://github.com/nedbat/coveragepy/pull/1550/1550
.. _issue https://github.com/nedbat/coveragepy/issues/1552s/1552
.. _pullhttps://github.com/nedbat/coveragepy/pull/1557ll/1557
.. _changes_7-1-0:
v7.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:https://github.com/nedbat/coveragepy/pull/13477
.. _issue 972https://github.com/nedbat/coveragepy/issues/97272
.. _issue 131https://github.com/nedbat/coveragepy/issues/1319319
.. _issue 15https://github.com/nedbat/coveragepy/issues/15381538
.. _changes_7-0-5:
v7.0.5
Compare Source
is now fixed, closing issue 1524_.
.. _issue 1524:https://github.com/nedbat/coveragepy/issues/15244
.. _changes_7-0-4:
v7.0.4
Compare Source
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:https://github.com/nedbat/coveragepy/issues/15277
.. _changes_7-0-3:
v7.0.3
Compare Source
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:https://github.com/nedbat/coveragepy/issues/15222
.. _changes_7-0-2:
v7.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 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.
.. _issue 1515:https://github.com/nedbat/coveragepy/issues/15155
.. _issue 1516https://github.com/nedbat/coveragepy/issues/151616
.. _issue 151https://github.com/nedbat/coveragepy/issues/1519519
.. _changes_7-0-1:
v7.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:https://github.com/nedbat/coveragepy/issues/15100
.. _issue 1511https://github.com/nedbat/coveragepy/issues/151111
.. _issue 151https://github.com/nedbat/coveragepy/issues/1512512
.. _issue 15https://github.com/nedbat/coveragepy/issues/15131513
.. _changes_7-0-0:
v7.0.0
Compare Source
Nothing new beyond 7.0.0b1.
.. _changes_7-0-0b1:
Configuration
📅 Schedule: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.