Repository navigation
Description
Problem
Python 3.10 has reached upstream end of life, but Agent Framework still advertises, tests, and carries compatibility code for it across the Python package set. Continuing support increases CI cost, constrains dependency and language-feature adoption, and leaves users on an interpreter that no longer receives upstream security fixes.
Use Case and Evidence
The Python 3.15 compatibility work soft-deprecates Python 3.10 while intentionally retaining its package metadata and CI lanes for the current release. Review feedback requested a concrete follow-up rather than leaving the removal unscheduled. The repository already has packages that require Python 3.11, and the workspace lock's common development range begins at Python 3.11.
Target completion date: latest October 31, 2026.
Desired Outcome
By October 31, 2026, publish a coordinated Python release that requires Python 3.11 or later, removes Python 3.10 from advertised support and CI, and gives users clear release-note and migration guidance.
Alternatives Considered
- Continue supporting Python 3.10 indefinitely. This retains compatibility for existing users but keeps the framework tied to an EOL interpreter.
- Keep only the documentation-level soft deprecation. This is appropriate for the current Python 3.15 compatibility release but does not complete the lifecycle transition.
- Wait for an unspecified future major version. Python ecosystem projects commonly drop EOL interpreter versions in regular releases, and an explicit dated issue provides clearer planning.
Proposed Direction
- Raise
requires-pythonfrom>=3.10to>=3.11in the root package and every affected workspace distribution. - Remove Python 3.10 classifiers and package/sample documentation claims.
- Remove the Python 3.10 CI matrix lanes and the package exclusions used only for that boundary.
- Audit and remove compatibility dependencies and code paths that exist solely for Python 3.10, including conditional
tomliusage where no longer needed. - Regenerate root and package lockfiles and validate the complete minimum-version matrix on Python 3.11.
- Document the breaking support change in the centrally managed Python changelog and release notes.
Scope and Non-Goals
This applies only to the Python implementation. It does not drop Python 3.11, alter .NET target frameworks, or resolve the independent upstream blockers for Python 3.15 integrations. The implementation should remain a dedicated release change rather than being folded into the current Python 3.15 compatibility PR.
Language
Python
Contribution Intent
I am willing to implement this
Acknowledgements
- I searched existing issues and did not find a duplicate.
- I will wait for explicit maintainer agreement before starting implementation of a non-trivial change.
Metadata
Metadata
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
[-]Python: Drop Python 3.10 support by October 31, 2026[/-][+]Python: [BREAKING] Drop Python 3.10 support by October 31, 2026[/+][-]Python: [BREAKING] Drop Python 3.10 support by October 31, 2026[/-][+]Python: Drop Python 3.10 support by October 31, 2026[/+]