summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2025-10-08 12:26:04 +0200
committerLoïc Hoguin <[email protected]>2025-10-08 12:26:04 +0200
commit81631a53ac4c81f5b7a5e8d14c705843feb1009c (patch)
treeaf5785796f9f9e243d09618a42c3bbb50f42a05d /docs
parente42e75dcec01ad8e13202c0a24fc48b19d62873a (diff)
downloadninenines.eu-81631a53ac4c81f5b7a5e8d14c705843feb1009c.tar.gz
ninenines.eu-81631a53ac4c81f5b7a5e8d14c705843feb1009c.tar.bz2
ninenines.eu-81631a53ac4c81f5b7a5e8d14c705843feb1009c.zip
Cowboy 2.14.2HEADmaster
Diffstat (limited to 'docs')
-rw-r--r--docs/en/cowboy/2.14/guide/getting_started.asciidoc2
-rw-r--r--docs/en/cowboy/2.14/guide/getting_started/index.html2
-rw-r--r--docs/en/cowboy/2.14/guide/index.html4
-rw-r--r--docs/en/cowboy/2.14/guide/migrating_from_2.13/index.html4
-rw-r--r--docs/en/cowboy/2.14/guide/migrating_from_2.14.asciidoc24
-rw-r--r--docs/en/cowboy/2.14/guide/migrating_from_2.14/index.html199
-rw-r--r--docs/en/cowboy/2.14/guide/performance/index.html4
-rw-r--r--docs/index.xml176
8 files changed, 326 insertions, 89 deletions
diff --git a/docs/en/cowboy/2.14/guide/getting_started.asciidoc b/docs/en/cowboy/2.14/guide/getting_started.asciidoc
index 749b1d1a..fada2e36 100644
--- a/docs/en/cowboy/2.14/guide/getting_started.asciidoc
+++ b/docs/en/cowboy/2.14/guide/getting_started.asciidoc
@@ -69,7 +69,7 @@ fetch and compile Cowboy, and that we will use releases:
PROJECT = hello_erlang
DEPS = cowboy
-dep_cowboy_commit = 2.14.0
+dep_cowboy_commit = 2.14.2
REL_DEPS = relx
diff --git a/docs/en/cowboy/2.14/guide/getting_started/index.html b/docs/en/cowboy/2.14/guide/getting_started/index.html
index 620333f8..8168f979 100644
--- a/docs/en/cowboy/2.14/guide/getting_started/index.html
+++ b/docs/en/cowboy/2.14/guide/getting_started/index.html
@@ -108,7 +108,7 @@ http://www.gnu.org/software/src-highlite -->
<pre><tt><font color="#009900">PROJECT =</font> hello_erlang
<font color="#009900">DEPS =</font> cowboy
-<font color="#009900">dep_cowboy_commit =</font> 2.14.0
+<font color="#009900">dep_cowboy_commit =</font> 2.14.2
<font color="#009900">REL_DEPS =</font> relx
diff --git a/docs/en/cowboy/2.14/guide/index.html b/docs/en/cowboy/2.14/guide/index.html
index d76ae539..ef83062e 100644
--- a/docs/en/cowboy/2.14/guide/index.html
+++ b/docs/en/cowboy/2.14/guide/index.html
@@ -130,7 +130,9 @@
</li>
</ul>
<h2 id="_additional_information">Additional information</h2>
-<ul><li><a href="migrating_from_2.13/">Migrating from Cowboy 2.13 to 2.14</a>
+<ul><li><a href="migrating_from_2.14/">Changes since Cowboy 2.14</a>
+</li>
+<li><a href="migrating_from_2.13/">Migrating from Cowboy 2.13 to 2.14</a>
</li>
<li><a href="migrating_from_2.12/">Migrating from Cowboy 2.12 to 2.13</a>
</li>
diff --git a/docs/en/cowboy/2.14/guide/migrating_from_2.13/index.html b/docs/en/cowboy/2.14/guide/migrating_from_2.13/index.html
index f6301eef..2a2c5fa7 100644
--- a/docs/en/cowboy/2.14/guide/migrating_from_2.13/index.html
+++ b/docs/en/cowboy/2.14/guide/migrating_from_2.13/index.html
@@ -96,8 +96,8 @@
<nav style="margin:1em 0">
- <a style="float:left" href="https://ninenines.eu/docs/en/cowboy/2.14/guide/performance/">
- Performance
+ <a style="float:left" href="https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.14/">
+ Changes since Cowboy 2.14
</a>
diff --git a/docs/en/cowboy/2.14/guide/migrating_from_2.14.asciidoc b/docs/en/cowboy/2.14/guide/migrating_from_2.14.asciidoc
new file mode 100644
index 00000000..67ed0f17
--- /dev/null
+++ b/docs/en/cowboy/2.14/guide/migrating_from_2.14.asciidoc
@@ -0,0 +1,24 @@
+[appendix]
+== Changes since Cowboy 2.14
+
+The following patch versions were released since Cowboy 2.14:
+
+=== Cowboy 2.14.2
+
+Cowboy compiled without `COWBOY_QUICER` set would
+have a number of Dialyzer errors. Now in that
+scenario the HTTP/3 code is fully behind ifdefs
+and Dialyzer no longer complains.
+
+Now when `COWBOY_QUICER` isn't set:
+
+ * `cowboy:start_quic/3` is no longer defined.
+ * `cowboy_http3` compiles to an empty module.
+ * `cowboy_quicer` compiles to an empty module.
+
+=== Cowboy 2.14.1
+
+HTTP/2 Websocket did not call `terminate/3` on abrupt
+socket close (without a close frame being sent first).
+This is now fixed. Do note however that the Websocket
+session process must trap exits to call `terminate/3`.
diff --git a/docs/en/cowboy/2.14/guide/migrating_from_2.14/index.html b/docs/en/cowboy/2.14/guide/migrating_from_2.14/index.html
new file mode 100644
index 00000000..a214e08c
--- /dev/null
+++ b/docs/en/cowboy/2.14/guide/migrating_from_2.14/index.html
@@ -0,0 +1,199 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Changes since Cowboy 2.14</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=7" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+ </head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>Changes since Cowboy 2.14</span></h1>
+
+<p>The following patch versions were released since Cowboy 2.14:</p>
+<h2 id="_cowboy_2_14_2">Cowboy 2.14.2</h2>
+<p>Cowboy compiled without <code>COWBOY_QUICER</code> set would have a number of Dialyzer errors. Now in that scenario the HTTP/3 code is fully behind ifdefs and Dialyzer no longer complains.</p>
+<p>Now when <code>COWBOY_QUICER</code> isn&apos;t set:</p>
+<ul><li><code>cowboy:start_quic/3</code> is no longer defined.
+</li>
+<li><code>cowboy_http3</code> compiles to an empty module.
+</li>
+<li><code>cowboy_quicer</code> compiles to an empty module.
+</li>
+</ul>
+<h2 id="_cowboy_2_14_1">Cowboy 2.14.1</h2>
+<p>HTTP/2 Websocket did not call <code>terminate/3</code> on abrupt socket close (without a close frame being sent first). This is now fixed. Do note however that the Websocket session process must trap exits to call <code>terminate/3</code>.</p>
+
+
+
+
+
+
+
+
+
+
+
+ <nav style="margin:1em 0">
+
+ <a style="float:left" href="https://ninenines.eu/docs/en/cowboy/2.14/guide/performance/">
+ Performance
+ </a>
+
+
+
+ <a style="float:right" href="https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.13/">
+ Migrating from Cowboy 2.13 to 2.14
+ </a>
+
+ </nav>
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Cowboy
+ 2.14
+
+ User Guide
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/cowboy/2.14/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/cowboy/2.14/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/cowboy/2.14/guide">2.14</a></li>
+
+ <li><a href="/docs/en/cowboy/2.13/guide">2.13</a></li>
+
+ <li><a href="/docs/en/cowboy/2.12/guide">2.12</a></li>
+
+ <li><a href="/docs/en/cowboy/2.11/guide">2.11</a></li>
+
+ <li><a href="/docs/en/cowboy/2.10/guide">2.10</a></li>
+
+ <li><a href="/docs/en/cowboy/2.9/guide">2.9</a></li>
+
+ <li><a href="/docs/en/cowboy/2.8/guide">2.8</a></li>
+
+ <li><a href="/docs/en/cowboy/2.7/guide">2.7</a></li>
+
+ <li><a href="/docs/en/cowboy/2.6/guide">2.6</a></li>
+
+</ul>
+
+<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
+<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
+<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
+<input type="hidden" name="cmd" value="_donations">
+<input type="hidden" name="business" value="[email protected]">
+<input type="hidden" name="lc" value="FR">
+<input type="hidden" name="item_name" value="Loic Hoguin">
+<input type="hidden" name="item_number" value="99s">
+<input type="hidden" name="currency_code" value="EUR">
+<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
+<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
+<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
+</form><p>Recurring payment options are also available via <a href="https://github.com/sponsors/essen">GitHub Sponsors</a>. These funds are used to cover the recurring expenses like food, dedicated servers or domain names.</p>
+
+
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/cowboy/2.14/guide/performance/index.html b/docs/en/cowboy/2.14/guide/performance/index.html
index c6fed0c3..55fe01f6 100644
--- a/docs/en/cowboy/2.14/guide/performance/index.html
+++ b/docs/en/cowboy/2.14/guide/performance/index.html
@@ -85,8 +85,8 @@
- <a style="float:right" href="https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.13/">
- Migrating from Cowboy 2.13 to 2.14
+ <a style="float:right" href="https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.14/">
+ Changes since Cowboy 2.14
</a>
</nav>
diff --git a/docs/index.xml b/docs/index.xml
index d03b5715..0db3a2b3 100644
--- a/docs/index.xml
+++ b/docs/index.xml
@@ -4148,6 +4148,18 @@ One process per connection The first version of Cowboy featured a single process
</item>
<item>
+ <title>Changes since Cowboy 2.14</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.14/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.14/</guid>
+ <description>The following patch versions were released since Cowboy 2.14:
+Cowboy 2.14.2 Cowboy compiled without COWBOY_QUICER set would have a number of Dialyzer errors. Now in that scenario the HTTP/3 code is fully behind ifdefs and Dialyzer no longer complains.
+Now when COWBOY_QUICER isn&amp;apos;t set:
+cowboy:start_quic/3 is no longer defined. cowboy_http3 compiles to an empty module. cowboy_quicer compiles to an empty module. Cowboy 2.14.1 HTTP/2 Websocket did not call terminate/3 on abrupt socket close (without a close frame being sent first).</description>
+ </item>
+
+ <item>
<title>Migrating from Cowboy 2.10 to 2.11</title>
<link>https://ninenines.eu/docs/en/cowboy/2.11/guide/migrating_from_2.10/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -4181,17 +4193,6 @@ Features added The option dynamic_buffer has been added. When enabled, Cowboy wi
</item>
<item>
- <title>Migrating from Cowboy 2.13 to 2.14</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.13/</link>
- <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
-
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.13/</guid>
- <description>Cowboy 2.14 adds experimental support for HTTP/3 WebTransport based on the most recent draft. It also has a new data delivery mechanism for HTTP/2 and HTTP/3 Websocket, providing better performance.
-Cowboy 2.14 requires Erlang/OTP 24.0 or greater.
-Features added The relay data delivery mechanism has been added to HTTP/2 and HTTP/3 protocols. Using this mechanism lets the Websocket protocol bypass stream handlers to forward data from the connection process to the Websocket session process, as well as better manage HTTP/2&amp;apos;s flow control.</description>
- </item>
-
- <item>
<title>Migrating from Cowboy 2.7 to 2.8</title>
<link>https://ninenines.eu/docs/en/cowboy/2.8/guide/migrating_from_2.7/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -4298,14 +4299,14 @@ Features added A new HTTP/2 option max_fragmented_header_block_size has been add
</item>
<item>
- <title>Migrating from Cowboy 2.12 to 2.13</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.12/</link>
+ <title>Migrating from Cowboy 2.13 to 2.14</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.13/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.12/</guid>
- <description>Cowboy 2.13 focuses on improving the performance of Websocket, as well as the HTTP protocols. It also contains a variety of new features and bug fixes. In addition, Cowboy 2.13 is the first Cowboy version that contains the experimental HTTP/3 support.
-Cowboy 2.13 requires Erlang/OTP 24.0 or greater.
-Features added The option dynamic_buffer has been added. When enabled, Cowboy will dynamically change the buffer socket option based on how much data it receives.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.13/</guid>
+ <description>Cowboy 2.14 adds experimental support for HTTP/3 WebTransport based on the most recent draft. It also has a new data delivery mechanism for HTTP/2 and HTTP/3 Websocket, providing better performance.
+Cowboy 2.14 requires Erlang/OTP 24.0 or greater.
+Features added The relay data delivery mechanism has been added to HTTP/2 and HTTP/3 protocols. Using this mechanism lets the Websocket protocol bypass stream handlers to forward data from the connection process to the Websocket session process, as well as better manage HTTP/2&amp;apos;s flow control.</description>
</item>
<item>
@@ -4392,14 +4393,14 @@ Cowboy is now using GitHub Actions for CI. The main reason for the move is to re
</item>
<item>
- <title>Migrating from Cowboy 2.11 to 2.12</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.11/</link>
+ <title>Migrating from Cowboy 2.12 to 2.13</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.12/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.11/</guid>
- <description>Cowboy 2.12 contains a small security improvement for the HTTP/2 protocol.
-Cowboy 2.12 requires Erlang/OTP 24.0 or greater.
-Features added A new HTTP/2 option max_fragmented_header_block_size has been added to limit the size of header blocks that are sent over multiple HEADERS and CONTINUATION frames. Update Cowlib to 2.13.0. </description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.12/</guid>
+ <description>Cowboy 2.13 focuses on improving the performance of Websocket, as well as the HTTP protocols. It also contains a variety of new features and bug fixes. In addition, Cowboy 2.13 is the first Cowboy version that contains the experimental HTTP/3 support.
+Cowboy 2.13 requires Erlang/OTP 24.0 or greater.
+Features added The option dynamic_buffer has been added. When enabled, Cowboy will dynamically change the buffer socket option based on how much data it receives.</description>
</item>
<item>
@@ -4485,14 +4486,14 @@ Cowboy 2.9 also contains a small number of tweaks and bug fixes.</description>
</item>
<item>
- <title>Migrating from Cowboy 2.10 to 2.11</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.10/</link>
+ <title>Migrating from Cowboy 2.11 to 2.12</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.11/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.10/</guid>
- <description>Cowboy 2.11 contains a variety of new features and bug fixes. Nearly all previously experimental features are now marked as stable, including Websocket over HTTP/2. Included is a fix for an HTTP/2 protocol CVE.
-Cowboy 2.11 requires Erlang/OTP 24.0 or greater.
-Cowboy is now using GitHub Actions for CI. The main reason for the move is to reduce costs by no longer having to self-host CI runners. The downside is that GitHub runners are less reliable and timing dependent tests are now more likely to fail.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.11/</guid>
+ <description>Cowboy 2.12 contains a small security improvement for the HTTP/2 protocol.
+Cowboy 2.12 requires Erlang/OTP 24.0 or greater.
+Features added A new HTTP/2 option max_fragmented_header_block_size has been added to limit the size of header blocks that are sent over multiple HEADERS and CONTINUATION frames. Update Cowlib to 2.13.0. </description>
</item>
<item>
@@ -4588,14 +4589,14 @@ Cowboy 2.9 also contains a small number of tweaks and bug fixes.</description>
</item>
<item>
- <title>Migrating from Cowboy 2.9 to 2.10</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.9/</link>
+ <title>Migrating from Cowboy 2.10 to 2.11</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.10/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.9/</guid>
- <description>Cowboy 2.10 is a maintenance release adding support for Erlang/OTP 26. The main change is a Cowlib update to fix a compilation error that only occurs starting from OTP 26.
-Cowboy 2.10 requires Erlang/OTP 22.0 or greater.
-Features added Add support for Default value of SameSite cookie attribute. Add support for the stale-* cache-control directives from RFC 5861. Update Cowlib to 2.12.1. Bugs fixed Fix a compilation error in Cowlib when using Erlang/OTP 26.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.10/</guid>
+ <description>Cowboy 2.11 contains a variety of new features and bug fixes. Nearly all previously experimental features are now marked as stable, including Websocket over HTTP/2. Included is a fix for an HTTP/2 protocol CVE.
+Cowboy 2.11 requires Erlang/OTP 24.0 or greater.
+Cowboy is now using GitHub Actions for CI. The main reason for the move is to reduce costs by no longer having to self-host CI runners. The downside is that GitHub runners are less reliable and timing dependent tests are now more likely to fail.</description>
</item>
<item>
@@ -4679,14 +4680,14 @@ Cowboy 2.8 also contains a small number of tweaks and bug fixes. Cowboy 2.8 is t
</item>
<item>
- <title>Migrating from Cowboy 2.8 to 2.9</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.8/</link>
+ <title>Migrating from Cowboy 2.9 to 2.10</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.9/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.8/</guid>
- <description>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.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.9/</guid>
+ <description>Cowboy 2.10 is a maintenance release adding support for Erlang/OTP 26. The main change is a Cowlib update to fix a compilation error that only occurs starting from OTP 26.
+Cowboy 2.10 requires Erlang/OTP 22.0 or greater.
+Features added Add support for Default value of SameSite cookie attribute. Add support for the stale-* cache-control directives from RFC 5861. Update Cowlib to 2.12.1. Bugs fixed Fix a compilation error in Cowlib when using Erlang/OTP 26.</description>
</item>
<item>
@@ -4770,13 +4771,14 @@ Features added Add support for the PROXY protocol header. It can be enabled via
</item>
<item>
- <title>Migrating from Cowboy 2.7 to 2.8</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.7/</link>
+ <title>Migrating from Cowboy 2.8 to 2.9</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.8/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.7/</guid>
- <description>Cowboy 2.8 contains many optimizations for all protocols. HTTP/1.1 has received the largest improvements and Cowboy will now be able to handle noticeably more requests. Thanks to the folks at Stressgrid for helping identify that the performance was lower than it should have been and for benchmarking my many changes and experiments.
-Cowboy 2.8 also contains a small number of tweaks and bug fixes. Cowboy 2.8 is the first Cowboy release, ever, to be consistently green on all tested platforms.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.8/</guid>
+ <description>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.</description>
</item>
<item>
@@ -4863,12 +4865,13 @@ Features added Add support for the PROXY protocol header. It can be enabled via
</item>
<item>
- <title>Migrating from Cowboy 2.6 to 2.7</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.6/</link>
+ <title>Migrating from Cowboy 2.7 to 2.8</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.7/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.6/</guid>
- <description>Cowboy 2.7 improves the HTTP/2 code with optimizations around the sending of DATA and WINDOW_UPDATE frames; graceful shutdown of the connection when the client is going away; and rate limiting mechanisms. New options and mechanisms have also been added to control the amount of memory Cowboy ends up using with both HTTP/1.1 and HTTP/2. Much, but not all, of this work was done to address HTTP/2 CVEs about potential denial of service.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.7/</guid>
+ <description>Cowboy 2.8 contains many optimizations for all protocols. HTTP/1.1 has received the largest improvements and Cowboy will now be able to handle noticeably more requests. Thanks to the folks at Stressgrid for helping identify that the performance was lower than it should have been and for benchmarking my many changes and experiments.
+Cowboy 2.8 also contains a small number of tweaks and bug fixes. Cowboy 2.8 is the first Cowboy release, ever, to be consistently green on all tested platforms.</description>
</item>
<item>
@@ -4953,14 +4956,12 @@ Features added Add option linger_timeout to control how long Cowboy will wait be
</item>
<item>
- <title>Migrating from Cowboy 2.5 to 2.6</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.5/</link>
+ <title>Migrating from Cowboy 2.6 to 2.7</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.6/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.5/</guid>
- <description>Cowboy 2.6 greatly refactored the HTTP/2 code, a large part of which was moved to Cowlib and is now used by both the Cowboy server and the Gun client.
-A large number of tickets were also closed which resulted in many bugs fixed and many features and options added, although some of them are still experimental.
-Features added Add support for the PROXY protocol header. It can be enabled via the proxy_header option.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.6/</guid>
+ <description>Cowboy 2.7 improves the HTTP/2 code with optimizations around the sending of DATA and WINDOW_UPDATE frames; graceful shutdown of the connection when the client is going away; and rate limiting mechanisms. New options and mechanisms have also been added to control the amount of memory Cowboy ends up using with both HTTP/1.1 and HTTP/2. Much, but not all, of this work was done to address HTTP/2 CVEs about potential denial of service.</description>
</item>
<item>
@@ -5025,13 +5026,14 @@ Features added Add experimental support for Websocket over HTTP/2. You can use t
</item>
<item>
- <title>Migrating from Cowboy 2.4 to 2.5</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.4/</link>
+ <title>Migrating from Cowboy 2.5 to 2.6</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.5/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.4/</guid>
- <description>Cowboy 2.5 focused on making the test suites pass. A variety of new features, fixes and improvements have also been worked on.
-Features added Add option linger_timeout to control how long Cowboy will wait before closing the socket when shutting down the connection. This helps avoid the TCP reset problem HTTP/1.1 suffers from. The default is now 1000 ms. It is now possible to stream a response body without using chunked transfer-encoding when the protocol is HTTP/1.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.5/</guid>
+ <description>Cowboy 2.6 greatly refactored the HTTP/2 code, a large part of which was moved to Cowlib and is now used by both the Cowboy server and the Gun client.
+A large number of tickets were also closed which resulted in many bugs fixed and many features and options added, although some of them are still experimental.
+Features added Add support for the PROXY protocol header. It can be enabled via the proxy_header option.</description>
</item>
<item>
@@ -5086,13 +5088,13 @@ Features added Add support for all functions from the module sys. Note that Cowb
</item>
<item>
- <title>Migrating from Cowboy 2.3 to 2.4</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.3/</link>
+ <title>Migrating from Cowboy 2.4 to 2.5</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.4/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.3/</guid>
- <description>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.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.4/</guid>
+ <description>Cowboy 2.5 focused on making the test suites pass. A variety of new features, fixes and improvements have also been worked on.
+Features added Add option linger_timeout to control how long Cowboy will wait before closing the socket when shutting down the connection. This helps avoid the TCP reset problem HTTP/1.1 suffers from. The default is now 1000 ms. It is now possible to stream a response body without using chunked transfer-encoding when the protocol is HTTP/1.</description>
</item>
<item>
@@ -5137,13 +5139,13 @@ Features added Add support for sending trailers at the end of response bodies. T
</item>
<item>
- <title>Migrating from Cowboy 2.2 to 2.3</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.2/</link>
+ <title>Migrating from Cowboy 2.3 to 2.4</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.3/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.2/</guid>
- <description>Cowboy 2.3 focused on making the Cowboy processes behave properly according to OTP principles. This version is a very good milestone toward that goal and most of everything should now work. Release upgrades and a few details will be improved in future versions.
-Features added Add support for all functions from the module sys. Note that Cowboy currently does not implement the sys debugging mechanisms as tracing is recommended instead. Add a max_frame_size option for Websocket handlers to close the connection when the client attempts to send a frame that&amp;apos;s too large.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.3/</guid>
+ <description>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.</description>
</item>
<item>
@@ -5178,13 +5180,13 @@ Features added It is now possible to obtain the client TLS certificate and the l
</item>
<item>
- <title>Migrating from Cowboy 2.1 to 2.2</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.1/</link>
+ <title>Migrating from Cowboy 2.2 to 2.3</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.2/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.1/</guid>
- <description>Cowboy 2.2 focused on adding features required for writing gRPC servers and on completing test suites for the core HTTP RFCs, fixing many bugs along the way.
-Features added Add support for sending trailers at the end of response bodies. Trailers are additional header fields that may be sent after the body to add more information to the response. Their usage is required in gRPC servers. They are optional and may be discarded in other scenarios (for example if the request goes through an HTTP/1.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.2/</guid>
+ <description>Cowboy 2.3 focused on making the Cowboy processes behave properly according to OTP principles. This version is a very good milestone toward that goal and most of everything should now work. Release upgrades and a few details will be improved in future versions.
+Features added Add support for all functions from the module sys. Note that Cowboy currently does not implement the sys debugging mechanisms as tracing is recommended instead. Add a max_frame_size option for Websocket handlers to close the connection when the client attempts to send a frame that&amp;apos;s too large.</description>
</item>
<item>
@@ -5209,13 +5211,13 @@ Compatibility Compatibility with Erlang/OTP R16, 17 and 18 has been dropped. Erl
</item>
<item>
- <title>Migrating from Cowboy 2.0 to 2.1</title>
- <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.0/</link>
+ <title>Migrating from Cowboy 2.1 to 2.2</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.1/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
- <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.0/</guid>
- <description>Cowboy 2.1 focused on adding features that were temporarily removed in Cowboy 2.0. A number of bugs found in the 2.0 release were also fixed.
-Features added It is now possible to obtain the client TLS certificate and the local IP/port for the connection from the Req object. Informational responses (1XX responses) can now be sent. They must be sent before initiating the final response. The expect: 100-continue header is now handled automatically.</description>
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.1/</guid>
+ <description>Cowboy 2.2 focused on adding features required for writing gRPC servers and on completing test suites for the core HTTP RFCs, fixing many bugs along the way.
+Features added Add support for sending trailers at the end of response bodies. Trailers are additional header fields that may be sent after the body to add more information to the response. Their usage is required in gRPC servers. They are optional and may be discarded in other scenarios (for example if the request goes through an HTTP/1.</description>
</item>
<item>
@@ -5229,6 +5231,16 @@ HTTP IANA Registries HTTP Method Registry HTTP Status Code Registry Message He
</item>
<item>
+ <title>Migrating from Cowboy 2.0 to 2.1</title>
+ <link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.0/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_2.0/</guid>
+ <description>Cowboy 2.1 focused on adding features that were temporarily removed in Cowboy 2.0. A number of bugs found in the 2.0 release were also fixed.
+Features added It is now possible to obtain the client TLS certificate and the local IP/port for the connection from the Req object. Informational responses (1XX responses) can now be sent. They must be sent before initiating the final response. The expect: 100-continue header is now handled automatically.</description>
+ </item>
+
+ <item>
<title>Migrating from Cowboy 1.0 to 2.0</title>
<link>https://ninenines.eu/docs/en/cowboy/2.14/guide/migrating_from_1.0/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -5976,7 +5988,7 @@ cowboy(3) - Listener management cowboy_req(3) - Request and response cowboy_ro
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://ninenines.eu/docs/en/cowboy/2.14/guide/</guid>
- <description>Rationale The modern Web Erlang and the Web Introduction Introduction Getting started Flow diagram Configuration Listeners Routing Constraints Handlers Handlers Loop handlers Static files Request and response Request details Reading the request body Sending a response Using cookies Multipart REST REST principles Handling REST requests REST flowcharts Designing a resource handler Websocket The Websocket protocol Websocket handlers Advanced Streams Middlewares Performance Additional information Migrating from Cowboy 2.</description>
+ <description>Rationale The modern Web Erlang and the Web Introduction Introduction Getting started Flow diagram Configuration Listeners Routing Constraints Handlers Handlers Loop handlers Static files Request and response Request details Reading the request body Sending a response Using cookies Multipart REST REST principles Handling REST requests REST flowcharts Designing a resource handler Websocket The Websocket protocol Websocket handlers Advanced Streams Middlewares Performance Additional information Changes since Cowboy 2.</description>
</item>
<item>