v2.7.6

caddyserver/caddyv2.7.6Dec 8, 2023by github-actions[bot]

AI Summary

Fixes and enhancements including template extensibility and distributed TLS storage cleaning.

Key Highlights

  • Templates middleware is now officially extensible.
  • TLS storage cleaning synchronized across clusters.
  • Placeholders are now evaluated in config for certificate loaders.

New Features

  • New `http.request.local` placeholders.
  • New `reuse_private_keys` option.

Full Release Notes

In this version we've made several fixes and enhancements with help from several contributors. Most changes are small, but some notable ones:

- The `templates` middleware is now officially extensible (experimentally). This means modules can add custom functions/actions for templates to execute.
- TLS storage cleaning is now synchronized across the cluster and remembered across restarts. This should greatly lower costs for expensive storage backends like DynamoDB.
- Placeholders are now evaluated in config for certificate loaders.
- Numerous bug fixes.

Thank you to everyone who contributed!

## Changelog
* 65c489a0  Upgrade acmeserver to github.com/go-chi/chi/v5 (#5913)
* ae5e2d96 caddyfile: Fix variadic placeholder false positive when token contains `:` (#5883)
* db55da59 caddyhttp: Adjust `scheme` placeholder docs (#5910)
* df5edf6b caddytls: Context to DecisionFunc (#5923)
* 6d9a8337 caddytls: Sync distributed storage cleaning (#5940)
* 11a082c0 cmd: Add newline character to version string in CLI output (#5895)
* 979c413f cmd: upgrade: resolve symlink of the executable (#5891)
* 64820706 core: Apply SO_REUSEPORT to UDP sockets (#5725)
* 15adb893 core: quic listener will manage the underlying socket by itself (#5749)
* 801ec756 fileserver: Add .m4v for browse template icon
* b809ed71 go.mod: CVE-2023-45142 Update opentelemetry (#5908)
* b4c7313c go.mod: Upgrade quic-go to v0.39.1
* 36fce3fa go.mod: update quic-go version to v0.40.0 (#5922)
* ec2de22a httpcaddyfile: Fix TLS automation policy merging with get_certificate (#5896)
* f0ea489d httpcaddyfile: Remove port from logger names (#5881)
* 87f63b12 httpredirectlistener: Only set read limit for when request is HTTP (#5917)
* 16834d64 templates: Clarify `include` args docs, add `.ClientIP` (#5898)
* 0259853a templates: Delete headers on `httpError` to reset to clean slate (#5905)
* 2f7ceb57 templates: Offically make templates extensible (#5939)
* 908e9569 tls: accept placeholders in string values of certificate loaders (#5963)

**Full Changelog**: https://github.com/caddyserver/caddy/compare/v2.7.5...v2.7.6