From 7d9850c6a92c27c53068f6493925e1fbca79087d Mon Sep 17 00:00:00 2001
From: Ned Batchelder
Date: Fri, 13 Jun 2025 09:05:29 -0400
Subject: [PATCH 01/11] build: bump version to 7.9.2
---
CHANGES.rst | 6 ++++++
coverage/version.py | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/CHANGES.rst b/CHANGES.rst
index 909cc5c8a..e186939fc 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -20,6 +20,12 @@ upgrading your version of coverage.py.
.. Version 9.8.1 â 2027-07-27
.. --------------------------
+Unreleased
+----------
+
+Nothing yet.
+
+
.. start-releases
.. _changes_7-9-1:
diff --git a/coverage/version.py b/coverage/version.py
index aef3c5ddb..4c3296403 100644
--- a/coverage/version.py
+++ b/coverage/version.py
@@ -8,8 +8,8 @@
# version_info: same semantics as sys.version_info.
# _dev: the .devN suffix if any.
-version_info = (7, 9, 1, "final", 0)
-_dev = 0
+version_info = (7, 9, 2, "alpha", 0)
+_dev = 1
def _make_version(
From 42bf82c3ed409c308b2f2437fac87cb5b8d6fad9 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 15 Jun 2025 10:40:29 -0400
Subject: [PATCH 02/11] chore: bump the action-dependencies group with 2
updates (#1985)
Bumps the action-dependencies group with 2 updates: [github/codeql-action](https://github.com/github/codeql-action) and [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance).
Updates `github/codeql-action` from 3.28.18 to 3.29.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/ff0a06e83cb2de871e5a09832bc6a81e7276941f...ce28f5bb42b7a9f2c824e633a3f6ee835bab6858)
Updates `actions/attest-build-provenance` from 2.3.0 to 2.4.0
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](https://github.com/actions/attest-build-provenance/compare/db473fddc028af60658334401dc6fa3ffd8669fd...e8998f949152b193b063cb0ec769d69d929409be)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 3.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: action-dependencies
- dependency-name: actions/attest-build-provenance
dependency-version: 2.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: action-dependencies
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/codeql-analysis.yml | 6 +++---
.github/workflows/publish.yml | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 48f9e10b0..a88a80f3e 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -51,7 +51,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3
+ uses: github/codeql-action/init@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -62,7 +62,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
- uses: github/codeql-action/autobuild@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3
+ uses: github/codeql-action/autobuild@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3
# âšī¸ Command-line programs to run using the OS shell.
# đ https://git.io/JvXDl
@@ -76,4 +76,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3
+ uses: github/codeql-action/analyze@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 7533c9840..18a393302 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -81,7 +81,7 @@ jobs:
files=$(ls dist 2>/dev/null | wc -l) && [ "$files" -eq $EXPECTED ] || exit 1
- name: "Generate attestations"
- uses: actions/attest-build-provenance@db473fddc028af60658334401dc6fa3ffd8669fd # v2.3.0
+ uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2.4.0
with:
subject-path: "dist/*"
@@ -121,7 +121,7 @@ jobs:
files=$(ls dist 2>/dev/null | wc -l) && [ "$files" -eq $EXPECTED ] || exit 1
- name: "Generate attestations"
- uses: actions/attest-build-provenance@db473fddc028af60658334401dc6fa3ffd8669fd # v2.3.0
+ uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2.4.0
with:
subject-path: "dist/*"
From 614dfbf059002a832b187fe8d14f635ee64afb0b Mon Sep 17 00:00:00 2001
From: Itamar Oren
Date: Sun, 15 Jun 2025 12:55:49 -0700
Subject: [PATCH 03/11] fix: enable measuring test coverage for Python archive
(.par) files (#1984)
".par" files are another common(?) (at least at Meta) zip-based binary format for python applications.
This change enables coverage to unpack and use the unpacked files under any .par archives as source files.
we've been carrying this patch for years, so I thought I'd try to upstream it, as it could benefit any PAR users out there (and should be harmless for anyone else).
---
coverage/files.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/coverage/files.py b/coverage/files.py
index 21ba3f167..bdc3633b5 100644
--- a/coverage/files.py
+++ b/coverage/files.py
@@ -166,7 +166,7 @@ def zip_location(filename: str) -> tuple[str, str] | None:
name is in the zipfile.
"""
- for ext in [".zip", ".whl", ".egg", ".pex"]:
+ for ext in [".zip", ".whl", ".egg", ".pex", ".par"]:
zipbase, extension, inner = filename.partition(ext + sep(filename))
if extension:
zipfile = zipbase + ext
From 279310a8f08b742072915ff88b6773a70ed3095d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 22 Jun 2025 09:37:09 -0400
Subject: [PATCH 04/11] chore: bump the action-dependencies group with 2
updates (#1988)
Bumps the action-dependencies group with 2 updates: [sigstore/gh-action-sigstore-python](https://github.com/sigstore/gh-action-sigstore-python) and [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv).
Updates `sigstore/gh-action-sigstore-python` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/sigstore/gh-action-sigstore-python/releases)
- [Changelog](https://github.com/sigstore/gh-action-sigstore-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sigstore/gh-action-sigstore-python/compare/f514d46b907ebcd5bedc05145c03b69c1edd8b46...f7ad0af51a5648d09a20d00370f0a91c3bdf8f84)
Updates `astral-sh/setup-uv` from 6.1.0 to 6.3.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb...445689ea25e0de0a23313031f5fe577c74ae45a1)
---
updated-dependencies:
- dependency-name: sigstore/gh-action-sigstore-python
dependency-version: 3.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: action-dependencies
- dependency-name: astral-sh/setup-uv
dependency-version: 6.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: action-dependencies
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/kit.yml | 2 +-
.github/workflows/quality.yml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/kit.yml b/.github/workflows/kit.yml
index 0fd0534ea..9447a651a 100644
--- a/.github/workflows/kit.yml
+++ b/.github/workflows/kit.yml
@@ -324,7 +324,7 @@ jobs:
files=$(ls coverage-* 2>/dev/null | wc -l) && [ "$files" -eq $EXPECTED ] || exit 1
- name: "Sign artifacts"
- uses: sigstore/gh-action-sigstore-python@f514d46b907ebcd5bedc05145c03b69c1edd8b46 # v3.0.0
+ uses: sigstore/gh-action-sigstore-python@f7ad0af51a5648d09a20d00370f0a91c3bdf8f84 # v3.0.1
with:
inputs: coverage-*.*
diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml
index 0e1650fed..fc2dbb273 100644
--- a/.github/workflows/quality.yml
+++ b/.github/workflows/quality.yml
@@ -173,7 +173,7 @@ jobs:
persist-credentials: false
- name: Install the latest version of uv
- uses: astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb #v6.1.0
+ uses: astral-sh/setup-uv@445689ea25e0de0a23313031f5fe577c74ae45a1 #v6.3.0
with:
enable-cache: false
From a3d00d521a8d49c133b773bcbc22ee7d0f839f93 Mon Sep 17 00:00:00 2001
From: Ned Batchelder
Date: Thu, 26 Jun 2025 18:20:28 -0400
Subject: [PATCH 05/11] build: workflow jobs should have names
---
.github/workflows/dependency-review.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml
index 4ba98033d..070b5ff07 100644
--- a/.github/workflows/dependency-review.yml
+++ b/.github/workflows/dependency-review.yml
@@ -19,6 +19,7 @@ permissions:
jobs:
dependency-review:
+ name: "Review dependencies"
if: github.repository_owner == 'nedbat'
runs-on: ubuntu-latest
steps:
From 678ec80b42116b790ee30cb8ec638a0dda96927c Mon Sep 17 00:00:00 2001
From: Ned Batchelder
Date: Wed, 2 Jul 2025 19:15:03 -0400
Subject: [PATCH 06/11] build: use pyenv for nightly builds. Thanks, Paul
Timmins
Deadsnakes was giving me too-old builds, and I can't understand why. So
switch to pyenv instead.
---
.github/workflows/python-nightly.yml | 89 +++++++++++-----------------
CONTRIBUTORS.txt | 1 +
2 files changed, 36 insertions(+), 54 deletions(-)
diff --git a/.github/workflows/python-nightly.yml b/.github/workflows/python-nightly.yml
index c6dc6a7f3..6eaee452d 100644
--- a/.github/workflows/python-nightly.yml
+++ b/.github/workflows/python-nightly.yml
@@ -31,52 +31,29 @@ concurrency:
jobs:
tests:
- name: "${{ matrix.python-version }}${{ matrix.nogil && ' nogil' || '' }} on ${{ matrix.os-short }}"
+ name: "${{ matrix.python-version }}"
runs-on: "${{ matrix.os }}"
# If it doesn't finish in an hour, it's not going to. Don't spin for six
# hours needlessly.
timeout-minutes: 60
env:
- TOX_GH_MAJOR_MINOR: "${{ matrix.python-version }}${{ matrix.nogil && 't' || '' }}"
+ TOX_GH_MAJOR_MINOR: "${{ matrix.python-version }}"
strategy:
matrix:
os:
- # Choose a recent Ubuntu that deadsnakes still builds all the versions for.
- # For example, deadsnakes doesn't provide 3.10 nightly for 22.04 (jammy)
- # because jammy ships 3.10, and deadsnakes doesn't want to clobber it.
- # https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly/+packages
- # https://github.com/deadsnakes/issues/issues/234
- # See https://github.com/deadsnakes/nightly for the source of the nightly
- # builds.
- # bionic: 18, focal: 20, jammy: 22, noble: 24
- - "ubuntu-22.04"
- os-short:
- - "ubuntu"
+ - "ubuntu-latest"
python-version:
# When changing this list, be sure to check the [gh] list in
# tox.ini so that tox will run properly. PYVERSIONS
- # Available versions:
- # https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly/+packages
- "3.12"
- "3.13"
+ - "3.13t"
- "3.14"
+ - "3.14t"
- "3.15"
- # https://github.com/actions/setup-python#available-versions-of-pypy
- - "pypy-3.11"
- nogil:
- - false
- - true
- # include:
- # - python-version: "pypy-3.11"
- # os: "windows-latest"
- # os-short: "windows"
- exclude:
- - python-version: "3.12"
- nogil: true
- - python-version: "pypy-3.11"
- nogil: true
+ - "3.15t"
fail-fast: false
@@ -86,18 +63,28 @@ jobs:
with:
persist-credentials: false
- - name: "Install ${{ matrix.python-version }} with deadsnakes"
- uses: deadsnakes/action@e640ac8743173a67cca4d7d77cd837e514bf98e8 # v3.2.0
- if: "!startsWith(matrix.python-version, 'pypy-')"
- with:
- python-version: "${{ matrix.python-version }}-dev"
- nogil: "${{ matrix.nogil || false }}"
+ - name: "Install system dependencies"
+ run: |
+ sudo sed -i.bak 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources
+ sudo apt-get update
+ sudo apt-get build-dep -y python3
- - name: "Install ${{ matrix.python-version }} with setup-python"
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
- if: "startsWith(matrix.python-version, 'pypy-')"
- with:
- python-version: "${{ matrix.python-version }}-nightly"
+ - name: "Install pyenv"
+ run: |
+ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
+
+ - name: "Build Python ${{ matrix.python-version }}-dev"
+ env:
+ PYVER: "${{ matrix.python-version }}-dev"
+ #PYTHON_CONFIGURE_OPTS: "--enable-shared --disable-test-modules"
+ run: |
+ set -xe
+ export PYENV_ROOT="$HOME/.pyenv"
+ export PATH="$PYENV_ROOT/bin:$PATH"
+ echo "$PYENV_ROOT/shims:$PYENV_ROOT/bin" >> $GITHUB_PATH
+ pyenv install $PYVER -v
+ pyenv global $PYVER
+ pyenv rehash
- name: "Show diagnostic info"
run: |
@@ -110,21 +97,15 @@ jobs:
python -m coverage debug pybehave
env | sort
- - name: "Check build recency"
- shell: python
+ - name: "Check the Python version"
+ env:
+ EXPECTED: "${{ matrix.python-version }}"
run: |
- import platform
- from datetime import datetime
- for fmt in ["%b %d %Y %H:%M:%S", "%b %d %Y"]:
- try:
- built = datetime.strptime(platform.python_build()[1], fmt)
- except ValueError:
- continue
- days = (datetime.now() - built).days
- impl = platform.python_implementation()
- recency = 7 if (impl == "CPython") else 21
- print(f"Days since {impl} was built: {days}, need within {recency}")
- assert days <= recency
+ python -c "
+ import sys
+ assert sys.version.startswith('$EXPECTED'.strip('t'))
+ assert getattr(sys, '_is_gil_enabled', lambda: True)() == (not '$EXPECTED'.endswith('t'))
+ "
- name: "Install dependencies"
run: |
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt
index bd83cfb3f..c0ea942a1 100644
--- a/CONTRIBUTORS.txt
+++ b/CONTRIBUTORS.txt
@@ -190,6 +190,7 @@ Ori Avtalion
Pablo Carballo
Pankaj Pandey
Patrick Mezard
+Paul Timmins
Pavel Tsialnou
Peter Baughman
Peter Ebden
From 88dcaa21727a8670e0eb663cae540760b1f04a6d Mon Sep 17 00:00:00 2001
From: Ned Batchelder
Date: Wed, 2 Jul 2025 19:44:15 -0400
Subject: [PATCH 07/11] fix: assume a missing line number is intra-line. #1991
A bytecode is missing a line number. This seems to happen with
conditionals within a line, so assume the missing line number means we
aren't branching from one line to another.
I wrote a CPython bug about the missing line number:
https://github.com/python/cpython/issues/136190
---
CHANGES.rst | 8 +++++++-
coverage/sysmon.py | 4 ++--
tests/test_arcs.py | 14 ++++++++++++++
3 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/CHANGES.rst b/CHANGES.rst
index e186939fc..f5d5daa9c 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -23,7 +23,13 @@ upgrading your version of coverage.py.
Unreleased
----------
-Nothing yet.
+- Fix: complex conditionals within a line might cause a KeyError when using
+ sys.monitoring, as reported in `issue 1991`_. This is now fixed.
+
+- Fix: we can now measure coverage for code in Python archive (.par) files.
+
+.. _issue 1991: https://github.com/nedbat/coveragepy/issues/1991
+
.. start-releases
diff --git a/coverage/sysmon.py b/coverage/sysmon.py
index 2c4602765..94b28b9ff 100644
--- a/coverage/sysmon.py
+++ b/coverage/sysmon.py
@@ -448,8 +448,8 @@ def sysmon_branch_either(
# This could be an exception jumping from line to line.
assert code_info.byte_to_line is not None
l1 = code_info.byte_to_line[instruction_offset]
- l2 = code_info.byte_to_line[destination_offset]
- if l1 != l2:
+ l2 = code_info.byte_to_line.get(destination_offset)
+ if l2 is not None and l1 != l2:
arc = (l1, l2)
code_info.file_data.add(arc) # type: ignore
# log(f"adding unforeseen {arc=}")
diff --git a/tests/test_arcs.py b/tests/test_arcs.py
index 966f80241..c069a39a7 100644
--- a/tests/test_arcs.py
+++ b/tests/test_arcs.py
@@ -181,6 +181,20 @@ def foo(x):
branchz_missing="",
)
+ def test_bug_1991(self) -> None:
+ # A bytecode was missing a line number, causing a KeyError in sysmon.py.
+ self.check_coverage("""\
+ def func(x, y):
+ for size in (x or ()) if y else ():
+ print(size)
+
+ func([5], True)
+ """,
+ branchz="2-1 23",
+ branchz_missing="",
+ )
+ assert self.stdout() == "5\n"
+
class WithTest(CoverageTest):
"""Arc-measuring tests involving context managers."""
From 9a8d9b637406334c5ef3fdf8d574d3e5c54aa66c Mon Sep 17 00:00:00 2001
From: Ned Batchelder
Date: Thu, 3 Jul 2025 05:53:20 -0400
Subject: [PATCH 08/11] docs: add pull request link
---
CHANGES.rst | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/CHANGES.rst b/CHANGES.rst
index f5d5daa9c..2d2efa673 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -27,11 +27,12 @@ Unreleased
sys.monitoring, as reported in `issue 1991`_. This is now fixed.
- Fix: we can now measure coverage for code in Python archive (.par) files.
+ Thanks, `Itamer Oren `_.
+.. _pull 1984: https://github.com/nedbat/coveragepy/pull/1984
.. _issue 1991: https://github.com/nedbat/coveragepy/issues/1991
-
.. start-releases
.. _changes_7-9-1:
From 35305c350fb08ea02a723c91b0eb84ab14b770bd Mon Sep 17 00:00:00 2001
From: Ned Batchelder
Date: Thu, 3 Jul 2025 06:03:11 -0400
Subject: [PATCH 09/11] docs: prep for 7.9.2
---
CHANGES.rst | 10 ++++++----
coverage/version.py | 4 ++--
doc/conf.py | 6 +++---
3 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/CHANGES.rst b/CHANGES.rst
index 2d2efa673..19666e165 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -20,8 +20,12 @@ upgrading your version of coverage.py.
.. Version 9.8.1 â 2027-07-27
.. --------------------------
-Unreleased
-----------
+.. start-releases
+
+.. _changes_7-9-2:
+
+Version 7.9.2 â 2025-07-03
+--------------------------
- Fix: complex conditionals within a line might cause a KeyError when using
sys.monitoring, as reported in `issue 1991`_. This is now fixed.
@@ -33,8 +37,6 @@ Unreleased
.. _issue 1991: https://github.com/nedbat/coveragepy/issues/1991
-.. start-releases
-
.. _changes_7-9-1:
Version 7.9.1 â 2025-06-13
diff --git a/coverage/version.py b/coverage/version.py
index 4c3296403..2ebe99b1f 100644
--- a/coverage/version.py
+++ b/coverage/version.py
@@ -8,8 +8,8 @@
# version_info: same semantics as sys.version_info.
# _dev: the .devN suffix if any.
-version_info = (7, 9, 2, "alpha", 0)
-_dev = 1
+version_info = (7, 9, 2, "final", 0)
+_dev = 0
def _make_version(
diff --git a/doc/conf.py b/doc/conf.py
index ce73075e0..6fee3cd3f 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -67,11 +67,11 @@
# @@@ editable
copyright = "2009â2025, Ned Batchelder" # pylint: disable=redefined-builtin
# The short X.Y.Z version.
-version = "7.9.1"
+version = "7.9.2"
# The full version, including alpha/beta/rc tags.
-release = "7.9.1"
+release = "7.9.2"
# The date of release, in "monthname day, year" format.
-release_date = "June 13, 2025"
+release_date = "July 3, 2025"
# @@@ end
rst_epilog = f"""
From b24cf7ef3968ba86ebe3c3d4ca8ae3af82d6dc8c Mon Sep 17 00:00:00 2001
From: Ned Batchelder
Date: Thu, 3 Jul 2025 06:03:27 -0400
Subject: [PATCH 10/11] docs: sample HTML for 7.9.2
---
doc/sample_html/class_index.html | 8 ++++----
doc/sample_html/function_index.html | 8 ++++----
doc/sample_html/index.html | 8 ++++----
doc/sample_html/status.json | 2 +-
doc/sample_html/z_7b071bdc2a35fa80___init___py.html | 8 ++++----
doc/sample_html/z_7b071bdc2a35fa80___main___py.html | 8 ++++----
doc/sample_html/z_7b071bdc2a35fa80_cogapp_py.html | 8 ++++----
doc/sample_html/z_7b071bdc2a35fa80_hashhandler_py.html | 8 ++++----
doc/sample_html/z_7b071bdc2a35fa80_makefiles_py.html | 8 ++++----
doc/sample_html/z_7b071bdc2a35fa80_test_cogapp_py.html | 8 ++++----
doc/sample_html/z_7b071bdc2a35fa80_test_makefiles_py.html | 8 ++++----
.../z_7b071bdc2a35fa80_test_whiteutils_py.html | 8 ++++----
doc/sample_html/z_7b071bdc2a35fa80_utils_py.html | 8 ++++----
doc/sample_html/z_7b071bdc2a35fa80_whiteutils_py.html | 8 ++++----
14 files changed, 53 insertions(+), 53 deletions(-)
diff --git a/doc/sample_html/class_index.html b/doc/sample_html/class_index.html
index a6e0b4bf7..de94105ee 100644
--- a/doc/sample_html/class_index.html
+++ b/doc/sample_html/class_index.html
@@ -56,8 +56,8 @@
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
@@ -567,8 +567,8 @@
@@ -97,8 +97,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
diff --git a/doc/sample_html/z_7b071bdc2a35fa80___main___py.html b/doc/sample_html/z_7b071bdc2a35fa80___main___py.html
index 94022f668..e6390e255 100644
--- a/doc/sample_html/z_7b071bdc2a35fa80___main___py.html
+++ b/doc/sample_html/z_7b071bdc2a35fa80___main___py.html
@@ -66,8 +66,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
@@ -97,8 +97,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
diff --git a/doc/sample_html/z_7b071bdc2a35fa80_cogapp_py.html b/doc/sample_html/z_7b071bdc2a35fa80_cogapp_py.html
index bbee7fa8c..e84a129a6 100644
--- a/doc/sample_html/z_7b071bdc2a35fa80_cogapp_py.html
+++ b/doc/sample_html/z_7b071bdc2a35fa80_cogapp_py.html
@@ -66,8 +66,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
@@ -946,8 +946,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
diff --git a/doc/sample_html/z_7b071bdc2a35fa80_hashhandler_py.html b/doc/sample_html/z_7b071bdc2a35fa80_hashhandler_py.html
index c67c8648b..91e030904 100644
--- a/doc/sample_html/z_7b071bdc2a35fa80_hashhandler_py.html
+++ b/doc/sample_html/z_7b071bdc2a35fa80_hashhandler_py.html
@@ -66,8 +66,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
@@ -265,8 +265,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
diff --git a/doc/sample_html/z_7b071bdc2a35fa80_makefiles_py.html b/doc/sample_html/z_7b071bdc2a35fa80_makefiles_py.html
index d6e216b9d..b05f0dcb9 100644
--- a/doc/sample_html/z_7b071bdc2a35fa80_makefiles_py.html
+++ b/doc/sample_html/z_7b071bdc2a35fa80_makefiles_py.html
@@ -66,8 +66,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
@@ -127,8 +127,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
diff --git a/doc/sample_html/z_7b071bdc2a35fa80_test_cogapp_py.html b/doc/sample_html/z_7b071bdc2a35fa80_test_cogapp_py.html
index f7bdf73a3..cacbf54ca 100644
--- a/doc/sample_html/z_7b071bdc2a35fa80_test_cogapp_py.html
+++ b/doc/sample_html/z_7b071bdc2a35fa80_test_cogapp_py.html
@@ -66,8 +66,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
@@ -2911,8 +2911,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
diff --git a/doc/sample_html/z_7b071bdc2a35fa80_test_makefiles_py.html b/doc/sample_html/z_7b071bdc2a35fa80_test_makefiles_py.html
index 6c8ecbb05..2d1857224 100644
--- a/doc/sample_html/z_7b071bdc2a35fa80_test_makefiles_py.html
+++ b/doc/sample_html/z_7b071bdc2a35fa80_test_makefiles_py.html
@@ -66,8 +66,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
@@ -205,8 +205,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
diff --git a/doc/sample_html/z_7b071bdc2a35fa80_test_whiteutils_py.html b/doc/sample_html/z_7b071bdc2a35fa80_test_whiteutils_py.html
index 4ea179aa0..f25bc251e 100644
--- a/doc/sample_html/z_7b071bdc2a35fa80_test_whiteutils_py.html
+++ b/doc/sample_html/z_7b071bdc2a35fa80_test_whiteutils_py.html
@@ -66,8 +66,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
@@ -186,8 +186,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
diff --git a/doc/sample_html/z_7b071bdc2a35fa80_utils_py.html b/doc/sample_html/z_7b071bdc2a35fa80_utils_py.html
index 3e97268a4..f089a08a5 100644
--- a/doc/sample_html/z_7b071bdc2a35fa80_utils_py.html
+++ b/doc/sample_html/z_7b071bdc2a35fa80_utils_py.html
@@ -66,8 +66,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
@@ -155,8 +155,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
diff --git a/doc/sample_html/z_7b071bdc2a35fa80_whiteutils_py.html b/doc/sample_html/z_7b071bdc2a35fa80_whiteutils_py.html
index 04ceef120..c2f0d3322 100644
--- a/doc/sample_html/z_7b071bdc2a35fa80_whiteutils_py.html
+++ b/doc/sample_html/z_7b071bdc2a35fa80_whiteutils_py.html
@@ -66,8 +66,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
@@ -159,8 +159,8 @@
^ index
» next
- coverage.py v7.9.1,
- created at 2025-06-13 08:29 -0400
+ coverage.py v7.9.2,
+ created at 2025-07-03 06:03 -0400
From 6e774923cf042751feb78036fcd46909d263be06 Mon Sep 17 00:00:00 2001
From: Ned Batchelder
Date: Thu, 3 Jul 2025 06:36:03 -0400
Subject: [PATCH 11/11] docs: oops, beta 3
---
README.rst | 2 +-
doc/index.rst | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.rst b/README.rst
index ba436e037..c34644ce2 100644
--- a/README.rst
+++ b/README.rst
@@ -26,7 +26,7 @@ Coverage.py runs on these versions of Python:
.. PYVERSIONS
-* Python 3.9 through 3.14 beta 2, including free-threading.
+* Python 3.9 through 3.14 beta 3, including free-threading.
* PyPy3 versions 3.9, 3.10, and 3.11.
Documentation is on `Read the Docs`_. Code repository and issue tracker are on
diff --git a/doc/index.rst b/doc/index.rst
index 5efa10570..83ebeaaf1 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -18,7 +18,7 @@ supported on:
.. PYVERSIONS
-* Python 3.9 through 3.14 beta 2, including free-threading.
+* Python 3.9 through 3.14 beta 3, including free-threading.
* PyPy3 versions 3.9, 3.10, and 3.11.
.. ifconfig:: prerelease