xray-rust v0.4.0
Highlights
- Added Apple VLESS share-link import for
xhttp/splithttpwith plaintext,
TLS, or REALITY transport security. The importer preserves supported
security fields, handles bounded single- or double-percent-encodedextra
JSON, and rejects unsupported non-empty certificate-pin/ECH settings instead
of silently downgrading them. - Implemented Xray-compatible one-level XHTTP
extrareplacement semantics,
while keeping outerhost,path, andmode. The removed
scMaxConcurrentPostsfield remains import-compatible but is ignored rather
than being misread asscMaxBufferedPosts. - Reduced plaintext HTTP/1.1 XHTTP packet-up memory pressure. Uplink buffers
now grow in 8 KiB steps only when data is available and reuse their actual
allocation instead of reserving or cloning the configured maximum POST size
for every active flow. - Added an exact legacy-profile RSS benchmark with held-flow, 16 KiB control,
settle, and ACK-gated rollover phases. The recorded 16-flow macOS run showed
a 96 KiB median RSS delta between a 500000-byte max-POST profile and the
otherwise identical 16384-byte control. - Updated
h2to 0.4.16 for its upstream RustSec fix and refreshed the
transitivechacha20lock entry to 0.10.2 after 0.10.1 was yanked.
Compatibility boundary
This release supports XHTTP share links with VLESS encryption=none and no
Vision flow. Effective XHTTP downloadSettings, non-empty modern TLS
certificate-pin/ECH fields that the current Rust model cannot honor, and
non-none VLESS encryption remain fail-closed.
The separately packaged Apple/Android SDK release will follow in
xray-rust-mobile v0.4.0.