diff options
author | Loïc Hoguin <[email protected]> | 2017-07-24 17:13:20 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2017-07-24 17:13:20 +0200 |
commit | d344725cfd7169605ddecca46b9901af9f43ff1f (patch) | |
tree | 64e868690c16309d2d3d100f317673078a122002 /articles/index.xml | |
parent | d08cffb4f3131b292de0a83a575467d72e2684be (diff) | |
download | ninenines.eu-d344725cfd7169605ddecca46b9901af9f43ff1f.tar.gz ninenines.eu-d344725cfd7169605ddecca46b9901af9f43ff1f.tar.bz2 ninenines.eu-d344725cfd7169605ddecca46b9901af9f43ff1f.zip |
Cowboy 2.0.0-rc.1
Diffstat (limited to 'articles/index.xml')
-rw-r--r-- | articles/index.xml | 164 |
1 files changed, 66 insertions, 98 deletions
diff --git a/articles/index.xml b/articles/index.xml index 70389481..4eccd018 100644 --- a/articles/index.xml +++ b/articles/index.xml @@ -6,10 +6,75 @@ <description>Recent content in Articles-rsses on Nine Nines</description> <generator>Hugo -- gohugo.io</generator> <language>en-us</language> - <lastBuildDate>Sun, 26 Mar 2017 00:00:00 +0100</lastBuildDate> + <lastBuildDate>Mon, 24 Jul 2017 18:00:00 +0100</lastBuildDate> <atom:link href="https://ninenines.eu/articles/index.xml" rel="self" type="application/rss+xml" /> <item> + <title>Cowboy 2.0 release candidate 1</title> + <link>https://ninenines.eu/articles/cowboy-2.0.0-rc.1/</link> + <pubDate>Mon, 24 Jul 2017 18:00:00 +0100</pubDate> + + <guid>https://ninenines.eu/articles/cowboy-2.0.0-rc.1/</guid> + <description><div class="paragraph"><p>Cowboy <code>2.0.0-rc.1</code> has been released!</p></div>
+<div class="paragraph"><p>This is the new recommended version of Cowboy.
+Its API should not change before release. While
+you probably should not use it in production yet,
+many do successfully. Use at your own risk.</p></div>
+<div class="paragraph"><p>The plan is to have a new RC version every couple
+weeks until the summer ends or later if there are
+still blocking issues open. Only issues that can&#8217;t
+be fixed without making breaking changes to the
+interface may block the release.</p></div>
+<div class="paragraph"><p>Numerous changes were made since Cowboy 1.0. The
+one most people care about is probably HTTP/2, but
+it&#8217;s most likely not the only one worthwhile. The
+full list of changes (excluding types) can be found
+in the user guide chapter
+<a href="https://ninenines.eu/docs/en/cowboy/2.0/guide/migrating_from_1.0/">Migrating from Cowboy 1.0 to 2.0</a>.</p></div>
+<div class="paragraph"><p>As this is not the full release just yet, please pay
+extra attention to details and report anything
+suspicious you find.</p></div>
+<div class="paragraph"><p>There are still some tests failing. Most of those are
+related to standards that are not being followed perfectly
+just yet. Some of those will probably not be fixed before
+Cowboy 2.0 is released. They are edge cases and should not
+prevent interoperability.</p></div>
+<div class="paragraph"><p>The manual received a lot of love. It now has one page per
+function with a detailed description, arguments list, return
+value, changelog and examples. It also links to the other
+relevant manual pages: <a href="https://ninenines.eu/docs/en/cowboy/2.0/manual/">https://ninenines.eu/docs/en/cowboy/2.0/manual/</a></p></div>
+<div class="paragraph"><p>Cowboy is now tested and supported with Erlang/OTP 19.0 or above
+on Arch Linux, FreeBSD, OSX, Ubuntu and Windows 7. Contact me
+if you can provide permanent access to another platform for the
+purposes of testing.</p></div>
+<div class="paragraph"><p>Cowboy is now available from four locations:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+<a href="https://git.ninenines.eu/cowboy.git">https://git.ninenines.eu/cowboy.git</a>
+</p>
+</li>
+<li>
+<p>
+<a href="https://github.com/ninenines/cowboy.git">https://github.com/ninenines/cowboy.git</a>
+</p>
+</li>
+<li>
+<p>
+<a href="https://bitbucket.org/ninenines/cowboy.git">https://bitbucket.org/ninenines/cowboy.git</a>
+</p>
+</li>
+<li>
+<p>
+<a href="https://gitlab.com/ninenines/cowboy.git">https://gitlab.com/ninenines/cowboy.git</a>
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>They are updated at the same time so there is no real difference.</p></div>
+</description> + </item> + + <item> <title>The elephant in the room</title> <link>https://ninenines.eu/articles/the-elephant-in-the-room/</link> <pubDate>Sun, 26 Mar 2017 00:00:00 +0100</pubDate> @@ -1569,102 +1634,5 @@ can help!</p></div> </description> </item> - <item> - <title>Build Erlang releases with Erlang.mk and Relx</title> - <link>https://ninenines.eu/articles/erlang.mk-and-relx/</link> - <pubDate>Tue, 28 May 2013 00:00:00 +0100</pubDate> - - <guid>https://ninenines.eu/articles/erlang.mk-and-relx/</guid> - <description><div class="paragraph"><p>Building OTP releases has always been a difficult task. Tools like
-Reltool or Rebar have made this simpler, but
-it&#8217;s no panacea. This article will show you an alternative and
-hopefully much simpler solution.</p></div>
-<div class="paragraph"><p>There is two steps to building a release. First you need to build
-the various OTP applications you want to include in the release. Once
-done, you need to create the release itself, by including the Erlang
-runtime system alongside the applications, a boot script to start the
-node and all its applications, and some configuration files.</p></div>
-<div class="paragraph"><p><a href="https://github.com/extend/erlang.mk">Erlang.mk</a> solves
-the first step. It is an include file for GNU Make. Just
-including it in a Makefile is enough to allow building your project,
-fetching and building dependencies, building documentation, performing
-static analysis and more.</p></div>
-<div class="paragraph"><p><a href="https://github.com/erlware/relx">Relx</a> solves the second
-step. It is a release creation tool, wrapped into a single executable
-file. It doesn&#8217;t require a configuration file. And if you do need one,
-it will be a pretty small one.</p></div>
-<div class="paragraph"><p>Let&#8217;s take a look at the smallest Erlang.mk powered
-Makefile. There is only one thing required: defining the project
-name.</p></div>
-<div class="listingblock">
-<div class="content"></div></div>
-<div class="paragraph"><p>Simply doing this allows you to build your application by typing
-<code>make</code>, running tests using <code>make tests</code>, and
-more. It will even compile your <em>.dtl</em> files found in the
-<em>templates/</em> directory if you are using ErlyDTL!</p></div>
-<div class="paragraph"><p>Let&#8217;s now take a look at a simplified version of the Makefile for
-this website. I only removed a few targets that were off-topic.</p></div>
-<div class="listingblock">
-<div class="content"></div></div>
-<div class="paragraph"><p>You can see here how to define dependencies. First you list all
-the dependency names, then you have one line per dependency, giving
-the repository URL and the commit number, tag or branch you want.</p></div>
-<div class="paragraph"><p>Then you can see two targets defined, with <code>release</code>
-becoming the default target, because it was defined first. You can
-override the default target <code>all</code>, which builds the
-application and its dependencies, this way.</p></div>
-<div class="paragraph"><p>And as you can see, the <code>release</code> target uses
-Relx to build a release into the <em>rel/ninenines/</em>
-directory. Let&#8217;s take a look at the configuration file for this release.</p></div>
-<div class="listingblock">
-<div class="content"><!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite -->
-<pre><tt>{<span style="color: #FF6600">release</span>, {<span style="color: #FF6600">ninenines</span>, <span style="color: #FF0000">"1"</span>}, [<span style="color: #FF6600">ninenines</span>]}<span style="color: #990000">.</span>
-
-{<span style="color: #FF6600">extended_start_script</span>, <span style="color: #000080">true</span>}<span style="color: #990000">.</span>
-{<span style="color: #FF6600">sys_config</span>, <span style="color: #FF0000">"rel/sys.config"</span>}<span style="color: #990000">.</span>
-
-{<span style="color: #FF6600">overlay</span>, [
- {<span style="color: #FF6600">mkdir</span>, <span style="color: #FF0000">"log"</span>},
- {<span style="color: #FF6600">copy</span>, <span style="color: #FF0000">"rel/vm.args"</span>,
- <span style="color: #FF0000">"releases/\{\{release_name\}\}-\{\{release_version\}\}/vm.args"</span>}
-]}<span style="color: #990000">.</span></tt></pre></div></div>
-<div class="paragraph"><p>The first line defines a release named <code>ninenines</code>, which
-has a version number <code>"1"</code> and includes one application, also
-named <code>ninenines</code>, although it doesn&#8217;t have to.</p></div>
-<div class="paragraph"><p>We then use the <code>extended_start_script</code> option to tell
-Relx that we would like to have a start script that allows
-us to not only start the release, but do so with the node in the
-background, or also to allow us to connect to a running node, and so on.
-This start script has the same features as the one tools like
-Rebar generates.</p></div>
-<div class="paragraph"><p>The rest of the file just makes sure our configuration files are
-where we expect them. Relx will automatically take care
-of your <em>sys.config</em> file as long as you tell it where to
-find it. The <em>vm.args</em> file used by the extended start script
-needs to be handled more explicitly by using an overlay however.</p></div>
-<div class="paragraph"><p>How does Relx find what applications to include?
-By looking at the application dependencies in the <em>.app</em>
-file of each OTP application. Make sure you put all dependencies in
-there, <em>including</em> library applications, and Relx
-will find everything for you.</p></div>
-<div class="paragraph"><p>For example, this release includes the following applications.
-Only what&#8217;s strictly required.</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><code>compiler-4.9.1 crypto-2.3 kernel-2.16.1 ranch-0.8.3 syntax_tools-1.6.11
-cowboy-0.8.5 erlydtl-0.7.0 ninenines-0.2.0 stdlib-1.19.1</code></pre>
-</div></div>
-<div class="paragraph"><p>The <em>sys.config</em> file is standard and
-<a href="http://www.erlang.org/doc/man/config.html">well documented</a>.
-The <em>vm.args</em> file is just an optionally multiline file
-containing all the flags to pass to the Erlang VM, for example
-<code>-name [email protected] -heart</code>.</p></div>
-<div class="paragraph"><p>Building OTP releases has always been a difficult task. Until now.</p></div>
-</description> - </item> - </channel> </rss>
\ No newline at end of file |