<div class="markdown">
<p dir="auto">It's been a while since the last Swift release, but at long last I present<br>
to you OpenStack Swift 2.6.0: The Best Yet!</p>

<p dir="auto">Swift 2.6.0 is available to you today, and it's chock full of new features,<br>
bug fixes, and improvements to make your life better.</p>

<p dir="auto">As always, you can upgrade to this version of Swift with zero end-user<br>
downtime, and I recommend that everyone should upgrade.</p>

<ul>
<li>Tarball: <a href="https://tarballs.openstack.org/swift/swift-2.6.0.tar.gz">https://tarballs.openstack.org/swift/swift-2.6.0.tar.gz</a></li>
<li>Full Release Notes: <a href="https://github.com/openstack/swift/blob/master/CHANGELOG">https://github.com/openstack/swift/blob/master/CHANGELOG</a></li>
</ul>

<hr>

<h2>Highlights from this release</h2>

<p dir="auto">Have you ever inherited running a Swift cluster from someone else, and<br>
you found out that the previous operator didn't really understand the<br>
concept of capacity management? In fact, you're convinced he used a<br>
dartboard to choose where to deploy new capacity. (And based on the<br>
drive failure rates you've been seeing, he might have actually been<br>
throwing the darts at the drives themselves.) Never fear! Swift 2.6.0<br>
is here to help you. There's a new algorithm to rebalance Swift's rings<br>
to give you the best possible capacity balance across servers and racks<br>
without a huge amount of data moving around the cluster. In addition, we<br>
fixed a few corner cases so that you can't have more than one replica in the<br>
same place.</p>

<p dir="auto">Have you ever asked Swift for a listing of what objects are in a<br>
container? Of course you have! It's a great feature! But have you ever<br>
wanted to get that same list of things <em>in reverse order</em>? Of course<br>
you have! And now you can. Add a <code>?reverse=true</code> query parameter to<br>
your listing request, and you'll get the results in reverse order.</p>

<p dir="auto">Have you ever deployed a storage policy and then you found out you<br>
misspelled the policy name? Of course you have! You're just human.<br>
(Please don't coment on spleling erors in this mesage.) The problem is<br>
that your users have already started using the "glod" storage policy,<br>
and marketing sold the "gold" storage policy. Now with Swift 2.6.0 you<br>
can rename your policy to "gold" and leave "glod" as an alias for<br>
existing users. You can even give a short-name alias (eg "Au") to save<br>
those precious keystrokes. Swift now supports multiple names for a<br>
single storage policy.</p>

<p dir="auto">In this release, we're also added several quality-of-life improvements<br>
to the ops tools. For example, the <code>swift-ring-builder</code> will now show<br>
the time remaining until the next rebalance can be done. <code>swift-init</code><br>
now has better return codes. <code>swift-recon</code> now correctly shows<br>
timestamps in UTC instead of sometimes using local time.</p>

<p dir="auto">A few important bugs were closed in this release, including<br>
OSSA-2016-004, which could result in a socket leak.</p>

<p dir="auto">Swift 2.6.0 is the work of 43 code contributors, including 16 who<br>
contributed code for the first time.</p>

<p dir="auto">Thank you to all who have contributed to Swift, via code or otherwise.<br>
If you'd like to get more involved, join us in #openstack-swift on<br>
freenode IRC.</p>

<p dir="auto">Enjoy!</p>

<p dir="auto">--John</p>

</div>