

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Livy - History</title>
    <meta name="description" content="Release History">
    <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" />
    <!-- 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" width="50">
              Apache Livy
          </a>
        </div>

          <nav class="navbar-collapse collapse" role="navigation">
              <ul class="nav navbar-nav navbar-right">
                  
                  <li id="get-started">
                      
                      
                      <a href="/get-started" target="_self">Get Started</a>
                      
                  </li>
                  
                  <li id="documentation">
                      
                      <a href="#" data-toggle="dropdown" class="dropdown-toggle">Documentation<b class="caret"></b></a>
                      <ul class="dropdown-menu dropdown-left">
                          
                          
                          <li><a href="/docs/latest/rest-api.html" target="_self">REST API</a></li>
                          
                          
                          <li><a href="/docs/latest/programmatic-api.html" target="_self">Programmatic API</a></li>
                          
                          
                          <li><a href="/docs/latest/api/java/index.html" target="_self">JavaDocs</a></li>
                          
                          
                          <li><a href="/docs/latest/api/scala/index.html#org.apache.livy.scalaapi.package" target="_self">ScalaDocs</a></li>
                          
                          
                          <li><a href="/examples" target="_self">Examples</a></li>
                          
                      </ul>
                      
                  </li>
                  
                  <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" target="_self">Get Involved</a></li>
                          
                          
                          <li><a href="/community-members" target="_self">Project Committers</a></li>
                          
                          
                          <li><a href="/third-party-projects" target="_self">Third-Party Projects</a></li>
                          
                          
                          <li><a href="https://issues.apache.org/jira/browse/LIVY" target="_blank">Issue Tracker</a></li>
                          
                          
                          <li><a href="https://github.com/apache/incubator-livy" target="_blank">Source Code</a></li>
                          
                          
                          <li><a href="https://github.com/apache/incubator-livy-website" target="_blank">Website Source Code</a></li>
                          
                      </ul>
                      
                  </li>
                  
                  <li id="apache">
                      
                      <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
                      <ul class="dropdown-menu dropdown-left">
                          
                          
                          <li><a href="http://www.apache.org/foundation/how-it-works.html" target="_blank">Apache Software Foundation</a></li>
                          
                          
                          <li><a href="http://www.apache.org/licenses/" target="_blank">License</a></li>
                          
                          
                          <li><a href="http://www.apache.org/foundation/sponsorship" target="_blank">Sponsorship</a></li>
                          
                          
                          <li><a href="http://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
                          
                          
                          <li><a href="http://www.apache.org/security/" target="_blank">Security</a></li>
                          
                      </ul>
                      
                  </li>
                  
              </ul>
          </nav><!--/.navbar-collapse -->

      </div>
    </div>




    <div class="container">
      

<!--<div class="hero-unit Livy - History">
  <h1></h1>
</div>
-->

<div class="row">
  <div class="col-md-12">
    <!--

-->

<h2 id="apache-livy-releases">Apache Livy Releases</h2>

<p>For a full list of releases, see
<a href="https://github.com/apache/incubator-livy/releases">GitHub</a>.
Downloads are available on the
<a href="/download">downloads page</a>.</p>

<h2 id="v0-8-0-incubating"><a href="https://github.com/apache/incubator-livy/releases/tag/v0.8.0-incubating">0.8.0-incubating</a> / 2023-10-10</h2>

<p>New features</p>

<ul>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-423">LIVY-423</a>]
Adding Scala 2.12 support</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-970">LIVY-970</a>]
Ordering and pagination support in GET /statement request</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-969">LIVY-969</a>]
New Docker-based integration and debugging environments</p>
  </li>
  <li>
    <p>Full release details can be found <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12321434&amp;version=12346643">in JIRA</a>.</p>
  </li>
</ul>

<h2 id="v0-7-0-incubating"><a href="https://github.com/apache/incubator-livy/releases/tag/v0.7.0-incubating">0.7.0-incubating</a> / 2020-02-02</h2>

<p>New features</p>

<ul>
  <li>
    <p>Livy 0.7.0 now requires Java 8, Scala 2.11 and Spark &gt;= 2.2.0. With 0.7.0, JDBC/ODBC feature now becomes GA.</p>
  </li>
  <li>
    <p>Added support for all current versions of Spark (2.2.x to 2.4.x).</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-575">LIVY-575</a>]
Hive-compatible JDBC / ODBC server GA.</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-678">LIVY-678</a>]
Add LDAP authorization support for REST, JDBC interface.</p>
  </li>
  <li>
    <p>With various bugs fixed, details can be checked [<a href="https://issues.apache.org/jira/projects/LIVY/versions/12345179">here</a>].</p>
  </li>
</ul>

<h2 id="v0-6-0-incubating"><a href="https://github.com/apache/incubator-livy/releases/tag/v0.6.0-incubating">0.6.0-incubating</a> / 2019-04-01</h2>

<p>New features</p>

<ul>
  <li>
    <p>Livy 0.6.0 now requires Java 8, Scala 2.11 and Spark &gt;= 2.2.0.</p>
  </li>
  <li>
    <p>Added support for all current versions of Spark (2.2.x to 2.4.x).</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-489">LIVY-489</a>]
New, experimental Hive-compatible JDBC / ODBC server.</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-551">LIVY-551</a>]
Impersonation support for all REST endpoints, for better integration with proxy servers.</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-41">LIVY-41</a>]
Session naming support.</p>
  </li>
</ul>

<h2 id="v0-5-0-incubating"><a href="https://github.com/apache/incubator-livy/releases/tag/v0.5.0-incubating">0.5.0-incubating</a> / 2018-02-05</h2>

<p>New features</p>

<ul>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-7">LIVY-7</a>]
Added autocompletion to REST API and Scala API for Interactive Sessions</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-19">LIVY-19</a>]
Added Spark SQL interpreter for Interactive Sessions</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-104">LIVY-104</a>]
Updated Livy project to build using Scala 2.11</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-245">LIVY-245</a>]
Added support for shared variables across Jobs</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-299">LIVY-299</a>]
Support multi-line output in statements</p>
  </li>
  <li>
    <p>[<a href="https://issues.apache.org/jira/browse/LIVY-397">LIVY-397</a>]
Support multiple languages in a single Session</p>
  </li>
</ul>

<h2 id="v0-4-0-incubating"><a href="https://github.com/apache/incubator-livy/releases/tag/v0.4.0-incubating">0.4.0-incubating</a> / 2017-09-01</h2>

<p>Our first Apache release!</p>

<p>New features</p>

<ul>
  <li>[<a href="https://issues.apache.org/jira/browse/LIVY-87">LIVY-87</a>]
Create a Livy Web UI to monitor sessions</li>
  <li>[<a href="https://issues.apache.org/jira/browse/LIVY-348">LIVY-348</a>]
Improve Livy’s ACLs</li>
</ul>

  </div>
</div>


      <hr>
      <footer>
        <!-- <p>&copy; 2024 </p>-->
        <footer class="site-footer">
    <div class="wrapper">
        <div class="footer-col-wrapper">
            
            Apache Livy is an effort undergoing <a href="https://incubator.apache.org/index.html">Incubation</a>
            at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly
            accepted projects until a further review indicates that the infrastructure, communications, and decision
            making process have stabilized in a manner consistent with other successful ASF projects. While incubation
            status is not necessarily a reflection of the completeness or stability of the code, it does indicate that
            the project has yet to be fully endorsed by the ASF.
            <hr>
            
            <div style="text-align:center;">
                
                <div style="margin-top: 20px; margin-bottom: 20px;">
                    <a href="http://incubator.apache.org"><img src="/assets/themes/apache/img/egg-logo.png"
                                                               alt="Apache Incubator"
                                                               height="30%" width="30%"/></a>
                </div>
                
                <div>
                    Copyright &copy; 2017 <a href="http://www.apache.org">The Apache Software Foundation</a>.
                    Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
                    2.0</a>.
                    <br>
                    
                    Apache, the Apache Feather logo, and the Apache Incubator project 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>

