---
title: Releases
---
<!-- 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. -->
<section class="bf-tagline">
    <div class="container">
    	<div class="row">
          <br />
    	    	<h2>Apache Geode Releases</h2>
    		<p>Releases of Geode are made available to the general public at no charge, under the <a target="_blank" href="http://apache.org/licenses/">Apache License</a>, in both binary and source distributions.  Binary downloads are provided for the convenience of our users and are not official Apache Geode releases.</p>
		</div>
	</div>
</section>

<section class="bf-releases">
    <div class="container">
      <div class="row">
    		<div class="col-md-9">
      <!-- RELEASES -->
      <div class="container">

        <!-- START OF 1.7.0-->
        <h3>1.7.0</h3>
        <!-- RELEASE NOTES -->
        <strong><a target="_blank" href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">Release Notes</a></strong>
        <p/>

        <!-- BINARY -->
        <span> <strong>Binaries </strong>
          [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.7.0/apache-geode-1.7.0.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-1.7.0.zip.sha256">SHA-256</a>,
          <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-1.7.0.zip.asc">PGP</a> ] -
          [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.7.0/apache-geode-1.7.0.tgz">TGZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-1.7.0.tgz.sha256">SHA-256</a>,
          <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-1.7.0.tgz.asc">PGP</a> ]
        </span><br/>
        <!-- SOURCE -->
        <span> <strong>Source</strong>
           [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.7.0/apache-geode-1.7.0-src.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-1.7.0-src.zip.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-1.7.0-src.zip.asc">PGP</a>
            ] -
           [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.7.0/apache-geode-1.7.0-src.tgz">TGZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-1.7.0-src.tgz.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-1.7.0-src.tgz.asc">PGP</a>
           ]
         </span><br/>
        <!-- Examples -->
        <span> <strong>Examples</strong>
           [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.7.0/apache-geode-examples-1.7.0.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-examples-1.7.0.zip.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-examples-1.7.0.zip.asc">PGP</a>
            ] -
           [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.7.0/apache-geode-examples-1.7.0.tar.gz">TAR.GZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-examples-1.7.0.tar.gz.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.7.0/apache-geode-examples-1.7.0.tar.gz.asc">PGP</a>
           ]
         </span><br/>

        <!-- DEPENDENCY MANAGERS -->
        <div class="container">
          <strong>Gradle</strong>
<pre class="prettyprint">
dependencies {
  compile 'org.apache.geode:geode-core:1.7.0'
}
</pre>
          <strong>Maven</strong>
<pre class="prettyprint">
&lt;dependencies&gt;
  &lt;dependency&gt;
    &lt;groupId&gt;org.apache.geode&lt;/groupId&gt;
    &lt;artifactId&gt;geode-core&lt;/artifactId&gt;
    &lt;version&gt;1.7.0&lt;/version&gt;
  &lt;/dependency&gt;
&lt;/dependencies&gt;
</pre>
        </div>
        <!-- END OF 1.7.0 -->

        <!-- START OF 1.6.0-->
        <h3>1.6.0</h3>
        <!-- RELEASE NOTES -->
        <strong><a target="_blank" href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">Release Notes</a></strong>
        <p/>

        <!-- BINARY -->
        <span> <strong>Binaries </strong>
          [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.6.0/apache-geode-1.6.0.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-1.6.0.zip.sha256">SHA-256</a>,
          <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-1.6.0.zip.asc">PGP</a> ] -
          [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.6.0/apache-geode-1.6.0.tgz">TGZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-1.6.0.tgz.sha256">SHA-256</a>,
          <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-1.6.0.tgz.asc">PGP</a> ]
        </span><br/>
        <!-- SOURCE -->
        <span> <strong>Source</strong>
           [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.6.0/apache-geode-1.6.0-src.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-1.6.0-src.zip.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-1.6.0-src.zip.asc">PGP</a>
            ] -
           [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.6.0/apache-geode-1.6.0-src.tgz">TGZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-1.6.0-src.tgz.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-1.6.0-src.tgz.asc">PGP</a>
           ]
         </span><br/>
        <!-- Examples -->
        <span> <strong>Examples</strong>
           [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.6.0/apache-geode-examples-1.6.0.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-examples-1.6.0.zip.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-examples-1.6.0.zip.asc">PGP</a>
            ] -
           [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.6.0/apache-geode-examples-1.6.0.tar.gz">TAR.GZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-examples-1.6.0.tar.gz.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.6.0/apache-geode-examples-1.6.0.tar.gz.asc">PGP</a>
           ]
         </span><br/>

        <!-- DEPENDENCY MANAGERS -->
        <div class="container">
          <strong>Gradle</strong>
<pre class="prettyprint">
dependencies {
  compile 'org.apache.geode:geode-core:1.6.0'
}
</pre>
          <strong>Maven</strong>
<pre class="prettyprint">
&lt;dependencies&gt;
  &lt;dependency&gt;
    &lt;groupId&gt;org.apache.geode&lt;/groupId&gt;
    &lt;artifactId&gt;geode-core&lt;/artifactId&gt;
    &lt;version&gt;1.6.0&lt;/version&gt;
  &lt;/dependency&gt;
&lt;/dependencies&gt;
</pre>
        </div>
        <!-- END OF 1.6.0 -->

        <!-- START OF 1.5.0-->
        <h3>1.5.0</h3>
        <!-- RELEASE NOTES -->
        <strong><a target="_blank" href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">Release Notes</a></strong>
        <p/>

        <!-- BINARY -->
        <span> <strong>Binaries </strong>
          [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.5.0/apache-geode-1.5.0.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-1.5.0.zip.sha256">SHA-256</a>,
          <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-1.5.0.zip.asc">PGP</a> ] -
          [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.5.0/apache-geode-1.5.0.tgz">TGZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-1.5.0.tgz.sha256">SHA-256</a>,
          <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-1.5.0.tgz.asc">PGP</a> ]
        </span><br/>
        <!-- SOURCE -->
        <span> <strong>Source</strong>
           [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.5.0/apache-geode-1.5.0-src.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-1.5.0-src.zip.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-1.5.0-src.zip.asc">PGP</a>
            ] -
           [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.5.0/apache-geode-1.5.0-src.tgz">TGZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-1.5.0-src.tgz.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-1.5.0-src.tgz.asc">PGP</a>
           ]
         </span><br/>
        <!-- Examples -->
        <span> <strong>Examples</strong>
           [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.5.0/apache-geode-examples-1.5.0.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-examples-1.5.0.zip.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-examples-1.5.0.zip.asc">PGP</a>
            ] -
           [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.5.0/apache-geode-examples-1.5.0.tar.gz">TAR.GZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-examples-1.5.0.tar.gz.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.5.0/apache-geode-examples-1.5.0.tar.gz.asc">PGP</a>
           ]
         </span><br/>

        <!-- DEPENDENCY MANAGERS -->
        <div class="container">
          <strong>Gradle</strong>
<pre class="prettyprint">
  dependencies {
    compile 'org.apache.geode:geode-core:1.5.0'
  }
</pre>
          <strong>Maven</strong>
<pre class="prettyprint">
  &lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.apache.geode&lt;/groupId&gt;
      &lt;artifactId&gt;geode-core&lt;/artifactId&gt;
      &lt;version&gt;1.5.0&lt;/version&gt;
    &lt;/dependency&gt;
  &lt;/dependencies&gt;
</pre>
        </div>
        <!-- END OF 1.5.0 -->

        <!-- START OF 1.4.0-->
        <h3>1.4.0</h3>
        <!-- RELEASE NOTES -->
        <strong><a target="_blank" href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">Release Notes</a></strong>
        <p/>

        <!-- BINARY -->
        <span> <strong>Binaries </strong>
          [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.4.0/apache-geode-1.4.0.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-1.4.0.zip.sha256">SHA-256</a>,
          <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-1.4.0.zip.asc">PGP</a> ] -
          [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.4.0/apache-geode-1.4.0.tgz">TGZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-1.4.0.tgz.sha256">SHA-256</a>,
          <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-1.4.0.tgz.asc">PGP</a> ]
        </span><br/>
        <!-- SOURCE -->
        <span> <strong>Source</strong>
           [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.4.0/apache-geode-1.4.0-src.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-1.4.0-src.zip.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-1.4.0-src.zip.asc">PGP</a>
            ] -
           [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.4.0/apache-geode-1.4.0-src.tgz">TGZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-1.4.0-src.tgz.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-1.4.0-src.tgz.asc">PGP</a>
           ]
         </span><br/>
        <!-- Examples -->
        <span> <strong>Examples</strong>
           [ <a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.4.0/apache-geode-examples-1.4.0.zip">ZIP</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-examples-1.4.0.zip.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-examples-1.4.0.zip.asc">PGP</a>
            ] -
           [<a target="_blank" href="http://apache.org/dyn/closer.cgi/geode/1.4.0/apache-geode-examples-1.4.0.tar.gz">TAR.GZ</a>, <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-examples-1.4.0.tar.gz.sha256">SHA-256</a>,
           <a target="_blank" href="https://www.apache.org/dist/geode/1.4.0/apache-geode-examples-1.4.0.tar.gz.asc">PGP</a>
           ]
         </span><br/>

        <!-- DEPENDENCY MANAGERS -->
        <div class="container">
          <strong>Gradle</strong>
<pre class="prettyprint">
  dependencies {
    compile 'org.apache.geode:geode-core:1.4.0'
  }
</pre>
          <strong>Maven</strong>
<pre class="prettyprint">
  &lt;dependencies&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.apache.geode&lt;/groupId&gt;
      &lt;artifactId&gt;geode-core&lt;/artifactId&gt;
      &lt;version&gt;1.4.0&lt;/version&gt;
    &lt;/dependency&gt;
  &lt;/dependencies&gt;
</pre>
        </div>
        <!-- END OF 1.4.0 -->

      </div>
      <p>If you need access to older releases they can be found in the <a target="_blank" href="https://archive.apache.org/dist/geode/">release archives</a>.</p>
      <!-- END OF RELEASE -->
      <hr/>
        <p>
					Project releases are approved by vote of the Apache Geode Project Management Committee (PMC). Support for a release is provided by project volunteers on the project <a href="http://geode.apache.org/community/#mailing-lists">mailing lists</a>. Bugs found in a release may be discussed on the list and reported through the <a href="https://issues.apache.org/jira/browse/GEODE">issue tracker</a>. The user mailing list and issue tracker are the only support options hosted by the Apache Geode project.
				</p>
				<p>
					<strong>Note</strong>: When downloading from a mirror, please be sure to verify that checksums and signatures are correct. To do so, use the checksum and signature files from the main Apache site at <a href="https://www.apache.org/dist/geode/">https://www.apache.org/dist/geode/</a>. Find here the KEYS file, which contains all OpenPGP keys we use to sign releases here: <a href="https://www.apache.org/dist/geode/KEYS">KEYS</a>
				</p>
				<p>
					The PGP signatures can be verified using PGP or GPG. First download the <a href="https://www.apache.org/dist/geode/KEYS">KEYS</a> as well as the <em>asc signature</em> file for the particular distribution. Then verify the signatures using:
				</p>
				<p>
       				% pgpk -a KEYS
					</br></br>
        			% pgpv ${filename}.tar.gz.asc
        			</br></br>
    				or
    				</br></br>
        			% pgp -ka KEYS
        			</br></br>
        			% pgp ${filename}.tar.gz.asc
        			</br></br>
    				or
    				</br></br>
        			% gpg --import KEYS
        			</br></br>
        			% gpg --verify ${filename}.tar.gz.asc
        			</br></br>
        		</p>
    			<p>
					Alternatively, you can verify the MD5 signature on the files. A Unix program called md5 or md5sum is included in many Unix distributions. It is also available as part of <a href="http://www.gnu.org/software/textutils/textutils.html">GNU Textutils</a>. Windows users can get binary md5 programs from <a href="http://www.fourmilab.ch/md5/">here</a>, <a href="http://www.pc-tools.net/win32/md5sums/">here</a>, or <a href="http://www.slavasoft.com/fsum/">here</a>.
				<p>
					If you want to build directly from source, instructions are within the User Documentation in the <a href="http://geode.apache.org/docs/guide/getting_started/installation/install_standalone.html">How to Install</a> subsection.
				</p>
			</div>
		</div>
	</div>
</section>
