Skip to content

Releases: crapthings/hysteria-rust

v0.1.0-rc.3

v0.1.0-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Sep 03:37

v0.1.0-rc.3 — Pre-release

This release focuses on protocol hardening and maintenance. Each executable
contains both the client and server. Existing configuration and passwords do
not need to change; keep a backup of your current binary and configuration.

Fixes

  • Reject ambiguous HTTP/3 Host fields and HTTP authority userinfo. Ordinary
    CONNECT now omits scheme/path and rejects them on receipt; extended CONNECT
    retains its own semantics.
  • Reject unconsumed QUIC CRYPTO data buffered beyond a gap when TLS advances
    beyond Initial or Handshake encryption levels.
  • Bound smoke/interop fixture socket operations, subprocesses and thread waits,
    and add timeout regressions to prevent test hangs.

Downloads

Prebuilt coverage remains seven targets: Linux x64, ARM64 and ARMv7;
macOS x64 and ARM64; Windows x64 and ARM64. Each binary has a SHA-256 file.
Names now use friendly platform labels, for example hysteria-rust-linux-x64
instead of hysteria-rust-x86_64-unknown-linux-gnu. Update download scripts.
Existing rc2 assets are unchanged. Other Linux architectures, musl builds and
non-mainstream operating systems are not routinely distributed or guaranteed
tested. Linux prebuilt binaries require glibc; see the README platform table.

Validation and limitations

The preceding dev CI passed lint, Linux workspace tests, standalone HTTP/3 and
QUIC suites, Go/Rust interoperability and dependency audit. The runtime Go
baseline is now 62d1016707af21b91e5fb6070311d9f016ff2754, built with Go 1.26.5.
Local tests also covered the previous Go baseline. Chrome runtime tests cover
TCP/UDP, fragmentation, reconnects, ECH configuration, pinning and mutual TLS.
Release publication is gated on verification and all seven platform packages.

Chrome remains an experimental Rust-client opt-in; ALPS stays disabled by that
switch. No full Chrome wire equivalence, performance gain or new public-network
soak-test result is claimed. The cross-stream scheduler is unchanged. This
release has not yet been deployed to the existing test server or tested with
Surge; ordinary client/server behavior is intended to remain compatible.

Vendor provenance and local low-disk test tooling are documented in
vendor/README.md. No automatic upstream dependency replacement is introduced.

Full Changelog: v0.1.0-rc.2...v0.1.0-rc.3

v0.1.0-rc.2

v0.1.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Sep 02:06

v0.1.0-rc.2 — Pre-release

This release includes the current Rust client and server improvements. Existing
client configurations retain their default connection behavior.

New features

  • Experimental Chrome-shaped TLS/QUIC client profile, including ClientHello and
    Initial packet shaping. Explicitly opt in on the Rust client:

    quic:
      disableChromeParrot: false

    Omit the setting or use true to retain ordinary Rust behavior. ALPS remains
    disabled by this switch. Full Chrome wire equivalence is not claimed.

  • Porkbun, Njalla and Namecheap ACME DNS providers.

  • Unix socket backends for server masquerade proxies.

  • Server quic.disableStatelessReset configuration option.

Fixes and packaging

  • Clean up pending server authentication and masquerade tasks on shutdown or
    peer disconnection.
  • Fix DNS-test crypto initialization and update affected h2 dependencies.
  • Reduce release validation build disk usage by disabling debug information
    and incremental compilation in that workflow.
  • Seven binary targets: Linux x64/arm64/arm, macOS x64/arm64 and Windows
    x64/arm64. Each binary includes both client and server commands and has a
    SHA-256 checksum file.

Validation and limitations

The preceding dev full-platform CI passed all ten jobs and produced all seven
packages. Local and CI coverage includes Go/Rust interoperability, Chrome TCP
and UDP relay, fragmentation, reconnects, real ECH, certificate pinning and
client authentication, including invalid-credential rejection.

An existing server was tested successfully with the new Linux client in both
ordinary and Chrome modes over loopback, including TCP, UDP DNS and HTTPS
forwarding. The test environment's public QUIC path timed out in both modes;
public-network Chrome experience and long-running stability remain to be
validated. Built-in speed tests failed in both modes on that existing server,
so no throughput result is claimed. Surge against an upgraded server has not
yet been directly tested; this release does not require Surge to implement the
Rust client's Chrome option.

Keep a copy of your current binary and configuration when trying this release.

What's Changed

  • Add project website and improve documentation by @crapthings in #1
  • Add experimental Chrome QUIC client profile and interoperability coverage by @crapthings in #2

New Contributors

Full Changelog: v0.1.0-rc.1...v0.1.0-rc.2

v0.1.0-rc.1

v0.1.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Jul 03:42