Releases: caddyserver/caddy
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, mainlytls
app related to certificate management.- Certificate automation has been vastly improved; especially more robust in error cases
- New
caddy fmt
command formats / "cleans up" a Caddyfile - New
caddy untrust
command 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
caddy
command 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_proxy
related 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
log
Caddyfile directive enables and configures access logging (a.k.a. HTTP request logs) - New
debug
Caddyfile option to enable debug mode (debug-level logs, globally) - Fixes to
basicauth
directive 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-proxy
command now has a--change-host-header
flag - The
reverse_proxy
directive can accept URLs for backend addresses - Admin endpoint can be disabled in the Caddyfile with
admin off
option - 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_proxy
andphp_fastcgi
directives; 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⚠️ Therewrite
Caddyfile directive is mutually exclusive with otherrewrite
directives⚠️ Caddyfile matcher syntax has changed frommatcher
andmatch:
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⚠️ Neworder
Caddyfile option replaceshandler_order
⚠️ redir
Caddyfile directive now comes beforerewrite
directive⚠️ Theheaders
Caddyfile directive was renamed toheader
- New
route
Caddyfile directive evaluates directives in appearance order - New
handle
Caddyfile directive enables more sophisticated route composition - Caddyfile adapter will sort multiple instances of a directive by descending specificity of path matcher
- The
caddy
command now assumes thecaddyfile
adapter if config filename starts withCaddyfile
- The
caddy reload
command no longer requires--config
flag for default Caddyfiles - Reverse proxy's buffering can be disabled with a flush interval of -1
- Fix reverse proxy circuit breaker's
type
parameter - Fix
http.handlers.rewrite
module's manipulation of URI and construction of query strings - Fix
try_files
directive 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
--resume
flag - 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
@id
usage 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-proxy
commands - 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
v2 Resources:
2.0 beta 8
Caddy 2.0 beta 8 is the next pre-release in the development cycle of Caddy 2 and is the best update yet! Some highlights:
- Logging! Caddy 2 has an exceptionally powerful, flexible, and high-performing log. Read the docs about logging.
- Rewrite handler can now quickly strip path prefix or suffix conveniently, and issue HTTP redirects
- Significant improvements to TLS certificate management, especially at large scale. Give Caddy 2 a million domains and it will gradually obtain certificates for them with built-in rate limiting and retries over the course of days or weeks.
- CI improvements, including continuous fuzzing.
- HTTP cache can be configured to work in a group/cluster setting.
- Several bug fixes, including a hotfix for silly bug in beta 7 (d'oh! 🤦♂️)
See all commits since beta 6 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.
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