<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- 
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License. 
-->
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta name="author" content="dev@gora.apache.org" />

  <META http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <META name="Description" content="Apache Gora -- Gora Releases" />
  <META name="Keywords" content="Apache Gora NoSQL Framework" />
  <META name="Owner" content="dev@gora.apache.org" />
  <META name="Robots" content="index, follow" />
  <META name="Security" content="Public" />
  <META name="Source" content="wiki template" />
  <META name="DC.Rights" content="Copyright 2010-2023, The Apache Software Foundation" />

  <!-- The styles -->
  <link href="/resources/css/bootstrap.css" rel="stylesheet">
  <style type="text/css">
    body {
      padding-top: 60px;
      padding-bottom: 40px;
    }
.headerlink {
  visibility: hidden;
}
dt:hover > .headerlink, p:hover > .headerlink, td:hover > .headerlink, h1:hover > .headerlink, h2:hover > .headerlink, h3:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, h6:hover > .headerlink {
  visibility: visible
}  </style>
  <link href="/resources/css/bootstrap-responsive.css" rel="stylesheet">
  <link href="/resources/css/gora.css" rel="stylesheet">

  <style type="text/css">
    .stpulldown-gradient
    {
      background: #E1E1E1;
      background: -moz-linear-gradient(top, #E1E1E1 0%, #A7A7A7 100%); /* firefox */
      background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#E1E1E1), color-stop(100%,#A7A7A7)); /* webkit */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#E1E1E1', endColorstr='#A7A7A7',GradientType=0 ); /* ie */
      background: -o-linear-gradient(top, #E1E1E1 0%,#A7A7A7 100%); /* opera */
      color: #636363;
    }
    #stpulldown .stpulldown-logo
    {
      height: 40px;
      width: 300px;
      margin-left: 20px;
      margin-top: 5px;
      background:url("http://gora.apache.org/resources/img/feather-small.png") no-repeat;
    }
  </style>
  <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
  <!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->

  <!-- Fav and touch icons -->
  <link rel="apple-touch-icon-precomposed" sizes="144x144" href="http://twitter.github.com/bootstrap/assets/ico/apple-touch-icon-144-precomposed.png">
  <link rel="apple-touch-icon-precomposed" sizes="114x114" href="http://twitter.github.com/bootstrap/assets/ico/apple-touch-icon-114-precomposed.png">
  <link rel="apple-touch-icon-precomposed" sizes="72x72" href="http://twitter.github.com/bootstrap/assets/ico/apple-touch-icon-72-precomposed.png">
  <link rel="apple-touch-icon-precomposed" href="http://twitter.github.com/bootstrap/assets/ico/apple-touch-icon-57-precomposed.png">
  <link rel="shortcut icon" href="/resources/img/feather-small.png">

  <title>Apache Gora&trade; - Gora Releases</title>
</head>

<body>
  <div class="navbar navbar-inverse navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container">
        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </a>
        <a class="brand" href="/index.html"><img src="/resources/img/gora-logo.png" alt="Apache Gora" title="Apache Gora"/></a>
        <div class="nav-collapse collapse">
          <ul class="nav">
            <li><a href="/downloads.html">Downloads</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a>
              <ul class="dropdown-menu pull-right">
                <li><a href="https://whimsy.apache.org/board/minutes/Gora.html">Board Reporting</a></li>
                <li><a href="/contribute.html">Contribute</a></li>
                <li><a href="/mailing_lists.html">Mailing Lists</a></li>
                <li><a href="/credits.html">People</a></li>
                <li><a href="/related.html">Related Projects</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
              <ul class="dropdown-menu pull-right">
                <li><a href="/about.html">About</a></li>
                <li><a href="/current/index.html">Current Documentation</a></li>
                <li><a href="/current/api/javadoc.html">JavaDoc Documentation</a></li>
                <li><a href="/current/tutorial.html">Gora Tutorial</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/GORA/">Gora Wiki</a></li>
                <li><a href="http://en.wikipedia.org/wiki/Apache_Gora">Gora Wikipedia Entry</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
              <ul class="dropdown-menu pull-right">
                <li><a href="https://issues.apache.org/jira/browse/GORA">Issue Tracking</a></li>
                <li><a href="/mailing_lists.html">Mailing Lists</a></li>
                <li><a href="https://builds.apache.org/view/All/job/gora-trunk/">Nightly Builds</a></li>
                <li><a href="https://analysis.apache.org/dashboard/index/76356">Sonar Analysis</a></li>
                <li><a href="/version_control.html">Version Control</a></li>
				<li><a href="/roadmap.html">Roadmap</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                <img src="/resources/img/feather-small.png" alt="Apache" title="Apache" /> 
                <b class="caret"></b>
              </a>
              <ul class="dropdown-menu pull-right">
                <li><a href="http://www.apache.org">Apache Home</a></li>
                <li><a href="http://www.apache.org/licenses/">Apache License</a></li>
                <li><a href="http://www.apache.org/security/">Security</a></li>
                <li><a href="http://www.apache.org/foundation/sponsorship.html">Support</a></li>
                <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
              </ul>
            </li>
          </ul>
          <form id="search-form" class="navbar-search pull-right" action="http://www.google.com/cse" method="get">
            <input value="gora.apache.org" name="sitesearch" type="hidden" />
            <input class="search-query" name="q" id="query" type="text" />
          </form>
          <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script>
        </div> <!--/.nav-collapse -->
      </div> <!-- /container -->
    </div> <!-- /navbar-inner -->
  </div> <!-- /navbar -->

  <div class="container top-buffer" id="Gora_Gora Releases">

    <h1 id="download">Download<a class="headerlink" href="#download" title="Permalink">&para;</a></h1>
<div id="toc"><ul><li><a class="toc-href" href="#introduction" title="Introduction">Introduction</a></li><li><a class="toc-href" href="#prerequsites" title="Prerequsites">Prerequsites</a></li><li><a class="toc-href" href="#downloads" title="Downloads">Downloads</a></li><li><a class="toc-href" href="#mirrors" title="Mirrors">Mirrors</a></li><li><a class="toc-href" href="#verify-releases" title="Verify Releases">Verify Releases</a></li><li><a class="toc-href" href="#pgp-signature" title="PGP Signature">PGP Signature</a></li><li><a class="toc-href" href="#sha512-checksum" title="SHA512 Checksum">SHA512 Checksum</a></li><li><a class="toc-href" href="#previous-releases" title="Previous Releases">Previous Releases</a></li></ul></div>
<h2 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permalink">&para;</a></h2>
<p>Download the newest release of Apache Gora. <b>Please Note</b> Gora is ONLY released
as source code and NOT binary. This is because you will most likely want to recompile
various aspects of the codebase during or as a prerequisite to using Gora in your stack.</p>
<p>See the <a href="https://github.com/apache/gora/blob/apache-gora-0.9/CHANGES.md#apache-gora-09-release---120819-ddmmyyyy">CHANGES</a>
file for more information on the list of updates in this release.</p>
<p>Gora is always distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache License, version 2.0</a>.</p>
<h2 id="prerequsites">Prerequsites<a class="headerlink" href="#prerequsites" title="Permalink">&para;</a></h2>
<p>You require <a href="http://maven.apache.org">Apache Maven</a> to build the Gora source code.
Maven can either be downloaded and installed manually or alternatively via command
line via your operating system package manager.</p>
<p><b>N.B.</b> Gora is NOT tested against the Windows platform.</p>
<h2 id="downloads">Downloads<a class="headerlink" href="#downloads" title="Permalink">&para;</a></h2>
<p><a class="btn btn-primary btn-large" href="http://www.apache.org/dyn/closer.lua/gora/0.9/apache-gora-0.9-src.tar.gz">Download (0.9 src.tar.gz)</a>
<a class="btn btn-primary btn-large" href="http://www.apache.org/dyn/closer.lua/gora/0.9/apache-gora-0.9-src.zip">Download (0.9 src.zip)</a></p>
<h2 id="mirrors">Mirrors<a class="headerlink" href="#mirrors" title="Permalink">&para;</a></h2>
<p>The link in the Mirrors column below should display a default mirror selection
based on your inferred location. If (when you browse to it) you do not see that page, try a different browser.
The checksum and signature are links to the originals on the main distribution server.</p>
<table class="table">
<thead>
<tr>
<th align="left">Version</th>
<th align="left">Mirrors</th>
<!--   <th align="left">MD5 Checksum</th> -->
<th align="left">ASCII Signature</th>
<th align="left">SHA512 Checksum</th>
</tr>
</thead>
<tbody>
<tr>
<td>Apache Gora 0.9 (tar.gz)</td>
<td><a href="http://www.apache.org/dyn/closer.cgi/gora/0.9/apache-gora-0.9-src.tar.gz">apache-gora-0.9-src.tar.gz</a></td>
<!-- <td><a href="http://www.apache.org/dist/gora/0.9/apache-gora-0.9-src.tar.gz.md5">apache-gora-0.9-src.tar.gz.md5</a> </td>  -->
<td><a href="http://www.apache.org/dist/gora/0.9/apache-gora-0.9-src.tar.gz.asc">apache-gora-0.9-src.tar.gz.asc</a> </td>
<td><a href="http://www.apache.org/dist/gora/0.9/apache-gora-0.9-src.tar.gz.sha512">apache-gora-0.9-src.tar.gz.sha512</a> </td>
</tr>
<tr>
<td>Apache Gora 0.9 (zip)</td>
<td><a href="http://www.apache.org/dyn/closer.cgi/gora/0.9/apache-gora-0.9-src.zip">apache-gora-0.9-src.zip</a></td>
<!-- <td><a href="http://www.apache.org/dist/gora/0.9/apache-gora-0.9-src.zip.md5">apache-gora-0.9-src.zip.md5</a></td> -->
<td><a href="http://www.apache.org/dist/gora/0.9/apache-gora-0.9-src.zip.asc">apache-gora-0.9-src.zip.asc</a></td>
<td><a href="http://www.apache.org/dist/gora/0.9/apache-gora-0.9-src.zip.sha512">apache-gora-0.9-src.zip.sha512</a></td>
</tr>
</tbody>
</table>
<h2 id="verify-releases">Verify Releases<a class="headerlink" href="#verify-releases" title="Permalink">&para;</a></h2>
<p>It is essential that you verify the integrity of the downloaded files using the PGP and SHA512 signatures.
published with every Gora release.</p>
<p>Please read <a href="http://httpd.apache.org/dev/verification.html">Verifying Apache HTTP Server Releases</a>
for more information on why you should verify our releases.</p>
<p>We strongly recommend you verify your downloads with at least both PGP Signature and SHA512 Checksum. Guidance
for doing so is provided below.</p>
<h2 id="pgp-signature">PGP Signature<a class="headerlink" href="#pgp-signature" title="Permalink">&para;</a></h2>
<p>The PGP signatures can be verified using PGP or GPG. First download the
<a href="http://www.apache.org/dist/gora/KEYS">KEYS</a> as well as the asc signature file
for the relevant distribution.</p>
<p><b>N.B.</b>Make sure you get these files from the
<a href="http://www.apache.org/dist/gora/">main distribution directory</a>, rather than from a
mirror. Then verify the signatures using the following</p>
<pre><code>$ gpg --import KEYS
$ gpg --verify gora-X.Y.Z-src.tar.gz.asc
</code></pre>
<p>The files in the most recent release are signed by Kevin Ratnasekera (CODE SIGNING KEY) <a href="mailto:djkevincr@apache.org">djkevincr@apache.org</a> A3E66AC7</p>
<h2 id="sha512-checksum">SHA512 Checksum<a class="headerlink" href="#sha512-checksum" title="Permalink">&para;</a></h2>
<p>Alternatively, you can verify the SHA512 checksum on the files.
A unix program called sha512sum is included in many unix distributions.</p>
<pre><code>$ sha512sum apache-gora-X.Y.Z-src.tar.gz
</code></pre>
<p>output should match the string in apache-gora-X.Y.Z.tar.gz.sha512</p>
<h2 id="previous-releases">Previous Releases<a class="headerlink" href="#previous-releases" title="Permalink">&para;</a></h2>
<p>If you are looking for previous releases of Apache Gora, have a look in the
<a href="http://archive.apache.org/dist/gora/">Apache Archives</a>, or alternatively
for even older releases check out the <a href="http://archive.apache.org/dist/incubator/gora/">Incubator archives</a>.</p>
<p>Subscribe to the dev@ <a href="./mailing_lists.html">mailing list</a> if you want to
get notified about future releases. You can check out the Gora
<a href="./current/quickstart.html">Quick Start Guide</a> to get up and running in no time.</p>
<p>All Apache Gora releases are available under the Apache License, Version 2.0.
See the NOTICE.txt file contained in each release artifact for applicable
copyright attribution notices.</p>


  </div> <!-- /container (main block) -->

  <hr>

  <div class="container">
    <footer>
      <p>Copyright © 2010-2023 The Apache Software Foundation. Licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
      </p>
      <p>Apache Gora, Gora, Apache, the Apache feather logo, and the Apache Gora project logo are trademarks of The Apache Software Foundation.
      </p>
    </footer>

  </div> <!-- /container -->

  <!-- The javascript
  ================================================== -->
  <!-- Placed at the end of the document so the pages load faster -->
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"; type="text/javascript"></script>
  <script src="/resources/js/bootstrap.min.js"></script>
  <script type="text/javascript">stLight.options({publisher: "4059fafd-3891-49f9-8c96-e4100290d8e6", doNotHash: false, doNotCopy: false, hashAddressBar: false});</script>
  <link rel="stylesheet" href="/resources/css/docco.css">
  <script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.0.1/build/highlight.min.js"></script>
  <script>hljs.highlightAll();</script>
</body>
</html>