<!DOCTYPE html>
<html lang="en">

  <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <title>Releases</title>
  <meta name="description" content="Quickstep is a next-generation data processing platform designed for high-performance analytical queries.">

  <link rel="stylesheet" href="/assets/main.css">
  <link rel="canonical" href="http://localhost:4000/release/">
  <link rel="alternate" type="application/rss+xml" title="Apache Quickstep (Incubating)" href="/feed.xml">
  
  
</head>


  <body>

    <header class="site-header" role="banner">

  <div class="wrapper">

    <a class="site-title" href="/">Apache Quickstep (Incubating)</a>

    <nav class="site-nav">
      <span class="menu-icon">
        <svg viewBox="0 0 18 15" width="18px" height="15px">
          <path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
          <path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
          <path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
        </svg>
      </span>

      <div class="trigger">
        
          
          <a class="page-link" href="/about/">About</a>
          
        
          
          <a class="page-link" href="/blog/">Blog</a>
          
        
          
        
          
          <a class="page-link" href="/release/">Releases</a>
          
        
          
        
          
        
          
        
      </div>
    </nav>

  </div>

</header>


    <main class="page-content" aria-label="Content">
      <div class="wrapper">
        <article class="post">

  <header class="post-header">
    <h1 class="post-title" itemprop="name headline">Releases</h1>
    <p class="post-meta">Last Updated <time datetime="2017-03-27T00:00:00-05:00">2017-03-27</time> • <span><span>Marc</span></span></p>
  </header>

  <div class="post-content">
    <h1 id="010">0.1.0</h1>
<ul>
  <li><a href="https://dist.apache.org/repos/dist/release/incubator/quickstep/0.1.0/apache-quickstep-incubating-0.1.0.tar.gz">apache-quickstep-incubating-0.1.0.tar.gz</a></li>
  <li><a href="https://dist.apache.org/repos/dist/release/incubator/quickstep/0.1.0/apache-quickstep-incubating-0.1.0.tar.gz.asc">apache-quickstep-incubating-0.1.0.tar.gz.asc</a></li>
  <li><a href="https://dist.apache.org/repos/dist/release/incubator/quickstep/0.1.0/apache-quickstep-incubating-0.1.0.tar.gz.md5">apache-quickstep-incubating-0.1.0.tar.gz.md5</a></li>
  <li><a href="https://dist.apache.org/repos/dist/release/incubator/quickstep/0.1.0/apache-quickstep-incubating-0.1.0.tar.gz.sha256">apache-quickstep-incubating-0.1.0.tar.gz.sha256</a></li>
  <li><a href="https://dist.apache.org/repos/dist/release/incubator/quickstep/0.1.0/apache-quickstep-incubating-0.1.0.tar.gz.sha512">apache-quickstep-incubating-0.1.0.tar.gz.sha512</a></li>
</ul>

  </div>
</article>
      </div>
    </main>

    
<footer class="site-footer">

  <div class="wrapper">
    <div class="footer-col-wrapper">
      <div class="footer-col footer-col-1">
        <img src="/assets/incubator-logo.png" />
        <ul class="contact-list">
          <li>
          <h3>
            
              Apache Quickstep (Incubating)
            
            </h3>
            </li>
            
            <li><a href="mailto:dev@quickstep.incubator.apache.org">dev@quickstep.incubator.apache.org</a></li>
            
        </ul>
        <p>Quickstep is a next-generation data processing platform designed  for high-performance analytical queries.
</p>
      </div>

      <div class="footer-col footer-col-2">
        <h3>Disclaimer</h3>
        <small>Apache Quickstep is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache 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.</small>
      </div>
    </div>

  </div>

</footer>

  </body>

</html>
