This is the first beta release for Caddy 2.6. Please try it out and report any regressions you notice! Thanks to everyone who helped out! 😊
Beta 1 and beta 2 were trial runs for our CI upgrades, so this is technically beta 3. There are no code changes from beta 1 to beta 3. Thank you @mohammed90 for figuring out the CI magic!
These are abbreviated release notes. The full release notes (23.5 KB of them, to be precise) will be published with the final 2.6 release, explaining in detail all the new features, enhancements, and bug fixes.
What's Changed
- reverseproxy: Implement retry count, alternative to try_duration by @francislavoie in #4756
- cmd: Fix reload with stdin by @francislavoie in #4900
- reverseproxy: Implement read & write timeouts for HTTP transport by @mholt in #4905
- ci: Run golangci-lint on multiple os(#4875) by @u5surf in #4913
- caddyhttp: Clear out matcher error immediately after grabbing it by @francislavoie in #4916
- chore: Add .gitattributes to force *.go to LF by @francislavoie in #4919
- core: Windows service integration by @WingLim in #4790
- fileserver: Support virtual file systems by @mholt in #4909
- caddyhttp: Implement
caddy respond
command by @mholt in #4870 - chore: Bump up to Go 1.19, minimum 1.18 by @francislavoie in #4925
- httpserver: Configurable shutdown delay by @mholt in #4906
- cmd: Use newly-available version information by @mholt in #4931
- Replace strings.Index usages with strings.Cut by @WilczynskiT in #4930
- optimization: Replaced strings.Index with strings.Cut by @chir4gm in #4932
- go.mod: Upgrade OpenTelemetry dependencies by @lewandowski-stripe in #4937
- logging: Fix
cookie
filter by @francislavoie in #4943 - reverseproxy: Support 1xx status codes (HTTP early hints) by @dunglas in #4882
- reverseproxy: Fix H2C dialer using new stdlib
DialTLSContext
by @francislavoie in #4951 - reverseproxy: Ignore context cancel in stream mode by @mholt in #4952
- reverseproxy: Add
unix+h2c
Caddyfile network shortcut by @francislavoie in #4953 - caddyhttp: Enable HTTP/3 by default by @mholt in #4707
- fileserver: reset buffer before using it (#4962) by @abdusco in #4963
- caddyhttp: Smarter path matching and rewriting by @mholt in #4948
- core: Change net.IP to netip.Addr; use netip.Prefix by @WilczynskiT in #4966
- caddyhttp: Set
http.error.message
to the HandlerError message by @francislavoie in #4971 - caddyhttp: Fix for nil
handlerErr.Err
by @francislavoie in #4977 - templates: cap of slice should not be smaller than length by @jedy in #4975
- ci: Increase linter timeout by @mholt in #4981
- httpcaddyfile: Add ocsp_interval global option by @benburkert in #4980
- zstd: fix typo in comment by @simon04 in #4985
- admin: Don't stop old server if new one fails by @WeidiDeng in #4964
- reverseproxy: Add upstreams healthy metrics by @david-szabo97 in #4935
- Remove duplicate words in comments by @Abirdcfly in #4986
- cmd: Migrate to
spf13/cobra
, remove single-dash arg support by @mohammed90 in #4565 - cmd: add completion command by @mohammed90 in #4994
- caddyhttp: Set Content-Type for static response by @mholt in #4999
- httpcaddyfile: Add
{cookie.*}
placeholder shortcut by @francislavoie in #5001 - events: Implement event system by @francislavoie in #4912
- core: Plugins can register listener networks by @mholt in #5002
- httpcaddyfile: Add shortcut for expression matchers by @francislavoie in #4976
- caddyhttp: Copy logger config to HTTP server during AutoHTTPS by @francislavoie in #4990
- dist: deb package manpages and bash completion scripts by @mohammed90 in #5007
- fastcgi: allow users to log stderr output (#4967) by @flga in #5004
- templates: Document
httpError
function by @Malankar in #4972 - fastcgi: Optimize FastCGI transport by @WeidiDeng in #4978
- core: Refactor listeners; use SO_REUSEPORT on Unix by @mholt in #4705
- reverseproxy: Close hijacked conns on reload/quit by @mholt in #4895
- ci: generate SBOM and sign artifacts using cosign by @mohammed90 in #4910
- caddyauth: Speed up basicauth provision, deprecate
scrypt
by @francislavoie in #4720 - caddyhttp: Support
respond
with HTTP 103 Early Hints by @mholt in #5006 - fileserver: Support glob expansion in file matcher by @mholt in #4993
- ci: add
id-token
permission and update the signing command by @mohammed90 in #5016 - ci: grant the
release
workflow thewrite
permission tocontents
by @mohammed90 in #5017
New Contributors
- @WingLim made their first contribution in #4790
- @WilczynskiT made their first contribution in #4930
- @chir4gm made their first contribution in #4932
- @lewandowski-stripe made their first contribution in #4937
- @abdusco made their first contribution in #4963
- @jedy made their first contribution in #4975
- @benburkert made their first contribution in #4980
- @WeidiDeng made their first contribution in #4964
- @david-szabo97 made their first contribution in #4935
- @Abirdcfly made their first contribution in #4986
- @flga made their first contribution in #5004
- @Malankar made their first contribution in #4972
Full Changelog: v2.5.2...v2.6.0-beta.3