Skip to content

Releases: xtaci/kcptun

Optimize memory usage

12 Nov 12:24
Compare
Choose a tag to compare
  1. Optimize memory usage xtaci/kcp-go#146
$ go version
go version go1.13 linux/amd64

$ date
Tue Nov 12 20:19:02 CST 2019

$ ./build-release.sh
Setting GO111MODULE to on
75ddf1f6b57b4ce7fb2c7ee662c54d7a68bd3d2f  kcptun-linux-amd64-20191112.tar.gz
b2d2f26a6f6169e1e2e93281c6b144845a48df82  kcptun-darwin-amd64-20191112.tar.gz
7a0fa76cb22c09d8c2d9ff2b62e1aad4c50b6371  kcptun-windows-amd64-20191112.tar.gz
b8e7e2a95f08c439812563a2678bfe2d7e04dd98  kcptun-freebsd-amd64-20191112.tar.gz
ae637be8219c490596140a526d7a5ae1b5d06470  kcptun-linux-386-20191112.tar.gz
261ada48f76d4a26c994be7991dc27adf09dd317  kcptun-windows-386-20191112.tar.gz
8c121fae025f2f528540da040bda87f107bfd132  kcptun-linux-arm5-20191112.tar.gz
ca0152cbca0fa56c6e9e6fcc19e47046c93e352d  kcptun-linux-arm6-20191112.tar.gz
ed09e6147047b0738c220cf53659c3ee2066e195  kcptun-linux-arm7-20191112.tar.gz
c4bf63382a75b4675a6127ec5f7d2449a74be179  kcptun-linux-arm64-20191112.tar.gz
95258bd7d37b224be4f94ec442e3ddb1d47d8655  kcptun-linux-mipsle-20191112.tar.gz
f18c877fd220d0331cdc27321ebb22d85b470247  kcptun-linux-mips-20191112.tar.gz

Optimize memory usage

09 Nov 14:39
Compare
Choose a tag to compare
  1. Optimize memory usage xtaci/kcp-go#146
  2. Fixed a race condition
$ go version
go version go1.13 linux/amd64

$ date
Sat Nov  9 22:35:28 CST 2019

$ ./build-release.sh
Setting GO111MODULE to on
de9ff808409d5bbe93a2b7a4c88e700be86cefdb  kcptun-linux-amd64-20191109.tar.gz
96de7b2223cddffde2acc35d7eb27d3f3d16b1b4  kcptun-darwin-amd64-20191109.tar.gz
6bb1216753f38d988f76e7463614ad6b11e2e9c2  kcptun-windows-amd64-20191109.tar.gz
0fbaf29b9ea236288e15cf66a4bff7f7e962545a  kcptun-freebsd-amd64-20191109.tar.gz
1d7964e3a2c02c0d136ea881e87f4bcde343790f  kcptun-linux-386-20191109.tar.gz
76fd40cd805212dee0a5fcc334b8c0895de09fa3  kcptun-windows-386-20191109.tar.gz
2f043cc39911df6525d87e0a4e069c94345279e9  kcptun-linux-arm5-20191109.tar.gz
bf787809e25bb0cbe7ce9afb1103dde391ddecab  kcptun-linux-arm6-20191109.tar.gz
73f4223d8eb7b685c5eee396b8fccdc10dbb30ac  kcptun-linux-arm7-20191109.tar.gz
e5324a69a891970271f3ac1699b274b5fb796cdb  kcptun-linux-arm64-20191109.tar.gz
2c84c5b8188000020b07b0ddfc174e5c49dd36c1  kcptun-linux-mipsle-20191109.tar.gz
7beac7ce378570fe52efe72dc5addbb96a9e1769  kcptun-linux-mips-20191109.tar.gz

Optimize memory usage

04 Nov 08:18
Compare
Choose a tag to compare
Optimize memory usage Pre-release
Pre-release
  1. Optimize memory usage xtaci/kcp-go#146
$ go version
go version go1.13 linux/amd64

$ date
Mon Nov  4 16:16:04 CST 2019

$ shasum *.tar.gz
00f03f3b9e7aa82cbf2383dca9633f8573452096  kcptun-linux-amd64-20191104.tar.gz
511a0fb2d9322a7af242882f988fb69cde78c192  kcptun-darwin-amd64-20191104.tar.gz
f72ab7d8742765189a6d623bf33677e91af78822  kcptun-windows-amd64-20191104.tar.gz
6c1b07ad8b5c56033003e42f9633e3972d2eb077  kcptun-freebsd-amd64-20191104.tar.gz
1ac9ac01f7e3a8495a571f51ba8e2cea4d29ac70  kcptun-linux-386-20191104.tar.gz
b0a82b3d142519281c12e1b0f6e64a81b314d58b  kcptun-windows-386-20191104.tar.gz
3ad3f370561fc0ac5425123c01e04d70c661f1f7  kcptun-linux-arm5-20191104.tar.gz
2814d18a4f656075f57ba87f50a365991c7e8e74  kcptun-linux-arm6-20191104.tar.gz
045e3859e907b1c17e5f6d1e8c221f6e06df6dc7  kcptun-linux-arm7-20191104.tar.gz
5448f325b0749d8a280ba7687132fc4a4f205432  kcptun-linux-arm64-20191104.tar.gz
a735f371fb5766d4432bde5f97d703274ecaf098  kcptun-linux-mipsle-20191104.tar.gz
432422e463004505f88b8345d647f4bc3e514a01  kcptun-linux-mips-20191104.tar.gz

Support per-stream flow control and bugfix in KCP

24 Sep 05:34
Compare
Choose a tag to compare
  1. New option -smuxver , default is set to 1 which is compatible with previous releases. Now you can set -smuxver to 2 to enable per-stream flow control to make back-pressure on the remote sender and prevent connections from starving. Adjust -streambuf to set per-stream max memory usage, eg: -streambuf 2097152.
    Related issues: #722, xtaci/smux#18
    (Important note: smux version 1 and version 2 are not compatiblity, you need to upgrade on both sides to enable this feature.)
  2. Writable notification in kcp-go became more accurate.
  3. Fixed a bug in kcp, which may retransmit more segments than required. https://github.com/xtaci/kcp-go/releases/tag/v5.4.10

Recommended to upgrade

$ go version
go version go1.13 linux/amd64

$ date
Tue Sep 24 13:30:51 CST 2019

$ shasum *.tar.gz
8c9fe3dbfa13347bf9fc445aadecd374693ed58f  kcptun-linux-amd64-20190924.tar.gz
0ca047871be5b3fa1d8fde0d7f1a890b052e1aea  kcptun-darwin-amd64-20190924.tar.gz
2cbd7098af1c7c210a531fa80ace6d6fc68288af  kcptun-windows-amd64-20190924.tar.gz
13c306c66762250fc19e36c4ae55903eaaece12e  kcptun-freebsd-amd64-20190924.tar.gz
f33a6d40f01387d8e74b344b80e614e3981eb576  kcptun-linux-386-20190924.tar.gz
530d380a6e750991553466a44c1e64a53061a250  kcptun-windows-386-20190924.tar.gz
1841d8c1d04a825be57d702506e7123a9058256f  kcptun-linux-arm5-20190924.tar.gz
13de58842dd2f1b3feea17359d6ce674e5812c46  kcptun-linux-arm6-20190924.tar.gz
c92218c141b4138181de26568736f7647f4eab40  kcptun-linux-arm7-20190924.tar.gz
2b76c1431e785a81243f91dfa3def478a38e7e1c  kcptun-linux-arm64-20190924.tar.gz
e1dcbc5430717a90db49639e186206cbb3738474  kcptun-linux-mipsle-20190924.tar.gz
ce068bd04bfcf5ae9db6844d474fcac4d6619f32  kcptun-linux-mips-20190924.tar.gz

Fair queue support in smux

10 Sep 15:02
Compare
Choose a tag to compare
  1. When the sliding window is full which blocks packet sending, smux will prioritize to send data from the least sent stream. (You need to upgrade on the data sender.)
  2. when -tcp is specified, server will listen on both tcp & udp port.
$ go version
go version go1.13 linux/amd64

$date
Tue Sep 10 22:22:16 CST 2019

$ shasum *.tar.gz
abd95129c78bc1af7616229acc3cdcaebd0b27de  build/kcptun-darwin-amd64-20190910.tar.gz
f9e9e2d14a4a279928aa0c8adf90532aad7f6e49  build/kcptun-freebsd-amd64-20190910.tar.gz
d5e720fe0350835eb90f344ec4eedb7a21bd09b7  build/kcptun-linux-386-20190910.tar.gz
243b700560fdda0ea50f1b336ff3d1e7dedd1c0b  build/kcptun-linux-amd64-20190910.tar.gz
2ef93d4d14f6fa6d3cf6052b109f394336a39394  build/kcptun-linux-arm5-20190910.tar.gz
0f54526a0381f80c7bb60e51d679a2355c479c79  build/kcptun-linux-arm6-20190910.tar.gz
516719fc4a5fa018a3628777ac123c396f082f58  build/kcptun-linux-arm64-20190910.tar.gz
c55e64bd4293491dcc47920d2fb6e1f36a14a4c3  build/kcptun-linux-arm7-20190910.tar.gz
d973fc5d9ee96428709a31b1816db16a297f2877  build/kcptun-linux-mips-20190910.tar.gz
adb425ea7c2ddff625cc7b42559a8e97e36eaa30  build/kcptun-linux-mipsle-20190910.tar.gz
9f27b2d03e6be5b9c8b45a2c08335032cea88768  build/kcptun-windows-386-20190910.tar.gz
eb95ac0ee50e39f694a3436198ca2d7aa00231ad  build/kcptun-windows-amd64-20190910.tar.gz

re-compiled with go1.13

05 Sep 06:00
Compare
Choose a tag to compare
  1. re-compiled with go1.13
$ go version
go version go1.13 darwin/amd64

$date
2019年 9月 5日 星期四 13时57分31秒 CST

$ shasum *.tar.gz
7e7be8c8febfc9da7b7e9698c0b2d0b73f3e2aa1  kcptun-linux-amd64-20190905.tar.gz
5e1538045518dead74ea41ef9200bf04f2dedf03  kcptun-darwin-amd64-20190905.tar.gz
dbe307b5d943ba89d55f450221d892557af5302a  kcptun-windows-amd64-20190905.tar.gz
6f0270c309c08127fe62643ec61080ff0244d0eb  kcptun-freebsd-amd64-20190905.tar.gz
bafcc43c0b025c47573789a36f8aefd6dde8e3ca  kcptun-linux-386-20190905.tar.gz
2b874b6a174101f04c2fb12319ecbd1360341d25  kcptun-windows-386-20190905.tar.gz
bf012be364c43a2acfbf6a02ded337c3925e9c10  kcptun-linux-arm5-20190905.tar.gz
2d9dd5cec8c87362eeb839bc67c549fb25936fea  kcptun-linux-arm6-20190905.tar.gz
909472e3159f7c1abbcdf898af7543058a279ede  kcptun-linux-arm7-20190905.tar.gz
d94c12eed4a2e5ebab8e3c293a80b7f0465bc9ec  kcptun-linux-arm64-20190905.tar.gz
bde947601edc2c450cda21a2a84916a217bf53a1  kcptun-linux-mipsle-20190905.tar.gz
8abaaf57bc9a9bdfe75eb6b4d8ee69f17e83a8de  kcptun-linux-mips-20190905.tar.gz

-dscp works with -tcp option now

09 Aug 03:47
Compare
Choose a tag to compare
  1. -dscp option works with -tcp option now
    #704
$ go version
go version go1.12.7 darwin/amd64

$date
2019年 8月 9日 星期五 11时44分20秒 CST

$ shasum *.tar.gz
f455aec9ee4aa6025d79f752f5f19e3e11b08ba0  kcptun-linux-amd64-20190809.tar.gz
a36934fd9a9315a52208f2e909e0de8a1fde88a8  kcptun-darwin-amd64-20190809.tar.gz
047d320e58c56d0af91bb40c5a0a8db8c37a973b  kcptun-windows-amd64-20190809.tar.gz
20a2c8c5339df994fe38b1fcbfc93bd986089d1e  kcptun-freebsd-amd64-20190809.tar.gz
0ab8f53ad142f5836e772f996d66030356fa9928  kcptun-linux-386-20190809.tar.gz
d5855764854fef997c0fa0911ec38d02b0a7d048  kcptun-windows-386-20190809.tar.gz
904c377065a0bc0af682d6ab7f7adfda801a0716  kcptun-linux-arm5-20190809.tar.gz
910806ec0ed0bf025540021e48bb945a23a2ac60  kcptun-linux-arm6-20190809.tar.gz
94a1355552269b2ebae4a46ca5b559a6fc13516f  kcptun-linux-arm7-20190809.tar.gz
9b7b8f50f16310e4ead3a85c9fa3fee63a902dc2  kcptun-linux-arm64-20190809.tar.gz
9caa93152bd052c7cf667cce610d78e198a0b7be  kcptun-linux-mipsle-20190809.tar.gz
9ef274b53842c45935d63461f4db3c92b41dae5e  kcptun-linux-mips-20190809.tar.gz

support on unix domain socket

25 Jul 04:14
Compare
Choose a tag to compare
  1. on server side, you can specify -target path/to/unix/socket now, #704
$ go version
go version go1.12.7 darwin/amd64

$date
2019年 7月25日 星期四 12时12分08秒 CST

$ shasum *.tar.gz
7fc47ee1898d2576152bcb8079f86cb390c081b2  kcptun-linux-amd64-20190725.tar.gz
8c1aa94ac0d73771e8a1dde23caf02ecb6157f9a  kcptun-darwin-amd64-20190725.tar.gz
0357c34bfab5f410bcd4657ed0e9247520b581ef  kcptun-windows-amd64-20190725.tar.gz
b7a3485ecda68febe5712f935139247666d5eace  kcptun-freebsd-amd64-20190725.tar.gz
2b060b6cfdffab8d79b3abbd1e1c920fff90d500  kcptun-linux-386-20190725.tar.gz
e7819b09172ad87322d2c99b9b3588de79e6b8cd  kcptun-windows-386-20190725.tar.gz
d717bdf48d5258b7b738d7b1a9ee006afbe87dec  kcptun-linux-arm5-20190725.tar.gz
16e7c1a941cf1395ed8d48207533c456b3f5bd3e  kcptun-linux-arm6-20190725.tar.gz
54bc7509d6983c9db574b4c8b44e2c55c96534fd  kcptun-linux-arm7-20190725.tar.gz
22f2999d1e279eb3027a58c45b2939a7ad7b2f88  kcptun-linux-arm64-20190725.tar.gz
90089ab65a09a66af03b8c726d75e63ba7764581  kcptun-linux-mipsle-20190725.tar.gz
a1418562d4cad07c5bd2a1734bd07c04b2b54fc7  kcptun-linux-mips-20190725.tar.gz

optimizations on linux `-tcp` option

18 Jul 06:28
Compare
Choose a tag to compare
  1. support -tcp option for linux(EXPERIMENTAL) . To enable tcp transmission, you should enable it on both client and server, supported only under LINUX with iptables, require root privilege.
  2. adjust ack/seq follow scheme

discussion on this release:
#696

$ go version
go version go1.12.7 darwin/amd64

$ uname -a
Darwin xtacideMacBook-Pro.local 18.6.0 Darwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/RELEASE_X86_64 x86_64

$ shasum *.tar.gz
972645b7b3679ac262a7432d87a06c785e218808  kcptun-darwin-amd64-20190718.tar.gz
4f11a55741857870f90b5b32a5a50d788e3a2f7b  kcptun-freebsd-amd64-20190718.tar.gz
2d02a7c0c95c1377918715aaa6c6503d4418ff5b  kcptun-linux-386-20190718.tar.gz
28ebaae18d5d83890fb4ab6394a6d0400893cd5c  kcptun-linux-amd64-20190718.tar.gz
58b6b87f80d3255ab18c6fb1c0aad272f6be3591  kcptun-linux-arm5-20190718.tar.gz
cfa3359377c1ed6de5b1e0d42ce76a1a1132340f  kcptun-linux-arm6-20190718.tar.gz
69a02091c11332a27b1362bf8b14af14cad585fc  kcptun-linux-arm64-20190718.tar.gz
6d9a3a52ba4394b1293fd27e64d7367bb3c60783  kcptun-linux-arm7-20190718.tar.gz
f10669e6c8bc153d1a07caa4c85e77ba17966d2c  kcptun-linux-mips-20190718.tar.gz
94e493615294ca81c088bfcff33021d8d167c42a  kcptun-linux-mipsle-20190718.tar.gz
ac8ea8889c5bc405301d1f6d38de04c1ef863a4e  kcptun-windows-386-20190718.tar.gz
932d4a618ab185af4ca9abd076e39d42b1321191  kcptun-windows-amd64-20190718.tar.gz

$ date
2019年 7月18日 星期四 14时24分53秒 CST

optimizations on -tcp option for linux

17 Jul 07:58
Compare
Choose a tag to compare
  1. support -tcp option for linux(EXPERIMENTAL) . To enable tcp transmission, you should enable it on both client and server, supported only under LINUX with iptables, require root privilege.

  2. fix a potential race between cleaner() goroutine and WriteTo()

discussion on this release:
#696

$ go version
go version go1.12.7 linux/amd64

$ uname -a
Linux DESKTOP-7FL7RC4 4.4.0-18362-Microsoft #1-Microsoft Mon Mar 18 12:02:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux

$ shasum *.tar.gz
763b43bce8d34c586af0884794d7aac7e2e9bf0d  kcptun-darwin-amd64-20190717.tar.gz
db735672cb10b5a2958d52429bc7afab175b047e  kcptun-freebsd-amd64-20190717.tar.gz
c95d9bb6117289b195401fc2e1b6a1d2ae7a3828  kcptun-linux-386-20190717.tar.gz
834498340bfcf6d3bcaa1cb3b2d9dd6b969353fb  kcptun-linux-amd64-20190717.tar.gz
de131900a1d7efb5299d7050c68a7877d721042c  kcptun-linux-arm5-20190717.tar.gz
34b15b668bc1c20d11a3545f8b8d53900796e3b7  kcptun-linux-arm6-20190717.tar.gz
3ca2abec040c11af1c59ddcb45c23e90840006a0  kcptun-linux-arm64-20190717.tar.gz
5d481cbe3e09009056e8c9bf2443cd3ae2995e10  kcptun-linux-arm7-20190717.tar.gz
53e030e7594905cba846d2a271035f6fe757f478  kcptun-linux-mips-20190717.tar.gz
3d2449b1b56be927446edd6a3aaabb1523552fd1  kcptun-linux-mipsle-20190717.tar.gz
ad92a7f49ac94d89583b32a8b874b9e68532b129  kcptun-windows-386-20190717.tar.gz
0bf62af3a6af3ea271310dbc57ad9679f94bcb4d  kcptun-windows-amd64-20190717.tar.gz

$ date
Wed Jul 17 15:55:36 CST 2019