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

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 or caddy help <command> to get help)
    • โž• Added validate subcommand to validate configurations
    • ๐Ÿ–จ Renamed adapt-config subcommand to adapt and renamed --input to --config and --config-adapter to --adapter and --print-env to --environ
    • โž• Added --validate flag to adapt 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 and acme_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:

    v2 Resources:

  • 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 and json5 config adapters, brotli encoder module, and cache 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:

    v2 Resources:

  • 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 to respond
    • โšก๏ธ 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:

    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 for caddy 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:

    v2 Resources:

  • 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, and uri_replace Caddyfile directives were replaced by the unified uri directive
    • ๐Ÿ†• New --templates flag for the file-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:

    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:

    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 and php_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:

    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:

    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 other rewrite directives
    • ๐Ÿฑ โš ๏ธ Caddyfile matcher syntax has changed from matcher and match: 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 replaces handler_order
    • ๐Ÿฑ โš ๏ธ redir Caddyfile directive now comes before rewrite directive
    • ๐Ÿฑ โš ๏ธ TheheadersCaddyfile directive was renamed toheader`
    • ๐Ÿ†• 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 the caddyfile adapter if config filename starts with Caddyfile
    • 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:

    v2 Resources: