Skip to content

chore(deps): update dependency pytest-cov to v7#594

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/pytest-cov-7.x
Open

chore(deps): update dependency pytest-cov to v7#594
renovate[bot] wants to merge 1 commit intomainfrom
renovate/pytest-cov-7.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Mar 15, 2026

This PR contains the following updates:

Package Change Age Confidence
pytest-cov (changelog) ==5.0.0==7.0.0 age confidence

Release Notes

pytest-dev/pytest-cov (pytest-cov)

v7.0.0

Compare Source

  • Dropped support for subprocesses measurement.

    It was a feature added long time ago when coverage lacked a nice way to measure subprocesses created in tests.
    It relied on a .pth file, there was no way to opt-out and it created bad interations
    with coverage's new patch system <https://coverage.readthedocs.io/en/latest/config.html#run-patch>_ added
    in 7.10 <https://coverage.readthedocs.io/en/7.10.6/changes.html#version-7-10-0-2025-07-24>_.

    To migrate to this release you might need to enable the suprocess patch, example for .coveragerc:

    .. code-block:: ini

    [run]
    patch = subprocess

    This release also requires at least coverage 7.10.6.

  • Switched packaging to have metadata completely in pyproject.toml and use hatchling <https://pypi.org/project/hatchling/>_ for
    building.
    Contributed by Ofek Lev in #&#8203;551 <https://github.com/pytest-dev/pytest-cov/pull/551>_
    with some extras in #&#8203;716 <https://github.com/pytest-dev/pytest-cov/pull/716>_.

  • Removed some not really necessary testing deps like six.

v6.3.0

Compare Source

  • Added support for markdown reports.
    Contributed by Marcos Boger in #&#8203;712 <https://github.com/pytest-dev/pytest-cov/pull/712>_
    and #&#8203;714 <https://github.com/pytest-dev/pytest-cov/pull/714>_.
  • Fixed some formatting issues in docs.
    Anonymous contribution in #&#8203;706 <https://github.com/pytest-dev/pytest-cov/pull/706>_.

v6.2.1

Compare Source

  • Added a version requirement for pytest's pluggy dependency (1.2.0, released 2023-06-21) that has the required new-style hookwrapper API.

  • Removed deprecated license classifier (packaging).

  • Disabled coverage warnings in two more situations where they have no value:

    • "module-not-measured" in workers
    • "already-imported" in subprocesses

v6.2.0

Compare Source

  • The plugin now adds 3 rules in the filter warnings configuration to prevent common coverage warnings being raised as obscure errors::

    default:unclosed database in <sqlite3.Connection object at:ResourceWarning
    once::PytestCovWarning
    once::CoverageWarning

    This fixes most of the bad interactions that are occurring on pytest 8.4 with filterwarnings=error.

    The plugin will check if there already matching rules for the 3 categories
    (ResourceWarning, PytestCovWarning, CoverageWarning) and message (unclosed database in <sqlite3.Connection object at) before adding the filters.

    This means you can have this in your pytest configuration for complete oblivion (not recommended, if that is not clear)::

    filterwarnings = [
    "error",
    "ignore:unclosed database in <sqlite3.Connection object at:ResourceWarning",
    "ignore::PytestCovWarning",
    "ignore::CoverageWarning",
    ]

v6.1.1

Compare Source

  • Fixed breakage that occurs when --cov-context and the no_cover marker are used together.

v6.1.0

Compare Source

  • Change terminal output to use full width lines for the coverage header.
    Contributed by Tsvika Shapira in #&#8203;678 <https://github.com/pytest-dev/pytest-cov/pull/678>_.
  • Removed unnecessary CovFailUnderWarning. Fixes #&#8203;675 <https://github.com/pytest-dev/pytest-cov/issues/675>_.
  • Fixed the term report not using the precision specified via --cov-precision.

v6.0.0

Compare Source

  • Updated various documentation inaccuracies, especially on subprocess handling.
  • Changed fail under checks to use the precision set in the coverage configuration.
    Now it will perform the check just like coverage report would.
  • Added a --cov-precision cli option that can override the value set in your coverage configuration.
  • Dropped support for now EOL Python 3.8.

Configuration

📅 Schedule: Branch creation - "on the 15th day of the month before 12pm" in timezone 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.


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Contributor Author

renovate bot commented Mar 15, 2026

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: uv.lock
Command failed: uv lock --upgrade-package pytest-cov
Using CPython 3.14.3 interpreter at: /opt/containerbase/tools/python/3.14.3/bin/python3
  × No solution found when resolving dependencies for split (markers:
  │ python_full_version == '3.8.*'):
  ╰─▶ Because the requested Python version (>=3.8) does not satisfy
      Python>=3.9 and pytest-cov==7.0.0 depends on Python>=3.9, we can
      conclude that pytest-cov==7.0.0 cannot be used.
      And because workos:dev depends on pytest-cov==7.0.0 and your project
      requires workos:dev, we can conclude that your project's requirements
      are unsatisfiable.

      hint: While the active Python version is 3.14, the resolution failed for
      other Python versions supported by your project. Consider limiting your
      project's supported Python versions using `requires-python`.

      hint: The `requires-python` value (>=3.8) includes Python versions that
      are not supported by your dependencies (e.g., pytest-cov==7.0.0 only
      supports >=3.9). Consider using a more restrictive `requires-python`
      value (like >=3.9).

@renovate renovate bot requested review from a team as code owners March 15, 2026 09:42
@renovate renovate bot requested a review from kendallstrautman March 15, 2026 09:42
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Mar 15, 2026

Greptile Summary

Automated dependency update bumping pytest-cov from 5.0.0 to 7.0.0. However, this upgrade has a breaking compatibility issue: pytest-cov v6+ dropped Python 3.8 support (requires >=3.9), while this project still supports Python 3.8 in both requires-python and the CI test matrix. This will cause installation/test failures on Python 3.8 environments.

  • pytest-cov==7.0.0 requires Python >=3.9, but the project declares requires-python = ">=3.8" and CI tests against Python 3.8
  • The uv.lock file was not regenerated and still pins pytest-cov==5.0.0, creating a mismatch with pyproject.toml
  • The v7 breaking change (dropped subprocess measurement) is not a concern for this project since subprocess coverage is not configured

Confidence Score: 1/5

  • This PR will break CI for Python 3.8 environments and has an inconsistent lockfile
  • Score of 1 reflects the Python 3.8 compatibility breakage — pytest-cov 7.x requires Python >=3.9 but the project supports and tests against Python 3.8. The lockfile was also not updated to match.
  • Pay close attention to pyproject.toml — the pytest-cov version must be compatible with the project's Python version support, and the lockfile needs regeneration

Important Files Changed

Filename Overview
pyproject.toml Bumps pytest-cov from 5.0.0 to 7.0.0, but 7.x requires Python >=3.9 which conflicts with the project's Python 3.8 support; lockfile also not regenerated.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[pyproject.toml: pytest-cov==7.0.0] --> B{Python version?}
    B -->|Python >= 3.9| C[pytest-cov 7.0.0 installs OK]
    B -->|Python 3.8| D[Installation fails: requires >=3.9]
    C --> E{uv.lock consistent?}
    E -->|No: still pins 5.0.0| F[uv sync --locked fails or uses stale version]
    E -->|Yes: regenerated| G[Tests run successfully]
    D --> H[CI matrix includes 3.8 — build breaks]
Loading

Last reviewed commit: 53ad527

"pytest==8.3.4",
"pytest-asyncio==0.23.8",
"pytest-cov==5.0.0",
"pytest-cov==7.0.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Python 3.8 incompatibility with pytest-cov 7.x

pytest-cov==7.0.0 requires Python >=3.9 (dropped Python 3.8 support in v6.0.0). This project declares requires-python = ">=3.8" and the CI matrix tests against Python 3.8 (ci.yml line 20), so this upgrade will break Python 3.8 test environments.

Additionally, the uv.lock file was not regenerated — it still references pytest-cov==5.0.0, meaning uv sync --locked will fail or install the old version.

Options:

  1. If Python 3.8 support is still needed, pin to pytest-cov==5.0.0 (last version supporting 3.8).
  2. If Python 3.8 can be dropped, update requires-python and the CI matrix first, then upgrade pytest-cov and regenerate the lockfile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

0 participants