Caddy v2.1.0-beta.1 Release Notes
Release Date: 2020-06-08 // almost 4 years ago-
Caddy 2.1 is now in beta! Featuring:
- 0๏ธโฃ Embedded ACME server (powered by Smallstep). Enable it with the
acme_server
HTTP handler (or Caddyfile directive). Then by default, all requests under /acme/* will be handled by the ACME server using Caddy's default built-in CA. - Fully-managed client certificate renewals. Caddy can obtain and renew client certificates it uses when reverse-proxying, totally hands-free! Combined with the embedded ACME server, Caddy 2.1 offers fully-automated mTLS.
- ๐ H2C (HTTP2 over Cleartext TCP) support, both server and client side. This means Caddy can proxy gRPC over plaintext HTTP/2 frames.
- ๐ New
handle_path
Caddyfile directive which works the same ashandle
but it must take a path matcher, and the path prefix will be stripped implicitly before invoking the handlers in the block. - Many quality-of-life improvements in the Caddyfile.
- ๐ Several bug fixes and other enhancements.
โฌ๏ธ Please test and upgrade to this version, and report bugs while it's still in beta! Thank you for participating in our development cycle.
๐ Changelog
1dc4ec2 admin: Disallow websockets
aef560c all: Recover from panics in goroutines
41a682d caddyauth: Add realm to basicauth Caddyfile directive (#3315)
๐ 9a7756c caddyauth: Cache basicauth results (fixes #3462) (#3465)
96d6d27 caddyconfig: Don't start comments in middle of tokens (#3267)
6c051cd caddyconfig: Minor internal and godoc tweaks
fdf2a77 caddyfile: Add args on imports (#3423)
๐ ffc125d caddyfile: Move NewTestDispenser into non-test file (#3439)
๐ 5230561 caddyfile: Support backticks as quotes (closes #2591) (#3242)
294910c caddyhttp: Add client.public_key(_sha256) placeholders
โก๏ธ 0cbf467 caddyhttp: Add time.now placeholder and update cel-go (closes #2594)
2d1f7b9 caddyhttp: Auto-redirects from all bind addresses (fix #3443)
0๏ธโฃ 7b0962b caddyhttp: Default to error status if found in context
๐ 4c55d26 caddyhttp: Fix merging of Caddyfile matchers in not blocks (#3379)
d534162 caddyhttp: Match hostnames with wildcards to loggers (#3378)
๐จ 7960b42 caddyhttp: Minor refactoring for preparing requests
๐จ e5bbed1 caddyhttp: Refactor header matching
a285fe4 caddypki: Add 'acme_server' Caddyfile directive
๐จ bde3823 caddytest: Refactor Caddyfile adapt tests to separate files (#3398)
๐ง e18c373 caddytls: Actually use configured test CA
๐ง 11a132d caddytls: Configurable cache size limit
62c9f2c cmd: Add --envfile flag to run command (#3278)
๐ 4df56c7 cmd: Add pidfile support (closes #3235)
๐ฆ 83551ed cmd: Only stop admin server on signal if it exists (fix #3470)
๐ 996af09 cmd: Support admin endpoint on unix socket (#3320)
๐ฒ aa20878 cmd: file-server: add --access-log flag (#3454)
bb67e19 cmd: hash-password: Fix broken terminal state on SIGINT (#3416)
๐ 5bde8d7 cmd: hash-password: Support reading from stdin (#3373)
โ 44536a7 cmd: reverse-proxy: add --insecure flag (with warning) (#3389)
๐ ef6e53b core: Add support ford
duration unit (#3323)
๐ 28ab0bf core: Support loading modules from [][]json.RawMessage fields
7243454 fastcgi:php_fastcgi
subdirectives to override shortcut behaviour (#3255)
1e8c976 file_server: Accept files args in one-liner of Caddyfile matcher (#3298)
โก๏ธ 9dafa63 go.mod: Update dependencies
โก๏ธ 3fb2c39 go.mod: Update dependencies
โก๏ธ d5d7fb5 go.mod: Update dependencies
fae0642 httpcaddyfile: Addauto_https
global option (#3284)
1dfb114 httpcaddyfile: Add client_auth options to tls directive (#3335)
๐ฒ 21de227 httpcaddyfile: Be stricter aboutlog
syntax (#3419)
cd9317e httpcaddyfile: Fix route ordering bug
cc8fb48 httpcaddyfile: Improve error on matcher declared outside site block (#3431)
a496308 httpcaddyfile: Let modules add listener wrappers (#3397)
dc9f4f1 httpcaddyfile: Make global options pluggable (#3265)
8c5d00b httpcaddyfile: Newhandle_path
directive (#3281)
2f59467 httpcaddyfile: Only append TLS conn policy if it's non-empty (#3319)
ea7e4b4 httpcaddyfile: Shorthands for parameterized placeholders (#3305)
97e61c1 httpcaddyfile: Sort site blocks with wildcards last (fix #3410)
๐ 26e5596 httpcaddyfile: Support single-line matchers (#3263)
๐ 41c7bd2 httpserver: Add experimental H2C support (#3289)
๐ฒ bf8c3c2 log: improve rounding logic for log rolling directives (#3367)
๐ฒ 9415fec logging: Net writer redials if write fails (#3453)
๐ c47ddbe pki: Add docs to some struct fields
184e8e9 pki: Embedded ACME server (#3198)
๐ 4b10ae5 reverseproxy: Add Caddyfile support for ClientCertificateAutomate
afecd90 reverseproxy: Add tls_server_name option to Caddyfile (#3322)
๐ 1c17e6c reverseproxy: Allow using TLS for port 80 upstreams (see #3361)
90c7b4b reverseproxy: Apply response header ops before copying it (fix #3382) (#3401)
2a8a198 reverseproxy: Don't overwrite existing X-Forwarded-Proto header
๐ฒ 812278a reverseproxy: Emit debug log before checking error (#3425)
7a99835 reverseproxy: Enable changing only the status code (close #2920)
538ddb8 reverseproxy: Enable response interception (#1447, #2920)
22055c5 reverseproxy: Fix https active health checks #3450 (#3451)
c1e5c09 reverseproxy: Improve error message when using scheme+placeholder (#3393)
๐ฒ 9ee01dc reverseproxy: Make debug log safe if error occurs
881b826 reverseproxy: Pool copy buffers (minor optimization)
๐ 483e31b templates: trim windows whitespace in SplitFrontMatter; fix #3386 (#3387)
b814c0a tls/client auth: verify first certificates in client request (#3344) - 0๏ธโฃ Embedded ACME server (powered by Smallstep). Enable it with the