diff --git a/acme/setup.py b/acme/setup.py index 053b082ff..c36a455ac 100644 --- a/acme/setup.py +++ b/acme/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' setup( version=version, diff --git a/certbot-apache/setup.py b/certbot-apache/setup.py index b33218bc9..dc99a4b1c 100644 --- a/certbot-apache/setup.py +++ b/certbot-apache/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ # We specify the minimum certbot version as the current plugin diff --git a/certbot-ci/setup.py b/certbot-ci/setup.py index 053b082ff..c36a455ac 100644 --- a/certbot-ci/setup.py +++ b/certbot-ci/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' setup( version=version, diff --git a/certbot-compatibility-test/setup.py b/certbot-compatibility-test/setup.py index 053b082ff..c36a455ac 100644 --- a/certbot-compatibility-test/setup.py +++ b/certbot-compatibility-test/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' setup( version=version, diff --git a/certbot-dns-cloudflare/setup.py b/certbot-dns-cloudflare/setup.py index 9a0dbcdfb..f6055686f 100644 --- a/certbot-dns-cloudflare/setup.py +++ b/certbot-dns-cloudflare/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'cloudflare>=4.0', diff --git a/certbot-dns-digitalocean/setup.py b/certbot-dns-digitalocean/setup.py index 12ba99ade..70ac37eeb 100644 --- a/certbot-dns-digitalocean/setup.py +++ b/certbot-dns-digitalocean/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'python-digitalocean>=1.15.0', # 1.15.0 or newer is recommended for TTL support diff --git a/certbot-dns-dnsimple/setup.py b/certbot-dns-dnsimple/setup.py index 470013340..475972dfc 100644 --- a/certbot-dns-dnsimple/setup.py +++ b/certbot-dns-dnsimple/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ # This version of lexicon is required to address the problem described in diff --git a/certbot-dns-dnsmadeeasy/setup.py b/certbot-dns-dnsmadeeasy/setup.py index 091901356..2d32dacbd 100644 --- a/certbot-dns-dnsmadeeasy/setup.py +++ b/certbot-dns-dnsmadeeasy/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-dns-gehirn/setup.py b/certbot-dns-gehirn/setup.py index 091901356..2d32dacbd 100644 --- a/certbot-dns-gehirn/setup.py +++ b/certbot-dns-gehirn/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-dns-google/setup.py b/certbot-dns-google/setup.py index a789269e7..0fa111ae8 100644 --- a/certbot-dns-google/setup.py +++ b/certbot-dns-google/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'google-api-python-client>=1.6.5', diff --git a/certbot-dns-linode/setup.py b/certbot-dns-linode/setup.py index 091901356..2d32dacbd 100644 --- a/certbot-dns-linode/setup.py +++ b/certbot-dns-linode/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-dns-luadns/setup.py b/certbot-dns-luadns/setup.py index 091901356..2d32dacbd 100644 --- a/certbot-dns-luadns/setup.py +++ b/certbot-dns-luadns/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-dns-nsone/setup.py b/certbot-dns-nsone/setup.py index 091901356..2d32dacbd 100644 --- a/certbot-dns-nsone/setup.py +++ b/certbot-dns-nsone/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-dns-ovh/setup.py b/certbot-dns-ovh/setup.py index f5f5cf3dc..0673d5bcc 100644 --- a/certbot-dns-ovh/setup.py +++ b/certbot-dns-ovh/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'dns-lexicon>=3.15.1', diff --git a/certbot-dns-rfc2136/setup.py b/certbot-dns-rfc2136/setup.py index bbc417b7a..5dece69aa 100644 --- a/certbot-dns-rfc2136/setup.py +++ b/certbot-dns-rfc2136/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ # This version was chosen because it is the version packaged in RHEL 9 and Debian unstable. It diff --git a/certbot-dns-route53/setup.py b/certbot-dns-route53/setup.py index 1fec3716d..ac93625ab 100644 --- a/certbot-dns-route53/setup.py +++ b/certbot-dns-route53/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'boto3>=1.20.34', diff --git a/certbot-dns-sakuracloud/setup.py b/certbot-dns-sakuracloud/setup.py index 091901356..2d32dacbd 100644 --- a/certbot-dns-sakuracloud/setup.py +++ b/certbot-dns-sakuracloud/setup.py @@ -2,7 +2,7 @@ import os from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-nginx/setup.py b/certbot-nginx/setup.py index bf96e9944..8ae070825 100644 --- a/certbot-nginx/setup.py +++ b/certbot-nginx/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' install_requires = [ # We specify the minimum certbot version as the current plugin diff --git a/certbot/CHANGELOG.md b/certbot/CHANGELOG.md index ca9d0f1af..eb8a2bc42 100644 --- a/certbot/CHANGELOG.md +++ b/certbot/CHANGELOG.md @@ -4,6 +4,18 @@ Certbot adheres to [Semantic Versioning](https://semver.org/). +## 5.6.0 - 2026-05-11 + +### Changed + +- certbot now requires version 1.7+ of the library distro and certbot-dns-cloudflare requires 4.0+ of the Cloudflare Python library. ([#10587](https://github.com/certbot/certbot/issues/10587)) + +### Fixed + +- The certbot-dns-ovh snap and docker image now properly delete any created TXT records after the challenge is completed by requiring dns-lexicon 3.25.1 which contains the fix. ([#10492](https://github.com/certbot/certbot/issues/10492)) +- Our Docker images have been updated to use Python 3.14 and Alpine Linux 3.23. ([#10619](https://github.com/certbot/certbot/issues/10619)) + + ## 5.5.0 - 2026-04-07 ### Changed diff --git a/certbot/docs/cli-help.txt b/certbot/docs/cli-help.txt index 1c57f649d..053716b4b 100644 --- a/certbot/docs/cli-help.txt +++ b/certbot/docs/cli-help.txt @@ -38,7 +38,7 @@ manage your account: options: -h, --help show this help message and exit - -c, --config CONFIG_FILE + -c CONFIG_FILE, --config CONFIG_FILE path to config file (default: /etc/letsencrypt/cli.ini and ~/.config/letsencrypt/cli.ini) -v, --verbose This flag can be used multiple times to incrementally @@ -58,7 +58,7 @@ options: --force-interactive Force Certbot to be interactive even if it detects it's not being run in a terminal. This flag cannot be used with the renew subcommand. (default: False) - -d, --domains, --domain DOMAIN + -d DOMAIN, --domains DOMAIN, --domain DOMAIN Domain names to include. For multiple domains you can use multiple -d flags or enter a comma separated list of domains as a parameter. All domains will be @@ -147,7 +147,7 @@ options: case, and to know when to deprecate support for past Python versions and flags. If you wish to hide this information from the Let's Encrypt server, set this to - "". (default: CertbotACMEClient/5.5.0 (certbot; + "". (default: CertbotACMEClient/5.6.0 (certbot; OS_NAME OS_VERSION) Authenticator/XXX Installer/YYY (SUBCOMMAND; flags: FLAGS) Py/major.minor.patchlevel). The flags encoded in the user agent are: --duplicate, @@ -424,7 +424,8 @@ revoke: register: Options for account registration - -m, --email EMAIL Email used for registration and recovery contact. Use + -m EMAIL, --email EMAIL + Email used for registration and recovery contact. Use comma to register multiple emails, ex: u1@example.com,u2@example.com. (default: Ask). --eff-email Share your e-mail address with EFF (default: Ask) @@ -477,9 +478,9 @@ plugins: Name of the plugin that is both an authenticator and an installer. Should not be used together with --authenticator or --installer. (default: Ask) - -a, --authenticator AUTHENTICATOR + -a AUTHENTICATOR, --authenticator AUTHENTICATOR Authenticator plugin name. (default: None) - -i, --installer INSTALLER + -i INSTALLER, --installer INSTALLER Installer plugin name (also used to find domains). (default: None) --apache Obtain and install certificates using Apache (default: @@ -756,7 +757,7 @@ webroot: be running and serving files from the webroot path. HTTP challenge only (wildcards not supported). - --webroot-path, -w WEBROOT_PATH + --webroot-path WEBROOT_PATH, -w WEBROOT_PATH public_html / webroot path. This can be specified multiple times to handle different identifiers; each identifier will have the webroot path that preceded diff --git a/certbot/src/certbot/__init__.py b/certbot/src/certbot/__init__.py index eb168026c..b467db186 100644 --- a/certbot/src/certbot/__init__.py +++ b/certbot/src/certbot/__init__.py @@ -1,4 +1,4 @@ """Certbot client.""" # version number like 1.2.3a0, must have at least 2 parts, like 1.2 -__version__ = '5.6.0.dev0' +__version__ = '5.7.0.dev0' diff --git a/letstest/setup.py b/letstest/setup.py index 053b082ff..c36a455ac 100644 --- a/letstest/setup.py +++ b/letstest/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.6.0.dev0' +version = '5.7.0.dev0' setup( version=version, diff --git a/newsfragments/10492.fixed b/newsfragments/10492.fixed deleted file mode 100644 index a77c99a46..000000000 --- a/newsfragments/10492.fixed +++ /dev/null @@ -1 +0,0 @@ -The certbot-dns-ovh snap and docker image now properly delete any created TXT records after the challenge is completed by requiring dns-lexicon 3.25.1 which contains the fix. diff --git a/newsfragments/10587.changed b/newsfragments/10587.changed deleted file mode 100644 index 99483a0b8..000000000 --- a/newsfragments/10587.changed +++ /dev/null @@ -1 +0,0 @@ -certbot now requires version 1.7+ of the library distro and certbot-dns-cloudflare requires 4.0+ of the Cloudflare Python library. diff --git a/newsfragments/10619.fixed b/newsfragments/10619.fixed deleted file mode 100644 index 256831182..000000000 --- a/newsfragments/10619.fixed +++ /dev/null @@ -1 +0,0 @@ -Our Docker images have been updated to use Python 3.14 and Alpine Linux 3.23.