From ede3ddcab04db30859a55b34c13d2018ea88fd05 Mon Sep 17 00:00:00 2001 From: Sebastian Rittau Date: Sun, 1 Nov 2026 12:08:15 +0100 Subject: [PATCH 1/3] Drop support for Python 3.9 and 3.10 Add Python 3.15 and pypy 3.12 to testing matrix --- .github/workflows/ci.yml | 9 +++------ CHANGELOG.md | 4 ++++ README.md | 2 +- pyproject.toml | 4 +--- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 65271d23..ec6382c7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,10 +58,6 @@ jobs: # For available versions, see: # https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json python-version: - - "3.9" - - "3.9.12" - - "3.10" - - "3.10.4" - "3.11" - "3.11.0" - "3.12" @@ -69,9 +65,10 @@ jobs: - "3.13" - "3.13.0" - "3.14" - - "pypy3.9" - - "pypy3.10" + - "3.15" + - "3.15.0" - "pypy3.11" + - "pypy3.12" runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a4cf664..21ac03f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# Unreleased + +- Drop support for Python 3.9 and 3.10. + # Release 4.16.0 (July 2, 2026) No user-facing changes since 4.16.0rc2. diff --git a/README.md b/README.md index 106e83b1..55e9ae0a 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ The `typing_extensions` module serves two related purposes: - Enable use of new type system features on older Python versions. For example, - `typing.TypeGuard` is new in Python 3.10, but `typing_extensions` allows + `typing.TypeIs` is new in Python 3.13, but `typing_extensions` allows users on previous Python versions to use it too. - Enable experimentation with new type system PEPs before they are accepted and added to the `typing` module. diff --git a/pyproject.toml b/pyproject.toml index 6dde0165..d7f11b17 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ name = "typing_extensions" version = "4.16.1.dev0" description = "Backported and Experimental Type Hints for Python 3.9+" readme = "README.md" -requires-python = ">=3.9" +requires-python = ">=3.11" license = "PSF-2.0" license-files = ["LICENSE"] keywords = [ @@ -34,8 +34,6 @@ classifiers = [ "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", From ee8e4959214eb20f1e592a195d1c678426f46231 Mon Sep 17 00:00:00 2001 From: Sebastian Rittau Date: Sun, 1 Nov 2026 12:09:24 +0100 Subject: [PATCH 2/3] Fix description --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d7f11b17..89b528d4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ build-backend = "flit_core.buildapi" [project] name = "typing_extensions" version = "4.16.1.dev0" -description = "Backported and Experimental Type Hints for Python 3.9+" +description = "Backported and Experimental Type Hints for Python 3.11+" readme = "README.md" requires-python = ">=3.11" license = "PSF-2.0" From 176e8fd1d3a84a2768e54db3baefca8d0537bcb0 Mon Sep 17 00:00:00 2001 From: Sebastian Rittau Date: Sun, 1 Nov 2026 12:32:30 +0100 Subject: [PATCH 3/3] Update versions --- .github/workflows/ci.yml | 7 ++++--- doc/index.rst | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec6382c7..7ab3579f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,12 +59,13 @@ jobs: # https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json python-version: - "3.11" - - "3.11.0" + - "3.11.15" - "3.12" - - "3.12.0" + - "3.12.13" - "3.13" - - "3.13.0" + - "3.13.13" - "3.14" + - "3.14.6" - "3.15" - "3.15.0" - "pypy3.11" diff --git a/doc/index.rst b/doc/index.rst index 77cb0ec5..de47f6b5 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -143,7 +143,7 @@ Example usage:: Python version support ---------------------- -``typing_extensions`` currently supports Python versions 3.9 and higher. In the future, +``typing_extensions`` currently supports Python versions 3.11 and higher. In the future, support for older Python versions will be dropped some time after that version reaches end of life.