chore(deps): update dependency coverage to >=7.17.0 #735

Merged
tobru merged 1 commit from renovate/coverage-7.x into main 2026-10-29 09:14:21 +00:00
Member

This PR contains the following updates:

Package Change Age Confidence
coverage >=7.16.2 → >=7.17.0 age confidence

Release Notes

coveragepy/coveragepy (coverage)

v7.17.0

Compare Source

  • Dropped support for Python 3.10.

  • Binary wheels are now provided for iOS and Android. This allows the use of
    the optimized C tracer on mobile platforms.

  • Fix: three or more levels of nested with statements could make a with
    line look like a branch with an exit that can never happen. Using the
    sys.monitoring core, these phantom branches were reported as partial. Other
    cores hid the problem but still counted the phantom branches in the total.
    Closes issue 1987_.

  • Fix: a comment or string that merely mentioned if True: or
    while True: could mark its line as a branch that is known to be partial,
    so a branch that never ran was reported as taken. These built-in patterns
    now only match at the start of the statement. Closes issue 2314_.

  • Fix: region detection missed functions defined in unusual places, such as
    else and except clauses. This is now fixed.

  • Fix: recent versions of the lcov tool complain if the same function name
    appears more than once in a report. Python can have multiple same-named
    functions in a few ways, for example, getters/setters or conditionally
    defined functions. These are now disambiguated by adding a @<line number>
    suffix to the function name. Fixes issue 2335.

  • Fix: The "Can't combine statement coverage data with branch data" error now
    names the two data files it couldn't combine. The :ref:error description <error_cant_combine> in the docs now lists common causes and how to find the
    process that wrote the file.

  • Fix: at coverage totals close to 0 or 100, the XML report could get incorrect
    line-rate values like 8.333e-05 or 1. This is now fixed, closing
    issue 2293_ and issue 2294_.

  • Fix: a parallel data file saved more than once kept the hash of its first
    save in its file name. Combining could then skip it as a duplicate of another
    file that had the same data at that point, and delete it, losing the data
    recorded after the first save. Each save now updates the hash. This had been
    a problem since 7.13.1. Fixes issue 2338_.

  • Fixes for obscure but legal file names:

    • File names (and plugin names) can contain control characters, which are
      legal in POSIX paths but unsafe in reports: in XML 1.0 they make the
      document non-well-formed, and in a terminal they act as escape sequences
      (colors, title/clipboard sequences, cursor moves that forge output). Now
      the XML report, the text and Markdown summary reports, and coverage debug data replace non-printable characters in names. Printable names are
      unchanged.

    • A file pattern (from include, omit, or a [paths] alias)
      containing a newline sent the glob-to-regex translation into an infinite
      loop, hanging the process. Newlines in patterns are now handled like any
      other character.

  • Fixes in the implementation of the C tracer:

    • If a plugin's dynamic_source_filename method raised an exception, lines
      in that function could be recorded as belonging to a different file. Also
      fixed some minor memory leaks in the C tracer.

    • The refcount of None was mismanaged during function calls, including
      comprehensions. This was unlikely to cause an actual problem, but is now
      fixed. Thanks, Andrew Dalke.

    • The C tracer held borrowed references to dictionary values, which was
      unsafe on free-threaded Python. Now it takes its own references.

    • An internal error while recording a new file could be reported as a
      confusing SystemError instead of the actual exception.

  • Performance: the text summary report (coverage report) held on to every
    file's parsed source until it finished, so its memory use grew with the size
    of the project: ten times or more what 7.14 used on large projects. Now it
    keeps only what it needs to print. Fixes issue 2277_.

  • Performance: HTML reports should be about 5% faster to produce.

  • Kept the political banner in the README. Closes issue 2344_.

.. _issue 1987: #​1987
.. _issue 2277: #​2277
.. _issue 2293: #​2293
.. _issue 2294: #​2294
.. _issue 2314: #​2314
.. _issue 2335: #​2335
.. _issue 2338: #​2338
.. _issue 2344: #​2344

.. _changes_7-16-2:


Configuration

📅 Schedule: (UTC)

  • 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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


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

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [coverage](https://github.com/coveragepy/coveragepy) | `>=7.16.2` → `>=7.17.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/coverage/7.17.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/coverage/7.16.2/7.17.0?slim=true) | --- ### Release Notes <details> <summary>coveragepy/coveragepy (coverage)</summary> ### [`v7.17.0`](https://github.com/coveragepy/coveragepy/blob/HEAD/CHANGES.rst#Version-7170--2026-10-22) [Compare Source](https://github.com/coveragepy/coveragepy/compare/7.16.2...7.17.0) - Dropped support for Python 3.10. - Binary wheels are now provided for iOS and Android. This allows the use of the optimized C tracer on mobile platforms. - Fix: three or more levels of nested `with` statements could make a `with` line look like a branch with an exit that can never happen. Using the sys.monitoring core, these phantom branches were reported as partial. Other cores hid the problem but still counted the phantom branches in the total. Closes `issue 1987`\_. - Fix: a comment or string that merely mentioned `if True:` or `while True:` could mark its line as a branch that is known to be partial, so a branch that never ran was reported as taken. These built-in patterns now only match at the start of the statement. Closes `issue 2314`\_. - Fix: region detection missed functions defined in unusual places, such as `else` and `except` clauses. This is now fixed. - Fix: recent versions of the lcov tool complain if the same function name appears more than once in a report. Python can have multiple same-named functions in a few ways, for example, getters/setters or conditionally defined functions. These are now disambiguated by adding a `@<line number>` suffix to the function name. Fixes `issue 2335`. - Fix: The "Can't combine statement coverage data with branch data" error now names the two data files it couldn't combine. The :ref:`error description <error_cant_combine>` in the docs now lists common causes and how to find the process that wrote the file. - Fix: at coverage totals close to 0 or 100, the XML report could get incorrect `line-rate` values like `8.333e-05` or `1`. This is now fixed, closing `issue 2293`\_ and `issue 2294`\_. - Fix: a parallel data file saved more than once kept the hash of its first save in its file name. Combining could then skip it as a duplicate of another file that had the same data at that point, and delete it, losing the data recorded after the first save. Each save now updates the hash. This had been a problem since 7.13.1. Fixes `issue 2338`\_. - Fixes for obscure but legal file names: - File names (and plugin names) can contain control characters, which are legal in POSIX paths but unsafe in reports: in XML 1.0 they make the document non-well-formed, and in a terminal they act as escape sequences (colors, title/clipboard sequences, cursor moves that forge output). Now the XML report, the text and Markdown summary reports, and `coverage debug data` replace non-printable characters in names. Printable names are unchanged. - A file pattern (from `include`, `omit`, or a `[paths]` alias) containing a newline sent the glob-to-regex translation into an infinite loop, hanging the process. Newlines in patterns are now handled like any other character. - Fixes in the implementation of the C tracer: - If a plugin's `dynamic_source_filename` method raised an exception, lines in that function could be recorded as belonging to a different file. Also fixed some minor memory leaks in the C tracer. - The refcount of `None` was mismanaged during function calls, including comprehensions. This was unlikely to cause an actual problem, but is now fixed. Thanks, Andrew Dalke. - The C tracer held borrowed references to dictionary values, which was unsafe on free-threaded Python. Now it takes its own references. - An internal error while recording a new file could be reported as a confusing `SystemError` instead of the actual exception. - Performance: the text summary report (`coverage report`) held on to every file's parsed source until it finished, so its memory use grew with the size of the project: ten times or more what 7.14 used on large projects. Now it keeps only what it needs to print. Fixes `issue 2277`\_. - Performance: HTML reports should be about 5% faster to produce. - Kept the political banner in the README. Closes `issue 2344`\_. .. \_issue 1987: [#&#8203;1987](https://github.com/coveragepy/coveragepy/issues/1987) .. \_issue 2277: [#&#8203;2277](https://github.com/coveragepy/coveragepy/issues/2277) .. \_issue 2293: [#&#8203;2293](https://github.com/coveragepy/coveragepy/issues/2293) .. \_issue 2294: [#&#8203;2294](https://github.com/coveragepy/coveragepy/issues/2294) .. \_issue 2314: [#&#8203;2314](https://github.com/coveragepy/coveragepy/issues/2314) .. \_issue 2335: [#&#8203;2335](https://github.com/coveragepy/coveragepy/issues/2335) .. \_issue 2338: [#&#8203;2338](https://github.com/coveragepy/coveragepy/issues/2338) .. \_issue 2344: [#&#8203;2344](https://github.com/coveragepy/coveragepy/issues/2344) .. \_changes_7-16-2: </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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 PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjQ0LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
chore(deps): update dependency coverage to >=7.17.0
All checks were successful
Tests / test (push) Successful in 1m44s
e2b3c3478d
tobru merged commit 3ebb4ef461 into main 2026-10-29 09:14:21 +00:00
tobru deleted branch renovate/coverage-7.x 2026-10-29 09:14:21 +00:00
Sign in to join this conversation.
No description provided.