Caddy

Stack Holdings GmbH.·CaddyServer.Caddy

HTTP/2 web server with automatic HTTPS

winget install --id CaddyServer.Caddy --exact --source winget

Latest 2.11.4·June 3, 2026

Release Notes

This release patches more security, security-adjacent, and normal bugs. The FrankenPHP project has collaborated on PHP-adjacent patches, which we are grateful for. The recent surge of patches is mostly attributed to token predictors. We have had to reject more than 75% of "security" reports because they were AI slop spam (or just lazy/incorrect). Please use LLMs and agents wisely to avoid wasting precious maintainer resources. We have started blocking offending accounts that spam slop reports. Thank you to all who submit responsible reports following our security policy to make the project better. We appreciate that the community deems the Caddy project worthy of contribution to improve the broader ecosystem! Security-related patches:

  • caddyhttp: Normalize Windows backslashes in path matcher (thanks @Vincent550102)
  • rewrite: Prevent placeholder re-expansion in injected query (thanks @WhiskerEnt)
  • templates: Improved stripHTML action to more reliably remove malformed HTML (thanks to @jmrcsnchz)
  • caddyhttp: Ignore header fields with underscores to prevent collisions (thanks @Vincent550102 for the report and @dunglas for the patch) There are also several other various fixes and enhancements by many other contributors. Thank you everyone who participated! What's Changed
  • reverseproxy: further prevent body closes from dial errors by @jameshartig in #7715
  • caddytls: Fix client auth (fix #7724) by @mholt in #7727
  • chore: deps upgrade by @mohammed90 in #7751
  • caddyhttp: omit Last-Modified for unusable mod times by @bb4242 in #7740
  • caddytls: fix TLS state races and ECH rotation retry by @broady in #7756
  • chore: clean up wording and typo fixes by @steadytao in #7745
  • reverseproxy: Add regression test for DialInfo network override by @eyupcanakman in #7758
  • caddyauth: add candidate placeholders for rejected identities by @steadytao in #7698
  • cmd: support caddy start on IPv6-only hosts by @steadytao in #7744
  • caddyfile: preserve implicit TLS issuer semantics by @steadytao in #7743
  • reverseproxy: wraps request body to prevent closing if not read by @WeidiDeng in #7719
  • caddytls: match IDN SNI in connection policies by @steadytao in #7742
  • build(deps): bump the all-updates group across 1 directory with 9 updates by @dependabot[bot] in #7752
  • caddyhttp: normalize Windows backslashes in path matcher by @Vincent550102 in #7763
  • go.mod: update x/net by @steadytao in #7767
  • rewrite: prevent placeholder re-expansion in injected query by @WhiskerEnt in #7761
  • perf(replacer): optimize memory allocation for file placeholders by @Jualhosting in #7773
  • caddytls: skip idna.ToASCII for pure ASCII SNI values by @sleet0922 in #7770
  • encode: prioritize zstd and br over gzip in content negotiation by @Jualhosting in #7772
  • httpcaddyfile: fix incorrect error message on duplicate matchers by @Brunotlps in #7780
  • Patch for GHSA-vcc4-2c75-vc9v by @jmrcsnchz in #7785

New Contributors

  • @jameshartig made their first contribution in #7715
  • @bb4242 made their first contribution in #7740
  • @broady made their first contribution in #7756
  • @eyupcanakman made their first contribution in #7758
  • @Vincent550102 made their first contribution in #7763
  • @WhiskerEnt made their first contribution in #7761
  • @Jualhosting made their first contribution in #7773
  • @sleet0922 made their first contribution in #7770
  • @Brunotlps made their first contribution in #7780
  • @jmrcsnchz made their first contribution in #7785

Installer type: zip

x64—1708333F79E274C7697285AFE6D592AB39314E0B131E9EC6BEA08AD27DF62EBF
arm64—C7F16DA93728F61455F77C04EAC1FF4DE06A38DA281ED6D3DCBFAE795BE2A936

Details

Homepage
https://github.com/caddyserver/caddy
License
Apache-2.0
Publisher
Stack Holdings GmbH.
Support
https://github.com/caddyserver/caddy/issues

Tags

acmeautomatic-httpscaddycaddyfilegogolanghacktoberfesthttphttp-serverhttp3httpsprivacyreverse-proxysecuritytlsweb-server

Older versions (10)

2.11.3
x64—94BA71226D30A07D8ECA3F971E88222FAFB13F8BC46F391ED01AFD6780F9C030
arm64—2C1960DEB8C5FBC83E7EA3B9807E20C4D50EFE3846E5248AA4EB2F6DC437DE81
2.11.2
x64—2902D2A278597E4983D70ED6D694FCAB36B29B0B7D109771C59D7DA7147AFAD8
arm64—891073849F5FBAFD7A573FED0C5A09B68AD5590035E4FC5977E0E758FD7EA776
2.11.1
x64—DE55CC5C227FB03D5D69FCA6ADF0D71E90FDCFAB84C1A314598F25F3BBA83FD2
arm64—DD48DBCF0D2D7E97077665CEFA5CE054B72B79AB64DEDCE1DBDE49FB86FCED51
2.10.2
x64—9FD1EF9BE5D9B05852B66CCC25F96F23D8651BCAB20779861A745BDFFA273722
arm64—014B4795872678F708F5CD347FD00D81671CD0305284B4A236FFB1898967D840
2.10.1
x64—1EC34E4F87A47A7C1C475411036BF1F3B8CB05E5E07124E116BD974053E1C202
arm64—788F9330C6617DBF54DC1A17461A4FA17AFD7839B7F4F5E3745C4F64B82B2CC1
2.10.0
x64—AEB20676F18E1373586FC781C578E270E1429F71F6F0E0B72D85D55E0EFCA480
arm64—88ECAD03A98722FBCE9095B1FE08B33B406E84E20932513DBE86BE2F19684432
2.9.1
x64—FC99862101CD015A1FD2C1B38376109B543A5DE5B6FA63ECF35A491B41E3613A
arm64—205001F6FDA5958899AA2980BD534D2AC3E8106A7C6D25345F855A0D6D668398
2.9.0
x64—33618441185FA06B8AE7326E506625689C95738FC5BC6FD73302ECACEE8DD52E
arm64—A9BDB008EF74931BA72683D4D3409E5E295B9A10EDBFC3745BD0D623955A7CF7
2.7.6
x64—769C9A852F1D2ABE87804B32756582D4DCBC9C46BAC4ADAB5C04463FD89C8F6B
arm64—1D162C51877806D20E234C83365DA57D10B30ACE5991A04A34CF31FA723E2BE9
2.6.4
x64—11A0E78529C4D195ECB320F375B860BD41246083FA0D45D349D6A06690DE14DE
arm64—4B82ECB1EB1CD907E7E9678CE7B82BB48337BAC4E1D01A32BBE293CF456E0157