diff --git a/.azure-pipelines/templates/jobs/extended-tests-jobs.yml b/.azure-pipelines/templates/jobs/extended-tests-jobs.yml index 5aa9fcb12..9ce2b1088 100644 --- a/.azure-pipelines/templates/jobs/extended-tests-jobs.yml +++ b/.azure-pipelines/templates/jobs/extended-tests-jobs.yml @@ -4,7 +4,7 @@ jobs: - name: IMAGE_NAME value: ubuntu-22.04 - name: PYTHON_VERSION - value: 3.13 + value: 3.14 - group: certbot-common strategy: matrix: @@ -14,6 +14,9 @@ jobs: linux-py312: PYTHON_VERSION: 3.12 TOXENV: py312 + linux-py312: + PYTHON_VERSION: 3.13 + TOXENV: py313 linux-isolated: TOXENV: 'isolated-acme,isolated-certbot,isolated-apache,isolated-cloudflare,isolated-digitalocean,isolated-dnsimple,isolated-dnsmadeeasy,isolated-gehirn,isolated-google,isolated-linode,isolated-luadns,isolated-nsone,isolated-ovh,isolated-rfc2136,isolated-route53,isolated-sakuracloud,isolated-nginx' linux-integration-certbot-oldest: @@ -31,7 +34,10 @@ jobs: linux-py312-integration: PYTHON_VERSION: 3.12 TOXENV: integration - # python 3.13 integration tests are not run here because they're run as + linux-py313-integration: + PYTHON_VERSION: 3.13 + TOXENV: integration + # python 3.14 integration tests are not run here because they're run as # part of the standard test suite nginx-compat: TOXENV: nginx_compat diff --git a/.azure-pipelines/templates/jobs/standard-tests-jobs.yml b/.azure-pipelines/templates/jobs/standard-tests-jobs.yml index b26333dd7..0902f04cd 100644 --- a/.azure-pipelines/templates/jobs/standard-tests-jobs.yml +++ b/.azure-pipelines/templates/jobs/standard-tests-jobs.yml @@ -1,7 +1,7 @@ jobs: - job: test variables: - PYTHON_VERSION: 3.13 + PYTHON_VERSION: 3.14 strategy: matrix: macos-cover: diff --git a/acme/pyproject.toml b/acme/pyproject.toml index be58bb516..8cea42102 100644 --- a/acme/pyproject.toml +++ b/acme/pyproject.toml @@ -21,6 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", ] diff --git a/certbot-apache/pyproject.toml b/certbot-apache/pyproject.toml index 4dbcbdacc..b7e6ea821 100644 --- a/certbot-apache/pyproject.toml +++ b/certbot-apache/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-ci/pyproject.toml b/certbot-ci/pyproject.toml index b262aa3cf..ff4d04cea 100644 --- a/certbot-ci/pyproject.toml +++ b/certbot-ci/pyproject.toml @@ -20,6 +20,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", ] diff --git a/certbot-compatibility-test/pyproject.toml b/certbot-compatibility-test/pyproject.toml index ae9faa2a9..fe21a27d6 100644 --- a/certbot-compatibility-test/pyproject.toml +++ b/certbot-compatibility-test/pyproject.toml @@ -21,6 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", ] diff --git a/certbot-dns-cloudflare/pyproject.toml b/certbot-dns-cloudflare/pyproject.toml index e842c851f..59d3a72b8 100644 --- a/certbot-dns-cloudflare/pyproject.toml +++ b/certbot-dns-cloudflare/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-digitalocean/pyproject.toml b/certbot-dns-digitalocean/pyproject.toml index 3770bd742..adf97d33b 100644 --- a/certbot-dns-digitalocean/pyproject.toml +++ b/certbot-dns-digitalocean/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-dnsimple/pyproject.toml b/certbot-dns-dnsimple/pyproject.toml index 557ffa27c..5a6606f46 100644 --- a/certbot-dns-dnsimple/pyproject.toml +++ b/certbot-dns-dnsimple/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-dnsmadeeasy/pyproject.toml b/certbot-dns-dnsmadeeasy/pyproject.toml index 7176fb3b1..9e8deb81c 100644 --- a/certbot-dns-dnsmadeeasy/pyproject.toml +++ b/certbot-dns-dnsmadeeasy/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-gehirn/pyproject.toml b/certbot-dns-gehirn/pyproject.toml index 4cbd67199..7f263d79c 100644 --- a/certbot-dns-gehirn/pyproject.toml +++ b/certbot-dns-gehirn/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-google/pyproject.toml b/certbot-dns-google/pyproject.toml index cd0346218..37083fcdc 100644 --- a/certbot-dns-google/pyproject.toml +++ b/certbot-dns-google/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-linode/pyproject.toml b/certbot-dns-linode/pyproject.toml index f098b2173..50b8ae100 100644 --- a/certbot-dns-linode/pyproject.toml +++ b/certbot-dns-linode/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-luadns/pyproject.toml b/certbot-dns-luadns/pyproject.toml index 4d20cf8ee..7dd9a678c 100644 --- a/certbot-dns-luadns/pyproject.toml +++ b/certbot-dns-luadns/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-nsone/pyproject.toml b/certbot-dns-nsone/pyproject.toml index 9c5fc36a7..0a5022c43 100644 --- a/certbot-dns-nsone/pyproject.toml +++ b/certbot-dns-nsone/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-ovh/pyproject.toml b/certbot-dns-ovh/pyproject.toml index b98eaf715..78e327c68 100644 --- a/certbot-dns-ovh/pyproject.toml +++ b/certbot-dns-ovh/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-rfc2136/pyproject.toml b/certbot-dns-rfc2136/pyproject.toml index bf4716c3f..09f223cc7 100644 --- a/certbot-dns-rfc2136/pyproject.toml +++ b/certbot-dns-rfc2136/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-route53/pyproject.toml b/certbot-dns-route53/pyproject.toml index a6e1ad8b9..e4d27512c 100644 --- a/certbot-dns-route53/pyproject.toml +++ b/certbot-dns-route53/pyproject.toml @@ -28,6 +28,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-dns-sakuracloud/pyproject.toml b/certbot-dns-sakuracloud/pyproject.toml index 36ea00fc5..73342a46b 100644 --- a/certbot-dns-sakuracloud/pyproject.toml +++ b/certbot-dns-sakuracloud/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot-nginx/pyproject.toml b/certbot-nginx/pyproject.toml index 2818e37f1..a5c3d79ff 100644 --- a/certbot-nginx/pyproject.toml +++ b/certbot-nginx/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/certbot/pyproject.toml b/certbot/pyproject.toml index 3e7946e97..e93d832d2 100644 --- a/certbot/pyproject.toml +++ b/certbot/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", diff --git a/letstest/pyproject.toml b/letstest/pyproject.toml index bd1d016ed..f3b4eb8c1 100644 --- a/letstest/pyproject.toml +++ b/letstest/pyproject.toml @@ -21,6 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", ] diff --git a/newsfragments/10477.added b/newsfragments/10477.added new file mode 100644 index 000000000..9e9393248 --- /dev/null +++ b/newsfragments/10477.added @@ -0,0 +1 @@ +Support for Python 3.14 was added. diff --git a/tox.ini b/tox.ini index 7bf0d34b0..00366755b 100644 --- a/tox.ini +++ b/tox.ini @@ -52,10 +52,10 @@ commands = commands = {[base]pytest} acme certbot certbot-dns-cloudflare certbot-dns-digitalocean certbot-dns-dnsimple certbot-dns-dnsmadeeasy certbot-dns-gehirn certbot-dns-google certbot-dns-linode certbot-dns-luadns certbot-dns-nsone certbot-dns-ovh certbot-dns-rfc2136 certbot-dns-route53 certbot-dns-sakuracloud certbot-nginx certbot-apache -[testenv:py3{,10,11,12,13}] +[testenv:py3{,10,11,12,13,14}] commands = {[testenv:py]commands} -[testenv:py3.{10,11,12,13}] +[testenv:py3.{10,11,12,13,14}] commands = {[testenv:py]commands} [testenv:oldest]