Просмотр исходного кода

Update the migration guide for 1.7

Loïc Hoguin 6 лет назад
Родитель
Сommit
7423a7bb6d
3 измененных файлов с 43 добавлено и 12 удалено
  1. 2 2
      README.asciidoc
  2. 1 1
      doc/src/guide/book.asciidoc
  3. 40 9
      doc/src/guide/migrating_from_1.6.asciidoc

+ 2 - 2
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
 

+ 1 - 1
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]
 

+ 40 - 9
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.