Change8

Migrating to Caddy v2.10.0

Version v2.10.0 introduces 1 breaking change. This guide details how to update your code.

Released: 4/18/2025

1
Breaking Changes
4
Migration Steps
5
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

libdns 1.0 APIsauto_https prefer_wildcardtls force_automatedns global optiontls app configuration (JSON config)

Breaking Changes

Issue #1

The experimental `auto_https prefer_wildcard` option has been removed. Wildcards are now used by default if present in the configuration, which can be overridden with `tls force_automate` in the Caddyfile.

Migration Steps

  1. 1
    If you rely on DNS provider modules, be aware that they must update to be compatible with the new libdns 1.0 APIs.
  2. 2
    If you were using the removed `auto_https prefer_wildcard` option, you must now rely on the default wildcard behavior or use `tls force_automate` to prevent wildcard usage.
  3. 3
    To enable ECH, you must specify the `ech` global option and ensure a DNS provider module is compiled into your Caddy binary and configured (e.g., using the `dns` global option).
  4. 4
    If building Caddy from source, ensure you include necessary DNS modules using tools like xcaddy (e.g., `$ xcaddy build --with github.com/caddy-dns/cloudflare`).

Release Summary

Caddy 2.10 introduces major privacy enhancements with Encrypted ClientHello (ECH) support and default PQC key exchange, alongside a new global DNS configuration option and updates to wildcard certificate usage.

Need More Details?

View the full release notes and all changes for Caddy v2.10.0.

View Full Changelog