
<!DOCTYPE html>

<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="Object store for Hadoop">
    <meta name="keywords" content="hadoop, ozone, hdds, objectstore, scale"/>
    <meta name="robots" content="index,follow"/>
    <meta name="language" content="en"/>

    <title>Apache Ozone</title>

    <base href="https://ozone.apache.org/">

    <link rel="canonical" href="https://ozone.apache.org">

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
          integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
    <link rel="stylesheet" href="style.css">

</head>

<body>


<div class="topnav">
    <div class="container">
        <ul class="breadcrumb col-md-6">
            <li>
                <img class="asf-logo" src="asf_feather.png"/>
                <a  href="https://www.apache.org">Apache Software Foundation</span></a>
            </li>
            <li><a href="https://ozone.apache.org/">Ozone&trade;</a></li>
        </ul>
        <div class="col-md-6">
            <ul class="pull-right breadcrumb">
                <li><a href="https://www.apache.org/licenses/">License</a></li>
                <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                <li><a href="https://www.apache.org/events/current-event">Events</a></li>
                <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                <li><a href="https://www.apache.org/security/">Security</a></li>
        </ul>
        </div>
    </div>

    <nav class="navbar navbar-default navbar-static-top" role="navigation">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                        data-target="#ozone-menu" aria-expanded="false">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
            </div>

            <div id="ozone-menu" class="collapse navbar-collapse">
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="faq">FAQ</a></li>
                    <li><a href="downloads">Download</a></li>
                    <li><a href="docs">Documentation</a></li>
                    <li><a href="community">Community</a></li>
                    <li><a href="https://github.com/apache/ozone">Source</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/OZONE">Wiki</a></li>
                </ul>
            </div>

    </nav>

    <div style="max-height: 200px; overflow: hidden;">
      <img src="sunrise-ozone.jpg" style="width: 100%; left:0px;"/>
    </div>

</div>

</div>

<div class="container">

<section id="main">
  <div>
    <h1 id="title">Releases Archive</h1>
        <ul id="list">
            
            <h1><a href="/release/1.2.0/">Release 1.2.0 available</a></h1>
            <p><small>2021 Nov 17 </small></p>

            <!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><img src="releases/1.2.0.jpg" alt="glacier-haiku"></p>
<p>Apache Ozone 1.2.0 is released with following features:</p>
<ul>
<li>Non-rolling downgrade support to 1.1.0</li>
<li>Storage Container Manager high availability for new clusters</li>
<li>Filesystem prefix optimization for new clusters</li>
<li>Transparent data encryption for S3 buckets</li>
<li>Security enhancements</li>
</ul>
<p>This is a generally available (GA) release.
It represents a point of API stability and quality that we consider production-ready.</p>
<p>Image credit: <a href="https://www.flickr.com/photos/hisgett/8047686029/">Glacier National Park 8</a> by <a href="https://www.flickr.com/people/37804979@N00">Tony Hisgett</a>, <a href="https://creativecommons.org/licenses/by/2.0/deed.en">CC BY 2.0</a> / Text added to original</p>


            
            <h1><a href="/release/1.1.0/">Release 1.1.0 available</a></h1>
            <p><small>2021 Apr 17 </small></p>

            <!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><img src="releases/1.1.0.jpg" alt="Everglades-national-part-haiku"></p>
<p>Apache Hadoop Ozone 1.1.0 is released with following features:</p>
<ul>
<li>Volume/Bucket Quota Support</li>
<li>Security related enhancements</li>
<li>ofs/o3fs performance improvements with Teragen and Spark</li>
<li>Recon improvements</li>
</ul>
<p>This is a generally available (GA) release.
It represents a point of API stability and quality that we consider production-ready.</p>
<p>Image credit: <a href="https://www.flickr.com/photos/62501682@N00"> diana_robinson </a>, <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">CC BY-NC-ND 2.0</a></p>


            
            <h1><a href="/release/1.0.0/">Release 1.0.0 available</a></h1>
            <p><small>2020 Sep 2 </small></p>

            <!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><img src="releases/1.0.0.jpg" alt="denali-national-part-haiku"></p>
<p>Apache Hadoop Ozone 1.0.0 is released with following features:</p>
<ul>
<li>OM HA - HA support for Ozone Manager</li>
<li>Security Phase II</li>
<li>Support Hadoop 2.7 &amp; security enabled Hadoop 2.x</li>
<li>Ozone OFS new Filesystem scheme</li>
<li>Ozone Filesystem performance improvement</li>
<li>Recon &amp; Recon UI improvements</li>
<li>Bucket link &amp; S3 volume/bucket mapping changes</li>
</ul>
<p>This is a generally available (GA) release. It represents a point of API stability and quality that we consider production-ready.</p>
<p>Image credit: <a href="https://www.flickr.com/people/57557144@N06">Denali National Park and Preserve</a>, <a href="https://commons.wikimedia.org/wiki/File:Caribou_and_Denali_(11330240034).jpg">Caribou and Denali</a>, <a href="https://creativecommons.org/licenses/by/2.0/deed.en">CC-BY-2.0</a></p>


            
            <h1><a href="/release/0.5.0-beta/">Release 0.5.0-beta available</a></h1>
            <p><small>2020 Mar 24 </small></p>

            <!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><img src="releases/0.5.0.jpg" alt="crater-lake-haiku"></p>
<p>Apache Hadoop Ozone 0.5.0-beta is released with following features:</p>
<ul>
<li>O3FS - S3A based file system semantics</li>
<li>Able to handle 1 billion objects</li>
<li>Network topology awareness for block placement</li>
<li>GDPR Right to Erasure</li>
</ul>
<p>This is a beta release and not production ready.</p>
<!-- raw HTML omitted -->


            
            <h1><a href="/release/0.4.1-alpha/">Release 0.4.1-alpha available</a></h1>
            <p><small>2019 Oct 13 </small></p>

            <!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><img src="releases/0.4.1.png" alt="biscayne-haiku"></p>
<p>Apache Hadoop Ozone 0.4.1-alpha is released with following features:</p>
<ul>
<li>Ozone Native ACL support</li>
<li>First class K8s support</li>
<li>Stability improvements</li>
</ul>
<p>This is an alpha release and not production ready.</p>
<!-- raw HTML omitted -->


            
            <h1><a href="/release/0.4.0-alpha/">Release 0.4.0-alpha available</a></h1>
            <p><small>2019 May 7 </small></p>

            <!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><img src="releases/0.4.0.png" alt="badlands-haiku"></p>
<p>Apache Hadoop Ozone 0.4.0-alpha is released with following features:</p>
<ul>
<li>Hadoop Delegation Tokens and Block Tokens supported for Ozone.</li>
<li>Transparent Data Encryption (TDE) Support - Allows data blocks to be encrypted-at-rest.</li>
<li>Kerberos support for Ozone.</li>
<li>Certificate Infrastructure for Ozone  - Tokens use PKI instead of shared secrets.</li>
<li>Datanode to Datanode communication secured via mutual TLS.</li>
<li>Ability secure ozone cluster that works with Yarn, Hive, and Spark.</li>
<li>Helm/Skaffold support to deploy Ozone clusters on K8s.</li>
<li>Support S3 Authentication Mechanisms like - S3 v4 Authentication protocol.</li>
<li>S3 Gateway supports Multipart upload.</li>
<li>S3A file system is tested and supported.</li>
<li>Support for Tracing and Profiling for all Ozone components.</li>
<li>Audit Support - including Audit Parser tools.</li>
<li>Apache Ranger Support in Ozone.</li>
</ul>
<p>This is an alpha release and not production ready.</p>
<!-- raw HTML omitted -->


            
            <h1><a href="/release/0.3.0-alpha/">Release 0.3.0-alpha available</a></h1>
            <p><small>2018 Nov 22 </small></p>

            <!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><img src="releases/0.3.0.png" alt="arches-haiku"></p>
<p>Apache Hadoop Ozone 0.3.0-alpha is released.</p>
<ul>
<li>A new S3 compatible rest server is added. Ozone can be used from any
S3 compatible tools (<a href="https://hadoop.apache.org/ozone/docs/0.3.0-alpha/s3.html">docs</a>, <a href="https://issues.apache.org/jira/browse/HDDS-434">HDDS-434</a>)</li>
<li>Ozone Hadoop file system URL prefix is renamed from o3:// to o3fs://
(<a href="https://issues.apache.org/jira/browse/HDDS-651">HDDS-651</a>)</li>
<li>Extensive testing and stability improvements of OzoneFs.</li>
<li>Spark, YARN and Hive support and stability improvements.</li>
<li>Improved Pipeline handling and recovery.</li>
<li>Separated/dedicated classpath definitions for all the Ozone
components. (<a href="https://issues.apache.org/jira/browse/HDDS-447">HDDS-447</a>)</li>
</ul>
<p>This is an alpha release.</p>
<!-- raw HTML omitted -->


            
            <h1><a href="/release/0.2.1-alpha/">Release 0.2.1-alpha available</a></h1>
            <p><small>2018 Oct 1 </small></p>

            <!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p><img src="releases/0.2.1.png" alt="acadia-haiku"></p>
<p>This is the first version of Apache Hadoop Ozone. Ozone is an Object store for Hadoop built
using Hadoop Distributed Data Store.</p>
<p>This release is fully functional, but alpha quality.</p>
<!-- raw HTML omitted -->


            
        </ul>
  </div>



</section>
</div>

<footer>
    <div class="container">

        <div class="col-md-12 trademark">
            <p>&copy; 2021 <a href="http://apache.org">The Apache Software Foundation</a>,<br/>
                Apache, Apache Hadoop, the Apache feather logo, are trademarks of The Apache Software Foundation.
            <p>
        </div>
    </div>
</footer>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
        integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
        crossorigin="anonymous"></script>


</body>
</html>

