

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Release 4.0.0</title>
    <meta name="description" content="details of the forth release of Rya (Incubating)">
    <meta name="author" content="">

    <!-- Enable responsive viewport -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    <!-- Le styles -->
    <link href="/assets/themes/apache/bootstrap/css/bootstrap.css" rel="stylesheet">
    <link href="/assets/themes/apache/css/style.css?body=1" rel="stylesheet" type="text/css">
    <link href="/assets/themes/apache/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" />
    <link href="/assets/themes/apache/css/rya.css" rel="stylesheet"  type="text/css" media="screen" />
    <!-- Le fav and touch icons -->
    <!-- Update these with your own images
    <link rel="shortcut icon" href="images/favicon.ico">
    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
  -->

  </head>

  <body>

        <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-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="/">
		  <img src="/assets/themes/apache/img/logo.png"  height ="30" alt = "logo">
              Apache Rya
          </a>
        </div>
        <nav class="navbar-collapse collapse" role="navigation">
          <ul class="nav navbar-nav navbar-right">
            <li id="community">
              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
               <ul class="dropdown-menu dropdown-left">
                <li><a href="/community">Get Involved</a></li>
                <li><a href="/community-members">Who we are</a></li>
               </ul>
            </li>
            <li><a href="/download">Downloads</a></li>
            <li><a href="/documentation">Documentation</a></li>
             <li id="apache">
              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
               <ul class="dropdown-menu">
                <li><a href="https://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
                <li><a href="https://www.apache.org/licenses/">Apache License</a></li>
                <li><a href="https://www.apache.org/security/">Security</a></li>
                <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                </ul>
            </li>
          </ul>
        </nav><!--/.navbar-collapse -->
      </div>
    </div>




    <div class="container">
      

<div class="page-header">
  <h1>Release 4.0.0 </h1>
</div>

<div class="row-fluid post-full">
  <div class="span12">
    <div class="date">
      <span>27 July 2019</span>
    </div>
    <div class="content">
      
<p>This is Rya’s fourth Apache release, version 4.0.0.  It is available as a source code download:</p>

<ul>
  <li><a href="https://www.apache.org/dyn/closer.lua/incubator/rya/rya-incubating-4.0.0/rya-project-4.0.0-incubating-source-release.zip">Source download from Apache</a></li>
  <li>Verify:  <a href="https://www.apache.org/dist/incubator/rya/rya-incubating-4.0.0/rya-project-4.0.0-incubating-source-release.zip.asc">pgp</a> <a href="https://www.apache.org/dist/incubator/rya/rya-incubating-4.0.0/rya-project-4.0.0-incubating-source-release.zip.sha512">sha512</a></li>
  <li><a href="/news/2019/07/27/relnotes-4.0.0/">Release notes</a></li>
  <li><a href="https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.rya%22">Central repository for Maven and other dependency managers</a></li>
</ul>

<p><a href="https://www.apache.org/dyn/closer.cgi#verify">Verify</a>
using the corresponding <em>pgp</em> signature (using the committer file in
<a href="https://www.apache.org/dist/rya/KEYS">KEYS</a>).
If you cannot do that, the <em>sha512</em> hash file may be used to check that the
download has completed okay.</p>

<p>For fast downloads, current source distributions are hosted on mirror servers;
older source distributions are in the
<a href="https://archive.apache.org/dist/incubator/rya/">archive</a>.
If a download from a mirror fails, retry, and the second download will likely
succeed.</p>

<p>For security, hash and signature files are always hosted at
<a href="https://www.apache.org/dist/incubator/rya">Apache</a>.</p>

<p>Next steps:</p>
<ul>
  <li><a href="https://github.com/apache/incubator-rya/blob/rel/rya-incubating-4.0.0/extras/rya.manual/src/site/markdown/build-source.md">Building from Source</a></li>
  <li><a href="https://github.com/apache/incubator-rya/blob/rel/rya-incubating-4.0.0/extras/rya.manual/src/site/markdown/quickstart.md">Quick Start</a></li>
  <li><a href="https://github.com/apache/incubator-rya/blob/rel/rya-incubating-4.0.0/extras/rya.manual/src/site/markdown/sm-firststeps.md">Typical First Steps</a></li>
  <li><a href="https://github.com/apache/incubator-rya/blob/rel/rya-incubating-4.0.0/extras/rya.manual/src/site/markdown/index.md">Manual – includes documents above</a></li>
</ul>

    </div>

  
    <ul class="tag_box inline">
      <li><i class="icon-folder-open"></i></li>
      
      


  
     
    	<li><a href="#release-ref">
    		release <span>5</span>
    	</a></li>
    
  


    </ul>
    

    

    <hr>
    <div class="pagination">
      <ul>
      
        <li class="prev"><a href="/news/2018/03/04/relnotes-3.2.12/" title="Release Notes v3.2.12">&larr; Previous</a></li>
      
        <li><a href="">Archive</a></li>
      
        <li class="next"><a href="/news/2019/07/27/relnotes-4.0.0/" title="Release Notes v4.0.0">Next &rarr;</a></li>
      
      </ul>
    </div>
    <hr>
    
  </div>
</div>


      <hr>
      <footer>
        <!-- <p>&copy; 2021 </p>-->
        <footer class="site-footer">
    <div class="wrapper">
        <div class="footer-col-wrapper">
            
            <div style="text-align:center;">
                
                <div>
                    Copyright &copy; 2021 <a href="https://www.apache.org">The Apache Software Foundation</a>.
                    Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
                    2.0</a>.
                    <br>
                    
                    Apache and the Apache Feather logo are trademarks of The Apache Software Foundation.
                    
                </div>
            </div>
        </div>
    </div>
</footer>

      </footer>
    </div>

    
    <script src="/assets/themes/apache/jquery/jquery-2.1.1.min.js"></script>

    <script src="/assets/themes/apache/bootstrap/js/bootstrap.min.js"></script>


  </body>
</html>

