<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta http-equiv="CACHE-CONTROL" content="NO-CACHE">
  <meta charset="UTF-8">
  <title>Downloads</title>
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta name="generator" content="Jekyll v2.4.0">
  <link rel="stylesheet" href="/css/font-awesome.min.css">
  <link rel="stylesheet" href="/css/screen.css">
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
  <script src="/js/jquery-3.2.1.min.js"></script>
  <!--[if lt IE 9]>
  <script src="/js/html5shiv.min.js"></script>
  <script src="/js/respond.min.js"></script>
  <![endif]-->
  <script src="/js/screen.js"></script>
  <script type="text/javascript" src="/assets/javascripts/bundle.js" charset="utf-8"></script>
</head>


<body>
  <header role="banner">
  <nav class="mobile-nav show-on-mobiles">
    <ul>
  <li class="">
    <a href="/">Home</a>
  </li>
  <li class="">
    <a href="/docs/">Doc<span class="show-on-mobiles">s</span><span class="hide-on-mobiles">umentation</span></a>
  </li>
  </li>
  <li class="current">
    <a href="/downloads/">Downloads</a>
  </li>
  <li class="">
    <a href="/talks/">Talks</a>
  </li>
  <li class="">
    <a href="/news/">News</a>
  </li>
  <li class="">
    <a href="/develop/">Develop</a>
  </li>
  <li class="">
    <a href="/help/">Help</a>
  </li>
</ul>

  </nav>
  <div class="grid">
    <div class="unit one-third center-on-mobiles">
      <h1>
        <a href="/">
          <span class="sr-only">Apache Mnemonic</span>
          <img src="/img/mnemonic_logo_v2.png" width="289" alt="Mnemonic Logo" class="logo">
        </a>
        <a  href="https://www.apache.org/events/current-event.html">
          <img src="https://www.apache.org/events/current-event-234x60.png"/>
        </a>
      </h1>
    </div>
    <nav class="main-nav unit two-thirds hide-on-mobiles">
      <ul>
  <li class="">
    <a href="/">Home</a>
  </li>
  <li class="">
    <a href="/docs/">Doc<span class="show-on-mobiles">s</span><span class="hide-on-mobiles">umentation</span></a>
  </li>
  </li>
  <li class="current">
    <a href="/downloads/">Downloads</a>
  </li>
  <li class="">
    <a href="/talks/">Talks</a>
  </li>
  <li class="">
    <a href="/news/">News</a>
  </li>
  <li class="">
    <a href="/develop/">Develop</a>
  </li>
  <li class="">
    <a href="/help/">Help</a>
  </li>
</ul>

    </nav>
  </div>
  <!-- Return to Top -->
  <a href="#top" id="return-to-top"><i class="fa fa-chevron-up"></i></a>
</header>


  <section class="standalone">
  <div class="grid">

    <div class="unit whole">
      <article>
        <h1>Downloads</h1>
        <h3 id="download-the-latest-version">Download the latest version</h3>
<ul>
  <li><a href="https://archive.apache.org/dist/mnemonic/0.14.0/src/" target="_blank">Apache Mnemonic 0.14.0</a> <br />
March 2021 <a href="https://archive.apache.org/dist/mnemonic/0.14.0/CHANGES.txt" target="_blank">What’s New</a></li>
</ul>

<h3 id="archived-project-releases">Archived Project Releases</h3>
<ul>
  <li>
    <p><a href="https://archive.apache.org/dist/mnemonic/0.13.0/src/" target="_blank">Apache Mnemonic 0.13.0</a> <br />
January 2021 <a href="https://archive.apache.org/dist/mnemonic/0.13.0/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/mnemonic/0.12.0/src/" target="_blank">Apache Mnemonic 0.12.0</a> <br />
September 2018 <a href="https://archive.apache.org/dist/mnemonic/0.12.0/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/mnemonic/0.11.0/src/" target="_blank">Apache Mnemonic 0.11.0</a> <br />
April 2018 <a href="https://archive.apache.org/dist/mnemonic/0.11.0/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/incubator/mnemonic/0.10.0-incubating/src/" target="_blank">Apache Mnemonic 0.10.0-incubating</a> <br />
November 2017 <a href="https://archive.apache.org/dist/incubator/mnemonic/0.10.0-incubating/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/incubator/mnemonic/0.9.0-incubating/src/" target="_blank">Apache Mnemonic 0.9.0-incubating</a> <br />
September 2017 <a href="https://archive.apache.org/dist/incubator/mnemonic/0.9.0-incubating/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/incubator/mnemonic/0.8.0-incubating/src/" target="_blank">Apache Mnemonic 0.8.0-incubating</a> <br />
June 2017 <a href="https://archive.apache.org/dist/incubator/mnemonic/0.8.0-incubating/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/incubator/mnemonic/0.7.0-incubating/src/" target="_blank">Apache Mnemonic 0.7.0-incubating</a> <br />
May 2017 <a href="https://archive.apache.org/dist/incubator/mnemonic/0.7.0-incubating/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/incubator/mnemonic/0.6.0-incubating/src/" target="_blank">Apache Mnemonic 0.6.0-incubating</a> <br />
April 2017 <a href="https://archive.apache.org/dist/incubator/mnemonic/0.6.0-incubating/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/incubator/mnemonic/0.5.0-incubating/src/" target="_blank">Apache Mnemonic 0.5.0-incubating</a> <br />
March 2017 <a href="https://archive.apache.org/dist/incubator/mnemonic/0.5.0-incubating/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/incubator/mnemonic/0.4.0-incubating/src/" target="_blank">Apache Mnemonic 0.4.0-incubating</a> <br />
January 2017 <a href="https://archive.apache.org/dist/incubator/mnemonic/0.4.0-incubating/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/incubator/mnemonic/0.3.0-incubating/src/" target="_blank">Apache Mnemonic 0.3.0-incubating</a> <br />
October 2016 <a href="https://archive.apache.org/dist/incubator/mnemonic/0.3.0-incubating/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/incubator/mnemonic/0.2.0-incubating/src/" target="_blank">Apache Mnemonic 0.2.0-incubating</a> <br />
August 2016 <a href="https://archive.apache.org/dist/incubator/mnemonic/0.2.0-incubating/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
  <li>
    <p><a href="https://archive.apache.org/dist/incubator/mnemonic/0.1.2-incubating/src/" target="_blank">Apache Mnemonic 0.1.2-incubating</a> <br />
May 2016 <a href="https://archive.apache.org/dist/incubator/mnemonic/0.1.2-incubating/CHANGES.txt" target="_blank">What’s New</a></p>
  </li>
</ul>

      </article>
    </div>

    <div class="clear"></div>

  </div>
</section>


  <footer role="contentinfo">
    <p><div align="center">Apache Mnemonic, Mnemonic, Apache, and the Mnemonic logo are trademarks of The Apache Software Foundation.</div>
<div align="center"> Copyright &copy;&nbsp;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a></div></p>
</footer>

  <script>
  var anchorForId = function (id) {
    var anchor = document.createElement("a");
    anchor.className = "header-link";
    anchor.href      = "#" + id;
    anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
    anchor.title = "Permalink";
    return anchor;
  };

  var linkifyAnchors = function (level, containingElement) {
    var headers = containingElement.getElementsByTagName("h" + level);
    for (var h = 0; h < headers.length; h++) {
      var header = headers[h];

      if (typeof header.id !== "undefined" && header.id !== "") {
        header.appendChild(anchorForId(header.id));
      }
    }
  };

  document.onreadystatechange = function () {
    if (this.readyState === "complete") {
      var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
      if (!contentBlock) {
        return;
      }
      for (var level = 1; level <= 6; level++) {
        linkifyAnchors(level, contentBlock);
      }
    }
  };
</script>


</body>
</html>
