This release bumps the minimum h2 crate dependency to guard against the MadeYouReset H2 attack
๐ Features
Log runtime names during Server shutdown
Enabling tracking the execution phase of a server
Allow using in-memory compression dicts
Make H2Options configurable at HttpServer, HttpProxy
Also adds HttpServerOptions to the HttpServer implementation, and
updates the HttpEchoApp to use HttpServer for easier adhoc testing.
๐ Bug Fixes
Fix: read body without discard
Everything Else
Try loading each LRU shard individually and warn on errors
Update LRU save to disk to be atomic
Allow cache to spawn_async_purge
Pass hit handler in hit filter
Cache hit filter can mutate cache, allow resetting cache lock
Persist keepalive_timeout between requests on same stream
Properly check for H2 io ReadError retry types
Add cache lock wait timeout for readers
Fix CacheLock status timeout conditions
Handle close on partial chunk head
Allow optional to reset session timeouts
Clippy fixes for 1.87, add 1.87 to GitHub CI
Run range_{header,body}_filter after disabling cache
Convert InterpretCacheControl members to Duration
Disable downstream ranging on max file size
Allow explicit infinite keepalive timeout to be respected
Note that a necessary follow up is to refactor the infinite keepalive
timeout to only apply to first read between requests on reused conns.
Add method to disable keepalive if downstream is unfinished
Discard extra upstream body and disable keepalive
Explicitly disable keepalive on upstream connection when excess body
(content-length) is detected.
Add brief sleep to shutdown signal tests to avoid flake
Allow override of cache lock timeouts
Allow arbitrary bytes in CacheKey instead of just Strings
Corrects out-of-order data return after multiple peek calls with different buffer sizes.
Mark previously too large chunked assets as cacheable
Boring/OpenSSL load cert chain from connector options
Add initial support for multipart range requests
Adds a callback to HttpHealthCheck for collecting detailed backend summary information