v2.10.1
📦 caddyView on GitHub →
✨ 3 features🐛 21 fixes🔧 15 symbols
Summary
This patch release introduces significant refinements, including support for .avif images, updates to dependency versions like quic-go, and numerous bug fixes across routing, logging, and provisioning. Users must upgrade to Go v1.25.0 or newer to run this version.
Migration Steps
- Ensure you are running Go v1.25.0 or newer, as required by this version of Caddy.
✨ New Features
- fileserver: Add support for .avif image format
- client_auth: wire up leaf verifier Caddyfile
- feat: add bcrypt cost parameter to hash-password
🐛 Bug Fixes
- forwardproxy: reference correct field name in LoadModule
- fix: Remove `nil` arg from `zapslog.NewHandler` call
- reverseproxy: use DialTLSContext for TLS if servername has placeholder
- admin: Make sure that any admin routers are provisioned when local/re...
- log: default logger should respect `{in,ex}clude`
- acme_server: fix policy parsing in caddyfile
- implement Unwrap for interceptedResponseHandler
- fileserver: map invalid path errors to fs.ErrInvalid, and return 400 ...
- caddyhttp: fix route sort by comparing paths without wildcard if they don't shar...
- fix: crash - null check on event origin
- fix: prevent error handler from overriding sub handler matchers
- caddyfile: reject blocks in log_skip directive
- cmd: fix `Commands` function not returning all registered commands
- core: clean up new config if it failed to run
- fix(provisioning): `Context.App` or `Context.AppIfConfigured` will return `(val, nil)` even if the app failed to provision or validate the first time
- fix typo in bcrypt cost flag name
- caddytls: fix regression in external certificate manager support
- http: free up quic listener when stopping
- http: disable keepalive when KeepAliveInterval is negative
- http: clean up listeners if some of the listeners fail to bind
- file_server: set Range header for precompressed static files to force Content Length header to appear
🔧 Affected Symbols
zapslog.NewHandlerLoadModuleDialTLSContextinterceptedResponseHandlerlogacme_serverfileservercaddyhttpreverseproxycmd.CommandsContext.AppContext.AppIfConfiguredhash-passwordcaddytlshttp.Protocols