<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gun.git/src, branch http3</title>
<subtitle>HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/'/>
<entry>
<title>Initial HTTP/3 implementation</title>
<updated>2024-03-26T13:10:03+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2023-09-22T14:28:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/commit/?id=6dd58a4ff9deedeeb6029827b936c2e81866cd54'/>
<id>6dd58a4ff9deedeeb6029827b936c2e81866cd54</id>
<content type='text'>
Since quicer, which provides the QUIC implementation,
is a NIF, Gun cannot depend directly on it. In order
to enable QUIC and HTTP/3, users have to set the
GUN_QUICER environment variable:

  export GUN_QUICER=1

Gun is now tested using GitHub Actions. As a result
OTP-24+ is now required. In addition, the number
of OTP releases tested has been reduced; only the
latest of each major version is now tested.

This also updates Erlang.mk.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since quicer, which provides the QUIC implementation,
is a NIF, Gun cannot depend directly on it. In order
to enable QUIC and HTTP/3, users have to set the
GUN_QUICER environment variable:

  export GUN_QUICER=1

Gun is now tested using GitHub Actions. As a result
OTP-24+ is now required. In addition, the number
of OTP releases tested has been reduced; only the
latest of each major version is now tested.

This also updates Erlang.mk.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use public_key:cacerts_get/0 when possible</title>
<updated>2024-03-14T14:41:30+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-03-14T14:41:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/commit/?id=8b5f1609faffcf1166ca54c08df4ca9216c51993'/>
<id>8b5f1609faffcf1166ca54c08df4ca9216c51993</id>
<content type='text'>
Also "fix" many TLS test failures due to yet more changes
in the default options for TLS.

Also small changes to make Dialyzer happy.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also "fix" many TLS test failures due to yet more changes
in the default options for TLS.

Also small changes to make Dialyzer happy.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove client_preferred_next_protocols</title>
<updated>2024-03-14T12:26:24+00:00</updated>
<author>
<name>Viktor Söderqvist</name>
<email>viktor.soderqvist@est.tech</email>
</author>
<published>2023-12-18T21:29:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/commit/?id=5e177270a2be530bbec55381d0fe66a252c3a998'/>
<id>5e177270a2be530bbec55381d0fe66a252c3a998</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update Cowlib to 2.13.0</title>
<updated>2024-03-14T12:25:50+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-03-14T12:25:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/commit/?id=f0c19d6674d792defc181333e20268b785ce4321'/>
<id>f0c19d6674d792defc181333e20268b785ce4321</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix crash when TLS connection closes very early</title>
<updated>2023-06-05T08:54:02+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2023-06-05T08:52:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/commit/?id=48eefebff2d0412bf6fe8a53182ef88a443b293f'/>
<id>48eefebff2d0412bf6fe8a53182ef88a443b293f</id>
<content type='text'>
And ensure that we don't infinite loop when retries are
enabled, by decrementing the retry count instead of using
a new one.

Also check for ssl:negotiated_protocol {error,closed}
which was possible but was not documented in OTP before
this change.

Thanks @voluntas for the help.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And ensure that we don't infinite loop when retries are
enabled, by decrementing the retry count instead of using
a new one.

Also check for ssl:negotiated_protocol {error,closed}
which was possible but was not documented in OTP before
this change.

Thanks @voluntas for the help.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update public domain suffix list</title>
<updated>2023-01-23T13:07:50+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2023-01-23T13:07:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/commit/?id=e45a9255efa15bd612e1703b9e31e557c72b4910'/>
<id>e45a9255efa15bd612e1703b9e31e557c72b4910</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright lines in preparation for release</title>
<updated>2023-01-23T13:01:23+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2023-01-23T13:01:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/commit/?id=e3a8fd19f44d6305e895c930709883a4700e2f61'/>
<id>e3a8fd19f44d6305e895c930709883a4700e2f61</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>macOS: Error out on eaddrnotavail instead of retrying</title>
<updated>2022-12-12T13:38:43+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2022-12-12T13:38:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/commit/?id=e6eaa24f504978eefd4d55be6b4899bd335e84f6'/>
<id>e6eaa24f504978eefd4d55be6b4899bd335e84f6</id>
<content type='text'>
This is to avoid reconnecting forever in a loop on bad
configuration (such as IP in a different subnet).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is to avoid reconnecting forever in a loop on bad
configuration (such as IP in a different subnet).
</pre>
</div>
</content>
</entry>
<entry>
<title>Add keepalive_tolerance http2 option</title>
<updated>2022-12-06T15:47:40+00:00</updated>
<author>
<name>Viktor Söderqvist</name>
<email>viktor.soderqvist@est.tech</email>
</author>
<published>2022-05-12T21:37:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/commit/?id=c1f9122ab2a646df9182e51e3181de6ffa71af0c'/>
<id>c1f9122ab2a646df9182e51e3181de6ffa71af0c</id>
<content type='text'>
The number of unacknowledged pings that can be tolerated
before the connection is forcefully closed.

When a keepalive ping is sent to the peer, a counter is
incremented and if this counter exceeds the tolerance limit,
the connection is forcefully closed. The counter is
decremented whenever a ping ack is received from the peer.

By default, the mechanism for closing the connection based
on ping and ping ack is disabled.

Loïc Hoguin: I have edited a lot of the code and renamed
a few things as well as simplified the docs and increased
test timeouts to avoid race conditions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The number of unacknowledged pings that can be tolerated
before the connection is forcefully closed.

When a keepalive ping is sent to the peer, a counter is
incremented and if this counter exceeds the tolerance limit,
the connection is forcefully closed. The counter is
decremented whenever a ping ack is received from the peer.

By default, the mechanism for closing the connection based
on ping and ping ack is disabled.

Loïc Hoguin: I have edited a lot of the code and renamed
a few things as well as simplified the docs and increased
test timeouts to avoid race conditions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Document Websocket subprotocol negotiation</title>
<updated>2022-12-05T16:22:09+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2022-12-05T16:22:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/gun.git/commit/?id=172800967c2d53251d7cb1015e3c957c5b065bb1'/>
<id>172800967c2d53251d7cb1015e3c957c5b065bb1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
