From 9c173da6bd647a101bacf38aea488f5e2b304c62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Fri, 27 Sep 2019 10:23:12 +0200 Subject: Gun 2.0.0-pre.1 --- _build/content/articles/gun-2.0.0-pre.1.asciidoc | 72 ++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 _build/content/articles/gun-2.0.0-pre.1.asciidoc (limited to '_build/content/articles') diff --git a/_build/content/articles/gun-2.0.0-pre.1.asciidoc b/_build/content/articles/gun-2.0.0-pre.1.asciidoc new file mode 100644 index 00000000..05680856 --- /dev/null +++ b/_build/content/articles/gun-2.0.0-pre.1.asciidoc @@ -0,0 +1,72 @@ ++++ +date = "2019-09-27T07:00:00+01:00" +title = "Gun 2.0 pre-release 1" + ++++ + +Gun `2.0.0-pre.1` has been released! + +The first pre-release version of Gun 2.0 has been released! +Gun 2.0 adds a ton of features along with a small number of +breaking changes. + +Before listing the features please note that this pre-release +includes a fix for a potential security vulnerability! This +only applies when Gun is used inside a proxy under specific +circumstances. Please see the migration guide for details. +Since the issue also exists in the previous version I have +released Gun `1.3.1` as well that fixes this issue. + +Much of my focus for Gun 2.0 has been improving the support +for connecting through proxies. Gun now supports both Socks5 +and CONNECT proxies, but most importantly Gun is now able +to tunnel TLS connections through TLS proxies. Gun is also +able to tunnel connections through any combination of proxies, +for example Socks5 TCP to CONNECT TLS to Socks5 TLS to origin +server using TLS. + +Gun does not support HTTP/2 CONNECT yet but this is a planned +feature that will be the main focus for the next pre-release. +Along with it support for Websocket over HTTP/2 will be added +since it reuses the HTTP/2 CONNECT mechanism. + +Other features include the graceful shutdown of connections; +flow control for data messages; or event handlers with many hook +points for instrumentation and other purposes. + +While experimental at the time of the pre-release, Gun can +now be used to send and receive non-HTTP/Websocket data. +Gun can therefore be used as a Socks/CONNECT client for +any protocol. Gun can also use the HTTP/1.1 Upgrade mechanism +to switch to any protocol. This feature will be documented +before the Gun 2.0 release. + +The HTTP/2 code has seen numerous fixes thanks to merging +Gun's and Cowboy's code together. In addition Gun will now +receive HTTP/2 response bodies much faster than before thanks +to better defaults and optimizations. + +Gun 2.0 currently requires Erlang/OTP 20 or above 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]. + +I will have more free time available for consulting or for +paid open source development starting from next week. If you +are interested, drop me an email at mailto:contact@ninenines.eu[contact@ninenines.eu]. +I have gathered that there's interest in a pure Erlang GRPC +implementation, and there's also QUIC and HTTP/3 that will +be ready soon, for example of projects I'd be interested in +working on. + +You can donate to this project via +https://salt.bountysource.com/teams/ninenines[BountySource]. +These funds are used to pay for additional servers for +testing. We will soon add two Raspberry Pi 4 in order +to have some ARM targets when testing. (The Pis are here! +Just need to install now.) + +As usual, feedback is appreciated, and issues or +questions should be sent via Github tickets. Thanks! -- cgit v1.2.3