From 60e3fa9ea8d5e3b5f1d362c350a4fc15633736e0 Mon Sep 17 00:00:00 2001 From: Jeffrey 'Alex' Clark Date: Tue, 2 Jun 2026 13:56:46 -0400 Subject: [PATCH 1/3] PYTHON-5387 Add beta Python 3.15 Per `uv` docs: - "Python pre-releases will be used if there is no other available installation matching the request." --- .github/workflows/test-python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-python.yml b/.github/workflows/test-python.yml index 2a70021cf7..78394becf5 100644 --- a/.github/workflows/test-python.yml +++ b/.github/workflows/test-python.yml @@ -59,7 +59,7 @@ jobs: matrix: # Tests currently only pass on ubuntu on GitHub Actions. os: [ubuntu-latest] - python-version: ["3.10", "pypy-3.11", "3.13t"] + python-version: ["3.10", "pypy-3.11", "3.13t", "3.15"] mongodb-version: ["8.0"] name: CPython ${{ matrix.python-version }}-${{ matrix.os }} From d89c5bdf9b2625dabf8da2acfa38f092edf2d88f Mon Sep 17 00:00:00 2001 From: Jeffrey 'Alex' Clark Date: Wed, 3 Jun 2026 14:22:30 -0400 Subject: [PATCH 2/3] Use a neutral label like "Python" to keep CI output accurate. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .github/workflows/test-python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-python.yml b/.github/workflows/test-python.yml index 78394becf5..afb6e2e100 100644 --- a/.github/workflows/test-python.yml +++ b/.github/workflows/test-python.yml @@ -62,7 +62,7 @@ jobs: python-version: ["3.10", "pypy-3.11", "3.13t", "3.15"] mongodb-version: ["8.0"] - name: CPython ${{ matrix.python-version }}-${{ matrix.os }} + name: Python ${{ matrix.python-version }}-${{ matrix.os }} steps: - uses: actions/checkout@v6.0.2 with: From 41cc2e26a2dd2ed57ff9b6975367cd742459d99d Mon Sep 17 00:00:00 2001 From: Jeffrey 'Alex' Clark Date: Wed, 10 Jun 2026 12:04:16 -0400 Subject: [PATCH 3/3] PYTHON-5387 Skip test_fork failures --- test/test_fork.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/test_fork.py b/test/test_fork.py index dad947d8c5..976acbb876 100644 --- a/test/test_fork.py +++ b/test/test_fork.py @@ -36,6 +36,10 @@ is_greenthread_patched(), "gevent does not support POSIX-style forking.", ) +@unittest.skipIf( + sys.version_info >= (3, 15), + "fork() in multi-threaded processes is deprecated in Python 3.15+ (PYTHON-5874)", +) class TestFork(IntegrationTest): def test_lock_client(self): # Forks the client with some items locked.