build(deps): update dependency coverage to v7.17.0 (main)
Metadata
Current evaluation
Dependency update to coverage 7.17.0 closed due to Python 3.10 compatibility issues; Renovate deferred the update.
Resolution: closed superseded
Reason: The PR was closed because coverage v7.17.0 dropped Python 3.10 support, causing dependency resolution failures. Renovate ignored the update, and a future PR will supersede this attempt.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [coverage](https://redirect.github.com/coveragepy/coveragepy) | `==7.16.2` → `==7.17.0` |  |  |
---
### Release Notes
<details>
<summary>coveragepy/coveragepy (coverage)</summary>
### [`v7.17.0`](https://redirect.github.com/coveragepy/coveragepy/blob/HEAD/CHANGES.rst#Version-7170--2026-10-22)
[Compare Source](https://redirect.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: [#​1987](https://redirect.github.com/coveragepy/coveragepy/issues/1987)
.. \_issue 2277: [#​2277](https://redirect.github.com/coveragepy/coveragepy/issues/2277)
.. \_issue 2293: [#​2293](https://redirect.github.com/coveragepy/coveragepy/issues/2293)
.. \_issue 2294: [#​2294](https://redirect.github.com/coveragepy/coveragepy/issues/2294)
.. \_issue 2314: [#​2314](https://redirect.github.com/coveragepy/coveragepy/issues/2314)
.. \_issue 2335: [#​2335](https://redirect.github.com/coveragepy/coveragepy/issues/2335)
.. \_issue 2338: [#​2338](https://redirect.github.com/coveragepy/coveragepy/issues/2338)
.. \_issue 2344: [#​2344](https://redirect.github.com/coveragepy/coveragepy/issues/2344)
.. \_changes_7-16-2:
</details>
---
### Configuration
📅 **Schedule**: (in timezone Etc/UTC)
- Branch creation
- "every weekend"
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/canonical/craft-cli).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODAuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE4MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJQUjogRGVwZW5kZW5jaWVzIl19-->
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | closed superseded | Dependency update to coverage 7.17.0 closed due to Python 3.10 compatibility issues; Renovate deferred the update. |
Update history
| Date | Change |
|---|---|
| created |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #174 build(deps): update dependency coverage to v7.9.1 (main) | craft-archives | closed | Coverage 7.9.1 update was closed unmerged after the minimum-dependencies test failed; Renovate then ignored that version pending a newer release. | |
| #690 build(deps): update dependency coverage to v7.6.3 (main) | craft-providers | merged | Renovate PR #690 was merged, updating coverage from 7.6.2 to 7.6.3 via commit 5631cfa. | |
| #384 build(deps): update dependency coverage to v7.10.6 | craft-cli | merged | Renovate PR #384 bumped the dev dependency coverage from 7.6.1 to 7.10.6; approved by 2 reviewers and merged to main as commit 6d467a1. Later superseded by coverage updates in #397, #403, #406, #431, #450, #459, #469 and #482 (now 7.16.1). | |
| #347 build(deps): update dependency coverage to v7.13.5 (main) | craft-store | merged | Renovate dependency PR merged into main as commit bc23dde, bumping coverage 7.13.1 to 7.13.5 in pyproject.toml; later superseded by #367 (v7.14.0, commit 905fea0). | |
| #310 build(deps): update dependency coverage to v7.10.4 (main) | craft-store | merged | Renovate PR bumping the coverage dev dependency from 7.6.2 to 7.10.4 was approved by two reviewers and merged to main as commit 4f30eec (later followed by #329, #335, #347, #367). | |
| #482 build(deps): update dependency coverage to v7.16.0 (main) | craft-cli | merged | Renovate dependency bump of coverage 7.15.4 → 7.16.0 was approved and merged into main as commit 5873370, with all 48 CI checks passing (2 files, +126/-126). | |
| #367 build(deps): update dependency coverage to v7.14.0 (main) | craft-store | merged | Merged PR #367 into main, upgrading coverage from 7.13.5 to 7.14.0 in commit 905fea0. | |
| #771 build(deps): update dependency coverage to v7.8.2 (main) | craft-application | closed | Renovate PR #771 updated coverage from 7.6.12 to 7.8.2 but was closed unmerged; the update was abandoned and 7.8.2 was ignored. | |
| #406 build(deps): update dependency coverage to v7.13.0 (main) | craft-cli | merged | Renovate PR #406 merged (commit bed5a10), bumping coverage from 7.12.0 to 7.13.0 in main; later superseded by #431, #450, #459, #469, #482. | |
| #285 build(deps): update dependency coverage to v7.6.1 | craft-cli | merged | Renovate PR #285 bumped the pinned coverage test dependency from 7.5.3 to 7.6.1 in tox.ini; approved and merged into main as commit 29c4b05. |