Releases: v2fly/v2ray-core
Releases · v2fly/v2ray-core
v5.9.0 User Preview
New Features
- Tun feat: TUN Support by @AkinoKaede in #2541
- uTLS Add uTLS support for h2 transport by @wegood9 in #2643
Fixes
- fix: improve error messages when parsing config in jsonv5 by @OurebiKitsu in #2694
- fix(transport): support to set permission for UDS and correctly close lock file by @yin1999 in #2596
Chores
- Chore: bump github.com/refraction-networking/utls from 1.5.2 to 1.5.3 by @dependabot in #2682
- Chore: bump github.com/quic-go/quic-go from 0.38.1 to 0.39.0 by @dependabot in #2712
- Chore: bump github.com/refraction-networking/utls from 1.5.3 to 1.5.4 by @dependabot in #2715
- chore: remove refs to deprecated io/ioutil by @testwill in #2717
- outbounds: remove unused nil check for GetDefaultHandler by @clwluvw in #2457
- Chore: bump github.com/miekg/dns from 1.1.54 to 1.1.56 by @dependabot in #2691
- Chore: bump google.golang.org/grpc from 1.57.0 to 1.59.0 by @dependabot in #2718
- Chore: bump github.com/go-playground/validator/v10 from 10.14.1 to 10.15.5 by @dependabot in #2703
- Chore: bump github.com/jhump/protoreflect from 1.15.1 to 1.15.3 by @dependabot in #2702
- Chore: bump github.com/go-chi/render from 1.0.2 to 1.0.3 by @dependabot in #2612
- Chore: bump github.com/go-chi/chi/v5 from 5.0.8 to 5.0.10 by @dependabot in #2615
- fix http2 chain proxy by @dyhkwong in #2725
- Chore: bump github.com/google/go-cmp from 0.5.9 to 0.6.0 by @dependabot in #2724
- Chore: bump github.com/google/gopacket from 1.1.17 to 1.1.19 by @dependabot in #2723
Full Changelog: v5.8.0...v5.9.0
v5.8.0 User Preview
Fixes
- DNS over QUIC should not have "http/1.1" and "h2" ALPNs by @dyhkwong in #2570
- Migrate to quic-go v0.36.0 by @zedifen in #2561
- fix: parse for the CipherType of Shadowsocks in simplified config by @AkinoKaede in #2510
- fix protocol matching in routing by @dyhkwong in #2540
- Fix CI breakage in 5.7.0 in #2697
Chores
- Chore: bump github.com/quic-go/quic-go from 0.36.0 to 0.36.2 by @dependabot in #2600
- Chore: bump github.com/golang/protobuf from 1.5.2 to 1.5.3 by @dependabot in #2390
- Chore: bump github.com/quic-go/qtls-go1-20 from 0.2.2 to 0.3.0 by @dependabot in #2587
- Chore: bump actions/stale from 7 to 8 by @dependabot in #2434
- Chore: bump actions/setup-go from 3 to 4 by @dependabot in #2412
- Chore: bump github.com/refraction-networking/utls from 1.3.2 to 1.3.3 by @dependabot in #2611
- CI: Add Linux loong64 build task by @KatyushaScarlet in #2609
- Chore: bump golang.org/x/net from 0.11.0 to 0.14.0 by @dependabot in #2642
- Chore: bump github.com/quic-go/quic-go from 0.36.2 to 0.37.4 by @dependabot in #2646
- Chore: bump github.com/refraction-networking/utls from 1.3.3 to 1.4.1 by @dependabot in #2648
- Chore: bump google.golang.org/grpc from 1.55.0 to 1.57.0 by @dependabot in #2624
- Chore: bump github.com/refraction-networking/utls from 1.4.1 to 1.4.3 by @dependabot in #2649
- Chore: bump github.com/quic-go/quic-go from 0.37.4 to 0.37.5 by @dependabot in #2652
- Chore: bump github.com/quic-go/quic-go from 0.37.5 to 0.38.1 by @dependabot in #2666
- fix(router): panic caused by concurrent map read and write (#2523) by @KujouRinka in #2678
- Chore: bump github.com/refraction-networking/utls from 1.4.3 to 1.5.2 by @dependabot in #2673
Full Changelog: v5.7.0...v5.8.0
v5.7.0 User Preview
New Features
- meek: a new transport protocol meek is added.
- CN EN Documents have been updated.
- Meek is a censorship resistant protocol that encode traffic into plain HTTP request/responses. This would allow the traffic to be reflected over significant amount of platforms to migrate the effect of IP blocking.
- The transfer performance for meek is low, and intended for situation where other methods are not realible enough.
- Thanks David Fifield, the developer of meek's original implementation.
v5.6.0 User Preview
New Features
- HTTP Proxy Add h1SkipWaitForReply Option to HTTP Proxy Protocol (#2538)
- CN EN Documents have been updated.
- It allow developers to implement simplified implementation of proxy protocols that are compatible with v2ray with no additional rtt.
- A example for running a V2Ray compatible HTTP Proxy server over WebSocket protocol on workerd have been provided in the pull request.
- set v2ray binary as an entrypoint in container images(#2456) Thanks @clwluvw
Chores
- Chore: bump github.com/refraction-networking/utls from 1.3.1 to 1.3.2 (#2482)
v5.5.0 User Preview
Fixes
- fix: always send Trojan header (#2511) Thanks @AkinoKaede
- proxy/trojan: fix writing UDP packet (#2446) Thanks @dyhkwong
Chores
- Chore: bump github.com/quic-go/qtls-go1-19 from 0.2.1 to 0.3.2 (#2445)
- Chore: bump github.com/quic-go/qtls-go1-20 from 0.1.1 to 0.2.2 (#2452)
- Chore: remove Go 1.18 support. Thanks @AkinoKaede
v5.4.1 User Preview
New Features
- Add Integrated Container Image Building (#2328)
- Skip validating on empty http host config (#2265) Thanks @heimoshuiyu .
- Feat: add PacketAddr support to Trojan (#2225) Thanks @AkinoKaede .
- feat: add an option to replace destination address in access log with sniffed domain. (#2311) Thanks @mydogshitgold .
- [app/proxyman] DomainStrategy support for all outbounds (#2334) Thanks @Vigilans .
Fixes
- [app/dispatcher] Correctly implement QUIC sniffer (#2335) Thanks @Vigilans .
- Fix sockopt.TcpKeepAliveInterval (#2149) Thanks @cubarco .
- [common/buf] Add bytespools ownership for buf.Buffer (#2336) Thanks @Vigilans .
- Fix incorrect UDP length in Torjan Packet Addr (#2424)
Chores
- Compatibility change for go 1.18 (#2317) Thanks @moetayuko .
- Chore: bump golang.org/x/crypto from 0.4.0 to 0.6.0
- Chore: bump github.com/refraction-networking/utls from 1.2.0 to 1.2.2
- Chore: bump golang.org/x/net from 0.6.0 to 0.7.0
- Chore: bump github.com/go-playground/validator/v10
- Chore: bump google.golang.org/grpc from 1.51.0 to 1.53.0
- Chore: bump github.com/pion/dtls/v2 from 2.0.0-rc.7 to 2.2.4
- Chore: bump github.com/quic-go/qtls-go1-20 from 0.1.0 to 0.1.1
- Chore: bump github.com/quic-go/qtls-go1-19 from 0.2.0 to 0.2.1
v5.4.0 User Preview
New Features
- Add Integrated Container Image Building (#2328)
- Skip validating on empty http host config (#2265) Thanks @heimoshuiyu .
- Feat: add PacketAddr support to Trojan (#2225) Thanks @AkinoKaede .
- feat: add an option to replace destination address in access log with sniffed domain. (#2311) Thanks @mydogshitgold .
- [app/proxyman] DomainStrategy support for all outbounds (#2334) Thanks @Vigilans .
Fixes
- [app/dispatcher] Correctly implement QUIC sniffer (#2335) Thanks @Vigilans .
- Fix sockopt.TcpKeepAliveInterval (#2149) Thanks @cubarco .
- [common/buf] Add bytespools ownership for buf.Buffer (#2336) Thanks @Vigilans .
Chores
- Compatibility change for go 1.18 (#2317) Thanks @moetayuko .
- Chore: bump golang.org/x/crypto from 0.4.0 to 0.6.0
- Chore: bump github.com/refraction-networking/utls from 1.2.0 to 1.2.2
- Chore: bump golang.org/x/net from 0.6.0 to 0.7.0
- Chore: bump github.com/go-playground/validator/v10
- Chore: bump google.golang.org/grpc from 1.51.0 to 1.53.0
- Chore: bump github.com/pion/dtls/v2 from 2.0.0-rc.7 to 2.2.4
- Chore: bump github.com/quic-go/qtls-go1-20 from 0.1.0 to 0.1.1
- Chore: bump github.com/quic-go/qtls-go1-19 from 0.2.0 to 0.2.1
v5.3.0 User Preview
New Features
Fixes
- fix: dns.Hostmapping in JSONv5 config treats ip as Base64 (#2107) (#2271) Thanks @mydogshitgold .
- fix(app/log): prevent close of closed channel (#2296) Thanks @yin1999 .
Chores
- Fix deprecated 'set-output' in workflow (#2220) Thanks @zedifen .
- Chore: use Go 1.20 (#2297) Thanks @AkinoKaede .
v5.2.1 User Preview
New Features
- uTLS New Security Type uTLS: TLS Client Hello imitation. (#2219)
- CN EN Document have been updated.
- Only client without transport, or with websocket transport is currently supported.
- Thanks @HirbodBehnam .
- DNS Support per-client configuration (#1977 #2212) Thanks @Vigilans .
- DNS Support specifying domain matcher (#1979) Thanks @Vigilans .
- Add bind to device to Windows and Darwin (#1972) . Thanks @AkinoKaede .
- Replace default Health Ping URL to HTTPS for burst observatory(#1991) Thanks @4-FLOSS-Free-Libre-Open-Source-Software .
- Implement Match and MatchAny for all MatcherGroup, IndexMatcher Thanks @Vigilans .
Fixes
- Fix typo in error message (#2146) Thanks @kvii .
- Support domain string validation (#2188) Thanks @Vigilans .
- Charset of ACAutomationMatcherGroup should accept all ASCII characters (#1988) Thanks @Vigilans .
- Fix logic of domain override Thanks @AkinoKaede .
- Fix HTTP sniff Thanks @AkinoKaede .
- Fix config merger fixes (#2084) Thanks @qjebbs .
- Fix selectLeastLoad() returns wrong number of nodes (#2083) Thanks @qjebbs .
- Fix(freebsd): ReadUDPMsg nil pointer Thanks @kscooo @AkinoKaede .
- fix: socks4/4a client handshake (#1971) Thanks @dyhkwong .
- Add transport original name to listen unix (#2048) Thanks @AkinoKaede .
- fix Replace "math/rand" with "crypto/rand" in padding generation(#2032) @nlzy .
- Fix remove v2ctl from debian/rules (#1954) Thanks @felixonmars @Loyalsoldier .
- Fix getting shared flags for balance info command (#1905) Thanks @iusearch .
- Fix erroneous prefix checking Thanks @iusearch .
- Fix json.Reader: fill output bytes as much as possible Thanks @EHfive .
- Guard against nil pointer dereference of (*NetworkList) Thanks @EHfive.
- Fix server name not applied to security engine in TCP transport. (#2260) Thanks @Zeezorn.
Chores
- Add tests for idn support (#2213) Thanks @Vigilans .
- Test: fix leastload strategy unit test Thanks @AkinoKaede .
- Chore: update dependencies (#1995) Thanks @Loyalsoldier .
- Refactor: replace netaddr package with netipx (#1994) Thanks @Loyalsoldier .
- Lint: exclude ST1016 Thanks @AkinoKaede .
- Style: remove duplicate FetchHTTPContent function Thanks @AkinoKaede .
- chore: disable lint on generated protobuf file.
v5.2.0 User Preview
New Features
- uTLS New Security Type uTLS: TLS Client Hello imitation. (#2219)
- CN EN Document have been updated.
- Only client without transport, or with websocket transport is currently supported.
- Thanks @HirbodBehnam .
- DNS Support per-client configuration (#1977 #2212) Thanks @Vigilans .
- DNS Support specifying domain matcher (#1979) Thanks @Vigilans .
- Add bind to device to Windows and Darwin (#1972) . Thanks @AkinoKaede .
- Replace default Health Ping URL to HTTPS (#1991) Thanks @4-FLOSS-Free-Libre-Open-Source-Software .
- Implement Match and MatchAny for all MatcherGroup, IndexMatcher Thanks @Vigilans .
Fixes
- Fix typo in error message (#2146) Thanks @kvii .
- Support domain string validation (#2188) Thanks @Vigilans .
- Charset of ACAutomationMatcherGroup should accept all ASCII characters (#1988) Thanks @Vigilans .
- Fix logic of domain override Thanks @AkinoKaede .
- Fix HTTP sniff Thanks @AkinoKaede .
- Fix config merger fixes (#2084) Thanks @qjebbs .
- Fix selectLeastLoad() returns wrong number of nodes (#2083) Thanks @qjebbs .
- Fix(freebsd): ReadUDPMsg nil pointer Thanks @kscooo @AkinoKaede .
- fix: socks4/4a client handshake (#1971) Thanks @dyhkwong .
- Add transport original name to listen unix (#2048) Thanks @AkinoKaede .
- fix Replace "math/rand" with "crypto/rand" in padding generation(#2032) @nlzy .
- Fix remove v2ctl from debian/rules (#1954) Thanks @felixonmars @Loyalsoldier .
- Fix getting shared flags for balance info command (#1905) Thanks @iusearch .
- Fix erroneous prefix checking Thanks @iusearch .
- Fix json.Reader: fill output bytes as much as possible Thanks @EHfive .
- Guard against nil pointer dereference of (*NetworkList) Thanks @EHfive.
Chores
- Add tests for idn support (#2213) Thanks @Vigilans .
- Test: fix leastload strategy unit test Thanks @AkinoKaede .
- Chore: update dependencies (#1995) Thanks @Loyalsoldier .
- Refactor: replace netaddr package with netipx (#1994) Thanks @Loyalsoldier .
- Lint: exclude ST1016 Thanks @AkinoKaede .
- Style: remove duplicate FetchHTTPContent function Thanks @AkinoKaede .
- chore: disable lint on generated protobuf file.