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

Add changelog for Ranch 2.1

Includes the alarms feature that has yet to be merged.
Loïc Hoguin 3 лет назад
Родитель
Сommit
51f3f45f14
2 измененных файлов с 72 добавлено и 0 удалено
  1. 2 0
      doc/src/guide/book.asciidoc
  2. 70 0
      doc/src/guide/migrating_from_2.0.asciidoc

+ 2 - 0
doc/src/guide/book.asciidoc

@@ -29,6 +29,8 @@ include::internals.asciidoc[Internals]
 
 = Additional information
 
+include::migrating_from_2.0.asciidoc[Migrating from Ranch 2.0 to 2.1]
+
 include::migrating_from_1.7.asciidoc[Migrating from Ranch 1.7 to 2.0]
 
 include::migrating_from_1.6.asciidoc[Migrating from Ranch 1.6 to 1.7]

+ 70 - 0
doc/src/guide/migrating_from_2.0.asciidoc

@@ -0,0 +1,70 @@
+[appendix]
+== Migrating from Ranch 2.0 to Ranch 2.1
+
+Ranch 2.1 adds counters and alarms.
+
+The https://github.com/juhlig/prometheus_ranch[Prometheus collector]
+was updated to include accepted/terminated connections
+metrics.
+
+Ranch 2.1 is compatible with Erlang/OTP 22.0 onward. Support
+for Erlang/OTP 22 has been removed.
+
+=== Features added
+
+* Metrics are now provided by `ranch:info/0,1`. Currently
+  includes accepted/terminated connection counts per
+  connection supervisor.
+
+* Alarms can now be configured. The only alarm currently
+  available is `num_connections`. When the number of
+  connections goes over a configurable treshold Ranch
+  will call the given callback. This can be used to
+  programmatically shut down idle connections to
+  make up space for new connections, for example.
+
+* A `post_listen` callback option has been added. It
+  receives sockets immediately after the `Transport:listen/1`
+  call. It can be used for some additional initialization
+  of the socket, such as setting file permissions on
+  Unix domain sockets.
+
+* It is now possible to use TLS-PSK authentication
+  without having to specify a default certificate
+  for TLS < 1.3.
+
+=== Experimental features added
+
+* The `inet_backend` option is now properly handled
+  and tested for TCP listeners. This allows using
+  the experimental `socket` backend. The `socket`
+  backend is now tested with Ranch. Note that
+  there are known issues and Windows support is not
+  currently implemented.
+
+=== Changed behaviors
+
+* Ranch will now remove unsupported SSL/TLS options
+  where applicable. A warning will be logged when
+  this happens. Options are only removed when they
+  are not compatible with the selected TLS version
+  and leaving them would prevent the listener from
+  starting.
++
+  The following options are removed when using TLS
+  1.1, 1.2 or 1.3: `beast_mitigation` and `padding_check`.
++
+  The following options are removed when using TLS
+  1.3 exclusively: `client_renegotiation`,
+  `next_protocols_advertised`, `psk_identity`,
+  `reuse_session`, `reuse_sessions`,
+  `secure_renegotiate` and `user_lookup_fun`.
+
+=== Added functions
+
+* The function `ranch_proxy_header:to_connection_info/1`
+  converts PROXY protocol information to the same
+  format as `ssl:connection_information/1`. Because
+  there is little overlap only the `protocol`,
+  `selected_cipher_suite` and `sni_hostname` will
+  be available, however.