v0.34.0_2

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-17 23:37:43 +02:00
1 parent 0a8bc6f040
commit 434e789144
38 files changed
+899 -238

No files matched your search

+23
View File
@@ -5,6 +5,29 @@
## 0.34.0
- Follow-up HOT cache path: clone response headers outside the shared store
mutex using immutable `Arc<HeaderMap>` metadata; preserve exact hit/LRU
accounting and per-response Age/transform flags. Fast-path direct no-Vary
keys and avoid per-HIT domain string allocations, inactive BAN locks and
repeated full retention sweeps (stale objects remain for revalidation).
- Add dedicated concurrent HOT hit, transformed header isolation, exact LRU,
BAN, stale-age tests and a manually ignored microbenchmark. No policy,
cache-file format or panel changes. New code remains uncompiled/unmeasured;
see docs/CACHE_HOTPATH_0.34.0.md.
- Follow-up reverse-proxy RPS revision: reuse typed upstream HTTP origin URIs,
use thread-local cryptographic nonce generation for per-request IDs,
reduce smooth-WRR member-ID clones, and share compiled health policies with probes.
- Cache backend lease once for streaming uploads instead of locking it on each
DATA frame; move access-log events directly into history when there are no
external consumers; remove repeated route attribution in forwarding.
- Retain exact per-request pool-recycle count and age limits plus independent
supervisor rotation, and keep H1/H2 protocol telemetry. No altered upstream keepalive defaults or cache query policies.
- Add source-only invariants, Rust regression cases and reproducible live
before/after/nginx benchmarking instructions. This revision has not yet been
compiled or measured for RPS; see docs/PROXY_RPS_0.34.0.md.
- Cache regression fix: interpret local max TTL as a cap on remaining freshness at receipt, not on the upstream Age clock. Preserve RFC 9111 Age and transformed response validators; prohibit private/no-store caching.
- HOT hit optimization: update LRU and hit counts in place, without removing/re-indexing the complete cache entry and its Vary variants on every hit.
- Expose both total HTTP Age and time resident in RustProxy HOT/COLD in the cache dashboard, with Polish/English labels.