-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
None
-
Python Drivers
-
None
-
None
-
None
-
None
-
None
-
None
Context
Python 3.15 is at its release candidate (rc2, 2026-09-01). PyMongo already tests 3.15 in the GitHub Actions matrix (PYTHON-5837) and carries a fork-test fix for 3.15 (PYTHON-5874), but the packaging metadata, wheel builds, and Evergreen test matrix still stop at 3.14. This ticket promotes 3.15 to officially supported.
Definition of done
- Add the Python 3.15 trove classifier to pyproject.toml.
- Build cp315 and cp315t wheels in the dist.yml cibuildwheel workflow and assert that both are present.
- Add 3.15 and 3.15t to the Evergreen test matrix in generate_config_utils.py and regenerate the checked-in configs and the compression variant tags in generate_config.py.
- Add "Added support for Python 3.15." to the changelog in a new 4.19.0 section.
- Evergreen tasks and wheel builds for 3.15 and 3.15t run green.
Pitfalls
- The 3.15 and 3.15t tasks set UV_PYTHON to the exact pre-release version (3.15.0rc2 / 3.15.0rc2t). uv does not index Python 3.15 pre-releases, so setup-dev-env.sh falls back to fetch-python.sh, which downloads the python-build-standalone build (release 20260901) and points UV_PYTHON at it.
- The fetch fallback is temporary. Remove fetch-python.sh and its hook in setup-dev-env.sh once the Evergreen toolchain provisions 3.15, and drop the UV_PYTHON_VERSIONS entries in generate_config_utils.py once 3.15.0 stable is available.
- Keep the .free-threaded selective exclusions (auth, enterprise-auth) that already apply to 3.14t working for 3.15t.
- Verify the pinned cibuildwheel range (>=3.2.0,<4) supports cp315/cp315t; bump the lower bound if it does not.
- Add 3.15/3.15t entries to the zstd compression variant tags in generate_config.py; those tags are hard-coded and do not auto-update.
- 4.18.0 is already released; the changelog entry goes in a new 4.19.0 section, not the 4.18.0 section.
- related to
-
PYTHON-5874 Fix test_fork.py failures on Python 3.15 due to fork() DeprecationWarning in multi-threaded processes
-
- In Code Review
-
-
PYTHON-5837 Check for Beta release of the new Python version
-
- Closed
-