v5.0.8 Developer Preview
Pre-releasev5.0.8 Developer Preview
-----> ⚠️ Important Message ⚠️ <-----
This might be the last Developer Preview of V2Ray V5. We will soon begin to release User Preview that are signed and marked as stable. This User Preview will suitable for users to start using v5 version of V2Ray, and user facing config will be more stable than Developer Preview. The version number for that release will be v5.1.0, and then increase middle version number for each regular update, then a minor version increase for minor patches.
For testing purpose, this v5.0.8 version might be signed as well.
This is a pre-release version of V2Ray intended for developer preview. Users are not advised to use this version right now. Contributors are encouraged to send pull requests to the V5 version of the codebase.
This release note is being edited to reflect all significant changes made to the codebase, please contact us if you think something is missing.
Most new features are currently undocumented. The documents will be updated over time.
Breaking Changes
- DNS DNS over QUIC's default port changed from 784 to 853
- Jsonv5 field network renamed to networks
New Features
- Jsonv5 New configuration format. This enables support for automatic component recognition.
- ZH Document is work in progress.
- EN Document is work in progress.
- Thanks @AkinoKaede, @kslr, @mzz2017.
- VLite UDP P2P focused proxy protocol with Full Cone, Forward Error Correction, Self-Healing Connection(Connection Stabilization) support.
- UDP PacketAddr UDP endpoint independent mapping(aka Full Cone) support.
- SocksOpt Add KeepAlive Support. Thanks @ValdikSS .
- SocksOpt Add BindToDevice Support. Thanks @database64128 .
- SocksOpt Add Rx/TxBuf Size Support.
- Burst Observatory Measure connection quality to a significant amount of outbound at the same time. Thanks @qjebbs.
- Multi Observatory Run more than one Observatory at the same time.
- Router Load balancing strategy LeastLoad. Thanks @qjebbs.
- Jsonv4 Additional representation format for Jsonv4 configure file format. This includes YAML, TOML. Thanks @qjebbs.
- Jsonv4 General purpose merger for all configure formats. Thanks @qjebbs.
- Shadowsocks Reduced IV Head Entropy Experiment. Thanks GFWReport and other collaborators.
- CLI Reworked command line Interface. Thanks @qjebbs.
- Developer Assistance Protobuf configure format reverse engineering.
- Asset Search for assets in xdg data directories on non-windows platforms #1578 Thanks @NickCao.
- DNS Feat: refine find IPs logic for DoH. Thanks @AkinoKaede .
- gRPC Feat: make gRPC dialer accept socket config #1697 Thanks @dyhkwong
- JSONv5 Feat: add JSONC support to v5 configuration #1778 Thanks @AkinoKaede
- DNS Change the default port of Dns over Quic #1834 Thanks @simpleandstupid @AkinoKaede
- DNS feat: change ALPN of DNS over QUIC Thanks @AkinoKaede
- UDP Feat: increase idle timeout to 300s for udp split #1903 Thanks @AkinoKaede
- Feat: refine cipher and network config #1436 Thanks @AkinoKaede
- Feat: refine the logic of security type AUTO #1913 Thanks @H1JK
Fixes
- Router Fixed a memory leak bug caused by requiring component.
- FakeDNS Fix a concurrency issue in fakedns #1666 Thanks @yuhan6665 .
- Jsonv5 Fix: context of DNS simplified config #1665 Thanks @AkinoKaede .
- DNS Fix: fix failure of cache expired DNS record querying over DoH #1706 Thanks @KujouRinka.
- DNS Fix: failure of cache expired DNS record querying over DoQ. Thanks @AkinoKaede .
- Fix client dialer log #1568 Thanks @yuhan6665 @AkinoKaede @kslr.
- Fix: net.Address type checking #1629 Thanks @1ocalhost
- Fix "disable quit on connection interrupt" #1763 Thanks @dyhkwong
- Fix TLS Client Certificate Verify Not Applied
- Fix: proxy/http: Avoid getting stuck when using server-first protocols #1517 Thanks @lrh2000
- Fix: correct a type assertion of dokodemo simplified config #1771 Thanks @EHfive
- Fix: build routing condition for geo domain #1772 Thanks @EHfive
- Fix: correct TCP keepalive sockopt names for darwin #1777 Thanks @EHfive
- Fix ticker usage Thanks @nekohasekai
- Fix: load auto format config with io.Reader #1773 Thanks @AkinoKaede
- Fix: V5 config register #1879 Thanks @AkinoKaede
- Fix: length of DNS over QUIC #1888 Thanks @AkinoKaede
Chores
- Test: Add statistics in conn testing #1444 Thanks @yuhan6665 @kslr .
- Chore: bump github.com/lucas-clemente/quic-go to 0.27.0 Thanks @AkinoKaede .
- Fix: lint setting for revive #1758 Thanks @Loyalsoldier
- Fix: gci command for formatting code #1757 Thanks @Loyalsoldier
- Refactor strmatcher.ACAutomationMatcherGroup #1363 Thanks @Vigilans
- Fix TestUserValidator #1381 Thanks @yuhan6665
- Fix lint Thanks @nekohasekai
- Chore: use Go v1.19 Thanks @AkinoKaede