The release notes are here: Release v2.8.0 · caddyserver/caddy · GitHub - although they don’t explicitly specify that the challenges key was superseded by cname_validation here.
I’m not sure what this means exactly, but, Caddy’s DNS providers are modular - they can be used by the ZeroSSL issuance module just the same as they can be used by the ACME issuance module. Caddy’s DNS providers don’t need to “refer” to the issuer - the issuer refers to the DNS provider.
They may wish to update that. Maybe opening an issue requesting an update might prompt them to provide a new example specifically for ZeroSSL?
The salient parts seem identical - instead of challenges.dns.provider you’ll need to specify cname_validation.provider. The provider here references the same module as it does for the ACME issuer and has the same configuration.
I should just clarify that it doesn’t need to be CHANGED, though. It’s still accurate for the ACME issuer. But you might want to request an additional example for the separate ZeroSSL API issuer to go alongside the existing example.
Are you sure you want to use the zerossl issuer? That’ll use the ZeroSSL API, not ZeroSSL’s ACME endpoint. Using the API requires an API key, as far as I understand. If you use the acme issuer (with ZeroSSL’s ACME URL and your email address) that should work the same as before. You can have two acme issuers configured (where by default it’s Let’s Encrypt unless you change the URL). The release notes explain this:
If you use JSON to configure certificate automation policies, you will need to ensure you use the acme issuer with your email filled out, and the ca field set to ZeroSSL’s ACME server URL. If you want redundancy with Let’s Encrypt, be sure to specify another acme issuer as well (defaults OK, but we recommend setting an email there too).