This issue is for discussing the scheduling and motivations for deprecating old Python versions.
Deprecating 3.8 (May 1, 2023)
Deprecating 3.9 (Oct. 2025)
Deprecating 3.10 (Oct. 2026)
Deprecating 3.11 (Oct. 2027)
Deprecating 3.12 (Oct. 2028)
Deprecating 3.13 (Oct. 2029)
This issue is for discussing the scheduling and motivations for deprecating old Python versions.
Deprecating 3.8 (May 1, 2023)
Queue.listanddictinstead ofListandDict, for example) to reduce the occurrences offrom typing import ....Deprecating 3.9 (Oct. 2025)
time.time()withtime.monotonic()so timing is not affected by clock changes (DST, e.g.). This function is available on MacOS starting with version 3.10. Fixed with PR Replace ints and floats with datetime.timedeltas #801int | strinstead ofUnion[int, str], andint | Noneinstead ofOptional[int].MOVE = Union[PlayResult, list[Move]]changes toMOVE: TypeAlias = Union[PlayResult, list[Move]].if-elif-elsewithmatchstatementsDeprecating 3.10 (Oct. 2026)
Deprecating 3.11 (Oct. 2027)
MOVE: TypeAlias = Union[PlayResult, list[Move]]totype MOVE = Union[PlayResult, list[Move]].Deprecating 3.12 (Oct. 2028)
Deprecating 3.13 (Oct. 2029)