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

2.4 KiB

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. 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.