<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    
      <meta name="description" content="Archive: 2014 01">
    

    <meta name="author" content="The Apache Software Foundation">

    
      <meta name="keywords" content="python,libcloud,cloud,cloud computing,rackspace,amazon ec2,cloudfiles,openstack,cloudstack" />
    

    
      <title>Archive: 2014 &raquo; January | 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="Archive: 2014 &raquo; January" property="og:title">
    

    

    
      <meta content="Archive: 2014 01" property="og:description">
    

    
      <meta content="website" property="og:type">
    

    
      <meta content="https://libcloud.apache.org/blog/archives/2014/01/" property="og:url">
    
    

    

    <link href='/assets/global-3a45d2e711096a8ae9abecd72683acb5.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/stable/" 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="post">
  
    <h2><a href="/blog/2014/01/27/libcloud-0-14-and-the-new-exoscale-driver.html">Libcloud 0.14 and the new Exoscale driver</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Jan 27, 2014</span>

  <div class="post-content">
    <p>Libcloud 0.14 which has been <a href="/blog/2014/01/22/libcloud-0-14-0-released.html">released recently</a> includes many new features
and improvements. One of those new features is also a driver for the
<a href="https://www.exoscale.ch/open-cloud/compute/">Exoscale public cloud</a>.</p>

<p>Exoscale is a public cloud service provider based in Switzerland. Their cloud
is powered by an open-source cloud computing platform <a href="https://cloudstack.apache.org/">Apache CloudStack</a>.
As such, the new Exoscale driver heavily relies on the existing
<a href="https://libcloud.readthedocs.org/en/latest/compute/drivers/cloudstack.html">CloudStack driver</a>.</p>

<div class="imginline">
  <p><a href="https://www.exoscale.ch" target="_blank">
  <img src="/images/posts/2014-01-27-libcloud-0-14-and-the-new-exoscale-driver/exoscale.png" class="img-responsive inline" />
  </a></p>
</div>

<p>If you want to learn more about how to get started with the new Exoscale
driver, you should read <a href="https://www.exoscale.ch/syslog/2014/01/27/licloud-guest-post/">Libcloud 0.14 and Exoscale</a> blog post which has
been written by one of our developers and posted on the Exoscale blog.</p>


  </div>

  <div class="row section post-meta">
    <div class="col-md-12 post-tags">
      <p>Tags: <a href="/blog/tags/articles.html" rel="tag">articles</a>, <a href="/blog/tags/new-features.html" rel="tag">new features</a></p>
    </div>
  </div>
</div>


  <div class="post">
  
    <h2><a href="/blog/2014/01/23/welcome-to-the-new-website.html">Welcome to the new website</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Jan 23, 2014</span>

  <div class="post-content">
    <p>Today we are pleased to announce a new, improved and more user friendly version
of our website.</p>

<h3 id="background-and-history">Background and History</h3>

<p>Original website was developed and published back in 2009 when the project was
first announced.</p>

<p>A lot has changed since 2009 and during that time the web has been evolving at
a rapid pace. Now we have terms such as <a href="http://getbootstrap.com/">responsive web design</a>, great
front-end frameworks for building responsive websites such as <a href="http://getbootstrap.com/">Bootstrap</a>
and <a href="http://foundation.zurb.com/">Zurb</a> and many other new things which didn’t exist or weren’t widely
used back when we first launched.</p>

<p>During this time we focused most of our efforts on improving the code and
making the library better. This meant the website didn’t receive a lot of
needed love and attention so design-wise, it was mostly stuck in the 2009 era.</p>

<p>Over the years it has become apparent that presentation and documentation is
also equally or even more important then the code itself, so we have decided
to fix some of the “mistakes” we have made in the past.</p>

<p>A couple of months back we launched a <a href="https://libcloud.readthedocs.org/en/latest/">new documentation</a> and today, we are
happy to present you a new and much improved website which was built with
modern tools and principles in mind.</p>

<h3 id="improvements-and-new-features">Improvements and New Features</h3>

<div class="imginline">
  <p><img src="/images/posts/tbd/preview.png" class="img-responsive inline" /></p>
  <p class="img-caption">Responsive design makes a site pleasure to use on a
  variety of devices and screen sizes. Image by placeit.net.</p>
</div>

<p>New website includes many improvements and new features. Some of the more
important ones are listed bellow.</p>

<h4 id="more-modern-and-user-friendly-design">More modern and user-friendly design</h4>

<p>New website now features a more modern and user-friendly design. This includes
bigger fonts, better typography and so on.</p>

<p>On top of that, the new design is fully responsive which means you can now
better enjoy the content on smaller devices such as mobile phones and tablets.</p>

<h4 id="improved-and-re-designed-landing-page">Improved and re-designed landing page</h4>

<p>We know that landing pages are very important so we have decided to totally
re-design and re-organise ours.</p>

<p>New landing page now displays all the important information (project features,
code examples, showcases some companies and projects using Libcloud) and also
features a more clear call to action.</p>

<h4 id="blog-section">Blog section</h4>

<p>New website now features a fully-fledged blog.</p>

<p>We will use the blog to post important project news, keep you up to date with
what is currently going on and post case studies and stories from projects and
companies which are using Libcloud.</p>

<p>If you are using an RSS reader to stay up to date, we also offer an
<a href="/blog/atom.xml">ATOM feed</a>.</p>

<h4 id="updated-credits-page">Updated Credits Page</h4>

<p><a href="/credits.html">Credits</a> page now features an up to date list of people who have
contributed code and documentation.</p>

<p>As noted on that page, the list is automatically generated from the CHANGES
file so it might not be 100% accurate.</p>

<h4 id="search-engine-optimizations">Search Engine Optimizations</h4>

<p>We have made some changes which will make our website a bit more friendly to
the web crawlers and search engines. We hope this will make it easier for you
to more quickly find the content you are looking for.</p>

<p>The changes we have made include improvements to the underlying HTML markup,
addition of the <a href="http://ogp.me/">OpenGraph</a> tags and an addition of a sitemap.</p>

<h3 id="under-the-hood">Under the Hood</h3>

<p>Old website was powered by <a href="http://www.apache.org/dev/cms.html">Apache CMS</a>. It mostly worked good enough for
simple use cases, but a small user base means it lacks a large ecosystem around
it which is pretty standard for many other popular content management systems.</p>

<p>Because of that, we have decided to switch to <a href="http://jekyllrb.com/">Jekyll</a>, a Ruby based static
website and blog engine.</p>

<p>On top of that, the new website is fully responsive and built using
<a href="http://getbootstrap.com/">Bootstrap 3</a> front-end framework.</p>

<p>Similar to the old website, source code is still stored in an SVN repository
so all the benefits we get from version control are preserved.</p>

<p>Source code of the new website can be found in the <a href="https://svn.apache.org/repos/asf/libcloud/site/trunk/">SVN repository</a>.</p>

<h3 id="conclusion">Conclusion</h3>

<p>We hope you will like and enjoy the new website.</p>

<p>We also hope the new website now better reflects the underlying evolution of
the library and the direction we are heading.</p>

<p>If you have any suggestions on how we can make the website even better, don’t
hesitate and share it with us. You can send your feedback to the
<a href="/community.html#mailing-lists">mailing list</a>, or you can <a href="/community.html#website-repository">checkout the website repository</a> and make
the changes yourself.</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/website.html" rel="tag">website</a></p>
    </div>
  </div>
</div>


  <div class="post">
  
    <h2><a href="/blog/2014/01/22/libcloud-0-14-0-released.html">Libcloud 0.14.0 released</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Jan 22, 2014</span>

  <div class="post-content">
    <p>We are pleased to announce a long awaited Libcloud 0.14.0 release.</p>

<p>This is a first release in the 0.14 series which means it brings many
(and I mean many!) new features, changes and improvements.</p>

<h3 id="release-highlights">Release highlights</h3>

<ul>
  <li>To make working with providers which support multiple regions easier and
more user-friendly, some of the drivers have moved away from the “one
class per region” to a single class plus “region” argument model. Those
drivers include: EC2, Rackspace, ElasticHosts, Joyent, CloudFiles.</li>
  <li>Addition of a programmatic way of updating the pricing file and ability
to use a custom pricing file. For more information, please see
https://libcloud.readthedocs.org/en/latest/compute/pricing.html#using-a-custom-pricing-file</li>
  <li>Addition of block storage management methods to the following drivers:
OpenNebula, OpenStack, EC2</li>
  <li>Unification of the extension arguments for handling security groups in
the EC2 and OpenStack driver</li>
  <li>New standard compute API for SSH key-pair management</li>
  <li>Many new features and improvements in the CloudStack driver</li>
  <li>New compute and load balancer driver for Google Compute Engine (GCE)</li>
  <li>Ability to export Libcloud’s DNS zone to BIND zone format</li>
  <li>and much more!</li>
</ul>

<p>Full change log can be found <a href="https://libcloud.readthedocs.org/en/latest/changelog.html#changes-with-apache-libcloud-0-14-0-beta3">here</a> and <a href="https://libcloud.readthedocs.org/en/latest/changelog.html#changes-with-apache-libcloud-0-14-0">here</a> (keep in mind that this
release also includes all the changes from 0.14.0-beta3).</p>

<h3 id="note-about-backward-compatibility">Note about backward compatibility</h3>

<p>Some of the changes noted above are backward incompatible. For more
information on what has changed and how to update your code to work with
a new release, please visit the <a href="https://libcloud.readthedocs.org/en/latest/upgrade_notes.html#libcloud-0-14-0">Upgrade Notes page</a>.</p>

<h3 id="download">Download</h3>

<p>Libcloud 0.14.0 can be downloaded from
<a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a></p>

<p>or installed using pip:</p>

<figure class="highlight">
  <pre><code class="language-bash" data-lang="bash">pip <span class="nb">install </span>apache-libcloud<span class="o">==</span>0.14.0</code></pre>
</figure>

<h3 id="upgrading">Upgrading</h3>

<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>

<figure class="highlight">
  <pre><code class="language-bash" data-lang="bash">pip <span class="nb">install</span> <span class="nt">--upgrade</span> apache-libcloud<span class="o">==</span>0.14.0</code></pre>
</figure>

<h3 id="documentation">Documentation</h3>

<p>Regular and API documentation is available at
<a href="https://libcloud.readthedocs.org/en/latest/">https://libcloud.readthedocs.org/en/latest/</a>.</p>

<h3 id="bugs--issues">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’t forget to attach an
example and / or test which reproduces your problem.</p>

<h3 id="thanks">Thanks</h3>

<p>Thanks to everyone who contributed and made this release possible!</p>

<p>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-with-apache-libcloud-0-14-0">Changelog</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-announcement.html" rel="tag">release announcement</a></p>
    </div>
  </div>
</div>


  <div class="post">
  
    <h2><a href="/blog/2014/01/01/quick-update-about-0-13-3-release-and-digitalocean-vulnerability.html">Quick update about 0.13.3 release and DigitalOcean vulnerability</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Jan 01, 2014</span>

  <div class="post-content">
    <p>This is a quick update about the recent 0.13.3 security release and the
DigitalOcean vulnerability.</p>

<p>DigitalOcean updated their blog post. The updated post says that
scrubbing is now enabled by default for all the newly issued destroy
requests:</p>

<blockquote>
  <p>All Destroys Default to Scrub</p>

  <p>We have updated the destroy method to scrub on all destroys, both for
web and API requests.</p>
</blockquote>

<p>This means that no action is required on the client side and upgrading
to 0.13.3 should not be necessary anymore.</p>

<p>References:</p>

<ul>
  <li><a href="https://twitter.com/digitalocean/status/418140046265294848">https://twitter.com/digitalocean/status/418140046265294848</a></li>
  <li><a href="https://digitalocean.com/blog_posts/transparency-regarding-data-security">https://digitalocean.com/blog_posts/transparency-regarding-data-security</a></li>
</ul>

  </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/security-release.html" rel="tag">security release</a></p>
    </div>
  </div>
</div>



<p class="navigation">
  

  
</p>



      <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-2022 <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>
  <p class="">Site last updated on 2022-03-29 13:47:27 +0200</p>
</div>

          </div>
        </div>
      </footer>

    </div><!-- /.container -->

    <!-- JavaScript -->
    <script src='/assets/global-cda7136d9b37b9359b7069f5495d767d.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>
