v0.33.0
This commit is contained in:
1 parent
bbfa8cbc3f
commit
2ccc598b12
49 files changed
+4771
-639
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user