Changelog History
Page 2
-
v2.0.0 Changes
May 04, 2020๐ It's here! Caddy 2 is ready for production. Check out the v2 landing page!
๐ฑ ๐ *Please consider sponsoring - I work on this full-time, and it would not be possible without continued company and individual sponsors, thank you!
๐ We recommend all users begin to upgrade. Please spend time in the documentation. We've worked hard to make everything as clear and simple as possible. Once you have tested Caddy 2, deploy it into production. We think you'll be very pleased with the results.
๐ Keep in mind that this is just the beginning: "2.0" does not mean the software is perfect, only that it is stable. Its readiness is guided by your feedback! We will continue to develop features, quality-of-life improvements, and bug fixes (2.1 is already slated to have 30+ improvements)
Thank you to everyone in the community who helpfully reported bugs and contributed over the past year!
๐ See all commits since RC 3 here.
๐ Support:
- ๐ Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
Resources:
- ๐ Getting Started
- ๐ Full documentation
- ๐ Extending Caddy
๐ Changelog
๐ 9a57263 admin: Close admin endpoint when shutting down (fixes #3269)
f5ccb90 admin: Disable host checking if wildcard interface is specified
5ae1a56 caddyhttp: Add split_path to file matcher (used by php_fastcgi) (#3302)
๐ฒ f931c26 caddyhttp: Better duration logging
ebf07f8 caddyhttp: Fix auto redirects for catch-all HTTPS sites
bacf50a caddyhttp: Fix common_log format's user ID placeholder (#3300)
๐ง 83c85c5 caddyhttp: Fix listener overlap detection on Linux
๐ 026937f caddyhttp: Fix trailers when recording responses (fixes #3236)
๐ฒ 10db570 caddyhttp: General improvements to access logging (#3301)
๐ a1796c2 caddytls: Adjust DNS challenge structure; clarify some docs
โฌ๏ธ 8e42661 caddytls: Finish upgrading to libdns DNS providers for ACME challenges
86a4f2c caddytls: Fix namespace tls.dns -> dns.providers
c11d0e4 cmd: Clean up, simplify reverse proxy command; fix some edge cases
100d19e dangit, of course I would bork my git commit
โก๏ธ 1fa8c18 go.mod: Remove DNSProviderMaker interface; update to lego 3.6
โก๏ธ 2609a72 go.mod: Update dependencies including CertMagic (fixes #3202)
97ed9e1 httpcaddyfile: Add nil check to prevent panic, fix validation logic
๐ 829e36d httpcaddyfile: Don't lowercase placeholder contents (fixes #3264)
๐ bca610f httpcaddyfile: Minor fixes to parsing storage options
โก๏ธ a77bd1d httpcaddyfile: Update tls parsing for DNS providers
295604d httpcaddyfile: Why was this code repeated??
0798459 readme: Fix broken links (#3283)
1b06181 reverseproxy: Don't forget to provision embedded headers handler
๐ a507a5b reverseproxy: Remove circuitbreaker module (see #3331)
76bbb47 reverseproxy: Set X-Forwarded-Proto (closes #3275) (#3276)
da8686c reverseproxy: always set req.URL.Host with upstream (#3297) -
v2.0.0-rc.3 Changes
April 13, 2020๐ ๐ Release Candidate 3! It is anticipated that this is the final pre-release. No new bug fixes or enhancements are planned. Only critical fixes that require a significant change will result in a fourth release candidate; otherwise, next tag should be v2.0.0.
๐ฑ ๐ Please consider sponsoring this project. I work on this full-time and appreciate your support!
๐ This release is production-ready and should be used in production (after testing locally and in staging environments) as much as possible. We recommend that all users test and upgrade to this release candidate.
๐ Thank you to everyone in the community who helpfully reported bugs and contributed to this release!
Some highlights:
- ๐ Fixed occasional logging-related panic on some HTTP requests (introduced in rc2)
- โจ Enhanced default security of admin endpoint (thanks to @kalmi for the great feedback!)
๐ See all commits since RC 2 here.
๐ Support:
- ๐ Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
- ๐ Getting Started
- ๐ Full documentation
- ๐ Extending Caddy
๐ Changelog
a3bdc22 admin: Always enforce Host header checks
๐ 999ab22 caddyhttp: Add nil check (fixes #3248 and fixes #3250)
ec45681 core: Don't return error on RegisterModule() and RegisterAdapter()
๐ 3bee569 httpcaddyfile: Don't remove empty TLS conn policies (fix #3249) -
v2.0.0-rc.2 Changes
April 09, 2020๐ ๐ Release Candidate 2! A release candidate means we think the software is good enough to release, but we want to allow another cycle for bug fixes based on issues raised from the community. Now is the time to upgrade!
๐ฑ ๐ Please consider sponsoring this project. I work on this full-time and appreciate your support!
๐ This release is production-ready and should be used in production (after testing locally and in staging environments) as much as possible. We recommend that all users test and upgrade to this release candidate.
๐ Thank you to everyone in the community who helpfully reported bugs and contributed to this release!
Some highlights:
- ๐ฑ โ ๏ธ The reverse proxy's NTLM transport module was moved into its own repository
- ๐ New
key_type
Caddyfile global option to customize certificate key type - The
not
matcher in the Caddyfile can now be a one-liner to negate a single matcher - ๐ Numerous bug fixes and other improvements
๐ See all commits since RC 1 here.
๐ Support:
- ๐ Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
- ๐ Getting Started
- ๐ Full documentation
- ๐ Extending Caddy
๐ Changelog
fbd9515 basicauth: Re-prompt after invalid credentials (fix #3239) (#3240)
7be747f caddyhttp: Add missing LB policy Caddyfile unmarshalers (#3230)
๐จ e5dc76b caddyhttp: CEL matcher checks return type; slight refactor
0๏ธโฃ 0fe9803 caddyhttp: Fix logging name associations by adding a default
e30deed caddyhttp: Return port placeholders as ints
5b355cb caddyhttp: Strictly forbid unnecessary blocks on matchers (#3229)
๐ a3cfe43 caddyhttp: Support single-line not matcher (#3228)
0๏ธโฃ 85f5f47 caddytls: Don't initialize default internal issuer unless necessary
d89ad2f caddytls: Fix for TLS conn policy being applied to HTTP-only servers (#3243)
๐ 6a32daa caddytls: Support custom bind host for challenges (#3232)
0๏ธโฃ 4d9b63d cel: Leverage DefaultAdapter to extend CEL's type system
โ 346c33b cmd: Log warning if --resume and --config used together
๐ 8b2dbc5 core: Rename ParsedAddress -> NetworkAddress
๐ง 1e8af27 fastcgi: Account for lack of split path configuration (fix #3221)
c5f9227 go.mod: Try smallstep again
โก๏ธ c7ac7de go.mod: Update CertMagic (again) v0.10.10
โก๏ธ b6482e5 go.mod: Update CertMagic to v0.10.8
โก๏ธ d33926b go.mod: Update certmagic
โก๏ธ b4a7d62 go.mod: Update dependencies
โก๏ธ 88d391c go.mod: Update smallstep/cli
โ 05164c8 go.mod: Use latest Certmagic (v0.10.9)
โ 28fdf64 httpcaddyfile, caddytls: Multiple edge case fixes; add tests
5110643 httpcaddyfile: Add key_type global option (#3231)
๐ 145aebb httpcaddyfile: Carry bind setting through to ACME issuer (fixes #3232)
๐ฒ 3d6fc1e httpcaddyfile: Yield cleaner JSON when conn policy or log name is empty
๐ฒ 6e4132e logging: Colorize output in all cases of stdout/stderr
๐ฒ 6e4c688 logging: Only colorize console output
f29023b reverseproxy: Minor tweaks
๐จ 2c1b663 reverseproxy: Remove NTLM transport; refactor and improve docs
b1ce9d4 templates: Add env function (closes #3237)
โก๏ธ 95f6bd7 templates: Update docs
๐ 437d509 templates: Use text/template; add experimental notice to docs -
v2.0.0-rc.1 Changes
April 02, 2020๐ ๐ Release Candidate 1! A release candidate means we think the software is good enough to release, but we want to allow another cycle for bug fixes based on issues raised from the community. Now is the time to upgrade!
๐ฑ ๐ Please consider sponsoring this project. I work on this full-time and appreciate your support!
๐ This release is production-ready and should be used in production (after testing locally and in staging environments) as much as possible. We recommend that all users test and upgrade to RC1.
๐ Remember that release candidates are still pre-release, and there may be more than one release candidate depending on bug reports.
๐ Thank you to everyone who participated in the improvements for this release, especially @Mohammed90 for being our CI wizard! Also a huge thanks to @sarge for working on integration tests, which will get more attention in the coming months, and to @whitestrake and @francislavoie for helping in the community so much.
Some highlights:
- ๐ โ ๏ธ A few lesser-known/used properties in the JSON were changed:
not
request matchers now take an array of objects rather than a single object; removedmanage_sync
from TLS automation policies; renamedtag
toany_tags
andall_tags
and removedpolicy
in TLS certificate selection policies. - 0๏ธโฃ The
root
directive now gets evaluated beforeredir
andrewrite
by default. - ๐ New
caddy trust
command for installing Caddy's default root certificate. - ๐ Supports ACME externalAccountBinding feature, for interop with commercial CAs.
- The
not
HTTP request matcher can now consult one or more matcher sets. - ๐ Numerous bug fixes and other improvements.
๐ See all commits since beta 20 here.
๐ Support:
- ๐ Community forum to ask questions, get community support, and lend your help
- Issue tracker for bug reports and dev discussion
v2 Resources:
- ๐ Getting Started
- ๐ Full documentation
- ๐ Extending Caddy
๐ Changelog
๐ 397e04e caddyauth: Add Metadata field to caddyauth.User (#3174)
โ 6fe04a3 caddyfile: Export NewTestDispenser() (close #2930)
7ee3ab7 caddyfile: Formatter enhancements
๐ deba26d caddyfile: Minor fixes to the formatter
73643ea caddyhttp: 'not' matcher now accepts multiple matcher sets and OR's them (#3208)
๐จ 581f1de caddyhttp: Print actual listener address in log message (closes #2992)
ac65f69 caddyhttp: Rename MatchNegate type to MatchNot type
โก๏ธ 0d2a351 caddyhttp: Update host matcher docs about wildcards
๐ 9fb0b1e caddytls: Add support for externalAccountBinding ACME extension
7ca1586 caddytls: Encode big.Int as string with JSON
c87f82f caddytls: Match automation policies by wildcard subjects too
๐จ 6ca5828 caddytls: Refactor certificate selection policies (close #1575)
๐ ea3688e caddytls: Remove ManageSync
๐ 5c55e5d caddytls: Support placeholders in key_type (#3176)
โก๏ธ ce3ca54 caddytls: Update cipher suite names and curve names
673d3d0 file_server: Fix dumb error check I must have written at 1am
โก๏ธ 19b4554 go.mod: Update smallstep/truststore
โก๏ธ d322de6 gzip: Use klauspost/gzip, an optimized gzip implementation
37aa516 headers: Trim any trailing colon from field names as a courtesy
904d9ca httpcaddyfile: Include non-standard ports when mapping logger names
178ba02 httpcaddyfile: Put root directive first, before redir and rewrite
๐จ 1c190b0 httpcaddyfile: Refactor site key parsing; detect conflicting schemes
244b839 pki: Add trust subcommand to install root cert (closes #3204)
๐ 1456f15 readme: So much more ... what? Fixed cliffhanger
e207240 reverse_proxy: Upstream.String() method returns either LookupSRV or Dial
809e727 rewrite: Fix for rewrites with URI placeholders (#3209) - ๐ โ ๏ธ A few lesser-known/used properties in the JSON were changed:
-
v2.0.0-beta9 Changes
November 04, 2019๐ 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:
-
v2.0.0-beta8 Changes
October 29, 2019๐ 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
v2 Resources:
-
v2.0.0-beta7 Changes
October 28, 2019๐ Matt made an oops on this release, it has a bug serving HTTP requests; please use beta 8 instead.
-
v2.0.0-beta6 Changes
October 14, 2019๐ Caddy 2.0 beta 6 is the next pre-release in the development cycle of Caddy 2 and is the biggest update yet! Some highlights:
- ๐ง Migrated all WIP and completed enterprise features to open source, including:
/config
and/id
API endpoints, which enable config traversal (selective updates) and exporting current configuration- WIP cache plugin for HTTP responses
- pem_loader plugin, for specifying TLS certs and keys directly in config
- distributed_stek plugin, for high-performance TLS session resumption in clusters
- Custom TLS certificate selection policies
- WIP Starlark handler (embedded scripting language)
- ๐ New placeholders for RemoteAddr (client IP, etc.)
- ๐ HTTP basic authentication plugin
- reverse_proxy: Ability to customize ServerName value in TLS handshake to backends
- reverse_proxy: Dynamic backends using placeholders (variables) in dial address
- 0๏ธโฃ reverse_proxy: Minor optimization of MaxIdleConnsPerHost default value
๐ See all commits since beta 4 here.
โ (We tagged beta 5 mid-cycle as a test, but made a mistake with a dependency so we're ignoring that tag.)
๐ Be advised that the next beta release may be delayed as we transition a bunch of code to open source and work on a new website and official images/packages.
๐ 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:
- ๐ง Migrated all WIP and completed enterprise features to open source, including:
-
v2.0.0-beta5
October 10, 2019 -
v2.0.0-beta4 Changes
October 07, 2019๐ Caddy 2.0 beta 4 is the next pre-release in the development cycle of Caddy 2. Some highlights:
- ๐ Plugged in the JSON 5 and JSON-C config adapters
- ๐ New
file-server
andreverse-proxy
commands for convenience - ๐ง
reverse_proxy
module: Make request retries configurable based on properties of the request - 0๏ธโฃ
adapt
subcommand: Default--adapter
value is "caddyfile" - ๐ Several bug fixes
๐ See all commits since previous tag here.
๐ Be advised that the next beta release may be delayed as we transition a bunch of code to open source and work on a new website.
๐ 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: