+++
date = "2018-07-27T10:00:00+01:00"
title = "Gun 1.0"

+++

Gun `1.0.0` has been released!

Gun is an HTTP/1.1, HTTP/2 and Websocket client
for Erlang/OTP.

Gun provides an asynchronous interface and will
keep the connection open to the server, reconnecting
as necessary.

Gun has existed for many years as the test client
for Cowboy and is now mature enough to receive a
proper version. Gun is battle tested by customers
and other users but is not the most well tested
client there is.

I have given the Cowboy treatment to the Gun manual:
a separate page per function call with all kind
of useful information, including examples. Since
Gun provides an asynchronous interface, each message
also has a separate manual page. Check it out:
https://ninenines.eu/docs/en/gun/1.0/manual/

Gun 1.0 comes with a number of undocumented features
that you are welcome to try out. They include content
handlers which can be used to decode content on the fly
or Websocket handlers for implementing protocols directly
inside the Gun process. They will be documented as
part of the next few releases.

You can donate to this project via
https://github.com/sponsors/essen[GitHub Sponsors].
These funds are used to pay for additional servers for
testing. A new server was added last month and allows
me to test with additional Linux distributions Alpine,
CentOS and Debian. Thanks in advance!

As usual, feedback is appreciated, and issues or
questions should be sent via Github tickets. Thanks!
