Releases: caddyserver/caddy
2.0 beta 18
Caddy 2.0 beta 18 is the next pre-release in the development cycle of Caddy 2 and is the best one yet! We recommend that everyone on the beta track upgrade, test in a dev or staging environment, and then use in production!
🎉 This tag marks feature-completeness for 2.0. While we may still add new features before v2, they are not blocking its release. Most work going forward will be cleanup, refinement, and bug fixing, for the release candidates.
💚 Please consider sponsoring this project. I work on this full-time!
Some highlights:
- On-demand TLS is now configurable in the Caddyfile. This enables getting certificates during TLS handshakes, convenient for SaaS deployments.
⚠️ strip_prefix,strip_suffix, anduri_replaceCaddyfile directives were replaced by the unifieduridirective- New
--templatesflag for thefile-servercommand - Support for listener wrapper modules
- Default log format is now JSON for non-interactive shells
local_certsglobal option for the Caddyfile, to default to all locally-trusted certificates- New experimental
expressionmatcher supports CEL, for complex request matching logic - Built on Go 1.14.1, which fixes the spinning CPU bug in the runtime on Mac
- Numerous bug fixes and enhancements!
See all commits since beta 17 here.
This is a community effort, so please report bugs, join the discussion, and submit pull requests to be a part of the team!
Support:
- Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
2.0 beta 17
Caddy 2.0 beta 17 is the next pre-release in the development cycle of Caddy 2 and is the best one yet! We recommend that everyone on the beta track upgrade, test in a dev or staging environment, and then use in production!
💚 Please consider sponsoring this project. I work on this full-time!
Some highlights:
⚠️ All sites served over HTTPS by default (powered by Smallstep). Any site where a hostname or IP is provided will default to HTTPS on port 443. You can always specify a higher port if permissions require it. You may be prompted for a password the first time. Public sites continue to be served with Let's Encrypt certificates.⚠️ Port 2015 is no longer a default port.⚠️ Certificates will be moved to a different subfolder in storage. This happens automatically and no action is required by you. It is still in the same root folder tree.⚠️ Slight change to JSON config structure in some areas, mainlytlsapp related to certificate management.- Certificate automation has been vastly improved; especially more robust in error cases
- New
caddy fmtcommand formats / "cleans up" a Caddyfile - New
caddy untrustcommand to uninstall a certificate from the trust store - Experimental HTTP/3 supports QUIC draft 27
- Fix for manually loaded TLS certificates
- Ability to customize TLS client authentication modes/requirements
- Placeholders can now be escaped
\{like so\}(useful for JSON) - Revised HTTP->HTTPS auto-redirect algorithm
- Ability to specify default ServerName in case client does not provide/support SNI
- Known bug (upstream): We actually helped confirm a bug in the Go 1.14 runtime! This release is affected, but it's not serious. If the
caddycommand spins the CPU and hangs at startup, simply terminate the process and restart. It only happens sometimes, and is only known to occur on macOS. - Fixed regression in
reverse_proxyrelated to upstream address parsing. - Hotfix for beta 16, which got mangled across a bad rebase and missing CI tests that unfortunately occurred at the same time. Maybe I shouldn't have released on Friday the 13th... (do not use beta 16)
See all commits since beta 15 here.
Please remember that Caddy 2 beta releases are not yet feature-complete as development is ongoing, nor are they stable; there are likely to be some breaking changes between tags. We hope you will find ways to use Caddy 2 beta in production and report any issues you find!
This is a community effort, so please report bugs, join the discussion, and submit pull requests to be a part of the team!
Support:
- Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
2.0 beta 15
Caddy 2.0 beta 15 is the next pre-release in the development cycle of Caddy 2 and is the best one yet! We recommend that everyone on the beta track upgrade, test in a dev or staging environment, and then use in production!
💚 Please consider sponsoring this project. I work on this full-time and our runway is extremely limited!
Some highlights:
- Built on Go 1.14
- Can specify custom, trusted ACME server CA roots in the Caddyfile (thanks @sarge!)
- Improvements to some matchers in the Caddyfile
- New
logCaddyfile directive enables and configures access logging (a.k.a. HTTP request logs) - New
debugCaddyfile option to enable debug mode (debug-level logs, globally) - Fixes to
basicauthdirective and error handling (thanks @roblabla!) - Fixes to TLS certificate loading
- Fixes to HTTP/3 servers through config reloads
- Fixes to reverse proxy health checks
- Fixes to header and header_regexp matchers (thanks @gilbsgilbs!)
- Several new TLS-related placeholders available (thanks @moorereason!)
- The
caddy reverse-proxycommand now has a--change-host-headerflag - The
reverse_proxydirective can accept URLs for backend addresses - Admin endpoint can be disabled in the Caddyfile with
admin offoption - Environment variables expand nested env variables (thanks @zaquestion!)
- Performance improvements with lots of TLS automation policies
- Several other minor enhancements!
- Known regression: Caddyfile adapter: Caddy network addresses are parsed incorrectly in the
reverse_proxyandphp_fastcgidirectives; temporary workaround is to use a working address then fix it in the JSON. Fix is now available in c83d40c - please build from source to get it
See all commits since beta 14 here.
Please remember that Caddy 2 beta releases are not yet feature-complete as development is ongoing, nor are they stable; there are likely to be some breaking changes between tags. We hope you will find ways to use Caddy 2 beta in production and report any issues you find!
This is a community effort, so please report bugs, join the discussion, and submit pull requests to be a part of the team!
Support:
- Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
2.0 beta 14
Caddy 2.0 beta 14 is the next pre-release in the development cycle of Caddy 2 and is the best one yet! We recommend that everyone on the beta track upgrade.
Did you know we have a working NGINX config adapter? It can turn (most of) NGINX configs into a Caddy config. Build Caddy with it plugged in, and try it out!
Some highlights:
- DNS challenge support (JSON config only, for now)
- Improve TLS certificate selection when using Caddyfile
- Many little enhancements and bug fixes!
See all commits since beta 13 here.
💚 Please consider sponsoring this project. I work on this full-time and our runway is extremely limited!
Please remember that Caddy 2 beta releases are not yet feature-complete as development is ongoing, nor are they stable; there are likely to be some breaking changes between tags. We hope you will find ways to use Caddy 2 beta in production and report any issues you find!
Thank you to all of you who have reported bugs or requested features so far. We continue to make good progress.
This is a community effort, so please report bugs, join the discussion, and submit pull requests to be a part of the team!
Support:
- Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
2.0 beta 13
Caddy 2.0 beta 13 is the next pre-release in the development cycle of Caddy 2 and is the best one yet! We recommend that everyone on the beta track upgrade.
We spent a LOT of time and effort improving the v2 Caddyfile for this release! It's not 100% finished yet but it is much closer. We've also updated the website with a lot of new documentation and tutorials. Check it out!
Click here for details about the significant changes in beta 13.
Some highlights (breaking changes indicated by
⚠️ Path matching is now exact by default, not prefix⚠️ TherewriteCaddyfile directive is mutually exclusive with otherrewritedirectives⚠️ Caddyfile matcher syntax has changed frommatcherandmatch:to simply@⚠️ Environment variables in the Caddyfile can be substituted at either adapt-time or runtime⚠️ HTTP route matchers are evaluated sequentially instead of all at once⚠️ NeworderCaddyfile option replaceshandler_order⚠️ redirCaddyfile directive now comes beforerewritedirective⚠️ TheheadersCaddyfile directive was renamed toheader- New
routeCaddyfile directive evaluates directives in appearance order - New
handleCaddyfile directive enables more sophisticated route composition - Caddyfile adapter will sort multiple instances of a directive by descending specificity of path matcher
- The
caddycommand now assumes thecaddyfileadapter if config filename starts withCaddyfile - The
caddy reloadcommand no longer requires--configflag for default Caddyfiles - Reverse proxy's buffering can be disabled with a flush interval of -1
- Fix reverse proxy circuit breaker's
typeparameter - Fix
http.handlers.rewritemodule's manipulation of URI and construction of query strings - Fix
try_filesdirective when used with query strings - Many other significant improvements and fixes to the Caddyfile
- Numerous other bug fixes and minor enhancements all around
- More details of the big changes in issue #2981
See all commits since beta 12 here.
💚 Please consider sponsoring this project. I work on this full-time and our runway is extremely limited!
Please remember that Caddy 2 beta releases are not yet feature-complete as development is ongoing, nor are they stable; there are likely to be some breaking changes between tags. We hope you will find ways to use Caddy 2 beta in production and report any issues you find!
Thank you to all of you who have reported bugs or requested features so far. We continue to make good progress.
This is a community effort, so please report bugs, join the discussion, and submit pull requests to be a part of the team!
Support:
- Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
2.0 beta 12
Caddy 2.0 beta 12 is the next pre-release in the development cycle of Caddy 2 and is the best update yet! We recommend that everyone on the beta track upgrade.
Some highlights:
- Caddy now saves all config changes from the API so it can resume the last active config with the
--resumeflag - Majorly improved documentation, and launched new docs site: ✨ https://caddyserver.com/docs/ ✨
- Changed data directory; migration is automatic (see #2955)
- Servers listening only on the HTTPS port will enable TLS automatically
- Several minor bug fixes
See all commits since beta 11 here.
💚 Please consider sponsoring this project!
Please remember that Caddy 2 beta releases are not yet feature-complete as development is ongoing, nor are they stable; there are likely to be some breaking changes between tags. We hope you will find ways to use Caddy 2 beta in production and report any issues you find!
Thank you to all of you who have reported bugs or requested features so far. We continue to make good progress.
This is a community effort, so please report bugs, join the discussion, and submit pull requests to be a part of the team!
Support:
- Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
2.0 beta 11
Caddy 2.0 beta 11 is the next pre-release in the development cycle of Caddy 2 and is the best update yet! We recommend that everyone on the beta track upgrade.
Some highlights:
- Support for automatic config documentation (new docs site should be ready soon!)
- Multiple fixes for
@idusage in the admin API - Enhancements to rewrite handler and request matchers
- Log can now output to arbitrary network sockets
- Improved TLS cert management at scale
- Improved templates handler; better markdown and "include" support
- Several other significant bug fixes
See all commits since beta 10 here.
💚 Please consider sponsoring this project!
Please remember that Caddy 2 beta releases are not yet feature-complete as development is ongoing, nor are they stable; there are likely to be some breaking changes between tags. We hope you will find ways to use Caddy 2 beta in production and report any issues you find!
Thank you to all of you who have reported bugs or requested features so far. We continue to make good progress.
To learn how to get started, see the README on the v2 branch.
This is a community effort, so please report bugs, join the discussion, and submit pull requests to be a part of the team!
Support:
- Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
2.0 beta 10
Caddy 2.0 beta 10 is the next pre-release in the development cycle of Caddy 2 and is the best update yet! Some highlights:
- NTLM proxying
- Log level and filenames support placeholders
- Access logs include response headers
- Improved
caddy stop,caddy file-server, andcaddy reverse-proxycommands - Numerous other bug fixes and minor enhancements
See all commits since beta 9 here.
💚 Please consider sponsoring this project!
Please remember that Caddy 2 beta releases are not yet feature-complete as development is ongoing, nor are they stable; there are likely to be some breaking changes between tags. We hope you will find ways to use Caddy 2 beta in production and report any issues you find!
Thank you to all of you who have reported bugs or requested features so far. We continue to make good progress.
To learn how to get started, see the README on the v2 branch.
This is a community effort, so please report bugs, join the discussion, and submit pull requests to be a part of the team!
Support:
- Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
1.0.4
This patch release fixes a bug in the fastcgi middleware that could result in the static file server returning PHP files as plain text on Windows systems. Thank you to @MisterDuval for the report and suggested fix.
Dependencies lego, certmagic, and quic-go have also been updated to their latest versions.
2.0 beta 9
Caddy 2.0 beta 9 is the next pre-release in the development cycle of Caddy 2 and is the best update yet! Some highlights:
- Significant bug fixes, especially related to HTTP requests. (Got rid of those panics! Oops)
- Refactored the admin (API) endpoint code significantly, making many internal improvements and fixing several bugs.
- Added optional origin enforcement features to the API for added security.
- Improved config reload performance significantly.
- Fixed some bugs related to the Caddyfile.
See all commits since beta 8 here.
Please remember that Caddy 2 beta releases are not yet feature-complete as development is ongoing, nor are they stable; there are likely to be some breaking changes between tags. We hope you will find ways to use Caddy 2 beta in production and report any issues you find!
Thank you to all of you who have reported bugs or requested features so far. We continue to make good progress.
To learn how to get started, see the README on the v2 branch.
💚 Please consider sponsoring this project!
This is a community effort, so please report bugs, join the discussion, and submit pull requests to be a part of the team!
Support:
- Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion