All Versions
48
Latest Version
Avg Release Cycle
22 days
Latest Release
1235 days ago

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:

    Resources:

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

    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)

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

    v2 Resources:

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

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

    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:

    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:

    v2 Resources:

  • 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 and reverse-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:

    v2 Resources: