---
layout: page
title: Documentation
---
<!--
   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.
-->

<h4 id="latest">Latest Release</h4>

<ul class="documentation-list">
  <li><a href="../learn/documentation/latest">Documentation</a></li>
  <li><a href="../learn/tutorials/latest">Tutorials</a></li>
  <li><a href="../startup/hello-samza/latest">Hello Samza</a></li>
</ul>

<h4 id="1.5.1">1.5.1 Release</h4>

<ul class="documentation-list">
  <li><a href="../learn/documentation/1.5.1">Documentation</a></li>
  <li><a href="../learn/tutorials/1.5.1">Tutorials</a></li>
  <li><a href="../startup/hello-samza/1.5.1">Hello Samza</a></li>
</ul>

<h4 id="1.5">1.5 Release</h4>

<ul class="documentation-list">
    <li><a href="../learn/documentation/1.5.0">Documentation</a></li>
    <li><a href="../learn/tutorials/1.5.0">Tutorials</a></li>
    <li><a href="../startup/hello-samza/1.5.0">Hello Samza</a></li>
</ul>

<h4 id="1.4">1.4 Release</h4>

<ul class="documentation-list">
    <li><a href="../learn/documentation/1.4.0">Documentation</a></li>
    <li><a href="../learn/tutorials/1.4.0">Tutorials</a></li>
    <li><a href="../startup/hello-samza/1.4.0">Hello Samza</a></li>
</ul>

<h4 id="1.3">1.3 Release</h4>

<ul class="documentation-list">
    <li><a href="../learn/documentation/1.3.0">Documentation</a></li>
    <li><a href="../learn/tutorials/1.3.0">Tutorials</a></li>
    <li><a href="../startup/hello-samza/1.3.0">Hello Samza</a></li>
</ul>

<h4 id="1.2">1.2 Release</h4>

<ul class="documentation-list">
    <li><a href="../learn/documentation/1.2.0">Documentation</a></li>
    <li><a href="../learn/tutorials/1.2.0">Tutorials</a></li>
    <li><a href="../startup/hello-samza/1.2.0">Hello Samza</a></li>
</ul>

<h4 id="14">14 Release</h4>

<ul class="documentation-list">
    <li><a href="../learn/documentation/0.14">Documentation</a></li>
    <li><a href="../learn/tutorials/0.14">Tutorials</a></li>
    <li><a href="../startup/hello-samza/0.14">Hello Samza</a></li>
</ul>

<h4 id="13">0.13 Release</h4>

<ul class="documentation-list">
  <li><a href="../learn/documentation/0.13">Documentation</a></li>
  <li><a href="../learn/tutorials/0.13">Tutorials</a></li>
  <li><a href="../startup/hello-samza/0.13">Hello Samza</a></li>
</ul>

<h4 id="12">0.12 Release</h4>

<ul class="documentation-list">
  <li><a href="../learn/documentation/0.12">Documentation</a></li>
  <li><a href="../learn/tutorials/0.12">Tutorials</a></li>
  <li><a href="../startup/hello-samza/0.12">Hello Samza</a></li>
</ul>

<h4 id="11">0.11 Release</h4>

<ul class="documentation-list">
  <li><a href="../learn/documentation/0.11">Documentation</a></li>
  <li><a href="../learn/tutorials/0.11">Tutorials</a></li>
  <li><a href="../startup/hello-samza/0.11">Hello Samza</a></li>
</ul>

<h4 id="10">0.10 Release</h4>

<ul class="documentation-list">
    <li><a href="../learn/documentation/0.10">Documentation</a></li>
    <li><a href="../learn/tutorials/0.10">Tutorials</a></li>
    <li><a href="../startup/hello-samza/0.10">Hello Samza</a></li>
</ul>

<h4 id="09">0.9 Release</h4>

<ul class="documentation-list">
  <li><a href="../learn/documentation/0.9">Documentation</a></li>
  <li><a href="../learn/tutorials/0.9">Tutorials</a></li>
  <li><a href="../startup/hello-samza/0.9">Hello Samza</a></li>
</ul>

<h4 id="08">0.8 Release</h4>

<ul class="documentation-list">
  <li><a href="../learn/documentation/0.8">Documentation</a></li>
  <li><a href="../learn/tutorials/0.8">Tutorials</a></li>
  <li><a href="../startup/hello-samza/0.8">Hello Samza</a></li>
</ul>

<h4 id="07">0.7 Release</h4>

<ul class="documentation-list">
  <li><a href="../learn/documentation/0.7.0">Documentation</a></li>
  <li><a href="../learn/tutorials/0.7.0">Tutorials</a></li>
  <li><a href="../startup/hello-samza/0.7.0">Hello Samza</a></li>
</ul>
