Release Certbot 2.6.0
diff --git a/acme/docs/jws-help.txt b/acme/docs/jws-help.txt
index 34cf5ce2356..bfd16dff4d7 100644
--- a/acme/docs/jws-help.txt
+++ b/acme/docs/jws-help.txt
@@ -3,6 +3,6 @@ usage: jws [-h] [--compact] {sign,verify} ...
 positional arguments:
   {sign,verify}
 
-optional arguments:
+options:
   -h, --help     show this help message and exit
   --compact
diff --git a/acme/setup.py b/acme/setup.py
index 904ab162f55..4296e4ad6df 100644
--- a/acme/setup.py
+++ b/acme/setup.py
@@ -3,7 +3,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'cryptography>=3.2.1',
diff --git a/certbot-apache/setup.py b/certbot-apache/setup.py
index 18f60bfeab9..d877eb668b4 100644
--- a/certbot-apache/setup.py
+++ b/certbot-apache/setup.py
@@ -1,7 +1,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     # We specify the minimum acme and certbot version as the current plugin
diff --git a/certbot-compatibility-test/setup.py b/certbot-compatibility-test/setup.py
index e7510b6cd58..291604986db 100644
--- a/certbot-compatibility-test/setup.py
+++ b/certbot-compatibility-test/setup.py
@@ -1,7 +1,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'certbot',
diff --git a/certbot-dns-cloudflare/setup.py b/certbot-dns-cloudflare/setup.py
index 124fc0c0802..5e388acd6b9 100644
--- a/certbot-dns-cloudflare/setup.py
+++ b/certbot-dns-cloudflare/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'cloudflare>=1.5.1',
diff --git a/certbot-dns-digitalocean/setup.py b/certbot-dns-digitalocean/setup.py
index c378ee1493b..b7659b4352c 100644
--- a/certbot-dns-digitalocean/setup.py
+++ b/certbot-dns-digitalocean/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'python-digitalocean>=1.11', # 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 b2b74180abb..51ff8eac862 100644
--- a/certbot-dns-dnsimple/setup.py
+++ b/certbot-dns-dnsimple/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.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 4959ccc19bf..d664587fc26 100644
--- a/certbot-dns-dnsmadeeasy/setup.py
+++ b/certbot-dns-dnsmadeeasy/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'dns-lexicon>=3.2.1',
diff --git a/certbot-dns-gehirn/setup.py b/certbot-dns-gehirn/setup.py
index 76beb15a184..77846326fd9 100644
--- a/certbot-dns-gehirn/setup.py
+++ b/certbot-dns-gehirn/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'dns-lexicon>=3.2.1',
diff --git a/certbot-dns-google/setup.py b/certbot-dns-google/setup.py
index 7649d48bf64..b74bba0b8a8 100644
--- a/certbot-dns-google/setup.py
+++ b/certbot-dns-google/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.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 e6690e93b31..40cb730eae4 100644
--- a/certbot-dns-linode/setup.py
+++ b/certbot-dns-linode/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'dns-lexicon>=3.2.1',
diff --git a/certbot-dns-luadns/setup.py b/certbot-dns-luadns/setup.py
index e61c6d31721..3be44321a42 100644
--- a/certbot-dns-luadns/setup.py
+++ b/certbot-dns-luadns/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'dns-lexicon>=3.2.1',
diff --git a/certbot-dns-nsone/setup.py b/certbot-dns-nsone/setup.py
index dd452de44ff..995b537cb28 100644
--- a/certbot-dns-nsone/setup.py
+++ b/certbot-dns-nsone/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'dns-lexicon>=3.2.1',
diff --git a/certbot-dns-ovh/setup.py b/certbot-dns-ovh/setup.py
index eea84d5df07..e0ea2a4ab35 100644
--- a/certbot-dns-ovh/setup.py
+++ b/certbot-dns-ovh/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'dns-lexicon>=3.2.1',
diff --git a/certbot-dns-rfc2136/setup.py b/certbot-dns-rfc2136/setup.py
index f1822f12828..bcd06efb6d4 100644
--- a/certbot-dns-rfc2136/setup.py
+++ b/certbot-dns-rfc2136/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'dnspython>=1.15.0',
diff --git a/certbot-dns-route53/setup.py b/certbot-dns-route53/setup.py
index 7a0097df053..0237a096970 100644
--- a/certbot-dns-route53/setup.py
+++ b/certbot-dns-route53/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'boto3>=1.15.15',
diff --git a/certbot-dns-sakuracloud/setup.py b/certbot-dns-sakuracloud/setup.py
index 65f5e8b2752..bbce635c4e2 100644
--- a/certbot-dns-sakuracloud/setup.py
+++ b/certbot-dns-sakuracloud/setup.py
@@ -4,7 +4,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     'dns-lexicon>=3.2.1',
diff --git a/certbot-nginx/setup.py b/certbot-nginx/setup.py
index 59be22298b3..e0dcd4f2259 100644
--- a/certbot-nginx/setup.py
+++ b/certbot-nginx/setup.py
@@ -1,7 +1,7 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0.dev0'
+version = '2.7.0.dev0'
 
 install_requires = [
     # We specify the minimum acme and certbot version as the current plugin
diff --git a/certbot/CHANGELOG.md b/certbot/CHANGELOG.md
index 3496e84d237..9f33167a359 100644
--- a/certbot/CHANGELOG.md
+++ b/certbot/CHANGELOG.md
@@ -2,7 +2,23 @@
 
 Certbot adheres to [Semantic Versioning](https://semver.org/).
 
-## 2.6.0 - master
+## 2.7.0 - master
+
+### Added
+
+*
+
+### Changed
+
+*
+
+### Fixed
+
+*
+
+More details about these changes can be found on our GitHub repo.
+
+## 2.6.0 - 2023-05-09
 
 ### Added
 
diff --git a/certbot/certbot/__init__.py b/certbot/certbot/__init__.py
index 343efe7af5f..82ddadb759e 100644
--- a/certbot/certbot/__init__.py
+++ b/certbot/certbot/__init__.py
@@ -1,3 +1,3 @@
 """Certbot client."""
 # version number like 1.2.3a0, must have at least 2 parts, like 1.2
-__version__ = '2.6.0.dev0'
+__version__ = '2.7.0.dev0'
diff --git a/certbot/docs/cli-help.txt b/certbot/docs/cli-help.txt
index c1d954b05b8..220362b9582 100644
--- a/certbot/docs/cli-help.txt
+++ b/certbot/docs/cli-help.txt
@@ -36,7 +36,7 @@ manage your account:
   --agree-tos       Agree to the ACME server's Subscriber Agreement
    -m EMAIL         Email address for important account notifications
 
-optional arguments:
+options:
   -h, --help            show this help message and exit
   -c CONFIG_FILE, --config CONFIG_FILE
                         path to config file (default: /etc/letsencrypt/cli.ini
@@ -74,26 +74,24 @@ optional arguments:
                         HMAC key for External Account Binding (default: None)
   --cert-name CERTNAME  Certificate name to apply. This name is used by
                         Certbot for housekeeping and in file paths; it doesn't
-                        affect the content of the certificate itself. To see
+                        affect the content of the certificate itself.
+                        Certificate name cannot contain filepath separators
+                        (i.e. '/' or '\', depending on the platform). To see
                         certificate names, run 'certbot certificates'. When
                         creating a new certificate, specifies the new
                         certificate's name. (default: the first provided
                         domain or the name of an existing certificate on your
                         system for the same domains)
-  --dry-run             Perform a test run of the client, obtaining test
-                        (invalid) certificates but not saving them to disk.
-                        This can currently only be used with the 'certonly'
-                        and 'renew' subcommands. Note: Although --dry-run
-                        tries to avoid making any persistent changes on a
-                        system, it is not completely side-effect free: if used
-                        with webserver authenticator plugins like apache and
-                        nginx, it makes and then reverts temporary config
-                        changes in order to obtain test certificates, and
-                        reloads webservers to deploy and then roll back those
-                        changes. It also calls --pre-hook and --post-hook
-                        commands if they are defined because they may be
-                        necessary to accurately simulate renewal. --deploy-
-                        hook commands are not called. (default: False)
+  --dry-run             Perform a test run against the Let's Encrypt staging
+                        server, obtaining test (invalid) certificates but not
+                        saving them to disk. This can only be used with the
+                        'certonly' and 'renew' subcommands. It may trigger
+                        webserver reloads to temporarily modify & roll back
+                        configuration files. --pre-hook and --post-hook
+                        commands run by default. --deploy-hook commands do not
+                        run, unless enabled by --run-deploy-hooks. The test
+                        server may be overridden with --server. (default:
+                        False)
   --debug-challenges    After setting up challenges, wait for user input
                         before submitting to CA. When used in combination with
                         the `-v` option, the challenge URLs or FQDNs and their
@@ -124,7 +122,7 @@ optional arguments:
                         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/2.5.0 (certbot;
+                        "". (default: CertbotACMEClient/2.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,
@@ -239,10 +237,11 @@ testing:
                         recommended when modifying the deploy hook using
                         `reconfigure`. (default: False)
   --test-cert, --staging
-                        Use the staging server to obtain or revoke test
-                        (invalid) certificates; equivalent to --server
-                        https://acme-staging-v02.api.letsencrypt.org/directory
-                        (default: False)
+                        Use the Let's Encrypt staging server to obtain or
+                        revoke test (invalid) certificates; equivalent to
+                        --server https://acme-
+                        staging-v02.api.letsencrypt.org/directory (default:
+                        False)
   --debug               Show tracebacks in case of errors (default: False)
   --no-verify-ssl       Disable verification of the ACME server's certificate.
                         The root certificates trusted by Certbot can be
@@ -603,13 +602,22 @@ dns-google:
                         before asking the ACME server to verify the DNS
                         record. (default: 60)
   --dns-google-credentials DNS_GOOGLE_CREDENTIALS
-                        Path to Google Cloud DNS service account JSON file.
-                        (See https://developers.google.com/identity/protocols/
-                        OAuth2ServiceAccount#creatinganaccount forinformation
-                        about creating a service account and
-                        https://cloud.google.com/dns/access-
+                        Path to Google Cloud DNS service account JSON file to
+                        use instead of relying on Application Default
+                        Credentials (ADC). (See https://cloud.google.com/docs/
+                        authentication/application-default-credentials for
+                        information about ADC, https://developers.google.com/i
+                        dentity/protocols/OAuth2ServiceAccount#creatinganaccou
+                        nt for information about creating a service account,
+                        and https://cloud.google.com/dns/access-
                         control#permissions_and_roles for information about
-                        therequired permissions.) (default: None)
+                        the permissions required to modify Cloud DNS records.)
+                        (default: None)
+  --dns-google-project DNS_GOOGLE_PROJECT
+                        The ID of the Google Cloud project that the Google
+                        Cloud DNS managed zone(s) reside in. This will be
+                        determined automatically if not specified. (default:
+                        None)
 
 dns-linode:
   Obtain certificates using a DNS TXT record (if you are using Linode for

Merge this PR.