<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ranch.git/src, branch 1.2.1</title>
<subtitle>Socket acceptor pool for TCP protocols.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/'/>
<entry>
<title>Update to 1.2.1</title>
<updated>2015-12-18T16:03:55+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-12-18T16:03:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=a5d2efcde9a34ad38ab89a26d98ea5335e88625a'/>
<id>a5d2efcde9a34ad38ab89a26d98ea5335e88625a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use the default restart intensity in all supervisors</title>
<updated>2015-12-18T15:05:51+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-12-18T15:05:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=ae8ff1fc0fcac71f24958962a362800775b43b41'/>
<id>ae8ff1fc0fcac71f24958962a362800775b43b41</id>
<content type='text'>
This reduces from 10 restarts in 10 seconds to 1 restart
in 5 seconds. This is the new default in OTP 18, and it
fits the kinds of processes that Ranch deals with:

* Supervisors: default makes sense.

* Acceptors: they crash on socket error. They'll probably
  crash again if the socket didn't change.

* Connection processes: they are never restarted.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reduces from 10 restarts in 10 seconds to 1 restart
in 5 seconds. This is the new default in OTP 18, and it
fits the kinds of processes that Ranch deals with:

* Supervisors: default makes sense.

* Acceptors: they crash on socket error. They'll probably
  crash again if the socket didn't change.

* Connection processes: they are never restarted.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix node shutdown getting stuck</title>
<updated>2015-12-18T14:46:39+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-12-18T14:46:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=cfb5386fafaa8ba75bb4720403e90b2581643f9f'/>
<id>cfb5386fafaa8ba75bb4720403e90b2581643f9f</id>
<content type='text'>
When SSL is stopped before Ranch, the acceptors crash and
Ranch tries to restart them. The problem is that the
ranch_ssl:listen/1 call was trying to start the SSL
application to make sure it works (an old artifact from
when releases were not ubiquitous). Because the application
controller is trying to shutdown Ranch, and Ranch tries to
tell it to start an application, everything would get stuck.

To avoid a breaking change, we move this in the start_listener
call (or child_spec). Note that there are still logs when the
SSL application is closed, because the acceptors crash. But
at least we don't block node shutdown anymore.

In Ranch 2.0, we will implement the proper fix which is to
simply depend on the SSL application normally. Nowadays, it's
not too difficult to build a release that excludes applications
we don't want, although we should document that in the Ranch
user guide.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When SSL is stopped before Ranch, the acceptors crash and
Ranch tries to restart them. The problem is that the
ranch_ssl:listen/1 call was trying to start the SSL
application to make sure it works (an old artifact from
when releases were not ubiquitous). Because the application
controller is trying to shutdown Ranch, and Ranch tries to
tell it to start an application, everything would get stuck.

To avoid a breaking change, we move this in the start_listener
call (or child_spec). Note that there are still logs when the
SSL application is closed, because the acceptors crash. But
at least we don't block node shutdown anymore.

In Ranch 2.0, we will implement the proper fix which is to
simply depend on the SSL application normally. Nowadays, it's
not too difficult to build a release that excludes applications
we don't want, although we should document that in the Ranch
user guide.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update to 1.2.0</title>
<updated>2015-11-16T16:02:34+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-11-16T16:02:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=cbfed2c3c70f7ef4bef3479e65acc10d08903304'/>
<id>cbfed2c3c70f7ef4bef3479e65acc10d08903304</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update to 1.2.0-rc.1</title>
<updated>2015-10-16T12:33:58+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-10-16T12:33:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=c0566d4d986b9d143a7b066f52383652da5f7f74'/>
<id>c0566d4d986b9d143a7b066f52383652da5f7f74</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add an error message when Transport:listen fails</title>
<updated>2015-08-25T20:14:48+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-08-25T20:14:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=828ca8939b9f71af4416eff06a453f30ce95ceb3'/>
<id>828ca8939b9f71af4416eff06a453f30ce95ceb3</id>
<content type='text'>
Should be more user friendly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Should be more user friendly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ranch:get_addr/1</title>
<updated>2015-08-25T16:49:58+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-08-25T16:49:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=236d0f8eec82eb43c566d4aa6d2532e1318665f3'/>
<id>236d0f8eec82eb43c566d4aa6d2532e1318665f3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Print a warning when discarding an option on listener startup</title>
<updated>2015-08-22T12:03:50+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-08-22T12:03:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=309f8bacf62efa1bcf6b85bfabc7ae45b6544b79'/>
<id>309f8bacf62efa1bcf6b85bfabc7ae45b6544b79</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure ranch_conns_sup doesn't crash on protocol start crash</title>
<updated>2015-08-20T14:05:50+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-08-20T14:05:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=ee1f82782835096208059ea14d52bf2cc0283323'/>
<id>ee1f82782835096208059ea14d52bf2cc0283323</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests and more docs about separate supervisor/connection</title>
<updated>2015-08-20T12:28:16+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2015-08-20T12:28:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/ranch.git/commit/?id=c867ec582d445b251ff659ba23f522b5278d5119'/>
<id>c867ec582d445b251ff659ba23f522b5278d5119</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
