diff options
Diffstat (limited to 'articles')
67 files changed, 703 insertions, 53 deletions
diff --git a/articles/asciideck/index.html b/articles/asciideck/index.html index 60c5caa7..ccfc586a 100644 --- a/articles/asciideck/index.html +++ b/articles/asciideck/index.html @@ -109,6 +109,10 @@ http://www.gnu.org/software/src-highlite --> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.0.0-pre.4/index.html b/articles/cowboy-2.0.0-pre.4/index.html index bc90fa98..a9851d44 100644 --- a/articles/cowboy-2.0.0-pre.4/index.html +++ b/articles/cowboy-2.0.0-pre.4/index.html @@ -128,6 +128,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.0.0-rc.1/index.html b/articles/cowboy-2.0.0-rc.1/index.html index 592a64e2..dd909d01 100644 --- a/articles/cowboy-2.0.0-rc.1/index.html +++ b/articles/cowboy-2.0.0-rc.1/index.html @@ -99,6 +99,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.0.0-rc.2/index.html b/articles/cowboy-2.0.0-rc.2/index.html index 50911725..3027b9af 100644 --- a/articles/cowboy-2.0.0-rc.2/index.html +++ b/articles/cowboy-2.0.0-rc.2/index.html @@ -92,6 +92,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.0.0/index.html b/articles/cowboy-2.0.0/index.html index 513d86c8..2742e197 100644 --- a/articles/cowboy-2.0.0/index.html +++ b/articles/cowboy-2.0.0/index.html @@ -98,6 +98,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.1.0/index.html b/articles/cowboy-2.1.0/index.html index 2d45e0cd..29ac1887 100644 --- a/articles/cowboy-2.1.0/index.html +++ b/articles/cowboy-2.1.0/index.html @@ -95,6 +95,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.11.0/index.html b/articles/cowboy-2.11.0/index.html index 561c3622..f78364a5 100644 --- a/articles/cowboy-2.11.0/index.html +++ b/articles/cowboy-2.11.0/index.html @@ -88,6 +88,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.12.0/index.html b/articles/cowboy-2.12.0/index.html index b0f22169..118d825f 100644 --- a/articles/cowboy-2.12.0/index.html +++ b/articles/cowboy-2.12.0/index.html @@ -89,6 +89,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.13.0-performance/index.html b/articles/cowboy-2.13.0-performance/index.html index e1f3d183..fb1a0c59 100644 --- a/articles/cowboy-2.13.0-performance/index.html +++ b/articles/cowboy-2.13.0-performance/index.html @@ -103,6 +103,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.13.0/index.html b/articles/cowboy-2.13.0/index.html new file mode 100644 index 00000000..0aec7b32 --- /dev/null +++ b/articles/cowboy-2.13.0/index.html @@ -0,0 +1,373 @@ +<!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: Cowboy 2.13</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 class="active"><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li><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"> +<div class="container"> +<div class="row"> +<div class="span9 maincol"> + +<article class="blog_item"> +<header> + <h1 class="lined-header"><span>Cowboy 2.13</span></h1> + <p class="date"> + <span class="year">2025</span> + <span class="day-month">18 Feb</span> + </p> +</header> + +<p>Cowboy <code>2.13.0</code> has been released!</p> +<p>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.</p> +<p>The performance improvements were detailed in the <a href="https://ninenines.eu/articles/cowboy-2.13.0-performance/">Performance improvements in Cowboy 2.13</a> article.</p> +<p>Cowboy 2.13 is the first release to feature experimental support for the HTTP/3 protocol, including Websocket over HTTP/3.</p> +<p>Cowboy 2.13 requires Erlang/OTP 24.0 or greater. It is tested and supported on Linux, macOS and Windows.</p> +<p>A complete list of changes can be found in the migration guide: <a href="https://ninenines.eu/docs/en/cowboy/2.13/guide/migrating_from_2.12/">Migrating from Cowboy 2.12 to 2.13</a>.</p> +<p>You can donate to this project via <a href="https://github.com/sponsors/essen">GitHub Sponsors</a>.</p> +<p>As usual, feedback is appreciated, and issues or questions should be sent via Github tickets or discussions. We also have a new Discord server. <a href="https://discord.gg/x25nNq2fFE">Join Erlang OSS Discord now!</a></p> + + +</article> +</div> + +<div class="span3 sidecol"> +<h3>More articles</h3> +<ul id="articles-nav" class="extra_margin"> + + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0-performance/">Performance improvements in Cowboy 2.13</a></li> + + + + <li><a href="https://ninenines.eu/articles/discord-server/">Erlang OSS Discord server</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.12.0/">Cowboy 2.12</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.11.0/">Cowboy 2.11</a></li> + + + + <li><a href="https://ninenines.eu/articles/otp-26/">Erlang/OTP 26</a></li> + + + + <li><a href="https://ninenines.eu/articles/gun-2.0.0/">Gun 2.0</a></li> + + + + <li><a href="https://ninenines.eu/articles/ranch-2.1.0/">Ranch 2.1</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.9.0/">Cowboy 2.9</a></li> + + + + <li><a href="https://ninenines.eu/articles/gun-2.0.0-rc.1/">Gun 2.0 release candidate 1</a></li> + + + + <li><a href="https://ninenines.eu/articles/ranch-2.0.0/">Ranch 2.0</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.8.0/">Cowboy 2.8</a></li> + + + + <li><a href="https://ninenines.eu/articles/the-gateway-trilogy/">The Gateway Trilogy</a></li> + + + + <li><a href="https://ninenines.eu/articles/gun-2.0.0-pre.2/">Gun 2.0 pre-release 2</a></li> + + + + <li><a href="https://ninenines.eu/articles/merry-christmas-2019/">Merry Christmas 2019: New Beginnings</a></li> + + + + <li><a href="https://ninenines.eu/articles/github-sponsors/">GitHub Sponsors</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.7.0/">Cowboy 2.7</a></li> + + + + <li><a href="https://ninenines.eu/articles/gun-2.0.0-pre.1/">Gun 2.0 pre-release 1</a></li> + + + + <li><a href="https://ninenines.eu/articles/erlang-meetup-10-septembre-2019/">Erlang meetup: 10 septembre 2019</a></li> + + + + <li><a href="https://ninenines.eu/articles/ranch-2.0.0-rc.1/">Ranch 2.0 release candidate 1</a></li> + + + + <li><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></li> + + + + <li><a href="https://ninenines.eu/articles/merry-christmas-2018/">Merry Christmas 2018: A Recap</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.6.0/">Cowboy 2.6</a></li> + + + + <li><a href="https://ninenines.eu/articles/ranch-1.7.0/">Ranch 1.7</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.5.0/">Cowboy 2.5</a></li> + + + + <li><a href="https://ninenines.eu/articles/gun-1.3.0/">Gun 1.3</a></li> + + + + <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li> + + + + <li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li> + + + + <li><a href="https://ninenines.eu/articles/gun-1.0.0/">Gun 1.0</a></li> + + + + <li><a href="https://ninenines.eu/articles/asciideck/">Asciideck: Asciidoc for Erlang</a></li> + + + + <li><a href="https://ninenines.eu/articles/gun-1.0.0-rc.1/">Gun 1.0 release candidate 1</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.4.0/">Cowboy 2.4</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.3.0/">Cowboy 2.3</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.2.0/">Cowboy 2.2</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.1.0/">Cowboy 2.1</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.0.0/">Cowboy 2.0</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.2/">Cowboy 2.0 release candidate 2</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.1/">Cowboy 2.0 release candidate 1</a></li> + + + + <li><a href="https://ninenines.eu/articles/the-elephant-in-the-room/">The elephant in the room</a></li> + + + + <li><a href="https://ninenines.eu/articles/dont-let-it-crash/">Don't let it crash</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Cowboy 2.0 pre-release 4</a></li> + + + + <li><a href="https://ninenines.eu/articles/ranch-1.3/">Ranch 1.3</a></li> + + + + <li><a href="https://ninenines.eu/articles/ml-archives/">Mailing list archived</a></li> + + + + <li><a href="https://ninenines.eu/articles/website-update/">Website update</a></li> + + + + <li><a href="https://ninenines.eu/articles/erlanger-playbook-september-2015-update/">The Erlanger Playbook September 2015 Update</a></li> + + + + <li><a href="https://ninenines.eu/articles/erlanger-playbook/">The Erlanger Playbook</a></li> + + + + <li><a href="https://ninenines.eu/articles/erlang-validate-utf8/">Validating UTF-8 binaries with Erlang</a></li> + + + + <li><a href="https://ninenines.eu/articles/on-open-source/">On open source</a></li> + + + + <li><a href="https://ninenines.eu/articles/the-story-so-far/">The story so far</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy2-qs/">Cowboy 2.0 and query strings</a></li> + + + + <li><a href="https://ninenines.eu/articles/january-2014-status/">January 2014 status</a></li> + + + + <li><a href="https://ninenines.eu/articles/farwest-funded/">Farwest got funded!</a></li> + + + + <li><a href="https://ninenines.eu/articles/erlang.mk-and-relx/">Build Erlang releases with Erlang.mk and Relx</a></li> + + + + <li><a href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Xerl: intermediate module</a></li> + + + + <li><a href="https://ninenines.eu/articles/xerl-0.4-expression-separator/">Xerl: expression separator</a></li> + + + + <li><a href="https://ninenines.eu/articles/erlang-scalability/">Erlang Scalability</a></li> + + + + <li><a href="https://ninenines.eu/articles/xerl-0.3-atomic-expressions/">Xerl: atomic expressions</a></li> + + + + <li><a href="https://ninenines.eu/articles/xerl-0.2-two-modules/">Xerl: two modules</a></li> + + + + <li><a href="https://ninenines.eu/articles/xerl-0.1-empty-modules/">Xerl: empty modules</a></li> + + + + <li><a href="https://ninenines.eu/articles/ranch-ftp/">Build an FTP Server with Ranch in 30 Minutes</a></li> + + + + <li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li> + + +</ul> + +<h3>Feedback</h3> +<p>Feel free to <a href="mailto:[email protected]">email us</a> +if you found any mistake or need clarification on any of the +articles.</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 © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + diff --git a/articles/cowboy-2.2.0/index.html b/articles/cowboy-2.2.0/index.html index 49684942..871dc33c 100644 --- a/articles/cowboy-2.2.0/index.html +++ b/articles/cowboy-2.2.0/index.html @@ -93,6 +93,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.3.0/index.html b/articles/cowboy-2.3.0/index.html index c15697e2..ad41bb42 100644 --- a/articles/cowboy-2.3.0/index.html +++ b/articles/cowboy-2.3.0/index.html @@ -85,6 +85,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.4.0/index.html b/articles/cowboy-2.4.0/index.html index c2974367..a71d8046 100644 --- a/articles/cowboy-2.4.0/index.html +++ b/articles/cowboy-2.4.0/index.html @@ -87,6 +87,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.5.0/index.html b/articles/cowboy-2.5.0/index.html index 02e99619..e6f6be96 100644 --- a/articles/cowboy-2.5.0/index.html +++ b/articles/cowboy-2.5.0/index.html @@ -91,6 +91,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.6.0/index.html b/articles/cowboy-2.6.0/index.html index b662f884..6cf18362 100644 --- a/articles/cowboy-2.6.0/index.html +++ b/articles/cowboy-2.6.0/index.html @@ -88,6 +88,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.7.0/index.html b/articles/cowboy-2.7.0/index.html index 719b4506..604508be 100644 --- a/articles/cowboy-2.7.0/index.html +++ b/articles/cowboy-2.7.0/index.html @@ -89,6 +89,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.8.0/index.html b/articles/cowboy-2.8.0/index.html index ef5fe655..8df53254 100644 --- a/articles/cowboy-2.8.0/index.html +++ b/articles/cowboy-2.8.0/index.html @@ -88,6 +88,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy-2.9.0/index.html b/articles/cowboy-2.9.0/index.html index c54f858a..105fd467 100644 --- a/articles/cowboy-2.9.0/index.html +++ b/articles/cowboy-2.9.0/index.html @@ -87,6 +87,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/cowboy2-qs/index.html b/articles/cowboy2-qs/index.html index 1d7c38a4..6202e813 100644 --- a/articles/cowboy2-qs/index.html +++ b/articles/cowboy2-qs/index.html @@ -129,6 +129,10 @@ http://www.gnu.org/software/src-highlite --> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/discord-server/index.html b/articles/discord-server/index.html index fac351ca..8009c348 100644 --- a/articles/discord-server/index.html +++ b/articles/discord-server/index.html @@ -85,6 +85,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/dont-let-it-crash/index.html b/articles/dont-let-it-crash/index.html index d5e9ed8b..42524da9 100644 --- a/articles/dont-let-it-crash/index.html +++ b/articles/dont-let-it-crash/index.html @@ -104,6 +104,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/erlang-meetup-10-septembre-2019/index.html b/articles/erlang-meetup-10-septembre-2019/index.html index 6e75b007..409f0b81 100644 --- a/articles/erlang-meetup-10-septembre-2019/index.html +++ b/articles/erlang-meetup-10-septembre-2019/index.html @@ -84,6 +84,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/erlang-scalability/index.html b/articles/erlang-scalability/index.html index 1de58a9e..9a1aa8d6 100644 --- a/articles/erlang-scalability/index.html +++ b/articles/erlang-scalability/index.html @@ -116,6 +116,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/erlang-validate-utf8/index.html b/articles/erlang-validate-utf8/index.html index 1122acc5..7e44c1dd 100644 --- a/articles/erlang-validate-utf8/index.html +++ b/articles/erlang-validate-utf8/index.html @@ -232,6 +232,10 @@ http://www.gnu.org/software/src-highlite --> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/erlang.mk-and-relx/index.html b/articles/erlang.mk-and-relx/index.html index 1faf7d59..d1385ad0 100644 --- a/articles/erlang.mk-and-relx/index.html +++ b/articles/erlang.mk-and-relx/index.html @@ -118,6 +118,10 @@ cowboy-0.8.5 erlydtl-0.7.0 ninenines-0.2.0 stdlib-1.19.1</pre></div></div> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/erlanger-playbook-september-2015-update/index.html b/articles/erlanger-playbook-september-2015-update/index.html index ee0ec3e2..016cd9e3 100644 --- a/articles/erlanger-playbook-september-2015-update/index.html +++ b/articles/erlanger-playbook-september-2015-update/index.html @@ -87,6 +87,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/erlanger-playbook/index.html b/articles/erlanger-playbook/index.html index 92e8d252..7f917449 100644 --- a/articles/erlanger-playbook/index.html +++ b/articles/erlanger-playbook/index.html @@ -128,6 +128,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/farwest-funded/index.html b/articles/farwest-funded/index.html index ee501b92..f1f867df 100644 --- a/articles/farwest-funded/index.html +++ b/articles/farwest-funded/index.html @@ -88,6 +88,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/github-sponsors/index.html b/articles/github-sponsors/index.html index 00a68b0e..e7910dc0 100644 --- a/articles/github-sponsors/index.html +++ b/articles/github-sponsors/index.html @@ -85,6 +85,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/gun-1.0.0-rc.1/index.html b/articles/gun-1.0.0-rc.1/index.html index 1cbdeb33..b26375f3 100644 --- a/articles/gun-1.0.0-rc.1/index.html +++ b/articles/gun-1.0.0-rc.1/index.html @@ -89,6 +89,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/gun-1.0.0/index.html b/articles/gun-1.0.0/index.html index 531904fa..7731c63c 100644 --- a/articles/gun-1.0.0/index.html +++ b/articles/gun-1.0.0/index.html @@ -88,6 +88,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/gun-1.2.0/index.html b/articles/gun-1.2.0/index.html index 998ada9c..2219e622 100644 --- a/articles/gun-1.2.0/index.html +++ b/articles/gun-1.2.0/index.html @@ -88,6 +88,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/gun-1.3.0/index.html b/articles/gun-1.3.0/index.html index 21261580..15246fe7 100644 --- a/articles/gun-1.3.0/index.html +++ b/articles/gun-1.3.0/index.html @@ -86,6 +86,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/gun-2.0.0-pre.1/index.html b/articles/gun-2.0.0-pre.1/index.html index 69729fa6..8635550e 100644 --- a/articles/gun-2.0.0-pre.1/index.html +++ b/articles/gun-2.0.0-pre.1/index.html @@ -93,6 +93,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/gun-2.0.0-pre.2/index.html b/articles/gun-2.0.0-pre.2/index.html index 3caaaad0..9aa8cca4 100644 --- a/articles/gun-2.0.0-pre.2/index.html +++ b/articles/gun-2.0.0-pre.2/index.html @@ -91,6 +91,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/gun-2.0.0-rc.1/index.html b/articles/gun-2.0.0-rc.1/index.html index a26bb8df..10b3e94c 100644 --- a/articles/gun-2.0.0-rc.1/index.html +++ b/articles/gun-2.0.0-rc.1/index.html @@ -96,6 +96,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/gun-2.0.0/index.html b/articles/gun-2.0.0/index.html index 21f6095b..3053cf81 100644 --- a/articles/gun-2.0.0/index.html +++ b/articles/gun-2.0.0/index.html @@ -98,6 +98,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/index.html b/articles/index.html index a6e2b17f..d1cf2a6a 100644 --- a/articles/index.html +++ b/articles/index.html @@ -65,6 +65,26 @@ <article class="blog_item"> <header> + <h2><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></h2> + <p class="date"> + <span class="year">2025</span> + <span class="day-month">18 Feb</span> + </p> + </header> + + <p>Cowboy 2.13.0 has been released! +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. +The performance improvements were detailed in the Performance improvements in Cowboy 2.13 article. +Cowboy 2.13 is the first release to feature experimental support for the HTTP/3 protocol, including Websocket over HTTP/3. +Cowboy 2.13 requires Erlang/OTP 24.0 or greater. It is tested and supported on Linux, macOS and Windows.</p> + + <p style="text-align:right"> + <a class="read_more" href="https://ninenines.eu/articles/cowboy-2.13.0/">Read More</a> + </p> + </article> + + <article class="blog_item"> + <header> <h2><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></h2> <p class="date"> <span class="year">2025</span> @@ -407,24 +427,6 @@ Je serai au meetup Erlang le 10 septembre chez Datadog à Paris.</p> </p> </article> - <article class="blog_item"> - <header> - <h2><a href="https://ninenines.eu/articles/ranch-2.0.0-rc.1/">Ranch 2.0 release candidate 1</a></h2> - <p class="date"> - <span class="year">2019</span> - <span class="day-month">18 Jul</span> - </p> - </header> - - <p>Ranch 2.0.0-rc.1 has been released! -We are getting very close to releasing Ranch 2.0! As most of the tremendous programming work was done by contributor Jan Uhlig, I will yield the floor and let him describe what went into this great release. -In Ranch 1.x, there is only one supervisor per Ranch listener to start and manage connection processes. Under high load (many clients rapidly connecting and/or disconnecting), the message queue of this one supervisor could become congested, leading to declining accept rates or a stalled listener.</p> - - <p style="text-align:right"> - <a class="read_more" href="https://ninenines.eu/articles/ranch-2.0.0-rc.1/">Read More</a> - </p> - </article> - <nav class="pagination" role="pagination"> diff --git a/articles/index.xml b/articles/index.xml index 78a3ab74..72c8b1dd 100644 --- a/articles/index.xml +++ b/articles/index.xml @@ -6,12 +6,25 @@ <description>Recent content in Articles on Nine Nines</description> <generator>Hugo -- gohugo.io</generator> <language>en-us</language> - <lastBuildDate>Mon, 17 Feb 2025 07:00:00 +0100</lastBuildDate> + <lastBuildDate>Tue, 18 Feb 2025 07:00:00 +0100</lastBuildDate> <atom:link href="https://ninenines.eu/articles/index.xml" rel="self" type="application/rss+xml" /> <item> + <title>Cowboy 2.13</title> + <link>https://ninenines.eu/articles/cowboy-2.13.0/</link> + <pubDate>Tue, 18 Feb 2025 07:00:00 +0100</pubDate> + + <guid>https://ninenines.eu/articles/cowboy-2.13.0/</guid> + <description>Cowboy 2.13.0 has been released! +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. +The performance improvements were detailed in the Performance improvements in Cowboy 2.13 article. +Cowboy 2.13 is the first release to feature experimental support for the HTTP/3 protocol, including Websocket over HTTP/3. +Cowboy 2.13 requires Erlang/OTP 24.0 or greater. It is tested and supported on Linux, macOS and Windows.</description> + </item> + + <item> <title>Ranch 2.2</title> <link>https://ninenines.eu/articles/ranch-2.2.0/</link> <pubDate>Mon, 17 Feb 2025 07:00:00 +0100</pubDate> diff --git a/articles/january-2014-status/index.html b/articles/january-2014-status/index.html index 2527056e..1936d650 100644 --- a/articles/january-2014-status/index.html +++ b/articles/january-2014-status/index.html @@ -114,6 +114,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/joe_the_rubber_duck/index.html b/articles/joe_the_rubber_duck/index.html index 299fc8ff..88875513 100644 --- a/articles/joe_the_rubber_duck/index.html +++ b/articles/joe_the_rubber_duck/index.html @@ -88,6 +88,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/merry-christmas-2018/index.html b/articles/merry-christmas-2018/index.html index 1eebacbb..99a88e73 100644 --- a/articles/merry-christmas-2018/index.html +++ b/articles/merry-christmas-2018/index.html @@ -95,6 +95,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/merry-christmas-2019/index.html b/articles/merry-christmas-2019/index.html index 45f77e14..1f5e891e 100644 --- a/articles/merry-christmas-2019/index.html +++ b/articles/merry-christmas-2019/index.html @@ -91,6 +91,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/ml-archives/index.html b/articles/ml-archives/index.html index 4d5b72d0..413415c1 100644 --- a/articles/ml-archives/index.html +++ b/articles/ml-archives/index.html @@ -85,6 +85,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/on-open-source/index.html b/articles/on-open-source/index.html index 26f8f131..567dca2c 100644 --- a/articles/on-open-source/index.html +++ b/articles/on-open-source/index.html @@ -97,6 +97,10 @@ much left to look at today</a>. This was followed by a <a href="https://github.c + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/otp-26/index.html b/articles/otp-26/index.html index 1498526c..222761e4 100644 --- a/articles/otp-26/index.html +++ b/articles/otp-26/index.html @@ -92,6 +92,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/page/2/index.html b/articles/page/2/index.html index 4596a0c1..3855283a 100644 --- a/articles/page/2/index.html +++ b/articles/page/2/index.html @@ -65,6 +65,24 @@ <article class="blog_item"> <header> + <h2><a href="https://ninenines.eu/articles/ranch-2.0.0-rc.1/">Ranch 2.0 release candidate 1</a></h2> + <p class="date"> + <span class="year">2019</span> + <span class="day-month">18 Jul</span> + </p> + </header> + + <p>Ranch 2.0.0-rc.1 has been released! +We are getting very close to releasing Ranch 2.0! As most of the tremendous programming work was done by contributor Jan Uhlig, I will yield the floor and let him describe what went into this great release. +In Ranch 1.x, there is only one supervisor per Ranch listener to start and manage connection processes. Under high load (many clients rapidly connecting and/or disconnecting), the message queue of this one supervisor could become congested, leading to declining accept rates or a stalled listener.</p> + + <p style="text-align:right"> + <a class="read_more" href="https://ninenines.eu/articles/ranch-2.0.0-rc.1/">Read More</a> + </p> + </article> + + <article class="blog_item"> + <header> <h2><a href="https://ninenines.eu/articles/joe_the_rubber_duck/">Joe Armstrong the rubber duck</a></h2> <p class="date"> <span class="year">2019</span> @@ -417,23 +435,6 @@ You lost them. You know you lost them. They comment on the syntax, or perhaps yo </p> </article> - <article class="blog_item"> - <header> - <h2><a href="https://ninenines.eu/articles/dont-let-it-crash/">Don't let it crash</a></h2> - <p class="date"> - <span class="year">2017</span> - <span class="day-month">22 Jan</span> - </p> - </header> - - <p>We have a specific mindset when writing Erlang programs. We focus on the normal execution of the program and don't handle most of the errors that may occur. We sometimes call this normal execution the happy path. -The general pattern behind writing only for the happy path, letting the VM catch errors (writing them to a log for future consumption) and then having a supervisor restart the processes that failed from a clean state, has a name.</p> - - <p style="text-align:right"> - <a class="read_more" href="https://ninenines.eu/articles/dont-let-it-crash/">Read More</a> - </p> - </article> - <nav class="pagination" role="pagination"> diff --git a/articles/page/3/index.html b/articles/page/3/index.html index 5fc4d538..492d6b14 100644 --- a/articles/page/3/index.html +++ b/articles/page/3/index.html @@ -65,6 +65,23 @@ <article class="blog_item"> <header> + <h2><a href="https://ninenines.eu/articles/dont-let-it-crash/">Don't let it crash</a></h2> + <p class="date"> + <span class="year">2017</span> + <span class="day-month">22 Jan</span> + </p> + </header> + + <p>We have a specific mindset when writing Erlang programs. We focus on the normal execution of the program and don't handle most of the errors that may occur. We sometimes call this normal execution the happy path. +The general pattern behind writing only for the happy path, letting the VM catch errors (writing them to a log for future consumption) and then having a supervisor restart the processes that failed from a clean state, has a name.</p> + + <p style="text-align:right"> + <a class="read_more" href="https://ninenines.eu/articles/dont-let-it-crash/">Read More</a> + </p> + </article> + + <article class="blog_item"> + <header> <h2><a href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Cowboy 2.0 pre-release 4</a></h2> <p class="date"> <span class="year">2017</span> @@ -408,23 +425,6 @@ We are just starting, so let's no go ahead of ourselves here. We'll be </p> </article> - <article class="blog_item"> - <header> - <h2><a href="https://ninenines.eu/articles/ranch-ftp/">Build an FTP Server with Ranch in 30 Minutes</a></h2> - <p class="date"> - <span class="year">2012</span> - <span class="day-month">14 Nov</span> - </p> - </header> - - <p>Last week I was speaking at the London Erlang Factory Lite where I presented a live demonstration of building an FTP server using Ranch. As there was no slide, you should use this article as a reference instead. -The goal of this article is to showcase how to use Ranch for writing a network protocol implementation, how Ranch gets out of the way to let you write the code that matters, and the common techniques used when writing servers.</p> - - <p style="text-align:right"> - <a class="read_more" href="https://ninenines.eu/articles/ranch-ftp/">Read More</a> - </p> - </article> - <nav class="pagination" role="pagination"> diff --git a/articles/page/4/index.html b/articles/page/4/index.html index 87efc9d0..53e77536 100644 --- a/articles/page/4/index.html +++ b/articles/page/4/index.html @@ -65,6 +65,23 @@ <article class="blog_item"> <header> + <h2><a href="https://ninenines.eu/articles/ranch-ftp/">Build an FTP Server with Ranch in 30 Minutes</a></h2> + <p class="date"> + <span class="year">2012</span> + <span class="day-month">14 Nov</span> + </p> + </header> + + <p>Last week I was speaking at the London Erlang Factory Lite where I presented a live demonstration of building an FTP server using Ranch. As there was no slide, you should use this article as a reference instead. +The goal of this article is to showcase how to use Ranch for writing a network protocol implementation, how Ranch gets out of the way to let you write the code that matters, and the common techniques used when writing servers.</p> + + <p style="text-align:right"> + <a class="read_more" href="https://ninenines.eu/articles/ranch-ftp/">Read More</a> + </p> + </article> + + <article class="blog_item"> + <header> <h2><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></h2> <p class="date"> <span class="year">2012</span> diff --git a/articles/ranch-1.3/index.html b/articles/ranch-1.3/index.html index 225b3489..3c1850df 100644 --- a/articles/ranch-1.3/index.html +++ b/articles/ranch-1.3/index.html @@ -126,6 +126,10 @@ Primary key fingerprint<font color="#990000">:</font> F19F 189C ECC7 <font color + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/ranch-1.6.0/index.html b/articles/ranch-1.6.0/index.html index 2ac9b2c7..f4140cc1 100644 --- a/articles/ranch-1.6.0/index.html +++ b/articles/ranch-1.6.0/index.html @@ -88,6 +88,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/ranch-1.7.0/index.html b/articles/ranch-1.7.0/index.html index 6deffee1..f29a7915 100644 --- a/articles/ranch-1.7.0/index.html +++ b/articles/ranch-1.7.0/index.html @@ -87,6 +87,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/ranch-2.0.0-rc.1/index.html b/articles/ranch-2.0.0-rc.1/index.html index dd3aec72..513dbaa6 100644 --- a/articles/ranch-2.0.0-rc.1/index.html +++ b/articles/ranch-2.0.0-rc.1/index.html @@ -96,6 +96,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/ranch-2.0.0/index.html b/articles/ranch-2.0.0/index.html index d56d958b..3f595900 100644 --- a/articles/ranch-2.0.0/index.html +++ b/articles/ranch-2.0.0/index.html @@ -95,6 +95,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/ranch-2.1.0/index.html b/articles/ranch-2.1.0/index.html index 24d55447..9bb62a80 100644 --- a/articles/ranch-2.1.0/index.html +++ b/articles/ranch-2.1.0/index.html @@ -90,6 +90,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/ranch-2.2.0/index.html b/articles/ranch-2.2.0/index.html index 6dcc175c..4fea2c69 100644 --- a/articles/ranch-2.2.0/index.html +++ b/articles/ranch-2.2.0/index.html @@ -88,6 +88,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/ranch-ftp/index.html b/articles/ranch-ftp/index.html index 83ff1a67..bd7c4fc6 100644 --- a/articles/ranch-ftp/index.html +++ b/articles/ranch-ftp/index.html @@ -228,6 +228,10 @@ http://www.gnu.org/software/src-highlite --> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/the-elephant-in-the-room/index.html b/articles/the-elephant-in-the-room/index.html index c38f9a4b..08a25daf 100644 --- a/articles/the-elephant-in-the-room/index.html +++ b/articles/the-elephant-in-the-room/index.html @@ -110,6 +110,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/the-gateway-trilogy/index.html b/articles/the-gateway-trilogy/index.html index 874bbb52..6d6bbc33 100644 --- a/articles/the-gateway-trilogy/index.html +++ b/articles/the-gateway-trilogy/index.html @@ -85,6 +85,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/the-story-so-far/index.html b/articles/the-story-so-far/index.html index 9bf4ee01..49953d32 100644 --- a/articles/the-story-so-far/index.html +++ b/articles/the-story-so-far/index.html @@ -101,6 +101,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/tictactoe/index.html b/articles/tictactoe/index.html index db4c3b18..a790b193 100644 --- a/articles/tictactoe/index.html +++ b/articles/tictactoe/index.html @@ -133,6 +133,10 @@ http://www.gnu.org/software/src-highlite --> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/website-update/index.html b/articles/website-update/index.html index bc9b194c..d3ccbcca 100644 --- a/articles/website-update/index.html +++ b/articles/website-update/index.html @@ -90,6 +90,10 @@ + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/xerl-0.1-empty-modules/index.html b/articles/xerl-0.1-empty-modules/index.html index 9d172841..cc4b2e35 100644 --- a/articles/xerl-0.1-empty-modules/index.html +++ b/articles/xerl-0.1-empty-modules/index.html @@ -168,6 +168,10 @@ http://www.gnu.org/software/src-highlite --> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/xerl-0.2-two-modules/index.html b/articles/xerl-0.2-two-modules/index.html index 4ec4f6c0..3662f675 100644 --- a/articles/xerl-0.2-two-modules/index.html +++ b/articles/xerl-0.2-two-modules/index.html @@ -196,6 +196,10 @@ http://www.gnu.org/software/src-highlite --> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/xerl-0.3-atomic-expressions/index.html b/articles/xerl-0.3-atomic-expressions/index.html index ef2adbaf..d6a25886 100644 --- a/articles/xerl-0.3-atomic-expressions/index.html +++ b/articles/xerl-0.3-atomic-expressions/index.html @@ -165,6 +165,10 @@ http://www.gnu.org/software/src-highlite --> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/xerl-0.4-expression-separator/index.html b/articles/xerl-0.4-expression-separator/index.html index 728b9c8b..74813db8 100644 --- a/articles/xerl-0.4-expression-separator/index.html +++ b/articles/xerl-0.4-expression-separator/index.html @@ -117,6 +117,10 @@ http://www.gnu.org/software/src-highlite --> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> diff --git a/articles/xerl-0.5-intermediate-module/index.html b/articles/xerl-0.5-intermediate-module/index.html index c2e16342..2ac33af1 100644 --- a/articles/xerl-0.5-intermediate-module/index.html +++ b/articles/xerl-0.5-intermediate-module/index.html @@ -161,6 +161,10 @@ http://www.gnu.org/software/src-highlite --> + <li><a href="https://ninenines.eu/articles/cowboy-2.13.0/">Cowboy 2.13</a></li> + + + <li><a href="https://ninenines.eu/articles/ranch-2.2.0/">Ranch 2.2</a></li> |