Caddy v2.0.0 Release Notes

Release Date: 2020-05-04 // about 1 month ago
  • 🎉 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:


    🔄 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)

Previous changes from v2.0.0-rc.3

  • 🚀 🎉 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:

    v2 Resources:

    🔄 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)