What's Changed
- bd749c6 feat: sync anytls v0.0.13 (#2990) by @anytls
- e26714a feat: support TLS rekey fix, data-ciphers negotiation, tls-crypt-v2 for OpenVPN (#2989) by @Lanlan13-14
- 0e7c3c7 feat: support restls for anytls outbound and listener by @wwqgtxx
- 2b2bdf6 feat: support jls for shadowsocks outbound and listener by @wwqgtxx
- 5677fd3 feat: add
name-cert-verifyto support separate certificate verification name by @wwqgtxx - 611a448 feat: support jls for vmess/vless/trojan outbound and listener by @wwqgtxx
- 6d96163 feat: support
override-exprfor proxy provider override by @wwqgtxx - 769ea6f feat: support restls for vmess/vless/trojan outbound and listener by @wwqgtxx
- 76d8088 feat: add support for TLSAuth for Openvpn (#2969) by @lyaaz
- 8fe7f74 feat: support jls for anytls outbound and listener by @wwqgtxx
- 9ab7543 feat: support restls/jls for snell outbound and listener by @wwqgtxx
- aea5ce4 feat: support shadowquic outbound and listener by @wwqgtxx
- bc0e5aa feat: support shadowtls for anytls outbound and listener by @wwqgtxx
- bfa9ea1 feat: support brutal for shadowquic (mihomo private extension) by @wwqgtxx
- c015694 feat: support shadowtls for vmess/vless/trojan outbound and listener by @wwqgtxx
BUG & Fix
- 02dfcf2 fix: incorrect alphabet size used in session-table for predefined tables in xhttp-config by @SaltyMonkey
- 0ee5841 fix: reconnect OpenVPN on server soft reset (#2978) by @freephilx
- 12c30af fix: wireguard per-peer reserved ignored (#2958) by @AaronChen0
- 2b0d841 fix: make shadowtls v2 read deadlines recoverable by @wwqgtxx
- 2c7309e fix: listener duplicate-name check (#2948) by @AaronChen0
- 3766a08 fix: set global CA pool and NTP time for restls by @wwqgtxx
- 4154923 fix: stop reaper goroutine busy-looping after context cancel (#2964) by @AaronChen0
- 45f7930 fix: CNAME query matching a hosts domain-entry returns an empty answer (#2965) by @AaronChen0
- 75a3ea8 fix: leaked openStreams on failure in TUIC client (#2959) by @AaronChen0
- 7a3c37c fix: make shadowtls v3 read deadlines recoverable by @wwqgtxx
- 8507c1e fix: missing override
shadow-tls-optsandrestls-optsin xhttpdownload-settingsby @wwqgtxx - 8698483 fix: the incorrect tls stack was used in shadowtls tests by @wwqgtxx
- 975389a fix: intermittent timeouts during the soak test by @wwqgtxx
- 9a7e726 fix: performance regression caused by unnecessary wrapping in stream encryption by @wwqgtxx
- 9ae1cc2 fix: shadowquic JLS pre-flight fallback handle by @wwqgtxx
- a35045d fix: consume CachedConn data in ReadCached by @wwqgtxx
- a5167fa fix: allow JLS fallback before the server flight by @wwqgtxx
- a70af27 fix: remove unnecessary quinn-jls compatibility behavior by @wwqgtxx
- ba5c45b fix: anytls listener config parsing by @wwqgtxx
- c079b0c fix: panic on full-width IP-SUFFIX rules (#2975) by @AaronChen0
- c583439 fix: DOMAIN-WILDCARD ignores sniffed hostname (#2956) by @AaronChen0
- cb8cde8 fix: missing override
jls-optsin xhttpdownload-settingsby @wwqgtxx - e8ab2d0 fix: alpnAwareRoundTripper behavior in mekya client by @wwqgtxx
- f86bc22 fix: align HelloRetryRequest handling with JLS v3 by @wwqgtxx
Maintenance
- 1d1b370 chore: remove redundant writeFull in snell v4 by @wwqgtxx
- 2d45f9e chore: using new net/http api in mekya client by @wwqgtxx
- 309cfbd chore: reimplement shadowtls by @wwqgtxx
- 3b73922 chore: cleanup shadowquic code by @wwqgtxx
- 3f22309 chore: respect the incoming context during JLS fallback by @wwqgtxx
- 4236116 chore: better UserFromConn implementation by @wwqgtxx
- 44dd834 chore: preserve jls in-user for shadowsocks listeners by @wwqgtxx
- 46f9b78 chore: export internal OverrideExpr for api user by @wwqgtxx
- 4d7ef85 chore: sync logic to legacy shadowsocks listener by @wwqgtxx
- 5c1b8bf chore: authenticate JLS ServerHello using its wire encoding by @wwqgtxx
- 6a52d23 chore: do not force trailing path / when both sessionID and seq are placed elsewhere for xhttp by @Medium1992
- 75eeba4 chore: significantly trim unnecessary code from tailscale by @wwqgtxx
- 8413f50 chore: skip frequently failed tests on windows go1.20 by @wwqgtxx
- 94409eb chore: remove redundant writeFull in sudoku by @wwqgtxx
- 95af34a chore: remove redundant writeFull in shadowquic by @wwqgtxx
- 9729296 chore: sync to sudoku v0.4.8 (#2966) by @saba-futai
- 9cece13 chore: add test for alpnAwareRoundTripper in mekya client by @wwqgtxx
- b6ed8e2 chore: rewrite the internal mutual exclusion logic of the listener by @wwqgtxx
- b75a776 chore: clean up duplicate helpers in tests by @wwqgtxx
- bc5976f chore: sync internal logic by @wwqgtxx
- cf8545d chore: stabilize traffic wait timing in tlsmirror test by @wwqgtxx
- da5a3e5 chore: rewrite the internal mutual exclusion logic of the outbound by @wwqgtxx
- dc4d4fc chore: allow jls with utls client-fingerprint by @wwqgtxx
- e3c1ea0 chore: better handshakeRecorderConn impl by @wwqgtxx
- e911985 chore: change the brutal negotiation in shadowquic to be asynchronous by @wwqgtxx
- ee80e8d chore: more comprehensive interop test by @wwqgtxx
- f23e43e chore: remove redundant writeFull in gost relay by @wwqgtxx
Full Changelog: v1.19.28...v1.19.29