What's Changed
- cacd01a feat: add h3 mode support for xhttp client (#2686) by @Hanahime
- 61dc7b1 feat: add http1.1 mode support for xhttp client by @wwqgtxx
- 2337d70 feat: support xhttp new options for bypassing CDN's potential detection by @wwqgtxx
- 6791df1 feat: support
h-keep-alive-periodto xhttp reuse-settings by @wwqgtxx - 700e25f feat: support
sc-max-buffered-postsfor xhttp listener by @wwqgtxx - f109b8b feat: support range format for xhttp
sc-max-each-post-bytesby @wwqgtxx - ad91303 feat: support upload packet merging in packet-up mode and
sc-min-posts-interval-mssettings for xhttp transport by @wwqgtxx - a847246 feat: convert support new xhttp-opts fields (#2734) by @legiz-ru
- 80072eb feat: support range format for hysteria2
hop-intervalby @wwqgtxx - 1b2ea14 feat: support ipv6 dual stack fallback for masque/trusttunnel/xhttp h3 mode by @wwqgtxx
- 808c0d6 feat: support ipv6 dual stack fallback for hysteria2 by @wwqgtxx
- fdafea3 feat: support ipv6 dual stack fallback for tuic by @wwqgtxx
- 885244a feat: support
network: h2for masque outbound by @wwqgtxx - db25932 feat: support
bbr-profilefor hysteria2/tuic/trusttunnel/masque by @wwqgtxx - d701d1c feat: add
-post-upand-post-downflags for cmdline by @wwqgtxx - 8a029da feat: add
/storageendpoint with Get, Put, and Delete methods for restful api by @Zephyruso
BUG & Fix
- 0495d29 fix: convert normalize VLESS share-link transport mapping (#2694) by @slackworker
- 0f71808 fix: masque h2 conn lifecycle management by @wwqgtxx
- 299a63f fix: quic underlay packetConn maybe not closed in doh3/doq by @wwqgtxx
- 299fd33 fix: race in websocket with early data by @wwqgtxx
- 2fbed16 fix: don't add ":80" to Host for vmess http obfs by @wwqgtxx
- 4387c67 fix: race for hysteria2 salamander by @wwqgtxx
- 4f927ca fix: CVE-2026-33814 for net/http by @wwqgtxx
- 6fb9d9e fix: max payload size estimation on datagram queueing for quic-go by @wwqgtxx
- 83ac220 fix: convert accept obfs/obfs-host as aliases for mode/host in ss v2ray-plugin URL (#2712) by @beck
- 9613f02 fix: random panic by race in proxy id init by @wwqgtxx
- 96a6962 fix: quic underlay packetConn maybe not closed in masque by @wwqgtxx
- acc4f62 fix: quic underlay packetConn not closed in trusttunnel h3 mode by @wwqgtxx
- b00c985 fix: race in h2mux read by @wwqgtxx
- d4b3d23 fix: race in trusttunnel read by @wwqgtxx
- db63ffb fix: quic underlay packetConn not closed in xhttp h3 mode by @wwqgtxx
- e4099f0 fix: prevert body not close where conn is already closed before setup for sing-mux and trusttunnel by @wwqgtxx
- ec664a5 fix: option name typo in listener by @wwqgtxx
- f0ad835 fix: BBR scale window for datagram size by @wwqgtxx
- fcbcd10 fix: race in quic get congestion by @wwqgtxx
Maintenance
- 0325361 chore: add test for xhttp over vless encryption by @wwqgtxx
- 0e0265f chore: simplify gotConn handling by @wwqgtxx
- 1bee590 chore: reduce data copy in read packet for masque by @wwqgtxx
- 20cb280 chore: simplify error handling code by @wwqgtxx
- 2247c0e chore: async xhttp RoundTrip to let some CDN/reverse proxy happy (#2719) by @kyber1024
- 2cfff83 chore: let xhttp server passing stream-one and stream-up mode test under http1 by @wwqgtxx
- 37942ce chore: remove unused timeout in socks5 over tls by @wwqgtxx
- 3d6add3 chore: align internal logic by @wwqgtxx
- 3f2b0ba chore: test dialer should be created by test tunnel by @wwqgtxx
- 4814c72 chore: add mode restrictions test back by @wwqgtxx
- 4985802 chore: add test for packet upload queue by @wwqgtxx
- 5b013f2 chore: code cleanup by @wwqgtxx
- 6b07683 chore: better DialQuic interface by @wwqgtxx
- 6c407f0 chore: rebuild upload queue logic by @wwqgtxx
- 7ab4eed chore: handling edge cases where the transport may dial more than once in test by @wwqgtxx
- 7abf290 chore: update quic congestion pacer by @wwqgtxx
- 7b73775 chore: add short circuit logic for dual stack dial to decrease unnecessary goroutine by @wwqgtxx
- 7e83399 chore: update comments to clarify why need retry in TestDialer by @wwqgtxx
- 8c1b1a3 chore: check
sc-max-each-post-bytesgreater than zero if set by @wwqgtxx - a450080 chore: skip sudoku http mask test on windows again by @wwqgtxx
- ab3746a chore: update mieru version (#2687) by @enfein
- b0ea75b chore: using NewClientConn directly instead of the built-in connection pool for masque h2 mode by @wwqgtxx
- c39b680 chore: remove unused limit on concurrent dialing in xhttp client by @wwqgtxx
- cac4891 chore: add deadline wrapper for trusttunnel server by @wwqgtxx
- d4c4b28 chore: allow overriding sing-mux internal tcpTimeout value for testing by @wwqgtxx
- d801e6b chore: align with trusttunnel's official session reuse logic (#2683) by @maxim
- d8cb32b chore: move tuic special types to a new package by @wwqgtxx
- d9c447a chore: remove unneeded copy in uploadQueue by @wwqgtxx
- df6a5d3 chore: add TestDialer to retry when dial fails for local testing by @wwqgtxx
- dfc888d chore: update default headers in xhttp by @wwqgtxx
- e0a42d4 chore: remove strict timeout restrictions in test for slow github action by @wwqgtxx
- e1bdfba chore: update dlclark/regexp2 by @wwqgtxx
- e38aa82 chore: don't force bind interface when using fd for tun by @wwqgtxx
- ebc41ea chore: update mieru version (#2721) by @enfein
- f425c81 chore: read as much data as possible from the reader by @wwqgtxx
- f5183da chore: correct the xhttp reuse-settings item order by @wwqgtxx
- fa081fb chore: rebuild masque h2 conn read logic by @wwqgtxx
- fe7f3d6 chore: rebuild
max-connectionslogic inreuse-settingsby @wwqgtxx
Full Changelog: v1.19.23...v1.19.24