Changelog History
Page 3
-
v2.0.0-beta3 Changes
October 01, 2019🚀 Caddy 2.0 beta 3 is the next pre-release in the development cycle of Caddy 2. Some highlights:
- ➕ Added CLI help (run
caddy
orcaddy help <command>
to get help) - ➕ Added
validate
subcommand to validate configurations - 🖨 Renamed
adapt-config
subcommand toadapt
and renamed--input
to--config
and--config-adapter
to--adapter
and--print-env
to--environ
- ➕ Added
--validate
flag toadapt
subcommand to validate adapted configs - CLI commands are now extensible from modules
- Ability to customize trusted roots for ACME servers
- 🔧 Configurable renewal and OCSP check intervals for certificate management
- 🆕 New
email
andacme_ca
global options for the Caddyfile not
matcher can now be used in the Caddyfile- 🛠 Several bug fixes, especially with the Caddyfile
👀 See all commits since previous tag 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've made 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:
- ➕ Added CLI help (run
-
v2.0.0-beta.20 Changes
March 24, 2020🏷 Caddy 2.0 beta 20 is the next and hopefully final 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 should be the last beta version before the release candidates. Unless major bugs or changes are found soon, the next tag will probably be RC1. Most new features are now slated for 2.1.
🍱 💚 Please consider sponsoring this project. I work on this full-time and appreciate your support!
Some highlights:
- 🚀 ⚠️ Removed
jsonc
andjson5
config adapters,brotli
encoder module, andcache
HTTP middleware. We wanted to slim up the code base a little by removing modules that we deemed non-essential for our initial release. They will be available in other repositories, and you can still plug them in if you need them. - 🛠 Fix for ACME error that sometimes occurred in new/first-time deployments
- reverse_proxy: Service discovery through DNS SRV records
- 🛠 Numerous other bug fixes and improvements
👀 See all commits since beta 19 here.
🚀 Please remember that Caddy 2 is still pre-release so there may be 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:
- 🚀 ⚠️ Removed
-
v2.0.0-beta2 Changes
September 20, 2019🚀 Caddy 2.0 beta 2 is the next pre-release in the development cycle of Caddy 2. Notable changes:
- You can now perform substring or regular expression replacements in headers
- 🚚 The reverse proxy allows header manipulation: add, set, remove, and substring/regexp replacements
- 📇 Renamed
static_response
Caddyfile directive torespond
- ⚡️ Updated certmagic, so (1) long-expired certificates are cleaned up from storage, and (2) Caddy will attempt to replace a revoked certificate with a new one automatically
- 🔧 Ability to configure storage with the Caddyfile
- 🛠 Several bug fixes and improvements
👀 See all commits since previous tag 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've made 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:
-
v2.0.0-beta.19 Changes
March 23, 2020🚀 Caddy 2.0 beta 19 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 appreciate your support!
Some highlights:
- 🆕 New
handle_errors
directive for powerful, flexible error handling logic - 🆕 New CEL matcher
- 🆕 New
--watch
flag forcaddy run|start
commands to auto-reload config - 🛠 Fix sporadic ACME HTTP challenge hangs
- 🛠 Fix matching wildcard TLS connection policies
- 🛠 Several fixes and improvements to auto-HTTPS logic
- 🛠 Numerous other little fixes and improvements!
- Known bug: Some default configurations fail to create new Let's Encrypt accounts when needed with term agreement errors; as a workaround, specify
"http_port": 80
or"https_port": 443
in your HTTP app config. Fixed in 4c43bf8.
👀 See all commits since beta 18 here.
🚀 Please remember that Caddy 2 is still pre-release so there may be 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:
- 🆕 New
-
v2.0.0-beta.18 Changes
March 19, 2020🚀 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!
🚀 ⚠️ This release contains breaking changes. ⚠️
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_replace
Caddyfile directives were replaced by the unifieduri
directive - 🆕 New
--templates
flag for thefile-server
command - 👌 Support for listener wrapper modules
- 0️⃣ Default log format is now JSON for non-interactive shells
- 0️⃣
local_certs
global option for the Caddyfile, to default to all locally-trusted certificates - 🆕 New experimental
expression
matcher 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:
-
v2.0.0-beta.17 Changes
March 14, 2020🚀 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!
🚀 ⚠️ This release contains breaking changes. ⚠️
Some highlights:
- 0️⃣ ⚠️ 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.
- 0️⃣ ⚠️ 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, mainly
tls
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
- 0️⃣ 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:
-
v2.0.0-beta.16
March 13, 2020 -
v2.0.0-beta.15 Changes
February 28, 2020🚀 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:
-
v2.0.0-beta.14 Changes
February 11, 2020🚀 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:
-
v2.0.0-beta.13 Changes
January 22, 2020🚀 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!
🚀 ⚠️ This release contains some very helpful breaking changes. ⚠️
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
- 🍱 ⚠️ The
rewrite
Caddyfile directive is mutually exclusive with otherrewrite
directives - 🍱 ⚠️ Caddyfile matcher syntax has changed from
matcher
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
- 🍱 ⚠️ New
order
Caddyfile option replaceshandler_order
- 🍱 ⚠️
redir
Caddyfile directive now comes beforerewrite
directive - 🍱 ⚠️
The
headersCaddyfile directive was renamed to
header` - 🆕 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
- 0️⃣ 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: