summaryrefslogtreecommitdiffstats
path: root/articles/index.xml
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2017-07-24 17:13:20 +0200
committerLoïc Hoguin <[email protected]>2017-07-24 17:13:20 +0200
commitd344725cfd7169605ddecca46b9901af9f43ff1f (patch)
tree64e868690c16309d2d3d100f317673078a122002 /articles/index.xml
parentd08cffb4f3131b292de0a83a575467d72e2684be (diff)
downloadninenines.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.xml164
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>&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy &lt;code&gt;2.0.0-rc.1&lt;/code&gt; has been released!&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;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&amp;#8217;t
+be fixed without making breaking changes to the
+interface may block the release.&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Numerous changes were made since Cowboy 1.0. The
+one most people care about is probably HTTP/2, but
+it&amp;#8217;s most likely not the only one worthwhile. The
+full list of changes (excluding types) can be found
+in the user guide chapter
+&lt;a href=&#34;https://ninenines.eu/docs/en/cowboy/2.0/guide/migrating_from_1.0/&#34;&gt;Migrating from Cowboy 1.0 to 2.0&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;As this is not the full release just yet, please pay
+extra attention to details and report anything
+suspicious you find.&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;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: &lt;a href=&#34;https://ninenines.eu/docs/en/cowboy/2.0/manual/&#34;&gt;https://ninenines.eu/docs/en/cowboy/2.0/manual/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Cowboy is now available from four locations:&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;ulist&#34;&gt;&lt;ul&gt;
+&lt;li&gt;
+&lt;p&gt;
+&lt;a href=&#34;https://git.ninenines.eu/cowboy.git&#34;&gt;https://git.ninenines.eu/cowboy.git&lt;/a&gt;
+&lt;/p&gt;
+&lt;/li&gt;
+&lt;li&gt;
+&lt;p&gt;
+&lt;a href=&#34;https://github.com/ninenines/cowboy.git&#34;&gt;https://github.com/ninenines/cowboy.git&lt;/a&gt;
+&lt;/p&gt;
+&lt;/li&gt;
+&lt;li&gt;
+&lt;p&gt;
+&lt;a href=&#34;https://bitbucket.org/ninenines/cowboy.git&#34;&gt;https://bitbucket.org/ninenines/cowboy.git&lt;/a&gt;
+&lt;/p&gt;
+&lt;/li&gt;
+&lt;li&gt;
+&lt;p&gt;
+&lt;a href=&#34;https://gitlab.com/ninenines/cowboy.git&#34;&gt;https://gitlab.com/ninenines/cowboy.git&lt;/a&gt;
+&lt;/p&gt;
+&lt;/li&gt;
+&lt;/ul&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;They are updated at the same time so there is no real difference.&lt;/p&gt;&lt;/div&gt;
+</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!&lt;/p&gt;&lt;/div&gt;
</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>&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Building OTP releases has always been a difficult task. Tools like
-Reltool or Rebar have made this simpler, but
-it&amp;#8217;s no panacea. This article will show you an alternative and
-hopefully much simpler solution.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/extend/erlang.mk&#34;&gt;Erlang.mk&lt;/a&gt; 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.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/erlware/relx&#34;&gt;Relx&lt;/a&gt; solves the second
-step. It is a release creation tool, wrapped into a single executable
-file. It doesn&amp;#8217;t require a configuration file. And if you do need one,
-it will be a pretty small one.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Let&amp;#8217;s take a look at the smallest Erlang.mk powered
-Makefile. There is only one thing required: defining the project
-name.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;listingblock&#34;&gt;
-&lt;div class=&#34;content&#34;&gt;&lt;/div&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Simply doing this allows you to build your application by typing
-&lt;code&gt;make&lt;/code&gt;, running tests using &lt;code&gt;make tests&lt;/code&gt;, and
-more. It will even compile your &lt;em&gt;.dtl&lt;/em&gt; files found in the
-&lt;em&gt;templates/&lt;/em&gt; directory if you are using ErlyDTL!&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Let&amp;#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.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;listingblock&#34;&gt;
-&lt;div class=&#34;content&#34;&gt;&lt;/div&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Then you can see two targets defined, with &lt;code&gt;release&lt;/code&gt;
-becoming the default target, because it was defined first. You can
-override the default target &lt;code&gt;all&lt;/code&gt;, which builds the
-application and its dependencies, this way.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;And as you can see, the &lt;code&gt;release&lt;/code&gt; target uses
-Relx to build a release into the &lt;em&gt;rel/ninenines/&lt;/em&gt;
-directory. Let&amp;#8217;s take a look at the configuration file for this release.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;listingblock&#34;&gt;
-&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite --&gt;
-&lt;pre&gt;&lt;tt&gt;{&lt;span style=&#34;color: #FF6600&#34;&gt;release&lt;/span&gt;, {&lt;span style=&#34;color: #FF6600&#34;&gt;ninenines&lt;/span&gt;, &lt;span style=&#34;color: #FF0000&#34;&gt;&#34;1&#34;&lt;/span&gt;}, [&lt;span style=&#34;color: #FF6600&#34;&gt;ninenines&lt;/span&gt;]}&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;
-
-{&lt;span style=&#34;color: #FF6600&#34;&gt;extended_start_script&lt;/span&gt;, &lt;span style=&#34;color: #000080&#34;&gt;true&lt;/span&gt;}&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;
-{&lt;span style=&#34;color: #FF6600&#34;&gt;sys_config&lt;/span&gt;, &lt;span style=&#34;color: #FF0000&#34;&gt;&#34;rel/sys.config&#34;&lt;/span&gt;}&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;
-
-{&lt;span style=&#34;color: #FF6600&#34;&gt;overlay&lt;/span&gt;, [
- {&lt;span style=&#34;color: #FF6600&#34;&gt;mkdir&lt;/span&gt;, &lt;span style=&#34;color: #FF0000&#34;&gt;&#34;log&#34;&lt;/span&gt;},
- {&lt;span style=&#34;color: #FF6600&#34;&gt;copy&lt;/span&gt;, &lt;span style=&#34;color: #FF0000&#34;&gt;&#34;rel/vm.args&#34;&lt;/span&gt;,
- &lt;span style=&#34;color: #FF0000&#34;&gt;&#34;releases/\{\{release_name\}\}-\{\{release_version\}\}/vm.args&#34;&lt;/span&gt;}
-]}&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The first line defines a release named &lt;code&gt;ninenines&lt;/code&gt;, which
-has a version number &lt;code&gt;&#34;1&#34;&lt;/code&gt; and includes one application, also
-named &lt;code&gt;ninenines&lt;/code&gt;, although it doesn&amp;#8217;t have to.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;We then use the &lt;code&gt;extended_start_script&lt;/code&gt; 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.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The rest of the file just makes sure our configuration files are
-where we expect them. Relx will automatically take care
-of your &lt;em&gt;sys.config&lt;/em&gt; file as long as you tell it where to
-find it. The &lt;em&gt;vm.args&lt;/em&gt; file used by the extended start script
-needs to be handled more explicitly by using an overlay however.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;How does Relx find what applications to include?
-By looking at the application dependencies in the &lt;em&gt;.app&lt;/em&gt;
-file of each OTP application. Make sure you put all dependencies in
-there, &lt;em&gt;including&lt;/em&gt; library applications, and Relx
-will find everything for you.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;For example, this release includes the following applications.
-Only what&amp;#8217;s strictly required.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;listingblock&#34;&gt;
-&lt;div class=&#34;content&#34;&gt;
-&lt;pre&gt;&lt;code&gt;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&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The &lt;em&gt;sys.config&lt;/em&gt; file is standard and
-&lt;a href=&#34;http://www.erlang.org/doc/man/config.html&#34;&gt;well documented&lt;/a&gt;.
-The &lt;em&gt;vm.args&lt;/em&gt; file is just an optionally multiline file
-containing all the flags to pass to the Erlang VM, for example
-&lt;code&gt;-name [email protected] -heart&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Building OTP releases has always been a difficult task. Until now.&lt;/p&gt;&lt;/div&gt;
-</description>
- </item>
-
</channel>
</rss> \ No newline at end of file