From 51f3f45f14d5ef746a7dd36c64685ae6bace6fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 6 Sep 2021 12:20:40 +0200 Subject: Add changelog for Ranch 2.1 Includes the alarms feature that has yet to be merged. --- doc/src/guide/book.asciidoc | 2 + doc/src/guide/migrating_from_2.0.asciidoc | 70 +++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 doc/src/guide/migrating_from_2.0.asciidoc diff --git a/doc/src/guide/book.asciidoc b/doc/src/guide/book.asciidoc index 1c8d78a..ce3071e 100644 --- a/doc/src/guide/book.asciidoc +++ b/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] diff --git a/doc/src/guide/migrating_from_2.0.asciidoc b/doc/src/guide/migrating_from_2.0.asciidoc new file mode 100644 index 0000000..37ef62b --- /dev/null +++ b/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. -- cgit v1.2.3