Files
RustProxy/docs/V0.26.4_IMPLEMENTATION.md
T
2026-10-06 11:29:34 +02:00

31 lines
2.4 KiB
Markdown

# RustProxy 0.26.4 implementation note
## Scope
0.26.4 is a compatibility-preserving administration and backend-lifecycle maintenance release. SQLite remains schema 8 and the saved proxy configuration document is unchanged from 0.26.3.
## Administration UI
- The 404-host editor now registers with the existing session-only draft manager. Dirty forms are captured with their host/listener editor nodes and read closures, can be minimized into the draft dock, and restore the exact unfinished form state.
- The shared Enabled presentation used by vhosts is exposed as one administration helper and reused by 404 hosts, Redirects and Streams. State text, hint text and enabled/disabled visual treatment therefore stay consistent across these editors.
- Polish Button style labels/help are translated instead of falling back to English values.
- Search/filter controls in compact toolbars use the active button minimum height so they do not visually exceed adjacent actions. Ordinary form controls keep their existing sizing.
- Appearance -> Overview cards uses a responsive tile grid instead of one checkbox row per metric card. A tile toggles visibility while the existing up/down controls retain ordering behavior and account-scoped persistence.
## Backend client rotation
Request-count recycling remains request-driven. Age-based recycling is now also checked by the existing backend health/maintenance loop. This removes the dependency on a new request arriving after `pool_recycle_seconds` and allows idle backend clients to advance generation/rotation counters on schedule.
Maintenance-driven rotation starts the new generation with zero requests; request-driven rotation continues to count the request that triggered the swap in the new generation. The rebuild remains guarded by the existing generation/rotation atomics, so concurrent request and maintenance checks cannot double-rotate the same generation.
## Compatibility
- SQLite schema: 8 (unchanged).
- Saved proxy configuration format: unchanged.
- Administration preferences: existing fields only; no migration required.
- Upgrade from 0.26.3: no data migration required.
## Verification
See [TEST_REPORT.md](TEST_REPORT.md). This workspace can run the Rust-independent source, documentation, browser-JavaScript, packaging and Go-agent gates. Rust compiler gates must still be run on a release host with Cargo before calling the archive compiler-verified.