v0.32.2
This commit is contained in:
1 parent
bb025dcf44
commit
b0f211555a
74 files changed
+6089
-556
No files matched your search
@@ -1,45 +0,0 @@
|
||||
# Verification report - RustProxy 0.32.2
|
||||
|
||||
## Scope
|
||||
|
||||
Source-based patch on the supplied 0.32.1 archive. The Web Server's cache
|
||||
revalidation now mirrors the existing Reverse Proxy's 304 handling for local
|
||||
files, while preserving original browser conditionals, cache policy and cached
|
||||
transformed representations. No backend, PHP-FPM, API or SQLite schema change.
|
||||
|
||||
## Regression cases added (Rust, execution pending)
|
||||
|
||||
- F5-style `Cache-Control: max-age=0` and hard-refresh `no-cache` preserve body
|
||||
and advance `X-Cache-Hits` when local origin returns 304.
|
||||
- Browser `If-None-Match` produces downstream 304 only when the client's validator
|
||||
matches the public stored representation, not merely the origin's validator.
|
||||
- Unrelated client validators cannot incorrectly validate the stored body.
|
||||
- `HEAD` and single-range conditional refresh reuse the validated full body.
|
||||
- A changed asset (different on-disk ETag) returns 200 rather than a false 304.
|
||||
- Newly private origin revalidation metadata cannot remain in shared storage.
|
||||
|
||||
## Results and limitations
|
||||
|
||||
- Python static/structural checks via `./dev.sh test`: **PASS** (including
|
||||
version, full source preflight, cache regression contracts, HTTP/cache,
|
||||
security, documentation, schema-v9/upgrade and release smoke contracts).
|
||||
- All **24 Node.js UI simulations** configured in `./dev.sh test`: **PASS**.
|
||||
Three existing fixture assumptions were aligned with current unindented
|
||||
functions/version (`backend_cache_0297_ui_test.mjs`,
|
||||
`backend_health_0300_ui_test.mjs`, `security_logs_0315_ui_test.mjs`);
|
||||
the production panel logic is unchanged.
|
||||
- Python load-tool selftest against a Python peer: **PASS**; not a RustProxy
|
||||
server test or a memory profile of the proxy.
|
||||
- `./dev.sh check`: **unavailable (exit 127)**; Rust/Cargo is not installed.
|
||||
- `./dev.sh test`: **pre-Cargo checks PASS; entire command exits 127** because
|
||||
Rust/Cargo is not installed, so no Rust tests executed.
|
||||
- Rust `cargo check --locked --all-targets`: **not run, Cargo unavailable**.
|
||||
- Rust `cargo test --locked --all-targets`: **not run, Cargo unavailable**.
|
||||
- Real SQLite schema migration/update on an installed instance: **not run**;
|
||||
only source/upgrade contracts were checked.
|
||||
- Actual RustProxy process, HTTP/1.1, HTTP/2, HTTP/3, PHP-FPM/WordPress and
|
||||
browser DevTools reproduction: **not run** in this source-only environment.
|
||||
|
||||
**Production acceptance remains open.** Run `./dev.sh check`, `./dev.sh test`
|
||||
and repeat browser-refresh/GET comparisons on a Rust 1.99+ build host before
|
||||
rolling the release out. The patched source is delivered, not a tested binary.
|
||||
Reference in new issue
Block a user