<!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.0">
        
        
        <!-- This is broken by doc revisioning.
         -->
        <link rel="shortcut icon" href="../img/favicon.ico">

        <title>Download - Apache Mynewt</title>

        <link href="../css/bootstrap-3.0.3.min.css" rel="stylesheet">
        <link rel="stylesheet" href="../css/highlight.css">
        <link href="../css/base.css" rel="stylesheet">
        <link href="../css/custom.css" rel="stylesheet">
        <link href="../css/v2.css" rel="stylesheet">
        <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">

        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!--[if lt IE 9]>
            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
        <![endif]-->

        
            <script>
            (function(i, s, o, g, r, a, m) {
    i["GoogleAnalyticsObject"] = r;
    (i[r] =
        i[r] ||
        function() {
            (i[r].q = i[r].q || []).push(arguments);
        }),
        (i[r].l = 1 * new Date());
    (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
    a.async = 1;
    a.src = g;
    m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
        
    </head>


    <body class="Download">


        <div class="container">
    <div class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released (April 4, 2024)
            </div>
        </div>
    </div>
</div>

        






<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" role="navigation">
    <div class="container">
        <!-- Collapsed navigation -->
        <div class="navbar-header">
            <!-- Expander button -->
            <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>

        </div>

        <!-- Expanded navigation -->
        <div class="navbar-collapse collapse">
            <!-- Main navigation -->
            <ul class="nav navbar-nav navbar-right">
                <li 
  class=""
>
                    <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                </li>
                <li 
  class="important"
>
                    <a href="/quick-start/">Quick Start</a>
                </li>
                <li 
  class=""
>
                    <a href="/about/">About</a>
                </li>
                <li 
  class=""
>
                    <a href="/talks/">Talks</a>
                </li>
                <li 
  class="active"
>
                    <a href="/documentation/">Documentation</a>
                </li>
                <li 
  class=""
>
                    <a href="/download/">Download</a>
                </li>
                <li 
  class=""
>
                    <a href="/community/">Community</a>
                </li>
                <li 
  class=""
>
                    <a href="/events/">Events</a>
                </li>
            </ul>

        </div>
    </div>
</nav>

        

        <div class="container">
            
                <div class="container">
    <div class="row">
        <div class="col-md-12">
            
                <h3 id="latest-apache-mynewt-os-release">Latest Apache Mynewt OS Release</h3>
<ul>
<li>Release Version: Apache Mynewt 1.1.0</li>
<li>Release Date: July 31, 2017</li>
<li><a href="https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.1.0">Release Notes</a></li>
<li><a href="http://www.apache.org/dyn/closer.lua/mynewt/apache-mynewt-1.1.0">Release Download</a></li>
</ul>
<h4 id="fresh-install">Fresh install</h4>
<p>If you are brand new to Mynewt, go to <a href="os/get_started/get_started/">Quick Start</a>. The Newt tool will automatically download the latest release.</p>
<p>If you have already installed the Newt tool but not started any project yet, go to <a href="/latest/os/get_started/project_create/">Create Your First Project</a>. The Newt tool will automatically download the latest release.</p>
<h4 id="upgrade">Upgrade</h4>
<p>If you have already installed the Newt tool and started a project that installed a previous version of Apache Mynewt,  upgrade using Newt tool:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newt upgrade
</code></pre></div>

<h3 id="code-in-development">Code in development</h3>
<p>While the use of one of the official releases listed above is generally recommended, you may be interested in seeing work in progress.</p>
<p>The most recent code that is fairly stable over the full OS resides in the <code>master</code> branch of the Mynewt git repository. You may view or fork the repositories for Mynewt OS and Newt Tool from the Apache mirror on github.com.</p>
<ul>
<li><a href="https://github.com/apache/incubator-mynewt-core/tree/master">Apache Mynewt OS mirror on github.com</a></li>
<li><a href="https://github.com/apache/incubator-mynewt-newt/tree/master">Apache Newt Tool mirror on github.com</a></li>
</ul>
<p>The most recent code to support a major feature (e.g. Bluetooth 5) can be found in a long-lived feature branch dedicated to that feature (bluetooth5, in the example for Bluetooth 5) and not the master. If you are interested in seeing the latest code for that feature,  you can clone the desired branch using git:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ git clone git://github.com/apache/incubator-mynewt-core.git -b &lt;feature-branch-name&gt;
$ git clone git://github.com/apache/incubator-mynewt-newt.git -b &lt;feature-branch-name&gt;
</code></pre></div>

<p><br></p>
<p>For general information on using Git at Apache, go to https://git-wip-us.apache.org.</p>
<p><br></p>
<h3 id="prior-releases">Prior Releases</h3>
<ul>
<li>Apache Mynewt 0.8.0-b2-incubating, <a href="https://cwiki.apache.org/confluence/display/MYNEWT/RN-0.8.0-b2-incubating">Release Notes</a>, <a href="https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-0.8.0-b2-incubating/">Release Archive</a></li>
<li>Apache Mynewt 0.8.0-incubating, <a href="https://cwiki.apache.org/confluence/display/MYNEWT/RN-0.8.0-incubating">Release Notes</a>, <a href="https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-0.8.0-incubating/">Release Archive</a></li>
<li>Apache Mynewt 0.9.0-incubating, <a href="https://cwiki.apache.org/confluence/display/MYNEWT/RN-0.9.0-incubating">Release Notes</a>, <a href="https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-0.9.0-incubating/">Release Archive</a></li>
<li>Apache Mynewt 1.0.0-b1-incubating, <a href="https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.0.0-b1-incubating">Release Notes</a>, <a href="https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-1.0.0-b1-incubating/">Release Archive</a></li>
<li>Apache Mynewt 1.0.0-b2-incubating, <a href="https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.0.0-b2-incubating">Release Notes</a>, <a href="https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-1.0.0-b2-incubating/">Release Archive</a></li>
<li>Apache Mynewt 1.0.0-incubating, <a href="https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.0.0-incubating">Release Notes</a>, <a href="https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-1.0.0-incubating/">Release Archive</a>
<br>
<br></li>
</ul>
            
        </div>
    </div>

</div>
            
            
                <footer class="row">
    <div class="col-xs-12">
        
            <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
        
    </div>
    <div class="col-xs-12">
        <div class="logos">
            <a href="https://www.apache.org/">
                <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
            </a>
            <p>
                Copyright © 2015-2021 The Apache Software Foundation.<br>
                <small class="footnote">
                    Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt
                    project logo are either registered trademarks or trademarks of the Apache
                    Software Foundation in the United States and other countries.
                </small>
            </p>
            <a href="">
                <img src="https://www.countit.com/images/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
            </a>
        </div>
    </div>
    <a href="https://www.apache.org/licenses/">
        <button class="button-footer-asf">
            License
        </button>
    </a>
    <a href="https://www.apache.org/foundation/sponsorship.html">
        <button class="button-footer-asf">
            Sponsorship
        </button>
    </a>
    <a href="https://www.apache.org/foundation/thanks.html">
        <button class="button-footer-asf">
            Thanks
        </button>
    </a>
    <a href="https://www.apache.org/security/">
        <button class="button-footer-asf">
            Security
        </button>
    </a>
    <a href="https://apache.org/events/current-event">
        <button class="button-footer-asf">
            ASF Events
        </button>
    </a>
</footer>
            
        </div>

        <script src="../js/jquery-1.10.2.min.js"></script>
        <script src="../js/bootstrap-3.0.3.min.js"></script>
        <script src="../js/highlight.pack.js"></script>
        <script src="../js/base.js"></script>
        <script src="../js/custom.js"></script>
            <script src="search/main.js"></script>

    </body>
</html>