- Add VT color support for Windows
- Fix a bug where UDP did not work when using only port in SOCKS5 listen address (e.g. ":1080")
- Fix a bug in handling SOCKS5 UDP packets with domain address
- Updated quic-go to v0.34.0
- Eliminate unnecessary DNS lookups when using SOCKS5 outbound with ACL disabled
- Add a
lazy_start
option to let the client connect to the server only when there is an incoming connection - Fix a bug where TCP redirect didn't work on x86 (32-bit) machines
- Fix memory leak when using UDP port hopping
- Updated quic-go to v0.33.0
- Fix a bug that made UDP unusable when using
socks5_outbound
- Set the default value of
retry_interval
to 1 to prevent the client from retrying too often when errors occur - Prompt error if both acme and local cert file are specified in client config
- Updated quic-go to v0.32.0, performance improvements
- Fix a bug where some malformed UDP packets would cause the server to crash
- Fix a bug where the server did not have a timeout for SOCKS5 outbound connections
- Add build variants: amd64-avx, armv5, mipsle-sf, windows/arm64
- New
fast_open
option for client to reduce RTT when dialing TCP connections - Fix a bug where the HTTP proxy would not close connections properly
- Minor performance improvements here and there
- Connection migration: clients can now seamlessly switch between networks without losing their connection to the server
- Dynamic port hopping: see https://v1.hysteria.network/docs/port-hopping/ for more information
- Fix a bug where the client would crash for IPv6 UDP requests in TProxy mode.
- Fix a bug where the client did not release old UDP sockets when reconnecting.
- Fix a bug where using DoT (DNS over TLS) as resolver would cause the client/server to crash.
- Add
quit_on_disconnect
,handshake_timeout
,idle_timeout
options to client config. - Drop server's legacy protocol (v2) support.
- Updated quic-go to v0.30.0, small performance improvements.
- Fix a bug that caused DNS failure when using domain names in the "resolver" option
- Fix a bug where errors in HTTP proxy mode were not logged
- Fix a bug where WeChat protocol was not working properly when obfuscation was not enabled
- New TCP buffer options for tun mode (
tcp_sndbuf
,tcp_rcvbuf
,tcp_autotuning
)
- Reworked TUN mode
- DoT/DoH/DoQ support for resolver
- IP masking (anonymization)
- FreeBSD builds
- Super major CPU performance improvements (~30% to several times faster, depending on the circumstances) by optimizing several data structures in quic-go (changes upstreamed)
bind_outbound
server option for binding outbound connections to a specific address or interface- TCP Redirect mode (for Linux)
- ~10% CPU usage reduction
- Improve performance when packet loss is high
- New ACL syntax to support protocol/port
- New string-based speed (up/down) options
- Server SOCKS5 outbound domain pass-through
- Linux s390x build
- Updated quic-go to v0.27.0
- Added an option for DNS resolution preference
resolve_preference
- Fix server SOCKS5 outbound bug
- Fix incorrect UDP fragmentation handling
- Protocol v3: UDP fragmentation support
- Fix SOCKS5 UDP timeout issue
- SOCKS5 outbound support
- CLI improvements (cobra)
- Fix broken UDP TProxy mode
- Re-enable PMTUD on Windows & Linux
- Disable quic-go PMTUD due to broken implementation
- Fix zero initMaxDatagramSize in brutal CC
- Client retry
- Client connect & disconnect log
- Warning when no auth or obfs is set
- Multi-password & cmd auth support
- fsnotify-based auto keypair reloading
- ACL country code support
- CC optimizations
- Set buffer correctly for faketcp mode
- "wechat-video" protocol
- Updated quic-go to v0.24.0
- Reduced obfs overhead by reusing buffers
- faketcp implementation
- DNS
resolver
option in config
- Auto keypair reloading
- SOCKS5 listen address no longer needs a specific IP
- Multi-relay support
- IPv6 only mode for server
- Added an option for customizing ALPN
alpn
- Removed ACL support from TPROXY & TUN modes
- Added an option to disable MTU discovery
disable_mtu_discovery