diff options
author | Loïc Hoguin <[email protected]> | 2020-11-20 11:08:59 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2020-11-20 11:08:59 +0100 |
commit | 338611332e05e2a35a70f11edd36b050843bcee8 (patch) | |
tree | 7d7f76f9e1234b8774bb33aafb7a3fd8a637d5d5 /_build/content/articles/gun-2.0.0-rc.1.asciidoc | |
parent | 39edafff315c25d90aa0b264559a5fa14153b62f (diff) | |
download | ninenines.eu-338611332e05e2a35a70f11edd36b050843bcee8.tar.gz ninenines.eu-338611332e05e2a35a70f11edd36b050843bcee8.tar.bz2 ninenines.eu-338611332e05e2a35a70f11edd36b050843bcee8.zip |
Gun 2.0.0-rc.1
Diffstat (limited to '_build/content/articles/gun-2.0.0-rc.1.asciidoc')
-rw-r--r-- | _build/content/articles/gun-2.0.0-rc.1.asciidoc | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/_build/content/articles/gun-2.0.0-rc.1.asciidoc b/_build/content/articles/gun-2.0.0-rc.1.asciidoc new file mode 100644 index 00000000..3d99038f --- /dev/null +++ b/_build/content/articles/gun-2.0.0-rc.1.asciidoc @@ -0,0 +1,71 @@ ++++ +date = "2020-11-19T07:00:00+01:00" +title = "Gun 2.0 release candidate 1" + ++++ + +Gun `2.0.0-rc.1` has been released! + +Gun 2.0 adds a ton of features along with a small number +of breaking changes. + +Gun 2.0 includes state of the art tunnel support. With +Gun 2.0 it is possible to make requests or data go through +any number of proxy endpoints using any combination of +TCP or TLS transports and HTTP/1.1, HTTP/2 or SOCKS5 +protocols. All combinations of the scenario Proxy1 -> +Proxy2 -> Origin are tested and known to work. + +You can watch a demo of the tunnel support below. This +video is the first of its kind. If you like it, or you +don't like it, please tell me! I intend to continue +producing those on a semi-regular basis. Watch: + +++++ +<video src="/res/gun2_unlimited_proxy_demo.webm" controls + width="640" height="360"> +</video> +++++ + +Gun 2.0 can now be used to send and receive raw data, +as if it was just a normal socket. This can be +useful when needing to connect through a number +of HTTP/SOCKS5 proxies, allowing the use of Gun's +great proxying capabilities for non-Web protocols. +This can also be useful when performing HTTP/1.1 +Upgrade to custom protocols. + +Gun 2.0 adds many more features such as Websocket over +HTTP/2, a built-in cookie store, graceful shutdown, flow +control for data messages, event handlers and more. + +Gun 2.0 greatly improves the HTTP/2 performance when it +comes to receiving large response bodies; and when receiving +response bodies from many separate requests concurrently. + +Gun now shares much of its HTTP/2 code with Cowboy, +including the HTTP/2 state machine. Numerous issues were +fixed as a result because the Cowboy implementation was +much more advanced. + +The Gun connection process is now implemented using `gen_statem`. + +Gun 2.0 requires Erlang/OTP 22.0 or greater and is tested +and supported on Linux, FreeBSD, macOS and Windows. + +A complete +list of changes can be found in the migration guide: +https://ninenines.eu/docs/en/gun/2.0/guide/migrating_from_1.3/[Migrating from Gun 1.3 to 2.0]. + +At the time of writing my next big task will be implementing +HTTP/3 and QUIC. In order to maximize the time I spend on +this task I am looking for funds. You can use the sponsors +link below or contact me with offers at +mailto:[email protected][[email protected]]. I am open +to any and all suggestions. + +You can donate to this project via +https://github.com/sponsors/essen[GitHub Sponsors]. + +As usual, feedback is appreciated, and issues or +questions should be sent via Github tickets. Thanks! |