Repository navigation
OmnXT Node v0.1.60
Node memory-retention fixes
- Streams large PPanel user-list responses into a bounded temporary file while calculating SHA256, avoiding a second full in-memory response copy for 300k+ users.
- Adds a semantic user hash so reordered or reformatted HTTP 200 responses no longer rebuild an unchanged SimNet user registry.
- Replaces per-refresh SimNet runtime generations with shared reloadable credential and identity registries. Existing long-lived HTTP/2 connections now follow the current registry, allowing obsolete 300k-user generations to be released.
- Preserves the active runtime, target handler, resource counters, and caches during user-only refreshes.
- Globally expires and bounds the target DNS and failure caches (16,384 entries each by default), and exposes their live entry counts in diagnostics.
- Demotes successful per-stream TCP dial logs from info to debug to reduce high-frequency allocation and log pressure.
Source: SunGreatSage/OmnXT PR #42, merged to development at 54723a33deb2f044b6047b00b75f0f8a9e071927.
Validation covered PPanel streaming and semantic-hash tests, SimNet credential/identity generation-release regressions, bounded target-cache tests, a 344,512-user registry regression, Node hot-reload behavior, and protocol/transport unit suites. Both Linux targets were compiled locally with cargo-zigbuild; no GitHub Actions build artifacts were used. The resulting binaries are stripped and require at most GLIBC 2.28.