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 2019/12/21 18:38:34 UTC

svn commit: r1871897 - in /libcloud/site/trunk: generated/ generated/blog/ generated/blog/2019/12/09/ generated/blog/2019/12/19/ generated/blog/archives/2019/12/ generated/blog/tags/ source/ source/_posts/

Author: tomaz
Date: Sat Dec 21 18:38:33 2019
New Revision: 1871897

URL: http://svn.apache.org/viewvc?rev=1871897&view=rev
Log:
Fix invalid date in the file name, make sure old link still works.

Added:
    libcloud/site/trunk/generated/blog/2019/12/09/
    libcloud/site/trunk/generated/blog/2019/12/09/libcloud-2-7-0-released.html
    libcloud/site/trunk/source/_posts/2019-12-09-libcloud-2-7-0-released.md
Removed:
    libcloud/site/trunk/generated/blog/2019/12/19/
    libcloud/site/trunk/source/_posts/2019-12-19-libcloud-2-7-0-released.md
Modified:
    libcloud/site/trunk/generated/.htaccess
    libcloud/site/trunk/generated/blog/archives/2019/12/index.html
    libcloud/site/trunk/generated/blog/atom.xml
    libcloud/site/trunk/generated/blog/index.html
    libcloud/site/trunk/generated/blog/tags/news.html
    libcloud/site/trunk/generated/blog/tags/release announcement.html
    libcloud/site/trunk/generated/index.html
    libcloud/site/trunk/generated/sitemap.xml
    libcloud/site/trunk/source/.htaccess

Modified: libcloud/site/trunk/generated/.htaccess
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/.htaccess?rev=1871897&r1=1871896&r2=1871897&view=diff
==============================================================================
--- libcloud/site/trunk/generated/.htaccess (original)
+++ libcloud/site/trunk/generated/.htaccess Sat Dec 21 18:38:33 2019
@@ -39,4 +39,7 @@ Redirect 301 /docs/dns-overview.html htt
 Redirect 301 /docs/dns-base-api.html https://libcloud.readthedocs.org/en/latest/dns/api.html
 Redirect 301 /docs/dns-examples.html https://libcloud.readthedocs.org/en/latest/dns/examples.html
 
+# Redirect because of the wrong file name used
+Redirect 301 /blog/2019/12/19/libcloud-2-7-0-released.html /blog/2019/12/09/libcloud-2-7-0-released.html
+
 Redirect 301 /docs https://libcloud.readthedocs.org/en/latest/

Added: libcloud/site/trunk/generated/blog/2019/12/09/libcloud-2-7-0-released.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/2019/12/09/libcloud-2-7-0-released.html?rev=1871897&view=auto
==============================================================================
--- libcloud/site/trunk/generated/blog/2019/12/09/libcloud-2-7-0-released.html (added)
+++ libcloud/site/trunk/generated/blog/2019/12/09/libcloud-2-7-0-released.html Sat Dec 21 18:38:33 2019
@@ -0,0 +1,285 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    
+
+    <meta name="author" content="The Apache Software Foundation">
+
+    
+      <meta name="keywords" content="news,release announcement" />
+    
+
+    
+      <title>Libcloud 2.7.0 released | Apache Libcloud</title>
+    
+
+    <!-- fav icons -->
+    <link rel="shortcut icon" href="/images/favicon.png" />
+    <link rel="apple-touch-icon" href="/images/apple-touch-icon.png" />
+    <link rel="apple-touch-icon-precomposed" href="/images/apple-touch-icon.png" />
+
+    <link href="/blog/atom.xml" type="application/atom+xml" rel="alternate" title="Apache Libcloud Blog Feed" />
+
+    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,400italic' rel='stylesheet' type='text/css'>
+    <link href='https://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
+
+    <!-- Facebook OpenGraph tags -->
+    <meta content="Apache Libcloud" property="og:site_name">
+    
+      <meta content="Libcloud 2.7.0 released" property="og:title">
+    
+
+    
+
+    
+
+    
+      <meta content="article" property="og:type">
+    
+
+    
+      <meta content="https://libcloud.apache.org/blog/2019/12/09/libcloud-2-7-0-released.html" property="og:url">
+    
+    
+      <meta content="2019-12-09T00:00:00+01:00" property="article:published_time">
+      <meta content="https://libcloud.apache.org/about.html" property="article:author">
+    
+
+    
+      
+      <meta content="news" property="article:tag">
+      
+      <meta content="release announcement" property="article:tag">
+      
+    
+
+    <link href='/assets/global-73ae5b95993dad7a856dae3f60df3e3c.css' rel='stylesheet' type='text/css' />
+
+  </head>
+
+  <body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
+    <nav class="navbar navbar-fixed-top navbar-inverse" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="/index.html"><img src="/images/libcloud_logo.png" class="navbar-logo" /> Apache Libcloud</a>
+        </div>
+        <div class="collapse navbar-collapse navbar-ex1-collapse">
+          <ul class="nav navbar-nav">
+            
+            
+              <li ><a href="/" >Home</a></li>
+            
+              <li ><a href="/about.html" >About</a></li>
+            
+              <li ><a href="/getting-started.html" >Quick Start</a></li>
+            
+              <li ><a href="https://libcloud.readthedocs.org/en/latest/" target="_blank">Documentation</a></li>
+            
+              <li ><a href="/downloads.html" >Downloads</a></li>
+            
+              <li ><a href="/community.html" >Community</a></li>
+            
+              <li ><a href="/blog/" >Blog</a></li>
+            
+          </ul>
+        </div><!-- /.navbar-collapse -->
+      </div><!-- /.container -->
+    </nav>
+
+    <div class="container main-container">
+      <div class="row section page-content">
+  <div class="col-lg-8 col-lg-offset-2">
+    
+<div class="post">
+  
+    <h2>Libcloud 2.7.0 released</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 09, 2019</span>
+
+  <div class="post-content">
+    <p>We are pleased to announce the release of Libcloud 2.7.0.</p>
+
+<p>Among various smaller bug fixes, this release also includes a couple of big
+new features.</p>
+
+<p>Highlights include:</p>
+
+<ul>
+<li>Initial type annotations / hints support for the base Libcloud compute API.</li>
+<li>S3 driver class has been updated to support <code>region</code> argument in the same
+manner as other drivers which support multiple regions (no more messy class
+per region approach). For backward compatibility reasons, &quot;class per region&quot;
+approach will still be supported until the next major release.</li>
+<li>New <code>start_node()</code> and <code>stop_node()</code> method have been added to the base
+Libcloud compute API and the existing drivers which implement
+<code>ex_start_node()</code> and <code>ex_stop_node()</code> methods have been updated to
+implement those new methods. Old <code>ex_</code> methods will continue to work for
+backward compatibility reasons.</li>
+</ul>
+
+<p>Full change log can be found at
+<a href="http://libcloud.readthedocs.io/en/latest/changelog.html#changes-in-apache-libcloud-2.7.0">http://libcloud.readthedocs.io/en/latest/changelog.html#changes-in-apache-libcloud-2.7.0</a>.</p>
+
+<h3>Dropping support for Python 2.7 and Python 3.4</h3>
+
+<p>Libcloud was among some of the other early larger Python projects which have
+supported Python 2.x and Python 3.x simultaneously using a single code base
+from 2011.</p>
+
+<p>Over the years, the landscape has changed a lot. A lot of the users now use
+Python 3 as a default and a lot of the popular Python projects now not only
+support Python 3, but also make Python 3 the only supported Python version.</p>
+
+<p>In addition to that, <a href="https://pythonclock.org/">Python 2.7 will not be maintained past January 2020</a>.</p>
+
+<p>We have decided to sign the <a href="https://python3statement.org/">Python 3 statement</a> and drop support for Python
+2.7 and Python 3.4 in the next major release (v3.0.0) which will coincide
+with Python 2.7 EOL early next year.</p>
+
+<p>This means that Libcloud v2.7.0 will be the last major release which still
+supports Python 2.7 and 3.4.</p>
+
+<p>The change itself is still work in progress. People who are interested in it
+can check the following PR <a href="https://github.com/apache/libcloud/pull/1377">https://github.com/apache/libcloud/pull/1377</a>.</p>
+
+<h4>How does this affect me?</h4>
+
+<p>If you still need to use Python 2.7 or Python 3.4 after Libcloud v3.0.0 is
+out, you will be able to do that by utilizing one of the older Libcloud
+releases which still supports that Python version.</p>
+
+<p>All the new feature development and improvements will land in new release
+which support Python &gt;= 3.5 only, but we may still do a release in the
+v2.7.x release series if a major bug or a security issue is found.</p>
+
+<h4>How does this affect the Libcloud development team?</h4>
+
+<p>Supporting Python 2.x and Python 3.x through a single code base was never
+totally trivial.</p>
+
+<p>This is especially true for our project which doesn&#39;t use <code>six</code> Python 2
+/ 3 compatibility library, but uses custom glue / wrapper code for that.</p>
+
+<p>There are multiple reasons why we didn&#39;t use <code>six</code> - one is that we still
+needed to support Python 2.5 which is not supported by <code>six</code> and another
+one is that we didn&#39;t want to introduce another dependency on the end user in
+the days where Python packaging was still very much in the infancy.</p>
+
+<p>Dropping support for Python 2.7 and Python 3.4 will allow us to streamline our
+code and remove a lot of the code which is not needed anymore.</p>
+
+<p>This will result in easier development and cleaner code.</p>
+
+<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.7.0
+</pre>
+
+<h3>Upgrading</h3>
+
+<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
+
+<pre>
+pip install --upgrade apache-libcloud==2.7.0
+</pre>
+
+<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 <a href="https://libcloud.readthedocs.org/en/latest/upgrade_notes.html">https://libcloud.readthedocs.org/en/latest/upgrade_notes.html</a></p>
+
+<h3>Documentation</h3>
+
+<p>Regular and API documentation is available at <a href="https://libcloud.readthedocs.org/en/v2.7.0/">https://libcloud.readthedocs.org/en/v2.7.0/</a></p>
+
+<h3>Bugs / Issues</h3>
+
+<p>If you find any bug or issue, please report it on our issue tracker
+<a href="https://github.com/apache/libcloud/issues">https://github.com/apache/libcloud/issues</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://libcloud.readthedocs.org/en/v2.7.1/changelog.html">CHANGES file</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>
+
+Share : <a href="https://twitter.com/share" class="twitter-share-button"{count} data-via="libcloud" data-size="large" data-hashtags="cloud">Tweet</a>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+
+  </div>
+</div>
+
+
+      <hr />
+
+      <footer>
+        <div class="row">
+          <div class="col-lg-12 text-center">
+            <div class="footer-links">
+  <p><a href="http://www.apache.org/licenses/">License</a> | <a
+  href="/security.html">Security</a> | <a
+  href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
+  <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> |
+  <a href="/credits.html">Credits</a> | <a href="/media.html">Media</a>
+</div>
+
+<div class="footer-text">
+  <p class="">Copyright &copy; 2009-2019 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
+  <p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
+</div>
+
+          </div>
+        </div>
+      </footer>
+
+    </div><!-- /.container -->
+
+    <!-- JavaScript -->
+    <script src='/assets/global-dfa80e7474b58ee1c1f578e43dccac44.js' type='text/javascript'></script>
+
+
+    
+
+    <script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-23580482-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+</script>
+
+  </body>
+</html>

Modified: libcloud/site/trunk/generated/blog/archives/2019/12/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2019/12/index.html?rev=1871897&r1=1871896&r2=1871897&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2019/12/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2019/12/index.html Sat Dec 21 18:38:33 2019
@@ -95,13 +95,13 @@
 
   <div class="post">
   
-    <h2><a href="/blog/2019/12/19/libcloud-2-7-0-released.html">Libcloud 2.7.0 released</a></h2>
+    <h2><a href="/blog/2019/12/09/libcloud-2-7-0-released.html">Libcloud 2.7.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 Dec 19, 2019</span>
+  <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 09, 2019</span>
 
   <div class="post-content">
     <p>We are pleased to announce the release of Libcloud 2.7.0.</p>

Modified: libcloud/site/trunk/generated/blog/atom.xml
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/atom.xml?rev=1871897&r1=1871896&r2=1871897&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/atom.xml (original)
+++ libcloud/site/trunk/generated/blog/atom.xml Sat Dec 21 18:38:33 2019
@@ -5,7 +5,7 @@
   <link href="https://libcloud.apache.org" rel="self" />
   <link href="https://libcloud.apache.org" />
   <id>https://libcloud.apache.org</id>
-  <updated>2019-12-09T21:05:10+01:00</updated>
+  <updated>2019-12-21T19:34:26+01:00</updated>
   <author>
     <name>The Apache Software Foundation</name>
   </author>
@@ -13,9 +13,9 @@
     
   <entry>
     <title>Libcloud 2.7.0 released</title>
-    <link href="https://libcloud.apache.org/blog/2019/12/19/libcloud-2-7-0-released.html" />
-    <id>https://libcloud.apache.org/blog/2019/12/19/libcloud-2-7-0-released.html</id>
-    <updated>2019-12-19T00:00:00+01:00</updated>
+    <link href="https://libcloud.apache.org/blog/2019/12/09/libcloud-2-7-0-released.html" />
+    <id>https://libcloud.apache.org/blog/2019/12/09/libcloud-2-7-0-released.html</id>
+    <updated>2019-12-09T00:00:00+01:00</updated>
     <author>
       <name>Tomaz Muraus</name>
     </author>

Modified: libcloud/site/trunk/generated/blog/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/index.html?rev=1871897&r1=1871896&r2=1871897&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/index.html (original)
+++ libcloud/site/trunk/generated/blog/index.html Sat Dec 21 18:38:33 2019
@@ -97,13 +97,13 @@
     
       <div class="post">
   
-    <h2><a href="/blog/2019/12/19/libcloud-2-7-0-released.html">Libcloud 2.7.0 released</a></h2>
+    <h2><a href="/blog/2019/12/09/libcloud-2-7-0-released.html">Libcloud 2.7.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 Dec 19, 2019</span>
+  <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 09, 2019</span>
 
   <div class="post-content">
     <p>We are pleased to announce the release of Libcloud 2.7.0.</p>

Modified: libcloud/site/trunk/generated/blog/tags/news.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/news.html?rev=1871897&r1=1871896&r2=1871897&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/news.html (original)
+++ libcloud/site/trunk/generated/blog/tags/news.html Sat Dec 21 18:38:33 2019
@@ -96,13 +96,13 @@
   
     <div class="post">
   
-    <h2><a href="/blog/2019/12/19/libcloud-2-7-0-released.html">Libcloud 2.7.0 released</a></h2>
+    <h2><a href="/blog/2019/12/09/libcloud-2-7-0-released.html">Libcloud 2.7.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 Dec 19, 2019</span>
+  <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 09, 2019</span>
 
   <div class="post-content">
     <p>We are pleased to announce the release of Libcloud 2.7.0.</p>

Modified: libcloud/site/trunk/generated/blog/tags/release announcement.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/release%20announcement.html?rev=1871897&r1=1871896&r2=1871897&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/release announcement.html (original)
+++ libcloud/site/trunk/generated/blog/tags/release announcement.html Sat Dec 21 18:38:33 2019
@@ -96,13 +96,13 @@
   
     <div class="post">
   
-    <h2><a href="/blog/2019/12/19/libcloud-2-7-0-released.html">Libcloud 2.7.0 released</a></h2>
+    <h2><a href="/blog/2019/12/09/libcloud-2-7-0-released.html">Libcloud 2.7.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 Dec 19, 2019</span>
+  <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 09, 2019</span>
 
   <div class="post-content">
     <p>We are pleased to announce the release of Libcloud 2.7.0.</p>

Modified: libcloud/site/trunk/generated/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/index.html?rev=1871897&r1=1871896&r2=1871897&view=diff
==============================================================================
--- libcloud/site/trunk/generated/index.html (original)
+++ libcloud/site/trunk/generated/index.html Sat Dec 21 18:38:33 2019
@@ -241,7 +241,7 @@
         <h3>Latest Blog Posts</h3>
         
           
-            <p><a href="/blog/2019/12/19/libcloud-2-7-0-released.html">Libcloud 2.7.0 released</a>
+            <p><a href="/blog/2019/12/09/libcloud-2-7-0-released.html">Libcloud 2.7.0 released</a>
           
         
           

Modified: libcloud/site/trunk/generated/sitemap.xml
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/sitemap.xml?rev=1871897&r1=1871896&r2=1871897&view=diff
==============================================================================
--- libcloud/site/trunk/generated/sitemap.xml (original)
+++ libcloud/site/trunk/generated/sitemap.xml Sat Dec 21 18:38:33 2019
@@ -403,8 +403,8 @@
         <lastmod>2019-11-18T00:00:00+01:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/blog/2019/12/19/libcloud-2-7-0-released.html</loc>
-        <lastmod>2019-12-19T00:00:00+01:00</lastmod>
+        <loc>https://libcloud.apache.org/blog/2019/12/09/libcloud-2-7-0-released.html</loc>
+        <lastmod>2019-12-09T00:00:00+01:00</lastmod>
     </url>
     <url>
         <loc>https://libcloud.apache.org/community-resources.html</loc>

Modified: libcloud/site/trunk/source/.htaccess
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/source/.htaccess?rev=1871897&r1=1871896&r2=1871897&view=diff
==============================================================================
--- libcloud/site/trunk/source/.htaccess (original)
+++ libcloud/site/trunk/source/.htaccess Sat Dec 21 18:38:33 2019
@@ -39,4 +39,7 @@ Redirect 301 /docs/dns-overview.html htt
 Redirect 301 /docs/dns-base-api.html https://libcloud.readthedocs.org/en/latest/dns/api.html
 Redirect 301 /docs/dns-examples.html https://libcloud.readthedocs.org/en/latest/dns/examples.html
 
+# Redirect because of the wrong file name used
+Redirect 301 /blog/2019/12/19/libcloud-2-7-0-released.html /blog/2019/12/09/libcloud-2-7-0-released.html
+
 Redirect 301 /docs https://libcloud.readthedocs.org/en/latest/

Added: libcloud/site/trunk/source/_posts/2019-12-09-libcloud-2-7-0-released.md
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/source/_posts/2019-12-09-libcloud-2-7-0-released.md?rev=1871897&view=auto
==============================================================================
--- libcloud/site/trunk/source/_posts/2019-12-09-libcloud-2-7-0-released.md (added)
+++ libcloud/site/trunk/source/_posts/2019-12-09-libcloud-2-7-0-released.md Sat Dec 21 18:38:33 2019
@@ -0,0 +1,123 @@
+---
+layout: post
+title: Libcloud 2.7.0 released
+author: Tomaz Muraus
+tags:
+  - news
+  - release announcement
+---
+
+We are pleased to announce the release of Libcloud 2.7.0.
+
+Among various smaller bug fixes, this release also includes a couple of big
+new features.
+
+Highlights include:
+
+* Initial type annotations / hints support for the base Libcloud compute API.
+* S3 driver class has been updated to support ``region`` argument in the same
+  manner as other drivers which support multiple regions (no more messy class
+  per region approach). For backward compatibility reasons, "class per region"
+  approach will still be supported until the next major release.
+* New ``start_node()`` and ``stop_node()`` method have been added to the base
+  Libcloud compute API and the existing drivers which implement
+  ``ex_start_node()`` and ``ex_stop_node()`` methods have been updated to
+  implement those new methods. Old ``ex_`` methods will continue to work for
+  backward compatibility reasons.
+
+Full change log can be found at
+<http://libcloud.readthedocs.io/en/latest/changelog.html#changes-in-apache-libcloud-2.7.0>.
+
+### Dropping support for Python 2.7 and Python 3.4
+
+Libcloud was among some of the other early larger Python projects which have
+supported Python 2.x and Python 3.x simultaneously using a single code base
+from 2011.
+
+Over the years, the landscape has changed a lot. A lot of the users now use
+Python 3 as a default and a lot of the popular Python projects now not only
+support Python 3, but also make Python 3 the only supported Python version.
+
+In addition to that, [Python 2.7 will not be maintained past January 2020][3].
+
+We have decided to sign the [Python 3 statement][2] and drop support for Python
+2.7 and Python 3.4 in the next major release (v3.0.0) which will coincide
+with Python 2.7 EOL early next year.
+
+This means that Libcloud v2.7.0 will be the last major release which still
+supports Python 2.7 and 3.4.
+
+The change itself is still work in progress. People who are interested in it
+can check the following PR <https://github.com/apache/libcloud/pull/1377>.
+
+#### How does this affect me?
+
+If you still need to use Python 2.7 or Python 3.4 after Libcloud v3.0.0 is
+out, you will be able to do that by utilizing one of the older Libcloud
+releases which still supports that Python version.
+
+All the new feature development and improvements will land in new release
+which support Python >= 3.5 only, but we may still do a release in the
+v2.7.x release series if a major bug or a security issue is found.
+
+#### How does this affect the Libcloud development team?
+
+Supporting Python 2.x and Python 3.x through a single code base was never
+totally trivial.
+
+This is especially true for our project which doesn't use ``six`` Python 2
+/ 3 compatibility library, but uses custom glue / wrapper code for that.
+
+There are multiple reasons why we didn't use ``six`` - one is that we still
+needed to support Python 2.5 which is not supported by ``six`` and another
+one is that we didn't want to introduce another dependency on the end user in
+the days where Python packaging was still very much in the infancy.
+
+Dropping support for Python 2.7 and Python 3.4 will allow us to streamline our
+code and remove a lot of the code which is not needed anymore.
+
+This will result in easier development and cleaner code.
+
+### Download
+
+The release can can be downloaded from
+<https://libcloud.apache.org/downloads.html> or installed using pip:
+
+<pre>
+pip install apache-libcloud==2.7.0
+</pre>
+
+### Upgrading
+
+If you have installed Libcloud using pip you can also use it to upgrade it:
+
+<pre>
+pip install --upgrade apache-libcloud==2.7.0
+</pre>
+
+### Upgrade notes
+
+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 <https://libcloud.readthedocs.org/en/latest/upgrade_notes.html>
+
+### Documentation
+
+Regular and API documentation is available at <https://libcloud.readthedocs.org/en/v2.7.0/>
+
+### Bugs / Issues
+
+If you find any bug or issue, please report it on our issue tracker
+<https://github.com/apache/libcloud/issues>.
+Don't forget to attach an example and / or test which reproduces your
+problem.
+
+### Thanks
+
+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][1].
+
+[1]: https://libcloud.readthedocs.org/en/v2.7.1/changelog.html
+[2]: https://python3statement.org/
+[3]: https://pythonclock.org/