= CHANGELOG

== 1.3.0

* Tested with OTP R16B+ on Linux, FreeBSD, OSX and Windows
* Add ssl to the list of dependencies
* Add ranch:info/0 and ranch:procs/2 to retrieve Ranch state information
* Allow configuring a listener with only SNI, without a default certificate
* Blacklist transport options instead of whitelist
** Unknown options are now allowed, but will result in a Dialyzer warning
* Add many transport options typespecs and documentation
* Don't silently drop the accept rate when running out of fds
* Prevent a race condition when stopping listeners
* Improve reporting for common errors, for example eaddrinuse
* Fix double removal of connections bug
** The number of active connections should now be exact
* Fix stuck acceptor bug when controlling_socket returned errors
* Numerous documentation and examples improvements

== 1.2.1

* Fix bug preventing node shutdown when SSL is used with OTP 17.1+
* Tune restart intensity in all supervisors

== 1.2.0


* Allow the supervised process and the process owning the socket to be different
* Add many transport options (please refer to the documentation)
* Add function ranch:get_addr/1 to retrieve both IP and port of listener
* Don't pass Ranch-specific options down to transports
** Should make Dialyzer happy in user projects.
** New types ranch:opt(), ranch_tcp:opt(), ranch_ssl:ssl_opt() and ranch_ssl:opt()
* Fix crash when filtering unknown options out
* Print a warning for each option filtered out
* Handle Transport:controlling_socket/2 errors and close the socket
* Handle Protocol:start_link/4 crashes to avoid killing all active connections
* Use Asciidoc for documentation.
* Test Ranch across 14 Erlang versions on CircleCI.
* Improve and document test suites with recent ct_helper improvements.
* Fix a number of intermittent test issues.

== 1.1.0

* Add Transport:secure/0
* Add SSL partial_chain option
* Stop reporting errors on {error, closed} in accept_ack

== 1.0.0

* Initial release.
