From 92bc9553c1e04de4f3dd002dd9e2225ac95af55a Mon Sep 17 00:00:00 2001 From: Matthew Keeler Date: Mon, 2 Nov 2026 11:23:23 -0500 Subject: [PATCH] feat!: Require Python 3.11 or later feat: Add support for Python 3.15 Python 3.10 reached end of life in October 2026, and Python 3.15.0 shipped the same month. Raise requires-python to 3.11, add the 3.15 classifier, and update the CI matrices, the release workflows, and the README to match. --- .github/workflows/ci.yml | 4 ++-- .github/workflows/manual-publish.yml | 2 +- .github/workflows/release-please.yml | 2 +- README.md | 2 +- pyproject.toml | 6 +++--- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index abbee2a6..ea2923d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -188,7 +188,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 diff --git a/.github/workflows/manual-publish.yml b/.github/workflows/manual-publish.yml index 50769fcb..99af06e5 100644 --- a/.github/workflows/manual-publish.yml +++ b/.github/workflows/manual-publish.yml @@ -21,7 +21,7 @@ jobs: - name: Set up uv uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: - python-version: "3.10" + python-version: "3.11" - uses: launchdarkly/gh-actions/actions/release-secrets@release-secrets-v1 name: "Get PyPI token" diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index cbb1027d..8e095283 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -25,7 +25,7 @@ jobs: if: ${{ steps.release.outputs.releases_created == 'true' }} uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: - python-version: "3.10" + python-version: "3.11" - uses: launchdarkly/gh-actions/actions/release-secrets@release-secrets-v1 if: ${{ steps.release.outputs.releases_created == 'true' }} diff --git a/README.md b/README.md index 952e0ece..0e6994d6 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ ## Supported Python versions -This version of the LaunchDarkly SDK is compatible with Python 3.10+. +This version of the LaunchDarkly SDK is compatible with Python 3.11+. ## Getting started diff --git a/pyproject.toml b/pyproject.toml index 08580dec..e1c7a982 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,17 +7,17 @@ authors = [ ] license = "Apache-2.0" readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Topic :: Software Development", "Topic :: Software Development :: Libraries", ] @@ -81,7 +81,7 @@ docs = [ ] [tool.mypy] -python_version = "3.10" +python_version = "3.11" ignore_missing_imports = true [tool.isort]