From 39b873cf5ce72e2d73cace39d777bdbffb6fc767 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 3 Jun 2026 21:35:10 +0000 Subject: [PATCH] Drop support for Python 3.8 and free-threaded Python 3.13 - requires-python is now >= 3.9 - Remove 3.8 and 3.13t from CI matrices - Stop building cp38 abi3 and cp313t wheels --- .../macos-pkg-choices-freethreaded-3.13t.xml | 14 -------------- .github/workflows/ci.yml | 6 ++---- .github/workflows/wheel-builder.yml | 12 ------------ CHANGELOG.rst | 3 +++ README.rst | 2 +- pyproject.toml | 3 +-- 6 files changed, 7 insertions(+), 33 deletions(-) delete mode 100644 .github/config/macos-pkg-choices-freethreaded-3.13t.xml diff --git a/.github/config/macos-pkg-choices-freethreaded-3.13t.xml b/.github/config/macos-pkg-choices-freethreaded-3.13t.xml deleted file mode 100644 index e84808fc..00000000 --- a/.github/config/macos-pkg-choices-freethreaded-3.13t.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - attributeSetting - 1 - choiceAttribute - selected - choiceIdentifier - org.python.Python.PythonTFramework-3.13 - - - diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e1c4d898..577f2a0a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: PYTHON: - - {VERSION: "3.8", NOXSESSION: "tests"} + - {VERSION: "3.9", NOXSESSION: "tests"} - {VERSION: "3.14", NOXSESSION: "tests"} - {VERSION: "3.14t", NOXSESSION: "tests"} MACOS: @@ -50,7 +50,7 @@ jobs: - {ARCH: 'x86', WINDOWS: 'win32', RUST_TRIPLE: 'i686-pc-windows-msvc', RUNNER: 'windows-latest'} - {ARCH: 'x64', WINDOWS: 'win64', RUST_TRIPLE: 'x86_64-pc-windows-msvc', RUNNER: 'windows-latest'} PYTHON: - - {VERSION: "3.8", NOXSESSION: "tests"} + - {VERSION: "3.9", NOXSESSION: "tests"} - {VERSION: "3.14", NOXSESSION: "tests"} - {VERSION: "3.14t", NOXSESSION: "tests"} name: "Python ${{ matrix.PYTHON.VERSION }} on ${{ matrix.WINDOWS.WINDOWS }}" @@ -83,13 +83,11 @@ jobs: PYTHON: - {VERSION: "3.13", NOXSESSION: "pep8,packaging"} - {VERSION: "3.13", NOXSESSION: "mypy"} - - {VERSION: "3.8", NOXSESSION: "tests"} - {VERSION: "3.9", NOXSESSION: "tests"} - {VERSION: "3.10", NOXSESSION: "tests"} - {VERSION: "3.11", NOXSESSION: "tests"} - {VERSION: "3.12", NOXSESSION: "tests"} - {VERSION: "3.13", NOXSESSION: "tests"} - - {VERSION: "3.13t", NOXSESSION: "tests"} - {VERSION: "3.14", NOXSESSION: "tests"} - {VERSION: "3.14t", NOXSESSION: "tests"} - {VERSION: "pypy-3.11", NOXSESSION: "tests"} diff --git a/.github/workflows/wheel-builder.yml b/.github/workflows/wheel-builder.yml index bd044486..2ca23991 100644 --- a/.github/workflows/wheel-builder.yml +++ b/.github/workflows/wheel-builder.yml @@ -47,10 +47,8 @@ jobs: fail-fast: false matrix: PYTHON: - - { VERSION: "cp38-cp38", ABI_VERSION: 'cp38' } - { VERSION: "cp39-cp39", ABI_VERSION: 'cp39' } - { VERSION: "pp311-pypy311_pp73" } - - { VERSION: "cp313-cp313t" } - { VERSION: "cp314-cp314t" } MANYLINUX: - { NAME: "manylinux2014_x86_64", CONTAINER: "cryptography-manylinux2014:x86_64", RUNNER: "ubuntu-latest" } @@ -133,17 +131,10 @@ jobs: fail-fast: false matrix: PYTHON: - - VERSION: '3.11' - ABI_VERSION: 'cp38' - DOWNLOAD_URL: 'https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg' - BIN_PATH: '/Library/Frameworks/Python.framework/Versions/3.11/bin/python3' - VERSION: '3.11' ABI_VERSION: 'cp39' DOWNLOAD_URL: 'https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg' BIN_PATH: '/Library/Frameworks/Python.framework/Versions/3.11/bin/python3' - - VERSION: '3.13t' - DOWNLOAD_URL: 'https://www.python.org/ftp/python/3.13.7/python-3.13.7-macos11.pkg' - BIN_PATH: '/Library/Frameworks/PythonT.framework/Versions/3.13/bin/python3.13t' - VERSION: '3.14t' DOWNLOAD_URL: 'https://www.python.org/ftp/python/3.14.0/python-3.14.0-macos11.pkg' BIN_PATH: '/Library/Frameworks/PythonT.framework/Versions/3.14/bin/python3.14t' @@ -154,7 +145,6 @@ jobs: # The tag to build or the tag received by the tag event ref: ${{ github.event.inputs.version || github.ref }} sparse-checkout: | - .github/config/macos-pkg-choices-freethreaded-3.13t.xml .github/config/macos-pkg-choices-freethreaded-3.14t.xml persist-credentials: false - name: Install Python @@ -211,9 +201,7 @@ jobs: - {ARCH: 'x86', RUST_TRIPLE: 'i686-pc-windows-msvc', RUNNER: 'windows-latest'} - {ARCH: 'x64', RUST_TRIPLE: 'x86_64-pc-windows-msvc', RUNNER: 'windows-latest'} PYTHON: - - {VERSION: "3.11", ABI_VERSION: "cp38"} - {VERSION: "3.11", ABI_VERSION: "cp39"} - - {VERSION: "3.13t"} - {VERSION: "3.14t"} name: "${{ matrix.PYTHON.VERSION }} ${{ matrix.PYTHON.ABI_VERSION }} ${{ matrix.WINDOWS.ARCH }}" steps: diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c6b8f4ae..3a790dbb 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,9 @@ Unreleased ---------- * Bumped MSRV to 1.85. +* Dropped support for Python 3.8. +* Dropped support for free-threaded Python 3.13 (free-threaded Python 3.14 is + still supported). 5.0.0 ----- diff --git a/README.rst b/README.rst index f6bd4d21..61233af0 100644 --- a/README.rst +++ b/README.rst @@ -142,7 +142,7 @@ Compatibility ------------- This library should be compatible with py-bcrypt and it will run on Python -3.8+ (including free-threaded builds), and PyPy 3. +3.9+ (including free-threaded builds), and PyPy 3. Security -------- diff --git a/pyproject.toml b/pyproject.toml index 67969750..b23b7a64 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,7 +24,6 @@ classifiers = [ "Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", @@ -33,7 +32,7 @@ classifiers = [ "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Free Threading :: 3 - Stable", ] -requires-python = ">= 3.8" +requires-python = ">= 3.9" dynamic = ["readme"] [project.urls]