From 04ca4c5d31a92d4d3de087bbd7d6021dc4a6d409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 12 May 2021 10:24:40 +0200 Subject: Cowboy 2.9.0 --- doc/src/guide/book.asciidoc | 2 ++ doc/src/guide/getting_started.asciidoc | 2 +- doc/src/guide/migrating_from_2.8.asciidoc | 50 +++++++++++++++++++++++++++++++ doc/src/manual/cowboy_http2.asciidoc | 2 ++ 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 doc/src/guide/migrating_from_2.8.asciidoc (limited to 'doc') diff --git a/doc/src/guide/book.asciidoc b/doc/src/guide/book.asciidoc index 0b01b22..0edb99a 100644 --- a/doc/src/guide/book.asciidoc +++ b/doc/src/guide/book.asciidoc @@ -75,6 +75,8 @@ include::performance.asciidoc[Performance] = Additional information +include::migrating_from_2.8.asciidoc[Migrating from Cowboy 2.8 to 2.9] + include::migrating_from_2.7.asciidoc[Migrating from Cowboy 2.7 to 2.8] include::migrating_from_2.6.asciidoc[Migrating from Cowboy 2.6 to 2.7] diff --git a/doc/src/guide/getting_started.asciidoc b/doc/src/guide/getting_started.asciidoc index 7bf97e3..7104d9a 100644 --- a/doc/src/guide/getting_started.asciidoc +++ b/doc/src/guide/getting_started.asciidoc @@ -69,7 +69,7 @@ fetch and compile Cowboy: PROJECT = hello_erlang DEPS = cowboy -dep_cowboy_commit = 2.8.0 +dep_cowboy_commit = 2.9.0 DEP_PLUGINS = cowboy diff --git a/doc/src/guide/migrating_from_2.8.asciidoc b/doc/src/guide/migrating_from_2.8.asciidoc new file mode 100644 index 0000000..a3a0e7c --- /dev/null +++ b/doc/src/guide/migrating_from_2.8.asciidoc @@ -0,0 +1,50 @@ +[appendix] +== Migrating from Cowboy 2.8 to 2.9 + +Cowboy 2.9 implements graceful shutdown of connection +processes for both HTTP/1.1 and HTTP/2 connections. + +Cowboy 2.9 is the first release to support the much +awaited Erlang/OTP 24 out of the box. While users that +were using Ranch 2.0 already were ready for OTP 24, +the Ranch version used by Cowboy out of the box was +not compatible and had to be updated. + +Cowboy 2.9 also contains a small number of tweaks +and bug fixes. + +Cowboy 2.9 requires Erlang/OTP 22.0 or greater. + +=== Features added + +* Cowboy will now gracefully shutdown HTTP/1.1 and HTTP/2 + connections when the supervisor asks the connection + process to exit, or when `sys:terminate/2,3` is used. + Two new configuration options were added for HTTP/2 + to determine the timeouts for the graceful shutdown + steps. + +* REST handler `AcceptCallback` can now return `{created, URI}` + or `{see_other, URI}` to determine what response status code + should be sent (typically to differentiate between a new + resource and an update). The return value `{true, URI}` is + now deprecated. + +* Update Ranch to 1.8.0. + +* Update Cowlib to 2.11.0. + +=== Bugs fixed + +* Fix concurrent body streaming getting stuck with HTTP/2. + The alarm could get into blocking state indefinitely + when two or more request processes were streaming bodies. + +* Fix HTTP/2 rate limiting using the wrong default values + in some cases. + +* Don't produce an error report when the request process + exited normally (`normal` or `shutdown` exit reasons). + +* Fix `cowboy_tracer_h` to support trace messages without + timestamps. diff --git a/doc/src/manual/cowboy_http2.asciidoc b/doc/src/manual/cowboy_http2.asciidoc index de632be..9be1de8 100644 --- a/doc/src/manual/cowboy_http2.asciidoc +++ b/doc/src/manual/cowboy_http2.asciidoc @@ -256,6 +256,8 @@ too many `WINDOW_UPDATE` frames. == Changelog +* *2.9*: The `goaway_initial_timeout` and `goaway_complete_timeout` + options were added. * *2.8*: The `active_n` option was added. * *2.8*: The `linger_timeout` option was added. * *2.8*: The `max_received_frame_rate` default value has -- cgit v1.2.3