diff --git a/acme/setup.py b/acme/setup.py index ac63492d4..053b082ff 100644 --- a/acme/setup.py +++ b/acme/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.5.0.dev0' +version = '5.6.0.dev0' setup( version=version, diff --git a/certbot-apache/setup.py b/certbot-apache/setup.py index 049e25fd3..b33218bc9 100644 --- a/certbot-apache/setup.py +++ b/certbot-apache/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.5.0.dev0' +version = '5.6.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 ac63492d4..053b082ff 100644 --- a/certbot-ci/setup.py +++ b/certbot-ci/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.5.0.dev0' +version = '5.6.0.dev0' setup( version=version, diff --git a/certbot-compatibility-test/setup.py b/certbot-compatibility-test/setup.py index ac63492d4..053b082ff 100644 --- a/certbot-compatibility-test/setup.py +++ b/certbot-compatibility-test/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.5.0.dev0' +version = '5.6.0.dev0' setup( version=version, diff --git a/certbot-dns-cloudflare/setup.py b/certbot-dns-cloudflare/setup.py index 4146cb9c8..2f3516357 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.5.0.dev0' +version = '5.6.0.dev0' install_requires = [ # for now, do not upgrade to cloudflare>=2.20 to avoid deprecation warnings and the breaking diff --git a/certbot-dns-digitalocean/setup.py b/certbot-dns-digitalocean/setup.py index 3d766d1ac..12ba99ade 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.5.0.dev0' +version = '5.6.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 0384ec46c..470013340 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.5.0.dev0' +version = '5.6.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 8a14c5396..091901356 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.5.0.dev0' +version = '5.6.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-dns-gehirn/setup.py b/certbot-dns-gehirn/setup.py index 8a14c5396..091901356 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.5.0.dev0' +version = '5.6.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-dns-google/setup.py b/certbot-dns-google/setup.py index 21e7ae3ca..a789269e7 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.5.0.dev0' +version = '5.6.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 8a14c5396..091901356 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.5.0.dev0' +version = '5.6.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-dns-luadns/setup.py b/certbot-dns-luadns/setup.py index 8a14c5396..091901356 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.5.0.dev0' +version = '5.6.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-dns-nsone/setup.py b/certbot-dns-nsone/setup.py index 8a14c5396..091901356 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.5.0.dev0' +version = '5.6.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-dns-ovh/setup.py b/certbot-dns-ovh/setup.py index 6c8a4ed0e..f5f5cf3dc 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.5.0.dev0' +version = '5.6.0.dev0' install_requires = [ 'dns-lexicon>=3.15.1', diff --git a/certbot-dns-rfc2136/setup.py b/certbot-dns-rfc2136/setup.py index a03008a76..bbc417b7a 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.5.0.dev0' +version = '5.6.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 8383e4f8e..1fec3716d 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.5.0.dev0' +version = '5.6.0.dev0' install_requires = [ 'boto3>=1.20.34', diff --git a/certbot-dns-sakuracloud/setup.py b/certbot-dns-sakuracloud/setup.py index 8a14c5396..091901356 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.5.0.dev0' +version = '5.6.0.dev0' install_requires = [ 'dns-lexicon>=3.14.1', diff --git a/certbot-nginx/setup.py b/certbot-nginx/setup.py index 1ddce4108..bf96e9944 100644 --- a/certbot-nginx/setup.py +++ b/certbot-nginx/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.5.0.dev0' +version = '5.6.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 fa5b409be..ca9d0f1af 100644 --- a/certbot/CHANGELOG.md +++ b/certbot/CHANGELOG.md @@ -4,6 +4,14 @@ Certbot adheres to [Semantic Versioning](https://semver.org/). +## 5.5.0 - 2026-04-07 + +### Changed + +- Moved nearly all code for the certbot-nginx and certbot-apache plugins into private modules in the certbot package which now offers "apache" and "nginx" [extras](https://packaging.python.org/en/latest/specifications/dependency-specifiers/#extras). Users should notice no major changes. certbot-apache and certbot-nginx will continue to exist as simple packages that depend on certbot and also help register the plugin with certbot so it knows the functionality is available. Unit tests for these plugins are now also part of the certbot package. ([#10484](https://github.com/certbot/certbot/issues/10484)) +- The certbot.ocsp module has been deprecated and will be removed in the next major release. This is not a change to Certbot's OCSP functionality. The code is just being removed from Certbot's public API. ([#10584](https://github.com/certbot/certbot/issues/10584)) + + ## 5.4.0 - 2026-03-10 ### Added diff --git a/certbot/docs/cli-help.txt b/certbot/docs/cli-help.txt index d5a7387fd..1c57f649d 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_FILE, --config CONFIG_FILE + -c, --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 DOMAIN, --domains DOMAIN, --domain DOMAIN + -d, --domains, --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.4.0 (certbot; + "". (default: CertbotACMEClient/5.5.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,8 +424,7 @@ revoke: register: Options for account registration - -m EMAIL, --email EMAIL - Email used for registration and recovery contact. Use + -m, --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) @@ -478,9 +477,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 AUTHENTICATOR + -a, --authenticator AUTHENTICATOR Authenticator plugin name. (default: None) - -i INSTALLER, --installer INSTALLER + -i, --installer INSTALLER Installer plugin name (also used to find domains). (default: None) --apache Obtain and install certificates using Apache (default: @@ -757,7 +756,7 @@ webroot: be running and serving files from the webroot path. HTTP challenge only (wildcards not supported). - --webroot-path WEBROOT_PATH, -w 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 8d27b69d8..eb168026c 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.5.0.dev0' +__version__ = '5.6.0.dev0' diff --git a/letstest/setup.py b/letstest/setup.py index ac63492d4..053b082ff 100644 --- a/letstest/setup.py +++ b/letstest/setup.py @@ -1,6 +1,6 @@ from setuptools import setup -version = '5.5.0.dev0' +version = '5.6.0.dev0' setup( version=version, diff --git a/newsfragments/10484.changed b/newsfragments/10484.changed deleted file mode 100644 index 3714214d7..000000000 --- a/newsfragments/10484.changed +++ /dev/null @@ -1 +0,0 @@ -Moved nearly all code for the certbot-nginx and certbot-apache plugins into private modules in the certbot package which now offers "apache" and "nginx" [extras](https://packaging.python.org/en/latest/specifications/dependency-specifiers/#extras). Users should notice no major changes. certbot-apache and certbot-nginx will continue to exist as simple packages that depend on certbot and also help register the plugin with certbot so it knows the functionality is available. Unit tests for these plugins are now also part of the certbot package. diff --git a/newsfragments/10584.changed b/newsfragments/10584.changed deleted file mode 100644 index 653153284..000000000 --- a/newsfragments/10584.changed +++ /dev/null @@ -1 +0,0 @@ -The certbot.ocsp module has been deprecated and will be removed in the next major release. This is not a change to Certbot's OCSP functionality. The code is just being removed from Certbot's public API.