This commit is contained in:
Mateusz Gruszczyński committed 2026-10-14 14:54:22 +02:00
1 parent 1b9135117c
commit 4f36de240c
32 files changed
+1175 -704

No files matched your search

+21 -2
View File
@@ -1,4 +1,4 @@
# RustProxy 0.32.6
# RustProxy 0.32.7
**0.31.0 panel/cache additions:** browser-negotiated Zstd/Brotli/gzip for HTML, JS and CSS (Settings → Administration); optional HTTP BAN/PURGE restricted to explicit IP/CIDR allowlist (Settings → Cache, disabled by default); System information Refresh button beside the API badge. See [Settings](docs/SETTINGS.md) and [Cache](docs/CACHE.md).
@@ -7,7 +7,26 @@ streaming HTTP/TLS/WebSocket forwarding, raw TCP/UDP stream hosts, IP-bound vhos
**0.31.9 Certificate API management: inspect and edit credential settings without exposing/rotating the current token, or regenerate one existing token with one-time display. Rust/Cargo and live testing required.**
## What changed in 0.32.6
## What changed in 0.32.7
- **H2 upstream recovery:** gracefully drained upstream H2 connections sending
`GOAWAY(NO_ERROR)` no longer poison Passive Health. Retire the affected Hyper
pool generation and retry **once**, only for empty, replay-safe GET/HEAD/OPTIONS
without WebSocket/administration tunneling. Non-replay-safe requests are not
resent and can still receive 502 if the peer closes their connection.
- **Passive Health:** collapse bursts of I/O failures within 250 ms into one
failure observation; when active checks are enabled, consecutive successful
probes can reopen a passively quarantined backend. Passive-only monitoring
uses a bounded cooldown before a half-open traffic attempt. Keep the I/O error
checkbox enabled to count unrelated, genuine I/O failures.
- **Error log:** `WARN` when a backend is first removed from traffic, including
backend ID, health source, failure reason, timestamp/description of the first
error in that failure streak and the triggering error. Requires enabling the
existing Error log sink (Settings -> Logging); when disabled, WARN goes to
stderr/journald. Access logs still show individual 502s and subsequent 503s.
- **Acceptance:** Rust compile/test and live negotiated H2/GOAWAY testing on
staging are required before production installation.
- **Appearance Dashboard layout ** Overview cards now use a
full-width horizontal strip instead of a long list in the right half of