Caddy v2.0.0-rc.1 Release Notes

Release Date: 2020-04-02 // about 4 years ago
  • ๐Ÿš€ ๐ŸŽ‰ 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; removed manage_sync from TLS automation policies; renamed tag to any_tags and all_tags and removed policy in TLS certificate selection policies.
    • 0๏ธโƒฃ The root directive now gets evaluated before redir and rewrite 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:

    v2 Resources:

    ๐Ÿ”„ 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)