diff options
author | Loïc Hoguin <[email protected]> | 2018-04-30 15:12:09 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2018-04-30 15:12:09 +0200 |
commit | 5d5f3f846103ae24fbebaec294bc8b0390df8c4e (patch) | |
tree | d8c40042014bb63d4a0cd66a9ae351c4aae78f23 /doc/src | |
parent | 42439b93dba228b2caa078fddd8ad4716f113d90 (diff) | |
download | cowboy-5d5f3f846103ae24fbebaec294bc8b0390df8c4e.tar.gz cowboy-5d5f3f846103ae24fbebaec294bc8b0390df8c4e.tar.bz2 cowboy-5d5f3f846103ae24fbebaec294bc8b0390df8c4e.zip |
Update Cowboy to 2.4.0
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/guide/book.asciidoc | 2 | ||||
-rw-r--r-- | doc/src/guide/getting_started.asciidoc | 2 | ||||
-rw-r--r-- | doc/src/guide/migrating_from_2.3.asciidoc | 66 |
3 files changed, 69 insertions, 1 deletions
diff --git a/doc/src/guide/book.asciidoc b/doc/src/guide/book.asciidoc index b3d3f75..d3f37e4 100644 --- a/doc/src/guide/book.asciidoc +++ b/doc/src/guide/book.asciidoc @@ -73,6 +73,8 @@ include::middlewares.asciidoc[Middlewares] = Additional information +include::migrating_from_2.3.asciidoc[Migrating from Cowboy 2.3 to 2.4] + include::migrating_from_2.2.asciidoc[Migrating from Cowboy 2.2 to 2.3] include::migrating_from_2.1.asciidoc[Migrating from Cowboy 2.1 to 2.2] diff --git a/doc/src/guide/getting_started.asciidoc b/doc/src/guide/getting_started.asciidoc index 2d2adb0..5ef3f13 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.3.0 +dep_cowboy_commit = 2.4.0 DEP_PLUGINS = cowboy diff --git a/doc/src/guide/migrating_from_2.3.asciidoc b/doc/src/guide/migrating_from_2.3.asciidoc new file mode 100644 index 0000000..6a604f9 --- /dev/null +++ b/doc/src/guide/migrating_from_2.3.asciidoc @@ -0,0 +1,66 @@ +[appendix] +== Migrating from Cowboy 2.3 to 2.4 + +Cowboy 2.4 focused on improving the HTTP/2 implementation. +All existing tests from RFC7540 and the h2spec test suite +now all pass. Numerous options have been added to control +SETTINGS and related behavior. In addition experimental +support for Websocket over HTTP/2 was added. + +=== Features added + +* Add experimental support for Websocket over HTTP/2. + You can use the `enable_connect_protocol` option to + enable. It implements the following draft: + https://tools.ietf.org/html/draft-ietf-httpbis-h2-websockets-01 + +* Add options `max_decode_table_size` and + `max_encode_table_size` to restrict the size of the + HPACK compression dictionary. + +* Add option `max_concurrent_streams` to restrict the + number of HTTP/2 streams that can be opened concurrently. + +* Add options `initial_connection_window_size` and + `initial_stream_window_size` to restrict the size of + the HTTP/2 request body buffers for the whole connection + and per stream, respectively. + +* Add options `max_frame_size_received` and + `max_frame_size_sent` to restrict the size of + HTTP/2 frames. + +* Add option `settings_timeout` to reject clients that + did not send a SETTINGS ack. Note that this currently + may only occur at the beginning of the connection. + +* Update Ranch to 1.5.0 + +* Update Cowlib to 2.3.0 + +=== Bugs fixed + +* Fix the END_STREAM flag for informational responses + when using HTTP/2. + +* Receive and ignore HTTP/2 request trailers if any + for HTTP/2 requests. Request trailer information will + be propagated to the user code in a future release. + +* Reject WINDOW_UPDATE frames that are sent after the + client sent an RST_STREAM. Note that Cowboy will not + keep state information about terminated streams + forever and so the behavior might differ depending + on when the stream was reset. + +* Reject streams that depend on themselves. Note that + Cowboy currently does not implement HTTP/2's priority + mechanisms so this issue was harmless. + +* Reject HTTP/2 requests where the body size is different + than the content-length value. Note that due to how Cowboy + works some requests might go through regardless, for + example when the user code does not read the request body. + +* Fix all existing test failures from RFC7540. This was + mostly incorrect test cases or intermittent failures. |