Download Latest Version caddy_2.10.0_linux_s390x.tar.gz (14.4 MB)
Email in envelope

Get an email when there's a new version of Caddy

Home / v2.9.0
Name Modified Size InfoDownloads / Week
Parent folder
caddy_2.9.0_checksums.txt.pem 2024-12-31 3.2 kB
caddy_2.9.0_checksums.txt.sig 2024-12-31 96 Bytes
caddy_2.9.0_freebsd_arm64.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_freebsd_arm64.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_freebsd_armv6.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_freebsd_armv6.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_freebsd_armv7.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_freebsd_armv7.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_windows_arm64.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_windows_arm64.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_freebsd_amd64.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_freebsd_amd64.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_riscv64.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_riscv64.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_windows_amd64.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_windows_armv6.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_windows_armv6.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_windows_armv7.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_windows_armv7.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_arm64.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_arm64.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv7.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_ppc64le.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_ppc64le.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_s390x.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_s390x.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_windows_amd64.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_windows_armv5.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_windows_armv5.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_amd64.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_amd64.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv5.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_armv5.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv6.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_armv6.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv7.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_mac_amd64.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_mac_amd64.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_mac_arm64.sbom.pem 2024-12-31 3.2 kB
caddy_2.9.0_mac_arm64.sbom.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_amd64.deb.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_amd64.deb.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv5.deb.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_armv5.deb.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv7.deb.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_ppc64le.deb.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_ppc64le.deb.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_riscv64.deb.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_riscv64.deb.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_s390x.deb.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_s390x.deb.sig 2024-12-31 96 Bytes
caddy_2.9.0_buildable-artifact.pem 2024-12-31 3.2 kB
caddy_2.9.0_buildable-artifact.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_arm64.deb.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_arm64.deb.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv6.deb.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_armv6.deb.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv7.deb.sig 2024-12-31 96 Bytes
caddy_2.9.0_src.pem 2024-12-31 3.2 kB
caddy_2.9.0_src.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_freebsd_arm64.pem 2024-12-31 3.2 kB
caddy_2.9.0_freebsd_arm64.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv5.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_armv5.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv6.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_armv6.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_riscv64.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_s390x.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_s390x.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_mac_arm64.pem 2024-12-31 3.2 kB
caddy_2.9.0_mac_arm64.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_freebsd_armv6.pem 2024-12-31 3.2 kB
caddy_2.9.0_freebsd_armv6.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_armv7.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_armv7.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_ppc64le.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_ppc64le.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_riscv64.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_windows_amd64.pem 2024-12-31 3.2 kB
caddy_2.9.0_windows_amd64.zip.sig 2024-12-31 96 Bytes
caddy_2.9.0_windows_arm64.pem 2024-12-31 3.2 kB
caddy_2.9.0_windows_arm64.zip.sig 2024-12-31 96 Bytes
caddy_2.9.0_freebsd_amd64.pem 2024-12-31 3.2 kB
caddy_2.9.0_freebsd_amd64.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_freebsd_armv7.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_amd64.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_amd64.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_linux_arm64.pem 2024-12-31 3.2 kB
caddy_2.9.0_linux_arm64.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_mac_amd64.pem 2024-12-31 3.2 kB
caddy_2.9.0_mac_amd64.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_windows_armv5.pem 2024-12-31 3.2 kB
caddy_2.9.0_windows_armv5.zip.sig 2024-12-31 96 Bytes
caddy_2.9.0_checksums.txt 2024-12-31 7.7 kB
caddy_2.9.0_freebsd_arm64.sbom 2024-12-31 111.6 kB
caddy_2.9.0_freebsd_armv6.sbom 2024-12-31 111.4 kB
caddy_2.9.0_freebsd_armv7.sbom 2024-12-31 111.4 kB
caddy_2.9.0_freebsd_armv7.tar.gz.sig 2024-12-31 96 Bytes
caddy_2.9.0_windows_arm64.sbom 2024-12-31 113.7 kB
caddy_2.9.0_windows_armv6.pem 2024-12-31 3.2 kB
caddy_2.9.0_windows_armv6.zip.sig 2024-12-31 96 Bytes
caddy_2.9.0_windows_armv7.pem 2024-12-31 3.2 kB
caddy_2.9.0_windows_armv7.zip.sig 2024-12-31 96 Bytes
caddy_2.9.0_freebsd_amd64.sbom 2024-12-31 111.6 kB
caddy_2.9.0_linux_arm64.sbom 2024-12-31 111.6 kB
caddy_2.9.0_linux_armv6.sbom 2024-12-31 111.4 kB
caddy_2.9.0_linux_armv7.sbom 2024-12-31 111.4 kB
caddy_2.9.0_linux_ppc64le.sbom 2024-12-31 111.9 kB
caddy_2.9.0_linux_riscv64.sbom 2024-12-31 111.9 kB
caddy_2.9.0_linux_s390x.sbom 2024-12-31 111.5 kB
caddy_2.9.0_mac_arm64.sbom 2024-12-31 112.4 kB
caddy_2.9.0_windows_amd64.sbom 2024-12-31 113.7 kB
caddy_2.9.0_windows_armv5.sbom 2024-12-31 113.4 kB
caddy_2.9.0_windows_armv6.sbom 2024-12-31 113.4 kB
caddy_2.9.0_windows_armv7.sbom 2024-12-31 113.4 kB
caddy_2.9.0_linux_amd64.deb 2024-12-31 14.4 MB
caddy_2.9.0_linux_amd64.sbom 2024-12-31 111.6 kB
caddy_2.9.0_linux_armv5.deb 2024-12-31 13.5 MB
caddy_2.9.0_linux_armv5.sbom 2024-12-31 111.4 kB
caddy_2.9.0_mac_amd64.sbom 2024-12-31 112.4 kB
caddy_2.9.0_linux_armv6.deb 2024-12-31 13.5 MB
caddy_2.9.0_linux_armv7.deb 2024-12-31 13.5 MB
caddy_2.9.0_linux_ppc64le.deb 2024-12-31 13.1 MB
caddy_2.9.0_linux_riscv64.deb 2024-12-31 13.6 MB
caddy_2.9.0_linux_s390x.deb 2024-12-31 13.9 MB
caddy_2.9.0_buildable-artifact.tar.gz 2024-12-31 10.6 MB
caddy_2.9.0_linux_arm64.deb 2024-12-31 13.3 MB
caddy_2.9.0_linux_armv6.tar.gz 2024-12-31 13.5 MB
caddy_2.9.0_src.tar.gz 2024-12-31 10.7 MB
caddy_2.9.0_freebsd_arm64.tar.gz 2024-12-31 13.2 MB
caddy_2.9.0_linux_armv5.tar.gz 2024-12-31 13.5 MB
caddy_2.9.0_linux_s390x.tar.gz 2024-12-31 13.8 MB
caddy_2.9.0_mac_arm64.tar.gz 2024-12-31 13.9 MB
caddy_2.9.0_linux_armv7.tar.gz 2024-12-31 13.4 MB
caddy_2.9.0_linux_ppc64le.tar.gz 2024-12-31 13.0 MB
caddy_2.9.0_linux_riscv64.tar.gz 2024-12-31 13.5 MB
caddy_2.9.0_windows_amd64.zip 2024-12-31 14.6 MB
caddy_2.9.0_freebsd_armv6.tar.gz 2024-12-31 13.4 MB
caddy_2.9.0_linux_amd64.tar.gz 2024-12-31 14.3 MB
caddy_2.9.0_mac_amd64.tar.gz 2024-12-31 14.7 MB
caddy_2.9.0_windows_arm64.zip 2024-12-31 13.3 MB
caddy_2.9.0_linux_arm64.tar.gz 2024-12-31 13.3 MB
caddy_2.9.0_windows_armv5.zip 2024-12-31 13.6 MB
caddy_2.9.0_freebsd_amd64.tar.gz 2024-12-31 14.3 MB
caddy_2.9.0_freebsd_armv7.tar.gz 2024-12-31 13.4 MB
caddy_2.9.0_windows_armv6.zip 2024-12-31 13.6 MB
caddy_2.9.0_windows_armv7.zip 2024-12-31 13.6 MB
README.md 2024-12-31 22.7 kB
v2.9.0 source code.tar.gz 2024-12-31 700.8 kB
v2.9.0 source code.zip 2024-12-31 1.0 MB
Totals: 150 Items   394.3 MB 0

Happy New Year! We're pleased to release Caddy 2.9. Aside from some minor new features, this release is mainly focused on refinements and bug fixes in many areas, including:

  • Config loading
  • Events
  • Logging
  • Placeholders
  • Reverse proxy and HTTP server performance
  • Matchers
  • HTTP (esp. HTTP/3)
  • Metrics (per-host metrics)
  • Security
  • TLS automation & ACME ARI

We realize there is extensive interest in Encrypted Client Hello (ECH) and post-quantum ciphers. These are slated to be supported in Go 1.24, which is scheduled for a stable release in approximately February. We did not want to force users to go through the inconvenience of installing pre-release, non-stock installations of Go, even though the RCs are quite stable and production-ready, in order to even compile Caddy, which is quite common given our plugin ecosystem. We anticipate a Caddy 2.10 release in the near future with these capabilities, built on Go 1.24.

We hope you will enjoy the 2.9 release. Thanks to all contributors, bug reporters, and helpers, and those organizations which deployed pre-release versions to production to help verify patches and features.

Changelog

  • [ef4e02] caddyfile: Fix comma edgecase in address parsing (#6616)
  • [b116dc] caddyhttp: Add {?query} placeholder (#6714)
  • [c216cf] caddyhttp: Allow matching Transfer-Encoding, add to access logs (#6629)
  • [197c56] caddyhttp: Set default ReadHeaderTimeout (1 min)
  • [09b2cb] caddyhttp: Add MatchWithError to replace SetVar hack (#6596)
  • [c6f297] caddyhttp: Close http3 server gracefully (#6213)
  • [88fd5f] caddyhttp: Use internal issuer for IPs when no APs configured
  • [5c8dc3] caddytls: Allow disabling storage cleaning, avoids writing two files (#6593)
  • [d7564d] caddytls: Drop rate_limit and burst, has been deprecated (#6611)
  • [d39889] cmd: Allow add-package to select version of package (#6665)
  • [66c80c] cmd: Disable go1.23 tlskyber=1 experiment
  • [fb7279] cmd: Reject multiple configs for fmt command (#6717)
  • [b3ce26] cmd: ignore missing keys during storage export (#6697)
  • [0182fb] core: addresses.go funcs renames (#6622)
  • [e76405] core: Change ListenerFunc signature (#6651)
  • [315715] core: Implement FastAbs to avoid repeated os.Getwd calls (#6687)
  • [d0e209] encode: good defaults (#6737)
  • [5ba1e0] encode: try to use sendfile when compression is not used (#6749)
  • [bcaa8a] encode: write status immediate for success response for CONNECT requests (#6738)
  • [1d1565] events: Use WithLazy to prevent eager serialization of the event data (#6671)
  • [6790c0] fastcgi: check for CONTENT_LENGTH when sending requests (#6661)
  • [eddbcc] fastcgi: remove dir redirection when useless in php_fastcgi (#6698)
  • [efd925] fileserver: Add first_exist_fallback strategy for try_files (#6699)
  • [d0123b] fileserver: Fix policy Validate() oversight (#6727)
  • [290cfe] fileserver: add a test for precompressed defaults (#6743)
  • [5c2617] fileserver: good default for precompressed (#6736)
  • [cc23ad] fileserver: Add file_limit option for browse (to be experimental) (#6648)
  • [350ad3] fileserver: Fix Caddyfile parsing
  • [9753c4] fileserver: fix try_policy when instantiating file matcher from CEL (#6624)
  • [05cfb1] forwardauth: Skip copying missing response headers (#6608)
  • [ed1c59] go.mod: Upgrade ACMEz to v3; and upgrade CertMagic
  • [3f3f8b] go.mod: Upgrade CertMagic to v0.21.5
  • [91e341] go.mod: upgrade only some otel deps (#6676)
  • [22b9d5] go.mod: Upgrade quic-go to 0.48.2
  • [b129ed] httpcaddyfile: Fixes for prefer_wildcard mode (#6636)
  • [afa778] httpcaddyfile: Implement experimental force_automate option (#6712)
  • [b183ae] httpcaddyfile: Implement log sampling config (#6682)
  • [1d106f] metrics: add go and process collectors (#6704)
  • [388c7e] metrics: move metrics up, outside servers (#6606)
  • [8c3dd3] requestbody: Type-based error handling for MaxBytesError (#6701)
  • [5e6024] reverseproxy: Fix log message
  • [48ce47] reverseproxy: Use correct cases for websocket related headers (#6621)
  • [825fe4] reverseproxy: Allow 0 as weights for weighted_round_robin (#6681)
  • [328fb6] reverseproxy: Only handle websocket protocol (#6740)
  • [238f11] reverseproxy: Revert [#4952] - don't ignore context cancellation in stream mode
  • [9c0c71] reverseproxy: Rewrite requests and responses for websocket over http2 (#6567)
  • [c864b8] reverseproxy: Set Content-Length when body is fully buffered (#6638)
  • [fbf0f4] reverseproxy: Sync changes from stdlib for 1xx handling (#6656)
  • [5823ec] rewrite: Don't add / in Caddyfile, do it after replacer (#6662)
  • [b44319] sigtrap: always ignore SIGPIPE (#6645)
  • [f2c17d] testing: sort force-automated hosts (#6756)
  • [669fc4] tracing: Add spanID field to access logs and http.vars.span_id placeholder (#6646)

What's Changed

New Contributors

Full Changelog: https://github.com/caddyserver/caddy/compare/v2.8.4...v2.9.0

Source: README.md, updated 2024-12-31