Skip to content

Releases: v2fly/v2ray-core

v5.0.2 Developer Preview

04 Jan 13:56
700d74f
Compare
Choose a tag to compare
Pre-release

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.

New Features

  • Jsonv5 New configuration format. This enables support for automatic component recognition.
  • UDP PacketAddr UDP endpoint independent mapping(aka Full Cone) 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.
  • CLI Reworked command line Interface. Thanks @qjebbs.
  • Developer Assistance Protobuf configure format reverse engineering.

v5.0.1 Developer Preview

02 Jan 15:43
4b03da7
Compare
Choose a tag to compare
Pre-release

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.

New Features

  • Jsonv5 New configuration format. This enables support for automatic component recognition.
  • 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.
  • CLI Reworked command line Interface. Thanks @qjebbs.
  • Developer Assistance Protobuf configure format reverse engineering.

v4.44.0

05 Dec 19:30
9936afa
Compare
Choose a tag to compare

This release includes security enhancement for all users.

!!! Important SECURITY enhancement !!!

Fix

Security Advisory

This update fixes a DoS vulnerability in V2Ray. This vulnerability allows a VMess Server controlled by an attacker to crash a VMess Client by sending a specially crafted handshake response reply with an (optional) VMess SwitchAccount Command that is one byte shorter than expected. This vulnerability does NOT allow the attacker to retrieve any information from a client other than it used an unpatched version of the software and does NOT allow attacker to control the unpatched software or system. It is strongly recommended for all users to apply this security update at the earliest possible opportunity. We would like to thank @geeknik for the responsible disclosure of this vulnerability.

此更新修复了在 V2Ray 中的一个拒绝服务攻击漏洞。这个漏洞允许攻击者控制的 VMess 服务器迫使 VMess 客户端崩溃。这个漏洞可以通过在 VMess 握手阶段向客户端发送一个恶意的回复数据包被触发,触发漏洞数据包的内容是比正确内容少一个字节的 VMess 切换账户指令。 攻击者 无法 通过这个漏洞获取来自客户端任何信息(除客户端尚未应用此安全更新以外),也 不会 允许攻击者控制客户端软件或系统。强烈推荐所有用户在第一时间应用本安全更新。我们在此感谢 @geeknik 将此漏洞负责任的披露给我们。

Important Message

V2Ray(V2Fly) will pre-release its next major version: V2Ray V5. In addition to functionality improvements, it will include a new configuration format and infrastructure changes that streamline the development of new protocols and functionalities.

The V4 version of the V2Ray will then enter maintenance mode. No additional features will be added by core developers, while contributors may still send pull requests for new features. It will receive bug fixes and security updates from core developers for a limited period until the full release of the V5 version. Contributors are encouraged to fork and base their changes from V5 version branch, instead of V4 version to reduce merge conflict. If you have already started the development of a change based on V4 version, you may send your pull request to V4 branch for a limited period. The core developers will cherry-pick that change into V5 version on your behave.

The pre-release version of V2Ray V5 may still contain bugs or inconsistencies. Some breaking updates to it are expected. You will need to change your configuration or codebase alongside us if you switch to V2Ray V5 now.

When V2Ray V5 pre-releases the master branch will switch to V5 version of the codebase, and the new V5 binary will be pre-released in the Github Release. They are not suitable for an automatic update from the V4 version.

Notice

Due to increase in size of the geoip.dat file recently, devices with insufficient ROM/RAM are experiencing difficulties in using V2Ray. The solution is as follows:

  • For RAM insufficient devices: Enable the Geodata loader optimized for memory-constrained devices by setting the environment variable V2RAY_CONF_GEOLOADER to value memconservative. For more details, see documentation.
  • For ROM insufficient devices:
    • Use the newly added GeoIP file geoip-only-cn-private.dat in the zip package or download it from release page, which only contains GeoIP list geoip:cn and geoip:private, or
    • Customize your own GeoIP file via project v2fly/geoip.

v4.43.0

02 Oct 16:10
e621175
Compare
Choose a tag to compare

Features

  • Shadowsocks Send Shadowsocks handshake with payload data if available (#1292 Thanks @nekohasekai)
  • TFO Custom TCP Fast Open queue length support (#1293 Thanks @AkinoKaede)

Fixes

Chores

!!! Important Message !!!

V2Ray(V2Fly) will pre-release its next major version: V2Ray V5. In addition to functionality improvements, it will include a new configuration format and infrastructure changes that streamline the development of new protocols and functionalities.

The V4 version of the V2Ray will then enter maintenance mode. No additional features will be added by core developers, while contributors may still send pull requests for new features. It will receive bug fixes and security updates from core developers for a limited period until the full release of the V5 version. Contributors are encouraged to fork and base their changes from V5 version branch, instead of V4 version to reduce merge conflict. If you have already started the development of a change based on V4 version, you may send your pull request to V4 branch for a limited period. The core developers will cherry-pick that change into V5 version on your behave.

The pre-release version of V2Ray V5 may still contain bugs or inconsistencies. Some breaking updates to it are expected. You will need to change your configuration or codebase alongside us if you switch to V2Ray V5 now.

When V2Ray V5 pre-releases the master branch will switch to V5 version of the codebase, and the new V5 binary will be pre-released in the Github Release. They are not suitable for an automatic update from the V4 version.

Notice

Due to increase in size of the geoip.dat file recently, devices with insufficient ROM/RAM are experiencing difficulties in using V2Ray. The solution is as follows:

  • For RAM insufficient devices: Enable the Geodata loader optimized for memory-constrained devices by setting the environment variable V2RAY_CONF_GEOLOADER to value memconservative. For more details, see documentation.
  • For ROM insufficient devices:
    • Use the newly added GeoIP file geoip-only-cn-private.dat in the zip package or download it from release page, which only contains GeoIP list geoip:cn and geoip:private, or
    • Customize your own GeoIP file via project v2fly/geoip.

v4.42.2

17 Sep 14:06
a1c46f8
Compare
Choose a tag to compare

Features

  • Support Windows ARM64: v2ray-windows-arm64-v8a.zip (#1215 Thanks @database64128)
  • TLS: support client certificate authentication
  • GeoIP asset: add trimmed GeoIP file geoip-only-cn-private.dat to zip package for ROM/RAM insufficient devices
    • File geoip-only-cn-private.dat only contains GeoIP list geoip:cn and geoip:private
    • To customize your own GeoIP file, use project v2fly/geoip
    • #1233 Thanks @Loyalsoldier
  • Socks: support 4/4a version of the socks protocol (#1269 Thanks @nekohasekai)
  • DNS: add option disableFallbackIfMatch for DNS (#1270 Thanks @nekohasekai)

Fixes

  • DoQ(DNS over QUIC) local mode supports IP destination (#1226 Thanks @AkinoKaede)
  • Observatory will now probe outbounds in a deterministic order (#1230 Thanks @digglife)
  • DNS response will respect request type(like AAAA, A) (#1235 Thanks @AkinoKaede)
  • Fix typo in DNS log output (#1183 Thanks @rurirei)
  • Fix typo in observatory log output (#1211 Thanks @ihotte)
  • Fix version string not updated to match release version
  • Fix IP length not deterministic (#1267 Thanks @Loyalsoldier)
  • Fix HTTP outbound not respect socket config (#1264 Thanks @Vigilans)
  • Fix sockopt.mark type (#1264 Thanks @Vigilans)
  • Fix typo in browser forwarder error message

Chores

  • Use Go v1.17.1
  • Update dependencies
  • Fix CodeQL triggered multiple times (Thanks @kslr)

Notice

Due to increase in size of the geoip.dat file recently, devices with insufficient ROM/RAM are experiencing difficulties in using V2Ray. The solution is as follows:

  • For RAM insufficient devices: Enable the Geodata loader optimized for memory-constrained devices by setting the environment variable V2RAY_CONF_GEOLOADER to value memconservative. For more details, see documentation.
  • For ROM insufficient devices:
    • Use the newly added GeoIP file geoip-only-cn-private.dat in the zip package or download it from release page, which only contains GeoIP list geoip:cn and geoip:private, or
    • Customize your own GeoIP file via project v2fly/geoip.

v4.42.1

03 Sep 21:23
c4a6686
Compare
Choose a tag to compare
v4.42.1 Pre-release
Pre-release

Features

  • Support Windows ARM64: v2ray-windows-arm64-v8a.zip (#1215 Thanks @database64128)
  • TLS: support client certificate authentication
  • GeoIP asset: add trimmed GeoIP file geoip-only-cn-private.dat to zip package for ROM/RAM insufficient devices
    • File geoip-only-cn-private.dat only contains GeoIP list geoip:cn and geoip:private
    • To customize your own GeoIP file, use project v2fly/geoip
    • #1233 Thanks @Loyalsoldier

Fixes

  • DoQ(DNS over QUIC) local mode supports IP destination (#1226 Thanks @AkinoKaede)
  • Observatory will now probe outbounds in a deterministic order (#1230 Thanks @digglife)
  • DNS response will respect request type(like AAAA, A) (#1235 Thanks @AkinoKaede)
  • Fix typo in DNS log output (#1183 Thanks @rurirei)
  • Fix typo in observatory log output (#1211 Thanks @ihotte)
  • Fix version string not updated to match release version

Chores

Notice

Due to increase in size of the geoip.dat file recently, devices with insufficient ROM/RAM are experiencing difficulties in using V2Ray. The solution is as follows:

  • For RAM insufficient devices: Enable the Geodata loader optimized for memory-constrained devices by setting the environment variable V2RAY_CONF_GEOLOADER to value memconservative. For more details, see documentation.
  • For ROM insufficient devices:
    • Use the newly added GeoIP file geoip-only-cn-private.dat in the zip package or download it from release page, which only contains GeoIP list geoip:cn and geoip:private, or
    • Customize your own GeoIP file via project v2fly/geoip.

v4.42.0

03 Sep 21:17
d23f457
Compare
Choose a tag to compare
v4.42.0 Pre-release
Pre-release

Features

  • Support Windows ARM64: v2ray-windows-arm64-v8a.zip (#1215 Thanks @database64128)
  • TLS: support client certificate authentication
  • GeoIP asset: add trimmed GeoIP file geoip-only-cn-private.dat to zip package for ROM/RAM insufficient devices
    • File geoip-only-cn-private.dat only contains GeoIP list geoip:cn and geoip:private
    • To customize your own GeoIP file, use project v2fly/geoip
    • #1233 Thanks @Loyalsoldier

Fixes

  • DoQ(DNS over QUIC) local mode supports IP destination (#1226 Thanks @AkinoKaede)
  • Observatory will now probe outbounds in a deterministic order (#1230 Thanks @digglife)
  • DNS response will respect request type(like AAAA, A) (#1235 Thanks @AkinoKaede)
  • Fix typo in DNS log output (#1183 Thanks @rurirei)
  • Fix typo in observatory log output (#1211 Thanks @ihotte)

Chores

Notice

Due to increase in size of the geoip.dat file recently, devices with insufficient ROM/RAM are experiencing difficulties in using V2Ray. The solution is as follows:

  • For RAM insufficient devices: Enable the Geodata loader optimized for memory-constrained devices by setting the environment variable V2RAY_CONF_GEOLOADER to value memconservative. For more details, see documentation.
  • For ROM insufficient devices:
    • Use the newly added GeoIP file geoip-only-cn-private.dat in the zip package or download it from release page, which only contains GeoIP list geoip:cn and geoip:private, or
    • Customize your own GeoIP file via project v2fly/geoip.

v4.41.1

30 Jul 13:50
e0a73e5
Compare
Choose a tag to compare

Features

  • VMess: Added 2 VMess experiments
    • AuthenticatedLength : Make the length of each payload segment no longer malleable. This experiment requires the server and client use the same version of v2ray-core. More breaking updates on this experiment is expected.
    • NoTerminationSignal : Do not send connection single duplex termination signal for TCP connection when transferred over VMess. This will break some application.
    • #940 Thanks @RPRX
  • Hardening Draining connection at client side when receiving invalid data.
  • Observatory Support custom probe interval and probe URL. Thanks @nekohasekai .

Fixes

  • Fixed connection stability issue when in h2, grpc transport. #1059 #1058 #1056 Thanks @IRN-Kawakaze @architecturers @lijinglin3
  • Further fixed connection stability issue when in h2, grpc transport.

Notices

  • VMess: From Jan 1, 2022, compatibility for legacy VMess MD5 will be disabled by default. Visit here for more information.
  • You are able to compile exactly the same binaries as the ones in Assets section below by simply following the compiling guide.

For downstream developers

The Go module name of v2ray-core has been changed to github.com/v2fly/v2ray-core/v4. Do NOT use v2ray.com/core anymore.

v4.41.0

22 Jun 13:14
841469b
Compare
Choose a tag to compare
v4.41.0 Pre-release
Pre-release

Features

  • VMess: Added 2 VMess experiments
    • AuthenticatedLength : Make the length of each payload segment no longer malleable. This experiment requires the server and client use the same version of v2ray-core. More breaking updates on this experiment is expected.
    • NoTerminationSignal : Do not send connection single duplex termination signal for TCP connection when transferred over VMess. This will break some application.
    • #940 Thanks @RPRX
  • Hardening Draining connection at client side when receiving invalid data.

Fixes

Notices

  • VMess: From Jan 1, 2022, compatibility for legacy VMess MD5 will be disabled by default. Visit here for more information.
  • You are able to compile exactly the same binaries as the ones in Assets section below by simply following the compiling guide.

For downstream developers

The Go module name of v2ray-core has been changed to github.com/v2fly/v2ray-core/v4. Do NOT use v2ray.com/core anymore.

v4.40.1

22 Jun 09:13
d7e1d00
Compare
Choose a tag to compare

Features

  • DNS: support DNS over TCP.
    • docs: DNS
    • #983 Thanks @AkinoKaede
    • Currently DNS over TCP is yet to be optimized for performance, and is recommended for compatibility purpose only.

Fixes

  • Fix: new cert issuing is incorrectly delayed. #998 Thanks @bhoppi

Chores

  • Use Go v1.16.5
  • Update dependencies

Notices

  • VMess: From Jan 1, 2022, compatibility for legacy VMess MD5 will be disabled by default. Visit here for more information.
  • You are able to compile exactly the same binaries as the ones in Assets section below by simply following the compiling guide.

For downstream developers

The Go module name of v2ray-core has been changed to github.com/v2fly/v2ray-core/v4. Do NOT use v2ray.com/core anymore.