You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2017/09/19 17:03:54 UTC

svn commit: r1808917 [2/7] - in /libcloud/site/trunk/generated: ./ blog/ blog/2017/04/09/ blog/2017/04/25/ blog/archives/2017/04/ blog/page/10/ blog/page/11/ blog/page/12/ blog/page/13/ blog/page/14/ blog/page/15/ blog/page/16/ blog/page/2/ blog/page/3...

Modified: libcloud/site/trunk/generated/blog/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/index.html?rev=1808917&r1=1808916&r2=1808917&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/index.html (original)
+++ libcloud/site/trunk/generated/blog/index.html Tue Sep 19 17:03:53 2017
@@ -97,72 +97,106 @@
     
       <div class="post">
   
-    <h2><a href="/blog/2017/04/07/libcloud-2-0-0-rc2-released.html">Libcloud 2.0.0rc2 released</a></h2>
+    <h2><a href="/blog/2017/04/25/libcloud-2-0-0-released.html">Libcloud 2.0.0 released</a></h2>
   
 
   
     
   
-  <span class="post-date-author">By Anthony Shaw on Apr 07, 2017</span>
+  <span class="post-date-author">By Anthony Shaw on Apr 25, 2017</span>
 
   <div class="post-content">
-    <p>We are pleased to announce the release of Libcloud 2.0.0rc2.</p>
+    <p>We are pleased to announce the release of Libcloud 2.0.0.</p>
 
-<p>This release brings many new features, improvements, bug-fixes, and drivers.</p>
+<p>This major release brings many new features, improvements, bug-fixes, and drivers.</p>
 
 <h2>Release highlights</h2>
 
 <ul>
-<li>Apache Libcloud 2.0 series replaces the use of Python httplib with a hard dependency on the <code>requests</code> package. Users&#39; no longer
+<li>Apache Libcloud 2.0 series replaces the use of Python httplib with a hard dependency on the <code>requests</code> package. Users no longer
 have to specific Certificate Authority bundles when using Apache Libcloud</li>
 <li>10% performance improvement through the use of HTTP sessions</li>
 <li>Support for buffered IO streams for storage drivers</li>
 <li>Support for Python 3.6, deprecation of Python 3.2</li>
+<li>3 new drivers - <a href="http://libcloud.readthedocs.io/en/latest/compute/drivers/onapp.html">OnApp Compute</a>, <a href="http://libcloud.readthedocs.io/en/latest/dns/drivers/onapp.html">OnApp DNS</a>, <a href="http://libcloud.readthedocs.io/en/latest/compute/drivers/oneandone.html">1&amp;1 Compute</a></li>
+<li>Lots of improvements to our Azure ARM support</li>
+<li>Continuing udates to the Amazon drivers</li>
 </ul>
 
-<p>A detailed description of the 2.0 changes is documented <a href="http://libcloud.readthedocs.io/en/latest/other/changes_in_2_0.html">here</a></p>
+<p>A detailed description of the 2.0 HTTP API is documented <a href="http://libcloud.readthedocs.io/en/latest/other/changes_in_2_0.html">here</a></p>
 
-<p>Note that 2.0.0rc1 was not released to PyPi as 4 breaking issues were discovered by users. The changelog for both 2.0.0rc2 and rc1 is below.</p>
+<h3>Compute API Changes</h3>
 
-<h2>Release highlights for 2.0.0rc2</h2>
+<ul>
+<li>Outscale SAS doc improvements and logo update</li>
+</ul>
 
-<h3>Compute</h3>
+<h4>OnApp Changes</h4>
 
 <ul>
-<li>Fix a bug in profitbricks driver where listing snapshots would request a malformed URL</li>
-<li>Fix LIBCLOUD-806 bug where vsphere driver cannot be instantiated</li>
-<li>[google compute] Improve performance of list nodes by caching volume information.</li>
+<li>Add list images support for OnApp driver</li>
+<li>Add keypair management to OnApp driver</li>
 </ul>
 
-<h3>Common</h3>
+<h4>Amazon EC2 Changes</h4>
 
 <ul>
-<li>Fix LIBCLOUD_DEBUG trying to decompress already decompressed responses</li>
-<li>Added an integration test API and a test suite for validating functionality
-without mocking any libcloud subsystems</li>
-<li>Fix for Linode classes since 2.0x</li>
-<li>Fix CertificateConnection not correctly signing requests in 2.0rc1, impacted
-Azure classic driver, OpenStack and Docker driver</li>
-<li>Change Cloudscale to cloudscale.ch.</li>
-<li>Explicitly check if response is None in RawResponse class</li>
+<li>Add r4 instance types for AWS</li>
+<li>Add support for AWS eu-west-2 and ca-central-1 regions</li>
+<li>Add P2 GPU instance types</li>
+<li>Add method to modify snapshot attribute for EC2</li>
+<li>Add ENA support for EC2 compute images</li>
+<li>Add support for forcing detachment of EBS volumes to EC2 driver</li>
+<li>Add support for ModifyVolume and DescribeVolumesModifications</li>
+<li>Added Import Snapshot and Describe Import Snapshot to EC2 compute driver</li>
+<li>Add missing regions in AWS storage and compute drivers</li>
+<li>Add SR-IOV net support to images in EC2 compute driver</li>
+<li>Fix - update t2.small image size from 11 CPU to 1</li>
+<li>Added Billing Product for image in EC2 compute driver</li>
 </ul>
 
-<h3>Compute</h3>
+<h4>Linode changes</h4>
 
 <ul>
-<li>Outscale SAS doc improvements and logo update</li>
-<li>[GCE] Allow preemptible instances to be created</li>
-<li>Add support for forcing detachment of EBS volumes to EC2 driver</li>
-<li>Fix Public IP not assigned when creating NIC on Azure ARM</li>
-<li>[ONAPP] Add list images support for OnApp driver</li>
-<li>[EC2] Add r4 instance types for AWS</li>
-<li>[EC2] support for AWS eu-west-2 and ca-central-1 regions</li>
-<li>[EC2] Add P2 GPU instance types</li>
-<li>[EC2] Add method to modify snapshot attribute for EC2</li>
-<li>[Linode] Add start, stop instance methods and fix incorrect state TERMINATED to STOPPED</li>
-<li>[EC2] Add ENA support for EC2 compute images</li>
-<li>[Azure ARM] fix typeerror on ex<em>list</em>nics</li>
-<li>[GCE] allow delete instances from managed group</li>
+<li>Add start, stop instance methods and fix incorrect state TERMINATED to STOPPED</li>
+</ul>
+
+<h4>Azure ARM changes</h4>
+
+<ul>
+<li>Fix typeerror on ex<em>list</em>nics</li>
+<li>Add support for Azure Cloud Environments as well as Locations</li>
+<li>Fix string representation of the VhdImage type and fix listing of Public IP addresses</li>
+<li>Add network security groups to azure ARM</li>
+<li>Add the ability to list resource groups</li>
+<li>Fix Azure ARM driver condition for ex<em>list</em>publishers where location is specified</li>
+</ul>
+
+<h4>Google Cloud changes</h4>
+
+<ul>
+<li>Allow delete instances from managed group</li>
+<li>Allow preemptible instances to be created</li>
+<li>Remove validation checks for guestOsFeatures</li>
+</ul>
+
+<h4>Alibaba Aliyun changes</h4>
+
+<ul>
+<li>Add aliyun ecs instance join leave security group</li>
+<li>Fix Aliyun ECS, Load balancer and storage adapters when using unicode UTF-8 characters in the names of resources</li>
+</ul>
+
+<h4>DigitalOcean changes</h4>
+
+<ul>
+<li>Add price_monthly extra param to digitalocean sizes</li>
+</ul>
+
+<h4>VMWare vSphere changes</h4>
+
+<ul>
+<li>Fix issue with authentication methods crashing</li>
 </ul>
 
 <h3>Storage</h3>
@@ -171,22 +205,43 @@ Azure classic driver, OpenStack and Dock
 <li>Reintroduce S3 multipart upload support with signature v4</li>
 </ul>
 
-<h2>Changes Apache Libcloud 2.0.0rc1</h2>
+<h3>DNS</h3>
+
+<ul>
+<li>Add <a href="http://libcloud.readthedocs.io/en/latest/dns/drivers/onapp.html">OnApp driver</a></li>
+</ul>
+
+<h2>Minor changes</h2>
 
 <h3>Common</h3>
 
 <ul>
-<li>Fix DEBUG mode, also add support for using io.StringIO as the file handle when calling libcloud.enable_debug</li>
-<li>Introduction of the requests package as the mechanism for making HTTP requests for all drivers</li>
-<li>Fix bug where custom port and secure flag would not get propagated to connection class</li>
-<li>Fix bug where custom port would not get propagated to connection</li>
-<li>Fix bug where instantiating a connection from URL and then requesting an action with a leading / would lead to
-a malformed URL</li>
+<li>Added an integration test API and a test suite for validating functionality
+without mocking any libcloud subsystems</li>
+<li>Change Cloudscale to cloudscale.ch.</li>
 </ul>
 
+<h2>Bug Fixes</h2>
+
 <h3>Compute</h3>
 
+<h4>2.0.0</h4>
+
+<ul>
+<li><p>Fix OpenStack drivers not correctly setting URLs when used with identity API, would default to 127.0.0.1 and service
+catalog URLs were not adhered to.</p></li>
+<li><p>Fix Aliyun ECS, Load balancer and storage adapters when using unicode UTF-8 characters in the names of resources
+in 2.0.0rc2 &lt; it would fail as a MalformedResponseError, Python 2.7 element tree was raising a unicode error</p></li>
+<li><p>Refactor the test classes to use the full libcloud.http and libcloud.common.base modules, with Connection,
+Response all used with requests<em>mock. This increases our test coverages and catches bugs in drivers&#39; custom
+parse</em>body and auth modules</p></li>
+<li><p>Rename libcloud.httplib_ssl to libcloud.http now that we don&#39;t use httplib</p></li>
+</ul>
+
+<h4>2.0.0rc2</h4>
+
 <ul>
+<li>Fix Public IP not assigned when creating NIC on Azure ARM</li>
 <li>Fix a bug in profitbricks driver where listing snapshots would request a malformed URL</li>
 <li>Fix LIBCLOUD-806 bug where vsphere driver cannot be instantiated</li>
 <li>[google compute] Improve performance of list nodes by caching volume information.</li>
@@ -199,13 +254,22 @@ a malformed URL</li>
 <p>I would like to wish a special thank you to all of our community contributors
 for their ongoing support to the project.</p>
 
+<ul>
+<li>Tinu Cleatus for the OnApp driver</li>
+<li>Alex Misstear for the EC2 improvements</li>
+<li>Jie Ren for the Aliyun improvements</li>
+<li>Francisco Ros for the DigitalOcean improvements</li>
+<li>Peter Amstutz and Joseph Hall for the Azure ARM API updates</li>
+<li>All of our community for their ongoing support and contributions...</li>
+</ul>
+
 <h3>Download</h3>
 
 <p>The release can can be downloaded from
 <a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p>
 
 <pre>
-pip install apache-libcloud==2.0.0rc2
+pip install apache-libcloud==2.0.0
 </pre>
 
 <h3>Upgrading</h3>
@@ -213,7 +277,7 @@ pip install apache-libcloud==2.0.0rc2
 <p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
 
 <pre>
-pip install --upgrade apache-libcloud==2.0.0rc2
+pip install --upgrade apache-libcloud==2.0.0
 </pre>
 
 <h3>Upgrade notes</h3>
@@ -253,84 +317,166 @@ list of people who contributed to this r
     
       <div class="post">
   
-    <h2><a href="/blog/2016/12/29/libcloud-1-5-0-released.html">Libcloud 1.5.0 released</a></h2>
+    <h2><a href="/blog/2017/04/09/async-rfc.html">Have your say - async support in Apache Libcloud</a></h2>
   
 
   
     
   
-  <span class="post-date-author">By Anthony Shaw on Dec 29, 2016</span>
+  <span class="post-date-author">By Anthony Shaw on Apr 09, 2017</span>
 
   <div class="post-content">
-    <p>We are pleased to announce the release of Libcloud 1.5.0.</p>
+    <p>One of the big requests whilst we were replacing <code>httplib</code> with the <code>requests</code> package in 2.0 was why didn&#39;t
+we use a HTTP library that supports <em>asynchronous</em> API calls.</p>
 
-<p>This release brings many new features, improvements, bug-fixes, and drivers.</p>
+<p>The intention for 2.0 and replacing the HTTP backend classes was to improve the usability of the project, by making SSL
+certificates easier to manage, improving the maintainability of our source code by using an active 3rd party package and
+also improving performance and stability.</p>
 
-<h3>Release highlights</h3>
+<p>Apache Libcloud already has documentation on threaded libraries like gevent and callback-based libraries like Twisted, see
+<a href="https://libcloud.readthedocs.io/en/latest/other/using-libcloud-in-multithreaded-and-async-environments.html">using libcloud in multithreaded environments</a>
+for examples.</p>
+
+<p><a href="https://www.python.org/dev/peps/pep-0492/#">PEP 492</a>, implemented in Python 3.5 provides a new coroutine protocol using methods,
+<code>__await__</code> for classes, a coroutine method wrapper, or a method that returns a coroutine object.
+Also async <a href="https://www.python.org/dev/peps/pep-0492/#asynchronous-iterators-and-async-for">iterators</a> and <a href="https://www.python.org/dev/peps/pep-0492/#asynchronous-context-managers-and-async-with">context managers</a>
+have been introduced.</p>
+
+<p>We would like to take advantage of the new language features by offering APIs in Apache Libcloud without breaking backward compatibility and
+compatibility for users of &lt;Python 3.5.</p>
+
+<p>Use cases for this would be:</p>
 
 <ul>
-<li>[azure] New method for accessing rate cards.</li>
-<li>[openstack] Add new Connection class to support VOMS proxys to keystone
-servers.</li>
-<li>[ec2] Added m4 instances to us-gov and brazil, added m4.16xlarge to all.</li>
-<li>Add new CloudScale.ch driver</li>
-<li>[dimensiondata] Added support for 2.4 API, added support for image import,
-cloning. Add feature for changing NIC VLANs, add feature for changing NIC
-order for a server.</li>
+<li>Being able to fetch <code>Node</code> or <code>StorageObject</code>s from multiple geographies or drivers simultaneously.</li>
+<li>Being able to quickly upload or download storage objects by parallelizing operations on the <code>StorageDriver</code>.</li>
+<li>Being able to call a long-running API method (e.g. generate report), whilst running other code.</li>
 </ul>
 
-<p>Full change log can be found at <a href="https://libcloud.readthedocs.org/en/latest/changelog.html">here</a>.</p>
+<h2>Design 1 - async context managers <a href="https://github.com/apache/libcloud/pull/1016">PR 1016</a></h2>
 
-<h3>Special thank you</h3>
+<p>This design would allow drivers to operate in 2 modes, the first is for synchronous method calls, they return list or object
+data as per usual. The second mode, API methods like <code>NodeDriver.list_nodes</code> would return a <a href="https://www.python.org/dev/peps/pep-0492/#coroutine-objects">coroutine object</a>
+and could be awaited or gathered using an event loop.</p>
 
-<p>I would like to wish a special thank you to all of our community contributors
-for their ongoing support to the project.</p>
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">import</span> <span class="nn">asyncio</span>
 
-<h3>Download</h3>
+<span class="kn">from</span> <span class="nn">integration.driver.test</span> <span class="kn">import</span> <span class="n">TestNodeDriver</span>
+<span class="kn">from</span> <span class="nn">libcloud.async_util</span> <span class="kn">import</span> <span class="n">AsyncSession</span>
 
-<p>The release can can be downloaded from
-<a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p>
+<span class="n">driver</span> <span class="o">=</span> <span class="n">TestNodeDriver</span><span class="p">(</span><span class="s">&#39;apache&#39;</span><span class="p">,</span> <span class="s">&#39;libcloud&#39;</span><span class="p">)</span>
 
-<pre>
-pip install apache-libcloud==1.5.0
-</pre>
+<span class="n">async</span> <span class="k">def</span> <span class="nf">run</span><span class="p">():</span>
+    <span class="c"># regular API call</span>
+    <span class="n">nodes</span> <span class="o">=</span> <span class="n">driver</span><span class="o">.</span><span class="n">list_nodes</span><span class="p">()</span>
 
-<h3>Upgrading</h3>
+    <span class="n">async</span> <span class="k">with</span> <span class="n">AsyncSession</span><span class="p">(</span><span class="n">driver</span><span class="p">)</span> <span class="k">as</span> <span class="n">async_instance</span><span class="p">:</span>
+        <span class="n">nodes</span> <span class="o">=</span> <span class="n">await</span> <span class="n">async_instance</span><span class="o">.</span><span class="n">list_nodes</span><span class="p">()</span>
 
-<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
+    <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">nodes</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span>
 
-<pre>
-pip install --upgrade apache-libcloud==1.5.0
-</pre>
+<span class="n">loop</span> <span class="o">=</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">get_event_loop</span><span class="p">()</span>
+<span class="n">loop</span><span class="o">.</span><span class="n">run_until_complete</span><span class="p">(</span><span class="n">run</span><span class="p">())</span>
+<span class="n">loop</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+</code></pre></div>
 
-<h3>Upgrade notes</h3>
+<h2>Design 2 - Additional methods in each driver for coroutines <a href="https://github.com/apache/libcloud/pull/1027">PR 1027</a></h2>
 
-<p>A page which describes backward incompatible or semi-incompatible
-changes and how to preserve the old behavior when this is possible
-can be found at <a href="https://libcloud.readthedocs.org/en/latest/upgrade_notes.html">https://libcloud.readthedocs.org/en/latest/upgrade_notes.html</a></p>
+<p>This is the second design concept for async support in Libcloud.</p>
 
-<h3>Documentation</h3>
+<p>The concept here is to have Asynchronous Mixins, <code>LibcloudConnection</code> uses requests and <code>LibcloudAsyncConnection</code> uses aiohttp for async transport <a href="https://github.com/tonybaloney/libcloud/blob/d4fe097476d2f02941e17d5e1b1d405fcf44c0f7/libcloud/connection_async.py#L22-L42">see</a></p>
 
-<p>Regular and API documentation is available at <a href="https://libcloud.readthedocs.org/en/latest/">https://libcloud.readthedocs.org/en/latest/</a></p>
+<p>The LibcloudAsyncConnection is an implementation detail of AsyncConnection, which is the API for the drivers to consume <a href="https://github.com/tonybaloney/libcloud/blob/d4fe097476d2f02941e17d5e1b1d405fcf44c0f7/libcloud/common/base.py#L742-L778">see</a></p>
 
-<h3>Bugs / Issues</h3>
+<p>The drivers then use this mixin for their custom connection classes, e.g.</p>
 
-<p>If you find any bug or issue, please report it on our issue tracker
-<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>.
-Don&#39;t forget to attach an example and / or test which reproduces your
-problem.</p>
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="k">class</span> <span class="nc">GoogleStorageConnection</span><span class="p">(</span><span class="n">ConnectionUserAndKey</span><span class="p">,</span> <span class="n">AsyncConnection</span><span class="p">):</span>
+    <span class="o">...</span>
+</code></pre></div>
 
-<h3>Thanks</h3>
+<p>They then inherit from <code>libcloud.storage.base.StorageAsyncDriver</code>, which uses a new set of base methods, e.g. <code>iterate_containers_async</code> and can be implemented like this:</p>
 
-<p>Thanks to everyone who contributed and made this release possible! Full
-list of people who contributed to this release can be found in the
-<a href="https://libcloud.readthedocs.org/en/latest/changelog.html">CHANGES file</a>.</p>
+<div class="highlight"><pre><code class="python language-python" data-lang="python">        <span class="n">async</span> <span class="k">def</span> <span class="nf">iterate_containers_async</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+            <span class="n">response</span> <span class="o">=</span> <span class="n">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">request_async</span><span class="p">(</span><span class="s">&#39;/&#39;</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="n">httplib</span><span class="o">.</span><span class="n">OK</span><span class="p">:</span>
+                <span class="n">containers</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_to_containers</span><span class="p">(</span><span class="n">obj</span><span class="o">=</span><span class="n">response</span><span class="o">.</span><span class="n">object</span><span class="p">,</span>
+                                                 <span class="n">xpath</span><span class="o">=</span><span class="s">&#39;Buckets/Bucket&#39;</span><span class="p">)</span>
+                <span class="k">return</span> <span class="n">containers</span>
+
+            <span class="k">raise</span> <span class="n">LibcloudError</span><span class="p">(</span><span class="s">&#39;Unexpected status code: </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">status</span><span class="p">),</span>
+                                <span class="n">driver</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
+</code></pre></div>
+
+<p>Now the consumer can more or less do this:</p>
+
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">from</span> <span class="nn">libcloud.storage.providers</span> <span class="kn">import</span> <span class="n">get_driver</span>
+<span class="kn">from</span> <span class="nn">libcloud.storage.types</span> <span class="kn">import</span> <span class="n">Provider</span>
+
+<span class="kn">import</span> <span class="nn">asyncio</span>
+
+<span class="n">GoogleStorageDriver</span> <span class="o">=</span> <span class="n">get_driver</span><span class="p">(</span><span class="n">Provider</span><span class="o">.</span><span class="n">GOOGLE_STORAGE</span><span class="p">)</span>
+<span class="n">driver</span> <span class="o">=</span> <span class="n">GoogleStorageDriver</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">KEY</span><span class="p">,</span> <span class="n">secret</span><span class="o">=</span><span class="n">SECRET</span><span class="p">)</span>
+
+<span class="k">def</span> <span class="nf">do_stuff_with_object</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span>
+    <span class="k">print</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span>
+
+<span class="n">async</span> <span class="k">def</span> <span class="nf">run</span><span class="p">():</span>
+    <span class="n">tasks</span> <span class="o">=</span> <span class="p">[]</span>
+    <span class="n">async</span> <span class="k">for</span> <span class="n">container</span> <span class="ow">in</span> <span class="n">driver</span><span class="o">.</span><span class="n">iterate_containers_async</span><span class="p">():</span>
+        <span class="n">async</span> <span class="k">for</span> <span class="n">obj</span> <span class="ow">in</span> <span class="n">driver</span><span class="o">.</span><span class="n">iterate_container_objects_async</span><span class="p">(</span><span class="n">container</span><span class="p">):</span>
+            <span class="n">tasks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">asyncio</span><span class="o">.</span><span class="n">ensure_future</span><span class="p">(</span><span class="n">do_stuff_with_object</span><span class="p">(</span><span class="n">obj</span><span class="p">)))</span>
+    <span class="n">await</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">gather</span><span class="p">(</span><span class="o">*</span><span class="n">tasks</span><span class="p">)</span>
+
+<span class="n">loop</span> <span class="o">=</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">get_event_loop</span><span class="p">()</span>
+<span class="n">loop</span><span class="o">.</span><span class="n">run_until_complete</span><span class="p">(</span><span class="n">run</span><span class="p">())</span>
+<span class="n">loop</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+</code></pre></div>
+
+<h2>Design 3 - Initializer with &quot;<em>async</em>&quot; mode</h2>
+
+<p>This option is similar to 2, except that if a driver is instantiated with &quot;<code>async=True</code>&quot;,
+then all driver class methods would return coroutine objects. Internally, it would
+patch the Connection class with the AsyncConnection class.</p>
+
+<p>The downside of this is that all method calls to a driver would need to be awaited or used
+by an event loop.</p>
+
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">from</span> <span class="nn">libcloud.storage.providers</span> <span class="kn">import</span> <span class="n">get_driver</span>
+<span class="kn">from</span> <span class="nn">libcloud.storage.types</span> <span class="kn">import</span> <span class="n">Provider</span>
+
+<span class="kn">import</span> <span class="nn">asyncio</span>
+
+<span class="n">GoogleStorageDriver</span> <span class="o">=</span> <span class="n">get_driver</span><span class="p">(</span><span class="n">Provider</span><span class="o">.</span><span class="n">GOOGLE_STORAGE</span><span class="p">)</span>
+<span class="n">driver</span> <span class="o">=</span> <span class="n">GoogleStorageDriver</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="n">KEY</span><span class="p">,</span> <span class="n">secret</span><span class="o">=</span><span class="n">SECRET</span><span class="p">,</span> <span class="n">async</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+
+<span class="k">def</span> <span class="nf">do_stuff_with_object</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span>
+    <span class="k">print</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span>
+
+<span class="n">async</span> <span class="k">def</span> <span class="nf">run</span><span class="p">():</span>
+    <span class="n">tasks</span> <span class="o">=</span> <span class="p">[]</span>
+    <span class="n">async</span> <span class="k">for</span> <span class="n">container</span> <span class="ow">in</span> <span class="n">driver</span><span class="o">.</span><span class="n">iterate_containers</span><span class="p">():</span>
+        <span class="n">async</span> <span class="k">for</span> <span class="n">obj</span> <span class="ow">in</span> <span class="n">driver</span><span class="o">.</span><span class="n">iterate_container_objects</span><span class="p">(</span><span class="n">container</span><span class="p">):</span>
+            <span class="n">tasks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">asyncio</span><span class="o">.</span><span class="n">ensure_future</span><span class="p">(</span><span class="n">do_stuff_with_object</span><span class="p">(</span><span class="n">obj</span><span class="p">)))</span>
+    <span class="n">await</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">gather</span><span class="p">(</span><span class="o">*</span><span class="n">tasks</span><span class="p">)</span>
+
+<span class="n">loop</span> <span class="o">=</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">get_event_loop</span><span class="p">()</span>
+<span class="n">loop</span><span class="o">.</span><span class="n">run_until_complete</span><span class="p">(</span><span class="n">run</span><span class="p">())</span>
+<span class="n">loop</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+</code></pre></div>
+
+<h1>Give us feedback</h1>
+
+<p>Got a better idea? Have an API or design, the question we&#39;re asking is 
+&quot;if you wanted to use Libcloud for an async application, what would the code look like?&quot; This helps us design
+the API and the implementation details can follow.</p>
+
+<p>Feel free to comment on the mailing list or on the pull requests, or raise your own pull-request with an API design.</p>
 
   </div>
 
   <div class="row section post-meta">
     <div class="col-md-12 post-tags">
-      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release%20announcement.html" rel="tag">release announcement</a></p>
+      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/tutorial.html" rel="tag">tutorial</a></p>
     </div>
   </div>
 </div>
@@ -340,23 +486,100 @@ list of people who contributed to this r
     
       <div class="post">
   
-    <h2><a href="/blog/2016/11/27/libcloud-1-4-0-released.html">Libcloud 1.4.0 released</a></h2>
+    <h2><a href="/blog/2017/04/07/libcloud-2-0-0-rc2-released.html">Libcloud 2.0.0rc2 released</a></h2>
   
 
   
     
   
-  <span class="post-date-author">By Anthony Shaw on Nov 27, 2016</span>
+  <span class="post-date-author">By Anthony Shaw on Apr 07, 2017</span>
 
   <div class="post-content">
-    <p>We are pleased to announce the release of Libcloud 1.4.0.</p>
+    <p>We are pleased to announce the release of Libcloud 2.0.0rc2.</p>
 
 <p>This release brings many new features, improvements, bug-fixes, and drivers.</p>
 
-<h3>Release highlights</h3>
+<h2>Release highlights</h2>
 
-<p>The release includes a new Azure ARM driver and an Amazon Application
-Load Balancer (ALB) driver.</p>
+<ul>
+<li>Apache Libcloud 2.0 series replaces the use of Python httplib with a hard dependency on the <code>requests</code> package. Users&#39; no longer
+have to specific Certificate Authority bundles when using Apache Libcloud</li>
+<li>10% performance improvement through the use of HTTP sessions</li>
+<li>Support for buffered IO streams for storage drivers</li>
+<li>Support for Python 3.6, deprecation of Python 3.2</li>
+</ul>
+
+<p>A detailed description of the 2.0 changes is documented <a href="http://libcloud.readthedocs.io/en/latest/other/changes_in_2_0.html">here</a></p>
+
+<p>Note that 2.0.0rc1 was not released to PyPi as 4 breaking issues were discovered by users. The changelog for both 2.0.0rc2 and rc1 is below.</p>
+
+<h2>Release highlights for 2.0.0rc2</h2>
+
+<h3>Compute</h3>
+
+<ul>
+<li>Fix a bug in profitbricks driver where listing snapshots would request a malformed URL</li>
+<li>Fix LIBCLOUD-806 bug where vsphere driver cannot be instantiated</li>
+<li>[google compute] Improve performance of list nodes by caching volume information.</li>
+</ul>
+
+<h3>Common</h3>
+
+<ul>
+<li>Fix LIBCLOUD_DEBUG trying to decompress already decompressed responses</li>
+<li>Added an integration test API and a test suite for validating functionality
+without mocking any libcloud subsystems</li>
+<li>Fix for Linode classes since 2.0x</li>
+<li>Fix CertificateConnection not correctly signing requests in 2.0rc1, impacted
+Azure classic driver, OpenStack and Docker driver</li>
+<li>Change Cloudscale to cloudscale.ch.</li>
+<li>Explicitly check if response is None in RawResponse class</li>
+</ul>
+
+<h3>Compute</h3>
+
+<ul>
+<li>Outscale SAS doc improvements and logo update</li>
+<li>[GCE] Allow preemptible instances to be created</li>
+<li>Add support for forcing detachment of EBS volumes to EC2 driver</li>
+<li>Fix Public IP not assigned when creating NIC on Azure ARM</li>
+<li>[ONAPP] Add list images support for OnApp driver</li>
+<li>[EC2] Add r4 instance types for AWS</li>
+<li>[EC2] support for AWS eu-west-2 and ca-central-1 regions</li>
+<li>[EC2] Add P2 GPU instance types</li>
+<li>[EC2] Add method to modify snapshot attribute for EC2</li>
+<li>[Linode] Add start, stop instance methods and fix incorrect state TERMINATED to STOPPED</li>
+<li>[EC2] Add ENA support for EC2 compute images</li>
+<li>[Azure ARM] fix typeerror on ex<em>list</em>nics</li>
+<li>[GCE] allow delete instances from managed group</li>
+</ul>
+
+<h3>Storage</h3>
+
+<ul>
+<li>Reintroduce S3 multipart upload support with signature v4</li>
+</ul>
+
+<h2>Changes Apache Libcloud 2.0.0rc1</h2>
+
+<h3>Common</h3>
+
+<ul>
+<li>Fix DEBUG mode, also add support for using io.StringIO as the file handle when calling libcloud.enable_debug</li>
+<li>Introduction of the requests package as the mechanism for making HTTP requests for all drivers</li>
+<li>Fix bug where custom port and secure flag would not get propagated to connection class</li>
+<li>Fix bug where custom port would not get propagated to connection</li>
+<li>Fix bug where instantiating a connection from URL and then requesting an action with a leading / would lead to
+a malformed URL</li>
+</ul>
+
+<h3>Compute</h3>
+
+<ul>
+<li>Fix a bug in profitbricks driver where listing snapshots would request a malformed URL</li>
+<li>Fix LIBCLOUD-806 bug where vsphere driver cannot be instantiated</li>
+<li>[google compute] Improve performance of list nodes by caching volume information.</li>
+</ul>
 
 <p>Full change log can be found at <a href="https://libcloud.readthedocs.org/en/latest/changelog.html">here</a>.</p>
 
@@ -371,7 +594,7 @@ for their ongoing support to the project
 <a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p>
 
 <pre>
-pip install apache-libcloud==1.4.0
+pip install apache-libcloud==2.0.0rc2
 </pre>
 
 <h3>Upgrading</h3>
@@ -379,7 +602,7 @@ pip install apache-libcloud==1.4.0
 <p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
 
 <pre>
-pip install --upgrade apache-libcloud==1.4.0
+pip install --upgrade apache-libcloud==2.0.0rc2
 </pre>
 
 <h3>Upgrade notes</h3>
@@ -419,68 +642,32 @@ list of people who contributed to this r
     
       <div class="post">
   
-    <h2><a href="/blog/2016/10/14/libcloud-1-3-0-released.html">Libcloud 1.3.0 released</a></h2>
+    <h2><a href="/blog/2016/12/29/libcloud-1-5-0-released.html">Libcloud 1.5.0 released</a></h2>
   
 
   
     
   
-  <span class="post-date-author">By Anthony Shaw on Oct 14, 2016</span>
+  <span class="post-date-author">By Anthony Shaw on Dec 29, 2016</span>
 
   <div class="post-content">
-    <p>We are pleased to announce the release of Libcloud 1.3.0.</p>
+    <p>We are pleased to announce the release of Libcloud 1.5.0.</p>
 
 <p>This release brings many new features, improvements, bug-fixes, and drivers.</p>
 
-<h3>Important changes</h3>
+<h3>Release highlights</h3>
 
 <ul>
-<li>RunAbove driver is now the OVH cloud driver because of changes in the
-platform. Users will get a deprecated error message and pointed to the
-website for more information.</li>
-<li>Fixed support for SLES/OpenSUSE 12, now checks the default certificate
-path (does not impact users using certifi).</li>
-<li>DigitalOcean v1 API has been deprecated in favour of the new 2.0 API.</li>
+<li>[azure] New method for accessing rate cards.</li>
+<li>[openstack] Add new Connection class to support VOMS proxys to keystone
+servers.</li>
+<li>[ec2] Added m4 instances to us-gov and brazil, added m4.16xlarge to all.</li>
+<li>Add new CloudScale.ch driver</li>
+<li>[dimensiondata] Added support for 2.4 API, added support for image import,
+cloning. Add feature for changing NIC VLANs, add feature for changing NIC
+order for a server.</li>
 </ul>
 
-<h3>Release highlights</h3>
-
-<h4>Rancher Driver</h4>
-
-<p>Mario Loria contributed a full Rancher driver for our container abstraction
-interface. Documentation is available with examples of usage, you can use
-the driver to deploy containers, services, stacks or operate and maintain
-existing deployments! Thanks Mario.</p>
-
-<div class="highlight"><pre><code class="python"><span class="kn">from</span> <span class="nn">libcloud.container.types</span> <span class="kn">import</span> <span class="n">Provider</span>
-<span class="kn">from</span> <span class="nn">libcloud.container.providers</span> <span class="kn">import</span> <span class="n">get_driver</span>
-<span class="kn">from</span> <span class="nn">libcloud.container.base</span> <span class="kn">import</span> <span class="n">ContainerImage</span>
-
-<span class="n">driver</span> <span class="o">=</span> <span class="n">get_driver</span><span class="p">(</span><span class="n">Provider</span><span class="o">.</span><span class="n">RANCHER</span><span class="p">)</span>
-
-<span class="n">connection</span> <span class="o">=</span> <span class="n">driver</span><span class="p">(</span><span class="s">&quot;MYRANCHERACCESSKEY&quot;</span><span class="p">,</span> <span class="s">&quot;MYRANCHERSECRETKEY&quot;</span><span class="p">,</span>
-                    <span class="n">host</span><span class="o">=</span><span class="s">&quot;17.23.66.4&quot;</span><span class="p">,</span> <span class="n">port</span><span class="o">=</span><span class="mi">443</span><span class="p">)</span>
-
-<span class="n">image</span> <span class="o">=</span> <span class="n">ContainerImage</span><span class="p">(</span><span class="s">&quot;hastebin&quot;</span><span class="p">,</span> <span class="s">&quot;hastebin&quot;</span><span class="p">,</span> <span class="s">&quot;rlister/hastebin&quot;</span><span class="p">,</span> <span class="s">&quot;latest&quot;</span><span class="p">,</span>
-                       <span class="n">driver</span><span class="o">=</span><span class="bp">None</span><span class="p">)</span>
-
-<span class="n">new_service</span> <span class="o">=</span> <span class="n">connection</span><span class="o">.</span><span class="n">ex_deploy_service</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s">&quot;excitingservice&quot;</span><span class="p">,</span> <span class="n">image</span><span class="o">=</span><span class="n">image</span><span class="p">,</span>
-                                           <span class="n">environmentid</span><span class="o">=</span><span class="s">&quot;1e2&quot;</span><span class="p">,</span>
-                                           <span class="n">environment</span><span class="o">=</span><span class="p">{</span>
-                                               <span class="s">&quot;STORAGE_TYPE&quot;</span><span class="p">:</span> <span class="s">&quot;file&quot;</span>
-                                           <span class="p">})</span>
-</code></pre></div>
-
-<h4>New API</h4>
-
-<p>As well as the direct <code>get_driver API</code>, there is now a short-hand API for
-users to choose.</p>
-
-<div class="highlight"><pre><code class="python"><span class="kn">import</span> <span class="nn">libcloud</span>
-
-<span class="n">cls</span> <span class="o">=</span> <span class="n">libcloud</span><span class="o">.</span><span class="n">get_driver</span><span class="p">(</span><span class="n">libcloud</span><span class="o">.</span><span class="n">DriverType</span><span class="o">.</span><span class="n">COMPUTE</span><span class="p">,</span> <span class="n">libcloud</span><span class="o">.</span><span class="n">DriverType</span><span class="o">.</span><span class="n">COMPUTE</span><span class="o">.</span><span class="n">RACKSPACE</span><span class="p">)</span>
-</code></pre></div>
-
 <p>Full change log can be found at <a href="https://libcloud.readthedocs.org/en/latest/changelog.html">here</a>.</p>
 
 <h3>Special thank you</h3>
@@ -494,7 +681,7 @@ for their ongoing support to the project
 <a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p>
 
 <pre>
-pip install apache-libcloud==1.3.0
+pip install apache-libcloud==1.5.0
 </pre>
 
 <h3>Upgrading</h3>
@@ -502,7 +689,7 @@ pip install apache-libcloud==1.3.0
 <p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
 
 <pre>
-pip install --upgrade apache-libcloud==1.3.0
+pip install --upgrade apache-libcloud==1.5.0
 </pre>
 
 <h3>Upgrade notes</h3>
@@ -542,80 +729,23 @@ list of people who contributed to this r
     
       <div class="post">
   
-    <h2><a href="/blog/2016/09/23/libcloud-1-2-1-released.html">Libcloud 1.2.1 released</a></h2>
+    <h2><a href="/blog/2016/11/27/libcloud-1-4-0-released.html">Libcloud 1.4.0 released</a></h2>
   
 
   
     
   
-  <span class="post-date-author">By Anthony Shaw on Sep 23, 2016</span>
+  <span class="post-date-author">By Anthony Shaw on Nov 27, 2016</span>
 
   <div class="post-content">
-    <p>We are pleased to announce the release of Libcloud 1.2.1.</p>
+    <p>We are pleased to announce the release of Libcloud 1.4.0.</p>
 
 <p>This release brings many new features, improvements, bug-fixes, and drivers.</p>
 
-<h2>Release highlights</h2>
-
-<h3>Changes in Apache Libcloud 1.2.1</h3>
-
-<ul>
-<li>Fix issue enabling backups on Dimension Data driver</li>
-</ul>
-
-<h3>Changes in Apache Libcloud 1.2.0</h3>
-
-<h4>General</h4>
-
-<ul>
-<li>Fix caching of auth tokens in the Google Compute Engine drivers. Now we make
-sure that the file is truncated before writing a new token. Not truncating the
-file would cause issues if the new token is shorted then the existing one
-which is cached in the file.</li>
-</ul>
-
-<h4>Compute</h4>
-
-<ul>
-<li>Fix image undeprecation in GCE</li>
-<li>Added Managed Instance Groups in GCE</li>
-<li>Allow undeprecation of an image in GCE</li>
-<li>BUGFIX Values with wildcards failed signature validation in cloudstack</li>
-<li>Added StorageState-Migrating to the cloudstack driver.</li>
-<li>Update copy image logic to match create image in GCE driver.</li>
-<li>Removed HD attribute from the Abiquo compute driver to support the 3.4 API</li>
-<li>Add image and size details to list_nodes response in Dimension Data driver</li>
-<li>Add support for changing VM admin password in VMware driver</li>
-<li>Add Barcelona (Spain) region to the Aurora Compute driver.</li>
-<li>Various improvements in the libvirt driver.</li>
-</ul>
-
-<h4>Load balancer</h4>
-
-<ul>
-<li>Add support for temporary IAM role credentials (token) to the AWS ELB driver.</li>
-</ul>
-
-<h4>DNS</h4>
-
-<ul>
-<li>Updated the &#39;extra&#39; parameter in update_record() to be optional in aurora driver</li>
-<li>Support for iterating over records and zones in the Aurora DNS driver</li>
-<li>Add support for DS, PTR, SSFHFP and TLSA record type to the Aurora DNS driver.</li>
-</ul>
-
-<h4>Container</h4>
-
-<ul>
-<li>Add network mode and labels when creating containers within docker driver</li>
-</ul>
-
-<h4>Storage</h4>
+<h3>Release highlights</h3>
 
-<ul>
-<li>Fix authentication issue in S3/China region, disabled multipart uploads as
-not supported by region.</li>
-</ul>
+<p>The release includes a new Azure ARM driver and an Amazon Application
+Load Balancer (ALB) driver.</p>
 
 <p>Full change log can be found at <a href="https://libcloud.readthedocs.org/en/latest/changelog.html">here</a>.</p>
 
@@ -630,7 +760,7 @@ for their ongoing support to the project
 <a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p>
 
 <pre>
-pip install apache-libcloud==1.2.1
+pip install apache-libcloud==1.4.0
 </pre>
 
 <h3>Upgrading</h3>
@@ -638,7 +768,7 @@ pip install apache-libcloud==1.2.1
 <p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
 
 <pre>
-pip install --upgrade apache-libcloud==1.2.1
+pip install --upgrade apache-libcloud==1.4.0
 </pre>
 
 <h3>Upgrade notes</h3>
@@ -693,7 +823,7 @@ list of people who contributed to this r
   <div class="col-lg-3 col-lg-offset-1">
     <h2>Archive</h1>
     <ul>
-      <li> <a href="/blog/archives/2017/04/"> April 2017</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> &nbsp;(4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> &nbsp;(2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> &nbsp;(1)</li><
 li> <a href="/blog/archives/2015/03/"> March 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> &nbsp;(2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> &nbsp;(8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> &nbsp;(4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> &nbsp;(3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> &nbsp;(2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> &nbsp;(1)</li><li> <a hre
 f="/blog/archives/2013/07/"> July 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> &nbsp;(2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> &nbsp;(3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> &nbsp;(1)</li><li> <a href="/blog/a
 rchives/2011/09/"> September 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> &nbsp;(1)</li>
+      <li> <a href="/blog/archives/2017/04/"> April 2017</a> &nbsp;(3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> &nbsp;(4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> &nbsp;(2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> &nbsp;(1)</li><
 li> <a href="/blog/archives/2015/03/"> March 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> &nbsp;(2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> &nbsp;(8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> &nbsp;(4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> &nbsp;(3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> &nbsp;(2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> &nbsp;(1)</li><li> <a hre
 f="/blog/archives/2013/07/"> July 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> &nbsp;(2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> &nbsp;(3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> &nbsp;(1)</li><li> <a href="/blog/a
 rchives/2011/09/"> September 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> &nbsp;(1)</li>
     </ul>
   </div>
 </div>

Modified: libcloud/site/trunk/generated/blog/page/10/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/page/10/index.html?rev=1808917&r1=1808916&r2=1808917&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/page/10/index.html (original)
+++ libcloud/site/trunk/generated/blog/page/10/index.html Tue Sep 19 17:03:53 2017
@@ -97,6 +97,126 @@
     
       <div class="post">
   
+    <h2><a href="/blog/2013/12/28/2013-in-retrospect-and-a-happy-new-year-from-the-libcloud-team.html">2013 in retrospect and a Happy New Year from the Libcloud team</a></h2>
+  
+
+  
+    
+  
+  <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Dec 28, 2013</span>
+
+  <div class="post-content">
+    <p>Dear Libcloud users, developers and team members,</p>
+
+<p>2013 is slowly coming to an end, and we would like to wish everyone a happy
+and successful new year!</p>
+
+<p>Now it&#39;s also the time to look back at the things which have been accomplished,
+important events which have happened and some statistics for 2013.</p>
+
+<h3>Important Events and Milestones</h3>
+
+<ul>
+<li>Two new committers have joined our team - <a href="/blog/2013/08/04/new-committer-john-carr-joins-our-team.html">John Carr</a>, <a href="/blog/2013/11/25/new-committers-brian-curtin-joins-our-team.html">Brian Curtin</a></li>
+<li>In June we held a Libcloud Design Day at the Rackspace San Francisco
+office. See <a href="http://www.tomaz.me/2013/06/12/libcloud-design-day-recap-improving-libcloud-and-plans-for-the-future.html">Libcloud Design Day Recap</a> blog post for a recap.</li>
+<li>We have finally migrated from SVN to Git.</li>
+<li>We have started to work on new and improved documentation which is now
+available on <a href="https://libcloud.readthedocs.org/en/latest/">ReadTheDocs</a>.</li>
+<li>In addition to the Apache Buildbot instance, our tests now also run on
+<a href="https://travis-ci.org/apache/libcloud">Travis CI</a>.</li>
+<li>Key pair management methods have been promoted to be part of the base
+compute API. See <a href="http://www.tomaz.me/2013/12/11/libcloud-update-key-pair-management-methods-are-now-part-of-the-base-api.html">Libcloud update - Key pair management methods are now
+part of the base API</a> blog post for more information.</li>
+</ul>
+
+<h3>Statistics</h3>
+
+<ul>
+<li><strong>197</strong> new JIRA issues have been opened (total of <strong>472</strong>). Out of those
+197 issues, <strong>138</strong> are now marked as &#39;resolved&#39;.</li>
+<li>Github mirror stars: <strong>331</strong> (+65 YTD)</li>
+<li>Twitter followers: <strong>449</strong> (+149 YTD)</li>
+<li>Google+ page +1&#39;s: <strong>1591</strong></li>
+<li>We had a total of <strong>5 releases</strong> (0.12.1, 0.12.3, 0.12.4, 0.13.0, 0.13.1,
+0.13.2, 0.14.0-beta3)</li>
+<li>Combination of SVN and Git repository has had a total of <strong>963 commits</strong>.</li>
+</ul>
+
+<h3>Sources</h3>
+
+<p>Numbers listed above have been retrieved on <strong>26th of December, 2013</strong> from the
+sources listed bellow:</p>
+
+<ul>
+<li>Libcloud website - <a href="http://libcloud.apache.org/">http://libcloud.apache.org/</a></li>
+<li>Twitter account - <a href="https://twitter.com/libcloud">https://twitter.com/libcloud</a></li>
+<li>Google+ page - <a href="https://plus.google.com/b/100590055818889164025/100590055818889164025">Apache Libcloud</a></li>
+<li>Github mirror - <a href="https://github.com/apache/libcloud">https://github.com/apache/libcloud</a></li>
+<li>JIRA - <a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a></li>
+<li>PyPi - <a href="https://pypi.python.org/pypi/apache-libcloud/">https://pypi.python.org/pypi/apache-libcloud/</a></li>
+<li>Ohloh - <a href="https://www.ohloh.net/p/libcloud/">https://www.ohloh.net/p/libcloud/</a></li>
+</ul>
+
+<p>Those numbers and numbers for the past years are also available in a semi
+machine readable format in a <a href="https://docs.google.com/spreadsheets/d/1k_UBpA_HiQcZvO_TPi12yfN0VwCk42R8CXFFX0FYUAM">Google Spreadsheet</a>.</p>
+
+<h3>Old retrospect blog posts</h3>
+
+<ul>
+<li><a href="/blog/2012/12/26/2012-in-retrospect-and-happy-new-year-from-libcloud-team.html">2012 in retrospect and a Happy New Year from the Libcloud team</a></li>
+<li><a href="/blog/2011/12/30/2011-in-retrospect-and-happy-new-year-from-libcloud-team.html">2011 in retrospect and a Happy New Year from the Libcloud team</a></li>
+</ul>
+
+<p>Thanks again to everyone for their contributions and lets make 2014 even better
+and more successful :)</p>
+
+  </div>
+
+  <div class="row section post-meta">
+    <div class="col-md-12 post-tags">
+      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a></p>
+    </div>
+  </div>
+</div>
+
+    
+  
+    
+      <div class="post">
+  
+    <h2><a href="/blog/2013/11/25/new-committers-brian-curtin-joins-our-team.html">New committer Brian Curtin joins our team</a></h2>
+  
+
+  
+    
+  
+  <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Nov 25, 2013</span>
+
+  <div class="post-content">
+    <p>The Project Management Committee (PMC) for Apache Libcloud has asked Brian
+Curtin to become a committer and we are pleased to announce that they have
+accepted.</p>
+
+<p>We are glad to have him as a committer. Everyone, please help us welcome him
+to the team :)</p>
+
+<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-dev/201311.mbox/%3CCAJMHEmJZO0%3DPLpLXe9W9wPXTLwh2iQ3x2xXy%2BWhqjdFBv2%2BHbw%40mail.gmail.com%3E">mailing list</a>.</p>
+
+  </div>
+
+  <div class="row section post-meta">
+    <div class="col-md-12 post-tags">
+      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/new%20committer.html" rel="tag">new committer</a></p>
+    </div>
+  </div>
+</div>
+
+    
+  
+    
+      <div class="post">
+  
     <h2><a href="/blog/2013/11/21/libcloud-0-14-0-beta3-released.html">Libcloud 0.14.0-beta3 released</a></h2>
   
 
@@ -330,160 +450,6 @@ help me welcome him to the team :)</p>
 
     
   
-    
-      <div class="post">
-  
-    <h2><a href="/blog/2013/07/01/libcloud-0-13-0-released.html">Libcloud 0.13.0 released</a></h2>
-  
-
-  
-    
-  
-  <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Jul 01, 2013</span>
-
-  <div class="post-content">
-    <p>We are pleased to announce the release of Libcloud 0.13.0!</p>
-
-<p>This release includes a lot of improvements and bug fixes.</p>
-
-<p>Full change log can be found at <a href="https://git-wip-us.apache.org/repos/asf?p=libcloud.git;a=blob;f=CHANGES;h=640bd2f4db8bc11674fc8c1829922d0c79b733cd;hb=9c0d11a4cf7e588ad87c7e57311bbb1d955cc2a7">here</a>.</p>
-
-<h3>Download</h3>
-
-<p>Libcloud 0.13.0 can be downloaded from
-http://libcloud.apache.org/downloads.html
-or installed using pip:</p>
-
-<div class="highlight"><pre><code class="bash">pip install apache-libcloud
-</code></pre></div>
-
-<p>It is possible that the file hasn&#39;t been synced to all the mirrors yet. If
-this
-is the case, please use the main Apache mirror -
-http://www.apache.org/dist/libcloud.</p>
-
-<h3>Upgrading</h3>
-
-<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
-
-<div class="highlight"><pre><code class="bash">pip install --upgrade apache-libcloud
-</code></pre></div>
-
-<h3>Upgrade notes</h3>
-
-<p>A page which describes backward incompatible or semi-incompatible
-changes and how to preserve the old behavior when this is possible
-can be found at http://libcloud.apache.org/upgrade-notes.html.</p>
-
-<h3>Documentation</h3>
-
-<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.13.0/.</p>
-
-<h3>Bugs / Issues</h3>
-
-<p>If you find any bug or issue, please report it on our issue tracker
-<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>.
-Don&#39;t forget to attach an example and / or test which reproduces your
-problem.</p>
-
-<h3>Thanks</h3>
-
-<p>Thanks to everyone who contributed and made this release possible! Full
-list of
-people who contributed to this release can be found in the <a href="https://git-wip-us.apache.org/repos/asf?p=libcloud.git;a=blob;f=CHANGES;h=640bd2f4db8bc11674fc8c1829922d0c79b733cd;hb=9c0d11a4cf7e588ad87c7e57311bbb1d955cc2a7">CHANGES file</a>.</p>
-
-<p>Source: <a href="https://mail-archives.apache.org/mod_mbox/libcloud-dev/201307.mbox/%3CCAJMHEmJBU_aMREM0f0LD-nHZt6pWTt9WabfdxDPtDSy%2B1w7K8g%40mail.gmail.com%3E">release announcement</a>.</p>
-
-  </div>
-
-  <div class="row section post-meta">
-    <div class="col-md-12 post-tags">
-      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release%20announcement.html" rel="tag">release announcement</a></p>
-    </div>
-  </div>
-</div>
-
-    
-  
-    
-      <div class="post">
-  
-    <h2><a href="/blog/2013/03/21/libcloud-0-12-3-released.html">Libcloud 0.12.3 released</a></h2>
-  
-
-  
-    
-  
-  <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Mar 21, 2013</span>
-
-  <div class="post-content">
-    <p>We are pleased to announce the release of Libcloud 0.12.3!</p>
-
-<p>This release is primarily a bug fix release and fixes Python 3.3,
-deployment and some other issues.</p>
-
-<p>Full change log can be found at
-https://svn.apache.org/repos/asf/libcloud/tags/0.12.3/CHANGES</p>
-
-<h3>Download</h3>
-
-<p>Libcloud 0.12.3 can be downloaded from
-http://libcloud.apache.org/downloads.html
-or installed using pip:</p>
-
-<div class="highlight"><pre><code class="bash">pip install apache-libcloud
-</code></pre></div>
-
-<p>It is possible that the file hasn&#39;t been synced to all the mirrors yet. If
-this
-is the case, please use the main Apache mirror -
-http://www.apache.org/dist/libcloud.</p>
-
-<h3>Upgrading</h3>
-
-<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
-
-<div class="highlight"><pre><code class="bash">pip install --upgrade apache-libcloud
-</code></pre></div>
-
-<h3>Upgrade notes</h3>
-
-<p>A page which describes backward incompatible or semi-incompatible
-changes and how to preserve the old behavior when this is possible
-can be found at http://libcloud.apache.org/upgrade-notes.html.</p>
-
-<h3>Documentation</h3>
-
-<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.12.3/
-.</p>
-
-<h3>Bugs / Issues</h3>
-
-<p>If you find any bug or issue, please report it on our issue tracker
-<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>.
- Don&#39;t forget to attach an example and / or test which reproduces your
-problem.</p>
-
-<h3>Thanks</h3>
-
-<p>Thanks to everyone who contributed and made this release possible! Full
-list of
-people who contributed to this release can be found in the CHANGES file
-<a href="https://svn.apache.org/repos/asf/libcloud/tags/0.12.3/CHANGES">https://svn.apache.org/repos/asf/libcloud/tags/0.12.3/CHANGES</a>.</p>
-
-<p>Source: <a href="https://mail-archives.apache.org/mod_mbox/libcloud-dev/201303.mbox/%3CCAJMHEmJDKsYOn%3DaVDyChdQCgHbKc1r2n0Wy4_UxGmdd-aXf-WQ%40mail.gmail.com%3E">release announcement</a>.</p>
-
-  </div>
-
-  <div class="row section post-meta">
-    <div class="col-md-12 post-tags">
-      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release%20announcement.html" rel="tag">release announcement</a></p>
-    </div>
-  </div>
-</div>
-
-    
-  
 </div>
 
 <p class="navigation">
@@ -508,7 +474,7 @@ people who contributed to this release c
   <div class="col-lg-3 col-lg-offset-1">
     <h2>Archive</h1>
     <ul>
-      <li> <a href="/blog/archives/2017/04/"> April 2017</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> &nbsp;(4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> &nbsp;(2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> &nbsp;(1)</li><
 li> <a href="/blog/archives/2015/03/"> March 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> &nbsp;(2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> &nbsp;(8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> &nbsp;(4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> &nbsp;(3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> &nbsp;(2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> &nbsp;(1)</li><li> <a hre
 f="/blog/archives/2013/07/"> July 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> &nbsp;(2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> &nbsp;(3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> &nbsp;(1)</li><li> <a href="/blog/a
 rchives/2011/09/"> September 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> &nbsp;(1)</li>
+      <li> <a href="/blog/archives/2017/04/"> April 2017</a> &nbsp;(3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> &nbsp;(4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> &nbsp;(2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> &nbsp;(1)</li><
 li> <a href="/blog/archives/2015/03/"> March 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> &nbsp;(2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> &nbsp;(8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> &nbsp;(4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> &nbsp;(3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> &nbsp;(2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> &nbsp;(1)</li><li> <a hre
 f="/blog/archives/2013/07/"> July 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> &nbsp;(2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> &nbsp;(3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> &nbsp;(1)</li><li> <a href="/blog/a
 rchives/2011/09/"> September 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> &nbsp;(1)</li>
     </ul>
   </div>
 </div>

Modified: libcloud/site/trunk/generated/blog/page/11/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/page/11/index.html?rev=1808917&r1=1808916&r2=1808917&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/page/11/index.html (original)
+++ libcloud/site/trunk/generated/blog/page/11/index.html Tue Sep 19 17:03:53 2017
@@ -97,6 +97,160 @@
     
       <div class="post">
   
+    <h2><a href="/blog/2013/07/01/libcloud-0-13-0-released.html">Libcloud 0.13.0 released</a></h2>
+  
+
+  
+    
+  
+  <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Jul 01, 2013</span>
+
+  <div class="post-content">
+    <p>We are pleased to announce the release of Libcloud 0.13.0!</p>
+
+<p>This release includes a lot of improvements and bug fixes.</p>
+
+<p>Full change log can be found at <a href="https://git-wip-us.apache.org/repos/asf?p=libcloud.git;a=blob;f=CHANGES;h=640bd2f4db8bc11674fc8c1829922d0c79b733cd;hb=9c0d11a4cf7e588ad87c7e57311bbb1d955cc2a7">here</a>.</p>
+
+<h3>Download</h3>
+
+<p>Libcloud 0.13.0 can be downloaded from
+http://libcloud.apache.org/downloads.html
+or installed using pip:</p>
+
+<div class="highlight"><pre><code class="bash">pip install apache-libcloud
+</code></pre></div>
+
+<p>It is possible that the file hasn&#39;t been synced to all the mirrors yet. If
+this
+is the case, please use the main Apache mirror -
+http://www.apache.org/dist/libcloud.</p>
+
+<h3>Upgrading</h3>
+
+<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
+
+<div class="highlight"><pre><code class="bash">pip install --upgrade apache-libcloud
+</code></pre></div>
+
+<h3>Upgrade notes</h3>
+
+<p>A page which describes backward incompatible or semi-incompatible
+changes and how to preserve the old behavior when this is possible
+can be found at http://libcloud.apache.org/upgrade-notes.html.</p>
+
+<h3>Documentation</h3>
+
+<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.13.0/.</p>
+
+<h3>Bugs / Issues</h3>
+
+<p>If you find any bug or issue, please report it on our issue tracker
+<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>.
+Don&#39;t forget to attach an example and / or test which reproduces your
+problem.</p>
+
+<h3>Thanks</h3>
+
+<p>Thanks to everyone who contributed and made this release possible! Full
+list of
+people who contributed to this release can be found in the <a href="https://git-wip-us.apache.org/repos/asf?p=libcloud.git;a=blob;f=CHANGES;h=640bd2f4db8bc11674fc8c1829922d0c79b733cd;hb=9c0d11a4cf7e588ad87c7e57311bbb1d955cc2a7">CHANGES file</a>.</p>
+
+<p>Source: <a href="https://mail-archives.apache.org/mod_mbox/libcloud-dev/201307.mbox/%3CCAJMHEmJBU_aMREM0f0LD-nHZt6pWTt9WabfdxDPtDSy%2B1w7K8g%40mail.gmail.com%3E">release announcement</a>.</p>
+
+  </div>
+
+  <div class="row section post-meta">
+    <div class="col-md-12 post-tags">
+      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release%20announcement.html" rel="tag">release announcement</a></p>
+    </div>
+  </div>
+</div>
+
+    
+  
+    
+      <div class="post">
+  
+    <h2><a href="/blog/2013/03/21/libcloud-0-12-3-released.html">Libcloud 0.12.3 released</a></h2>
+  
+
+  
+    
+  
+  <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Mar 21, 2013</span>
+
+  <div class="post-content">
+    <p>We are pleased to announce the release of Libcloud 0.12.3!</p>
+
+<p>This release is primarily a bug fix release and fixes Python 3.3,
+deployment and some other issues.</p>
+
+<p>Full change log can be found at
+https://svn.apache.org/repos/asf/libcloud/tags/0.12.3/CHANGES</p>
+
+<h3>Download</h3>
+
+<p>Libcloud 0.12.3 can be downloaded from
+http://libcloud.apache.org/downloads.html
+or installed using pip:</p>
+
+<div class="highlight"><pre><code class="bash">pip install apache-libcloud
+</code></pre></div>
+
+<p>It is possible that the file hasn&#39;t been synced to all the mirrors yet. If
+this
+is the case, please use the main Apache mirror -
+http://www.apache.org/dist/libcloud.</p>
+
+<h3>Upgrading</h3>
+
+<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
+
+<div class="highlight"><pre><code class="bash">pip install --upgrade apache-libcloud
+</code></pre></div>
+
+<h3>Upgrade notes</h3>
+
+<p>A page which describes backward incompatible or semi-incompatible
+changes and how to preserve the old behavior when this is possible
+can be found at http://libcloud.apache.org/upgrade-notes.html.</p>
+
+<h3>Documentation</h3>
+
+<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.12.3/
+.</p>
+
+<h3>Bugs / Issues</h3>
+
+<p>If you find any bug or issue, please report it on our issue tracker
+<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>.
+ Don&#39;t forget to attach an example and / or test which reproduces your
+problem.</p>
+
+<h3>Thanks</h3>
+
+<p>Thanks to everyone who contributed and made this release possible! Full
+list of
+people who contributed to this release can be found in the CHANGES file
+<a href="https://svn.apache.org/repos/asf/libcloud/tags/0.12.3/CHANGES">https://svn.apache.org/repos/asf/libcloud/tags/0.12.3/CHANGES</a>.</p>
+
+<p>Source: <a href="https://mail-archives.apache.org/mod_mbox/libcloud-dev/201303.mbox/%3CCAJMHEmJDKsYOn%3DaVDyChdQCgHbKc1r2n0Wy4_UxGmdd-aXf-WQ%40mail.gmail.com%3E">release announcement</a>.</p>
+
+  </div>
+
+  <div class="row section post-meta">
+    <div class="col-md-12 post-tags">
+      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release%20announcement.html" rel="tag">release announcement</a></p>
+    </div>
+  </div>
+</div>
+
+    
+  
+    
+      <div class="post">
+  
     <h2><a href="/blog/2013/02/18/libcloud-0-12-1-released.html">Libcloud 0.12.1 released</a></h2>
   
 
@@ -304,137 +458,6 @@ Analytics</p>
 
     
   
-    
-      <div class="post">
-  
-    <h2><a href="/blog/2012/11/19/libcloud-0-11-4-released.html">Libcloud 0.11.4 released</a></h2>
-  
-
-  
-    
-  
-  <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Nov 19, 2012</span>
-
-  <div class="post-content">
-    <p>We are pleased to announce the release of Libcloud 0.11.4!</p>
-
-<p>This release is a bug fix release and contains no new features.</p>
-
-<p>Next release which will contain new features and some backward incompatible
-changes will happen in the 0.12.x series in the next couple of weeks.</p>
-
-<p>Bug fixes:</p>
-
-<ul>
-<li>Fix some of tests failures which happened in Python 3.3 due to randomized
-dictionary ordering.</li>
-<li>Fix a bug where a numeric instead of a string value was used for the
-content-length header in VCloud driver.</li>
-<li>Don&#39;t ignore ex<em>force</em>service_region argument in the CloudFiles driver.</li>
-<li>Fix a bug which caused the connection to not be closed when using Python
-2.6 and calling get_object on an object which doesn&#39;t exist in the S3
-driver.</li>
-<li>Update &#39;if type&#39; checks in the update_record methods to behave correctly
-if users passes in RecordType.A with a value of 0 - if type is not None.</li>
-</ul>
-
-<p>Full change log can be found at
-<a href="https://svn.apache.org/viewvc/libcloud/tags/0.11.4/CHANGES?revision=r1411030&amp;view=markup">https://svn.apache.org/viewvc/libcloud/tags/0.11.4/CHANGES?revision=r1411030&amp;view=markup</a>.</p>
-
-<h3>Download</h3>
-
-<p>Libcloud 0.11.4 can be downloaded from
-http://libcloud.apache.org/downloads.html
-or installed using pip:</p>
-
-<div class="highlight"><pre><code class="bash">pip install apache-libcloud
-</code></pre></div>
-
-<p>It is possible that the file hasn&#39;t been synced to all the mirrors yet. If
-this is the case,
-please use the main Apache mirror - http://www.apache.org/dist/libcloud.</p>
-
-<h3>Upgrading</h3>
-
-<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
-
-<div class="highlight"><pre><code class="bash">pip install --upgrade apache-libcloud
-</code></pre></div>
-
-<h3>Upgrade notes</h3>
-
-<p>A page which describes backward incompatible or semi-incompatible
-changes and how to preserve the old behavior when this is possible
-can be found at http://libcloud.apache.org/upgrade-notes.html.</p>
-
-<h3>Documentation</h3>
-
-<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.11.4/.</p>
-
-<h3>Bugs / Issues</h3>
-
-<p>If you find any bug or issue, please report it on our issue tracker &lt;
-https://issues.apache.org/jira/browse/LIBCLOUD&gt;. Don&#39;t forget to attach an
-example and / or
-test which reproduces your problem.</p>
-
-<h3>Thanks</h3>
-
-<p>Thanks to everyone who contributed and made this release possible! Full
-list of people who contributed to this release can be found in the CHANGES
-file <a href="https://svn.apache.org/viewvc/libcloud/tags/0.11.3/CHANGES?revision=r1388947&amp;view=markup">https://svn.apache.org/viewvc/libcloud/tags/0.11.3/CHANGES?revision=r1388947&amp;view=markup</a>.</p>
-
-<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-users/201211.mbox/%3CCAJMHEmL73OCjiNqg0QGPWb1Cc2JnQ4OWjXs5ah-sU%2BA%3DOwPUTg%40mail.gmail.com%3E">release announcement</a>.</p>
-
-  </div>
-
-  <div class="row section post-meta">
-    <div class="col-md-12 post-tags">
-      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release%20announcement.html" rel="tag">release announcement</a></p>
-    </div>
-  </div>
-</div>
-
-    
-  
-    
-      <div class="post">
-  
-    <h2><a href="/blog/2012/11/16/new-committer-ilgiz-islamgulov-joins-the-team.html">New committer Ilgiz Islamgulov joins our team</a></h2>
-  
-
-  
-    
-  
-  <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Nov 16, 2012</span>
-
-  <div class="post-content">
-    <p>The Project Management Committee (PMC) for Apache Libcloud
-has asked Ilgiz Islamgulov to become a committer and we are pleased
-to announce that they have accepted.</p>
-
-<p>Ilgiz worked on the Libcloud REST GSoC project
-(http://libcloud.apache.org/gsoc-2012.html) this summer and he has made a
-great progress on it.</p>
-
-<p>Giving him commit access will allow him to more directly contribute to the
-project and work on integrating Libcloud REST into main line.</p>
-
-<p>Everyone, please help me welcome him to the team :)</p>
-
-<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-dev/201211.mbox/%3CCAJMHEmJmRDdQbfRSxOBTueSJ8u4-VgU8YaeP5LcJ2gwubfNF2g%40mail.gmail.com%3E">mailing list</a>.</p>
-
-  </div>
-
-  <div class="row section post-meta">
-    <div class="col-md-12 post-tags">
-      <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/new%20committer.html" rel="tag">new committer</a></p>
-    </div>
-  </div>
-</div>
-
-    
-  
 </div>
 
 <p class="navigation">
@@ -459,7 +482,7 @@ project and work on integrating Libcloud
   <div class="col-lg-3 col-lg-offset-1">
     <h2>Archive</h1>
     <ul>
-      <li> <a href="/blog/archives/2017/04/"> April 2017</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> &nbsp;(4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> &nbsp;(2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> &nbsp;(1)</li><
 li> <a href="/blog/archives/2015/03/"> March 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> &nbsp;(2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> &nbsp;(8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> &nbsp;(4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> &nbsp;(3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> &nbsp;(2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> &nbsp;(1)</li><li> <a hre
 f="/blog/archives/2013/07/"> July 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> &nbsp;(2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> &nbsp;(3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> &nbsp;(1)</li><li> <a href="/blog/a
 rchives/2011/09/"> September 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> &nbsp;(1)</li>
+      <li> <a href="/blog/archives/2017/04/"> April 2017</a> &nbsp;(3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> &nbsp;(4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> &nbsp;(2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> &nbsp;(1)</li><
 li> <a href="/blog/archives/2015/03/"> March 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> &nbsp;(2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> &nbsp;(8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> &nbsp;(4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> &nbsp;(3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> &nbsp;(2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> &nbsp;(1)</li><li> <a hre
 f="/blog/archives/2013/07/"> July 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> &nbsp;(2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> &nbsp;(3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> &nbsp;(1)</li><li> <a href="/blog/a
 rchives/2011/09/"> September 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> &nbsp;(1)</li>
     </ul>
   </div>
 </div>