From 7423a7bb6dde5edc26283544956ae7387fa69688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 14 Nov 2018 11:53:27 +0100 Subject: Update the migration guide for 1.7 --- README.asciidoc | 4 +-- doc/src/guide/book.asciidoc | 2 +- doc/src/guide/migrating_from_1.6.asciidoc | 49 +++++++++++++++++++++++++------ 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/README.asciidoc b/README.asciidoc index 8af85fb..aa702b7 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -19,8 +19,8 @@ to close any of the currently opened sockets. == Online documentation -* https://ninenines.eu/docs/en/ranch/1.6/guide[User guide] -* https://ninenines.eu/docs/en/ranch/1.6/manual[Function reference] +* https://ninenines.eu/docs/en/ranch/1.7/guide[User guide] +* https://ninenines.eu/docs/en/ranch/1.7/manual[Function reference] == Offline documentation diff --git a/doc/src/guide/book.asciidoc b/doc/src/guide/book.asciidoc index 7e8495d..b8587ab 100644 --- a/doc/src/guide/book.asciidoc +++ b/doc/src/guide/book.asciidoc @@ -29,7 +29,7 @@ include::internals.asciidoc[Internals] include::upcoming_2.0_changes.asciidoc[Upcoming changes in Ranch 2.0] -include::migrating_from_1.6.asciidoc[Changes since Ranch 1.6] +include::migrating_from_1.6.asciidoc[Migrating from Ranch 1.6 to 1.7] include::migrating_from_1.5.asciidoc[Migrating from Ranch 1.5 to 1.6] diff --git a/doc/src/guide/migrating_from_1.6.asciidoc b/doc/src/guide/migrating_from_1.6.asciidoc index 6e94fad..f0c32e8 100644 --- a/doc/src/guide/migrating_from_1.6.asciidoc +++ b/doc/src/guide/migrating_from_1.6.asciidoc @@ -1,15 +1,46 @@ [appendix] -== Changes since Ranch 1.6 +== Migrating from Ranch 1.6 to 1.7 -The following patch versions were released since Ranch 1.6: +Ranch 1.7 adds built-in support for the PROXY protocol. -=== Ranch 1.6.2 +The PROXY protocol is a simple and efficient way for proxies +to transmit information about the client. -This release fixes an issue where listener information would -not get cleaned up when an embedded listener was stopped. +While a third-party library already existed, it was not +entirely compatible with the Ranch interface, in particular +when socket active mode was involved. This new implementation +fixes that and supports the full protocol with as little +overhead as possible compared to normal operations: just one +extra function call. -=== Ranch 1.6.1 +Ranch 1.7 is compatible with Erlang/OTP 19.0 onward. Support +for Erlang/OTP 18 has been removed. -This release fixes a minor issue in the README and adds an -undocumented function to help Cowboy deal with the transition -from list to map for the transport options. +=== Features added + +* Full support for the PROXY protocol was added. + +=== New functions + +* Add the function `ranch:recv_proxy_header/2` to receive + the PROXY protocol header and parse it. It must be called + before `ranch:handshake/1,2`. + +* Add the functions `ranch_proxy_header:parse/1` and + `ranch_proxy_header:header/1,2` to parse and build a + PROXY protocol header, respectively. + +=== Bugs fixed + +* Fix a race condition when the listener is restarted + after `ranch_listener_sup` crashes. This resulted in + the original options being used even if the options + were updated at runtime. + +* Make the acceptors exit instead of crash when the + listening socket has been closed to prevent + unnecessary logs. + +* Fix an issue where listener information would not get + cleaned up when an embedded listener was stopped. This + was fixed in Ranch 1.6.2. -- cgit v1.2.3