github Jolymmiles/Xray-core v26.8.24
Xray-core v26.8.24

3 hours ago

Highlights

  • Fixed an H2MUX server lifecycle race that could panic with Header called after Handler finished when an upstream close raced a late response write/flush.
  • Updated the build toolchain to Go 1.27.0.
  • Improved cold H2MUX session readiness by requiring an HTTP/2 PING acknowledgement before publishing a client session.

Fork fixes

  • Made H2MUX stream close wait for active writes and reject writes after handler shutdown.
  • Aligned sing-mux padding lengths with the canonical 256–767 byte range.
  • Fixed SMUX v1 receive head-of-line stalls with balanced per-stream buffering and bounded one-frame ingress credit.
  • Hardened Mihomo startup/reconnect interoperability using its post-up readiness contract.

Upstream changes

  • Merged the current upstream Xray-core changes and dependency updates, including golang.org/x/net v0.58.0.

Compatibility notes

  • No configuration migration is required.
  • The padding reader remains compatible with valid non-canonical peer padding lengths and contents.
  • Built with Go 1.27.0 for the release workflow.

Validation

  • Unit, race, checkptr, SMUX/H2MUX/VLESS interoperability, reconnect stress, RemnaNode integration, and Linux/amd64 build checks were exercised.
  • The functional and stress suites passed. The pre-release performance comparison reported a VLESS median regression of 15–19% against its 10% policy threshold; this release was explicitly authorized despite that performance-only gate.

Don't miss a new Xray-core release

NewReleases is sending notifications on new releases.