Change8

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

  1. 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