This commit is contained in:
Mateusz Gruszczyński committed 2026-10-05 09:30:21 +02:00
1 parent 1dea7f55c8
commit c819f0a335
151 files changed
+7610 -4264

No files matched your search

+12 -10
View File
@@ -1,9 +1,9 @@
# RustProxy 0.25.4
# RustProxy 0.25.5
Independent Rust reverse proxy and static Web Server with a dashboard, SQLite configuration,
streaming HTTP/TLS/WebSocket forwarding, raw TCP/UDP stream hosts, IP-bound vhosts and backend pools.
**0.25.4 release source.**
**0.25.5 release source.**
## Layer-4 streams
@@ -11,13 +11,14 @@ Raw TCP/UDP forwarding has its own **Streams** page in the primary navigation, a
Named HTTP/HTTPS listener bind addresses use the same chip-style editor as vhost hostnames, including multi-address listeners.
## What changed in 0.25.4
## What changed in 0.25.5
- Add authenticated restore from retained manual-configuration history. Selecting an older revision validates it through the normal configuration pipeline and publishes it as a new revision; history is never rewound or overwritten.
- Protect restore with the same revision compare-and-swap, administrator session and CSRF controls as ordinary configuration writes, and record `config.restore` with source/new revision metadata in the administration audit.
- Keep SQLite schema 8 and the existing 512-revision retention limit; upgrading from 0.25.3 requires no data migration.
- Align the **Revision history** modal with the shared dashboard dialog styling: square corners, shared backdrop/window rules and no duplicated modal-only appearance declarations.
- When a vhost enables verified Cloudflare client-IP mode, accept `CF-IPCountry` only from a direct Cloudflare edge and use that trusted country for country analytics/log capture and country policy evaluation. Invalid, duplicate, unknown or absent values fall back to the local GeoIP lookup of the verified effective client IP.
- Expand the dedicated Prometheus exporter and bundled Grafana dashboard with bounded Traffic analytics: countries, fixed User-Agent families, methods, status classes, cache outcomes, serving source, configured routes and built-in Web Server inventory/traffic. Raw client IPs, request paths and full User-Agent strings remain excluded from Prometheus labels.
- Keep SQLite schema 8 and all existing configuration formats; upgrading from 0.25.4 requires no data migration.
The 0.25.3 method-policy, location ACL/country, SHA-256 request-ID and revision-history features remain unchanged. See [host access](docs/VHOST_ACCESS.md), [Custom locations](docs/CUSTOM_LOCATIONS.md), [documentation index](docs/README.md) and the [0.25.4 release audit](docs/V0.25.4_AUDIT.md). Open follow-up work is tracked separately in [TODO](docs/TODO.md).
The 0.25.4 retained-history restore behavior remains unchanged. See [host access](docs/VHOST_ACCESS.md), [live logs and Traffic](docs/LIVE_LOGS.md), [documentation index](docs/README.md) and the [0.25.5 release audit](docs/V0.25.5_AUDIT.md). Open follow-up work is tracked separately in [TODO](docs/TODO.md).
## Documentation
@@ -25,7 +26,8 @@ The 0.25.3 method-policy, location ACL/country, SHA-256 request-ID and revision-
- [docs/README.md](docs/README.md) - canonical documentation index.
- [docs/WEB_SERVER.md](docs/WEB_SERVER.md) - Web Server configuration, HTTP behavior and filesystem security.
- [docs/PHP_FPM.md](docs/PHP_FPM.md) - implemented FastCGI/PHP-FPM integration, safety model and runtime requirements.
- [docs/V0.25.4_AUDIT.md](docs/V0.25.4_AUDIT.md) - 0.25.4 configuration-history restore release audit and compiler gate.
- [docs/V0.25.5_AUDIT.md](docs/V0.25.5_AUDIT.md) - 0.25.5 Cloudflare country analytics and Revision History styling release audit.
- [docs/V0.25.4_AUDIT.md](docs/V0.25.4_AUDIT.md) - historical 0.25.4 configuration-history restore release audit and compiler gate.
- [docs/V0.25.3_AUDIT.md](docs/V0.25.3_AUDIT.md) - historical method-policy/location-ACL/request-ID/config-history release audit.
- [docs/V0.25.2_AUDIT.md](docs/V0.25.2_AUDIT.md) - historical 0.25.2 live-backup/symlink/origin recovery audit.
- [docs/V0.25.0_AUDIT.md](docs/V0.25.0_AUDIT.md) - Web Server foundation specification audit.
@@ -93,7 +95,7 @@ CARGO_BUILD_JOBS=1 CARGO_PROFILE_RELEASE_LTO=false \
CARGO_PROFILE_RELEASE_CODEGEN_UNITS=8 cargo build --release --locked
```
The 0.25.4 source archive preserves the resolved `Cargo.lock` supplied with the source tree and
The 0.25.5 source archive preserves the resolved `Cargo.lock` supplied with the source tree and
updates only this package's own version entry. This packaging environment has no Cargo, so the
dependency graph was not re-resolved here. On the compiler-enabled deployment host, run the
locked check/test/release gates below and retain the verified lockfile. `dev.sh` can generate a
@@ -332,7 +334,7 @@ python3 scripts/release_smoke.py
# Runs those checks first, then the Rust suite when Cargo is available:
bash dev.sh test
# Source-only package, with no Git checkout required:
python3 make_zip.py /tmp/RustProxy-0.25.4.zip
python3 make_zip.py /tmp/RustProxy-0.25.5.zip
```
## New management and test-origin guide