v2.7.5
caddyserver/caddyv2.7.5Oct 11, 2023by github-actions[bot]
AI Summary
Bug fixes including HTTP/2 Rapid Reset mitigation, quic-go updates, and verbose logging support.
Key Highlights
- quic-go updated to v0.39.0 with GSO and ECN enabled by default.
- Encoder now compresses `application/wasm*` content types by default.
- Verbose logging for reverse proxy debugging.
- Added `caddy -v` command to check version.
New Features
- Customizable browse template.
- Command shortcuts `-l` and `-a`.
Full Release Notes
In this release, we've fixed quite a few small bugs and annoyances, including HTTP/2 Rapid Reset which affected most HTTP/2 implementations. _On a personal note (from @mholt): I recently became a dad! I want to thank our maintainers for helping in so many ways while I've been taking extra time for family. Francis, Matthew, Mohammed, and others -- including all the contributors below, and then some -- are to thank for shipping this release._ ## Highlights - Updated https://github.com/quic-go/quic-go from v0.37.5 to v0.39.0, including many performance improvements. GSO and ECN are now enabled by default, but you may turn them off by setting the `QUIC_GO_DISABLE_GSO=true` and `QUIC_GO_DISABLE_ECN=true` environment variables respectively, if they cause you problems. See the [`quic-go` release notes](https://github.com/quic-go/quic-go/releases) for more details. - The file server's `fileserver.BrowseTemplate` is now exported, so it may be customized by programs embedding Caddy. (ed8bb13c5df7656647ca7fc1fd09237631a6767c) - Environment variables loaded with `--envfile` no longer override existing variables. (#5803) - The `encode` handler now compresses `application/wasm*` content types by default. (#5869) - The `reverse_proxy` handler can now emit very detailed logs for debugging streaming and buffering. To enable it, set the `verbose_logs` subdirective, and set logging to `debug` level. Since the logs from this are very noisy, using `verbose_logs` to opt-in is necessary. We may ask you to enable this when asking for support! (#5793) - You can now check the version with `caddy -v`, like most other CLI utilities! (#5874) [Caddy is on feature freeze until after 2.8](https://github.com/caddyserver/caddy/issues/5704) so we can improve our testing situation. These patches have all been tried to ensure they work as intended, but if you notice any issues please report them! ## Changelog * 0e204b73 admin: Respond with 4xx on non-existing config path (#5870) * 89c407aa build(deps): bump actions/checkout from 3 to 4 (#5846) * 1405683c build(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5847) * 38a7b6b3 caddyfile: Adjust error formatting (#5765) * 7103ea09 caddyfile: Fix case where heredoc marker is empty after newline (#5769) * 10053f75 caddyfile: Loosen heredoc parsing (#5761) * 58ab3a01 caddyhttp: Use LimitedReader for HTTPRedirectListener _(thank you to Bartek Nowotarski for reporting)_ * 9c419f1e cmd: Fix exiting with custom status code, add `caddy -v` (#5874) * f2ab7099 cmd: Prevent overwriting existing env vars with `--envfile` (#5803) * e0aaefab encode: Add `application/wasm*` to the default content types (#5869) * fa5a579b fileserver: Add command shortcuts `-l` and `-a` (#5854) * ed8bb13c fileserver: Export BrowseTemplate * 130f6d1f fileserver: Set canonical URL on browse template (#5867) * a306c5f7 fileserver: browse template SVG icons and UI tweaks (#5812) * 0a6d3333 fileserver: docs: clarify the ability to produce JSON array with `browse` (#5751) * 82c356f2 fix: caddytest.AssertResponseCode error message (#5853) * 888c6d7e go.mod: Update quic-go to v0.38.0 (#5772) * 88b4fbf2 go.mod: Upgrade dependencies incl. x/net/http * df995029 httpcaddyfile: Enable TLS for catch-all site if `tls` directive is specified (#5808) * 33d8d2c6 httpcaddyfile: Sort TLS SNI matcher for deterministic JSON output (#5860) * 288216e1 httpcaddyfile: Stricter errors for site and upstream address schemes (#5757) * 2cac3c54 httpcaddyfile: fix placeholder shorthands in named routes (#5791) * c46ec3b5 logging: Clone array on log filters, prevent side-effects (#5786) * 1b73e386 logging: query filter for array of strings (#5779) * 4776f62c replacer: change timezone to UTC for "time.now.http" placeholders (#5774) * a8586b05 reverseproxy: Add logging for dynamic A upstreams (#5857) * 3a3182fb reverseproxy: Add more debug logs (#5793) * 4feac4d8 reverseproxy: Allow fallthrough for response handlers without routes (#5780) * e8b8d4a8 reverseproxy: Fix `least_conn` policy regression (#5862) * 2a6859a5 reverseproxy: Fix retries on "upstreams unavailable" error (#5841) * 05dbe1c1 reverseproxy: Replace health header placeholders (#5861) * 1e0dea59 reverseproxy: fix nil pointer dereference in AUpstreams.GetUpstreams (#5811) * b245ecd3 reverseproxy: fix parsing Caddyfile fails for unlimited request/response buffers (#5828) * 5653c36b templates: Add dummy `RemoteAddr` to `httpInclude` request, proxy compatibility (#5845) * 289934f3 tls: Add X25519Kyber768Draft00 PQ "curve" behind build tag (#5852) ## New Contributors * @singhalkarun made their first contribution in https://github.com/caddyserver/caddy/pull/5757 * @pauljeannot made their first contribution in https://github.com/caddyserver/caddy/pull/5779 * @hainenber made their first contribution in https://github.com/caddyserver/caddy/pull/5790 * @evandam made their first contribution in https://github.com/caddyserver/caddy/pull/5803 * @FossoresLP made their first contribution in https://github.com/caddyserver/caddy/pull/5811 * @glowinthedark made their first contribution in https://github.com/caddyserver/caddy/pull/5812 * @pkoenig10 made their first contribution in https://github.com/caddyserver/caddy/pull/5780 * @ThanmayNath made their first contribution in https://github.com/caddyserver/caddy/pull/5845 * @Christoph-D made their first contribution in https://github.com/caddyserver/caddy/pull/5869 * @mcfedr made their first contribution in https://github.com/caddyserver/caddy/pull/5828 * @bwesterb made their first contribution in https://github.com/caddyserver/caddy/pull/5852 * @Forza-tng made their first contribution in https://github.com/caddyserver/caddy/pull/5867 * @BattleRattle made their first contribution in https://github.com/caddyserver/caddy/pull/5870 **Full Changelog**: https://github.com/caddyserver/caddy/compare/v2.7.4...v2.7.5