This commit is contained in:
Mateusz Gruszczyński committed 2026-10-15 09:37:47 +02:00
1 parent bbfa8cbc3f
commit 2ccc598b12
49 files changed
+4771 -639

No files matched your search

+44 -3
View File
@@ -1,4 +1,4 @@
# RustProxy 0.32.8
# RustProxy 0.33.0
**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,11 +7,52 @@ 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.**
## 0.33.0: Web Server / PHP-FPM observability
- **Fixed dashboard startup:** initialize the shared Overview history selector before any
bundled top-level change listener. This prevents `onChange` startup errors
and allows the authenticated panel to load. The History selector supports
60/120/300/600 samples, temporary edits and browser-persistent choices,
in the header row beside the connection indicator (Overview only),
independently of Cache/Transform, without additional status polling.
- **Compilation cleanup:** restrict `record_web` visibility to the Web Server
module, matching its `ResponseKind` argument and removing the
`private_interfaces` diagnostic without changing request accounting.
- **Compact donut layout:** move HIT/MISS totals beside the rings/legends rather
than above them, preserving standard card-row heights and responsive behavior.
- **Twelve opt-in WWW widgets** in the existing Overview layout registry: HTTP
status split, static/PHP/other, PHP permit capacity, HTTP methods, recent 5xx
percentage, PHP requests/s, requests/s, response-header latency, FastCGI
failures, emitted-body byte rates, status-class rates, and top services.
**Every new widget starts hidden** for both new accounts and upgrades from
older saved layouts. Existing cards remain as configured.
- **Web Server per-service live details:** expandable metrics in existing service
cards, including RPS, 5xx, header latency, PHP concurrency permits, static
versus PHP classification, and body bytes. The main live SSE/status snapshot
is reused; no new API polling, SQL schema or per-request untrusted labels.
- **Prometheus exporter:** bounded per-Web-Service response-kind/method/status,
body byte and downstream compression counters, plus active headers, PHP
concurrency limit/use/available gauges and classified FastCGI failures.
Response byte counts are sampled from produced body frames **before** final
downstream compression (not wire throughput). Response latency is time to
headers (not complete delivery). PHP capacity is RustProxy's semaphore,
**not** the actual PHP-FPM worker pool.
- **Grafana:** retain the existing operations dashboard and extend it with
Web Server, PHP-FPM, per-service breakdown and WWW/PHP correlation rows,
all filterable by configured `web_service` IDs.
## 0.32.8: Overview metric visualizations
- HOT cache RAM occupancy, COLD write-queue RAM occupancy and COLD disk occupancy appear as compact progress bars with used/limit details on the Overview. COLD cache objects live on disk; queue RAM and disk storage have separate budgets. Without a configured budget, the card shows bytes and an indeterminate meter rather than an invented percentage.
- The main cache HIT ratio has a small HIT/MISS donut with counts and legend. The optional recent-window cache ratio uses the same format; bounded file-descriptor, HTTP protocol-share and backend-capacity widgets use progress bars.
- Transformation and compression activity use two full-width, four-series live charts like the existing HTTP protocol mix. They show sampled per-second counts with named series; compression charts count gzip, Brotli, Zstd and deflate responses (not uncompressed ones).
- These changes use existing status/SSE data without extra polling, API routes, database migrations or altered appearance presets. Existing account-specific Overview ordering/visibility preferences remain in effect; newly added cards are visible by default in factory layouts. Runtime integration testing remains required.
## 0.32.8: Overview action layout
- The Overview heading stays left-aligned while the refresh, arrangement and layout-lock actions flow to the right; small screens wrap buttons without squeezing them into three equal columns.
- The inline layout actions and visual editor keep their existing IDs and behavior while sharing the standard button styles (including Compact mode).
- The `tools/checks/` source-check directory is no longer shipped. `./dev.sh doctor` and `./dev.sh repair` use `scripts/preflight.py`; `./dev.sh test` runs Cargo checks and Rust tests.
## 0.32.7 development follow-up: Appearance and H2 diagnostics
@@ -760,7 +801,7 @@ See `scripts/README.md`, `tools/README.md` and `integrations/README.md`.
./dev.sh check
./dev.sh test
# Source-only package, with no Git checkout required:
python3 make_zip.py /tmp/RustProxy-0.32.8.zip
python3 make_zip.py /tmp/RustProxy-0.33.0.zip
```
## New management and test-origin guide