v4.39.2
Features
- Websocket: support header based Websocket early data & its partial browser forwarder support
- GeoData: add a memory efficient geodata decoder called
memconservative
for memory-limited devices- docs: Environment variable
- #934 #953 #964 #965 #967 #977 Thanks @Loyalsoldier @rurirei
- HTTP/2 Transport: support to set method and headers for outgoing connections
- docs: HTTP/2
- TCP Socket Option: support to set keepalive interval on Linux operating system
- docs: Transport
- #962 Thanks @therealak12
Fixes
- BrowserForwarder panics with empty config (#954) Thanks @AkinoKaede @Loyalsoldier
- FakeDNS prints error with empty config (#955) Thanks @Loyalsoldier
- Dual stack FakeDNS Close method (#956) Thanks @Loyalsoldier
- Observatory starts with empty config & fails to close (#957) Thanks @Loyalsoldier
- Null check on alternative system dialer (#959) Thanks @rurirei
- Fixed the chain proxy support for gRPC and HTTP/2 transport
- Fixed leastping logic (#1019) Thanks @fanyiguang
- Fixed v2ctl unable to create geodata loaders (#1014) Thanks @ght99
Chores
- Use Go v1.16.4
- Update dependencies
Notices
- Some unintentionally published APIs have been removed. 620d8f1
- API introduced in #966 is unsupported, and will be removed once a permanent solution is available.
- 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.