Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Nov 24, 2025

Bumps coverage[toml] from 7.11.0 to 7.12.0.

Release notes

Sourced from coverage[toml]'s releases.

7.12.0

Version 7.12.0 — 2025-11-18

  • The HTML report now shows separate coverage totals for statements and branches, as well as the usual combined coverage percentage. Thanks to Ryuta Otsuka for the discussion and the implementation.
  • The JSON report now includes separate coverage totals for statements and branches, thanks to Ryuta Otsuka.
  • Fix: except* clauses were not handled properly under the “sysmon” measurement core, causing KeyError exceptions as described in issue 2086. This is now fixed.
  • Fix: we now defend against aggressive mocking of open() that could cause errors inside coverage.py. An example of a failure is in issue 2083.
  • Fix: in unusual cases where a test suite intentionally exhausts the system’s file descriptors to test handling errors in open(), coverage.py would fail when trying to open source files, as described in issue 2091. This is now fixed.
  • A small tweak to the HTML report: file paths now use thin spaces around slashes to make them easier to read.

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

7.11.3

Version 7.11.3 — 2025-11-09

  • Fix: the 7.11.1 changes meant that conflicts between a requested measurement core and other settings would raise an error. This was a breaking change from previous behavior, as reported in issue 2076 and issue 2078.

    The previous behavior has been restored: when the requested core conflicts with other settings, another core is used instead, and a warning is issued.

  • For contributors: the repo has moved from Ned’s nedbat GitHub account to the coveragepy GitHub organization. The default branch has changed from master to main.

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

7.11.2

Version 7.11.2 — 2025-11-08

  • Fix: using the “sysmon” measurement core in 7.11.1, if Python code was claimed to come from a non-Python file, a NotPython exception could be raised. This could happen for example with Jinja templates compiled to Python, as reported in issue 2077. This is now fixed.
  • Doc: corrected the first entry in the 7.11.1 changelog.

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

7.11.1

Version 7.11.1 — 2025-11-07

  • Fix: some chanages to details of how the measurement core is chosen, and how conflicting settings are handled. The “sysmon” core cannot be used with some conurrency settings, with dynamic context, and in Python 3.12/3.13, with branch measurement.
    • If the core is not specified and defaults to “sysmon” (Python 3.14+), but other settings conflict with sysmon, then the “ctrace” core will be used instead with no warning. For concurrency conflicts, this used to produce an error, as described in issue 2064.
    • If the “sysmon” core is explicitly requested in your configuration, but other settings conflict, an error is now raised. This used to produce a warning.
  • Fix: some multi-line case clauses or for loops (and probably other constructs) could cause incorrect claims of missing branches with the sys.monitoring core, as described in issue 2070. This is now fixed.
  • Fix: when running in pytest under coverage, a breakpoint() would stop in the wrong frame, one level down from where it should, as described in issue 1420. This was due to a coverage change in v6.4.1 that seemed to give a slight performance improvement, but I couldn’t reproduce the performance gain, so it’s been reverted, fixing the debugger problem.
  • A new debug option --debug=core shows which core is in use and why.
  • Split sqlite debugging information out of the sys coverage debug and --debug option options since it’s bulky and not very useful.
  • Updated the How coverage.py works page to better describe the three different measurement cores.

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

Changelog

Sourced from coverage[toml]'s changelog.

Version 7.12.0 — 2025-11-18

  • The HTML report now shows separate coverage totals for statements and branches, as well as the usual combined coverage percentage. Thanks to Ryuta Otsuka for the discussion <issue 2081_>_ and the implementation <pull 2085_>_.

  • The JSON report now includes separate coverage totals for statements and branches, thanks to Ryuta Otsuka <pull 2090_>_.

  • Fix: except* clauses were not handled properly under the "sysmon" measurement core, causing KeyError exceptions as described in issue 2086_. This is now fixed.

  • Fix: we now defend against aggressive mocking of open() that could cause errors inside coverage.py. An example of a failure is in issue 2083_.

  • Fix: in unusual cases where a test suite intentionally exhausts the system's file descriptors to test handling errors in open(), coverage.py would fail when trying to open source files, as described in issue 2091_. This is now fixed.

  • A small tweak to the HTML report: file paths now use thin spaces around slashes to make them easier to read.

.. _issue 2081: coveragepy/coveragepy#2081 .. _issue 2083: coveragepy/coveragepy#2083 .. _pull 2085: coveragepy/coveragepy#2085 .. _issue 2086: coveragepy/coveragepy#2086 .. _pull 2090: coveragepy/coveragepy#2090 .. _issue 2091: coveragepy/coveragepy#2091

.. _changes_7-11-3:

Version 7.11.3 — 2025-11-09

  • Fix: the 7.11.1 changes meant that conflicts between a requested measurement core and other settings would raise an error. This was a breaking change from previous behavior, as reported in issue 2076_ and issue 2078_.

    The previous behavior has been restored: when the requested core conflicts with other settings, another core is used instead, and a warning is issued.

  • For contributors: the repo has moved from Ned's nedbat GitHub account_ to the coveragepy GitHub organization_. The default branch has changed from master to main.

... (truncated)

Commits
  • 63db2b1 docs: sample HTML for 7.12.0
  • 598bbc3 docs: prep for 7.12.0
  • 557dd15 feat: add statement and branch coverage percentages to JSON report (#2090)
  • e18359c fix: don't crash if open() genuinely fails. #2091
  • fff5e59 docs: thanks, Ryuta Otsuka #2085
  • 97bf625 docs: support files for the sample html
  • 8320b74 style(html): tweak the styling for the new stmt/branch stats #2085
  • 7e08183 feat(templite): {% else %}
  • 4abe253 feat: add statement and branch coverage columns to index.html report (#2085)
  • ddbafa9 build: no longer need to work around a pytest/iTerm2 bug
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [coverage[toml]](https://github.com/coveragepy/coveragepy) from 7.11.0 to 7.12.0.
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](coveragepy/coveragepy@7.11.0...7.12.0)

---
updated-dependencies:
- dependency-name: coverage[toml]
  dependency-version: 7.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Nov 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant