<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Apache Mesos | Downloads</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta property="og:locale" content="en_US"/>
    <meta property="og:type" content="website"/>
    <meta property="og:title" content="Apache Mesos"/>
    <meta property="og:site_name" content="Apache Mesos"/>
    <meta property="og:url" content="http://mesos.apache.org/"/>
    <meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
    <meta property="og:description"
          content="Apache Mesos abstracts resources away from machines,
                   enabling fault-tolerant and elastic distributed systems
                   to easily be built and run effectively."/>

    <meta name="twitter:card" content="summary"/>
    <meta name="twitter:site" content="@ApacheMesos"/>
    <meta name="twitter:title" content="Apache Mesos"/>
    <meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
    <meta name="twitter:description"
          content="Apache Mesos abstracts resources away from machines,
                   enabling fault-tolerant and elastic distributed systems
                   to easily be built and run effectively."/>

    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
    <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
    <link href="../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />

    

    <!-- Google Analytics Magic -->
    <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-20226872-1']);
    _gaq.push(['_setDomainName', 'apache.org']);
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
    </script>
    
  </head>
  <body>
    <!-- magical breadcrumbs -->
    <div class="topnav">
      <div class="container">
        <ul class="breadcrumb">
          <li>
            <div class="dropdown">
              <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
                <li><a href="http://www.apache.org">Apache Homepage</a></li>
                <li><a href="http://www.apache.org/licenses/">License</a></li>
                <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
                <li><a href="http://www.apache.org/security/">Security</a></li>
              </ul>
            </div>
          </li>

          <li><a href="http://mesos.apache.org">Apache Mesos</a></li>
          
          <li><a href="/downloads/">Downloads</a></li>
          
        </ul><!-- /.breadcrumb -->
      </div><!-- /.container -->
    </div><!-- /.topnav -->

    <!-- navbar excitement -->
<div class="navbar navbar-default navbar-static-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false">
      <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/img/mesos_logo.png" alt="Apache Mesos logo"/></a>
    </div><!-- /.navbar-header -->

    <div class="navbar-collapse collapse" id="mesos-menu">
      <ul class="nav navbar-nav navbar-right">
        <li><a href="/gettingstarted/">Getting Started</a></li>
        <li><a href="/blog/">Blog</a></li>
        <li><a href="/documentation/latest/">Documentation</a></li>
        <li><a href="/downloads/">Downloads</a></li>
        <li><a href="/community/">Community</a></li>
      </ul>
    </div><!-- /#mesos-menu -->
  </div><!-- /.container -->
</div><!-- /.navbar -->

<div class="content">
  <div class="container">
    <div class="row-fluid">
  <div class="col-md-4">
    <h4>Previous Releases</h4>

    <ul>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/1.2.0/">
          1.2.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12338394">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/1.1.1/">
          1.1.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12338395">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/1.1.0/">
          1.1.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12337876">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/1.0.1/">
          1.0.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12335956">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/1.0.0/">
          1.0.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12324944">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.28.2/">
          0.28.2
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12335646">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.28.1/">
          0.28.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12335359">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.28.0/">
          0.28.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334661">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.27.3/">
          0.27.3
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12335458">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.27.2/">
          0.27.2
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334913">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.27.1/">
          0.27.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334748">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.27.0/">
          0.27.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334043">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.26.1/">
          0.26.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334931">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.26.0/">
          0.26.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12333528">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.25.1/">
          0.25.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334932">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.25.0/">
          0.25.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12329852">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.24.2/">
          0.24.2
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334933">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.24.1/">
          0.24.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12333552">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.24.0/">
          0.24.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12329851">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.23.1/">
          0.23.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12333553">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.23.0/">
          0.23.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12328728">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.22.2/">
          0.22.2
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12333645">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.22.1/">
          0.22.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12329855">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.22.0/">
          0.22.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12328650">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.21.2/">
          0.21.2
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12333646">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.21.1/">
          0.21.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12329076">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.21.0/">
          0.21.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12327045">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.20.0/">
          0.20.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326835">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.19.1/">
          0.19.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12327173">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.19.0/">
          0.19.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326253">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.18.2/">
          0.18.2
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326851">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.18.1/">
          0.18.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326752">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.18.0/">
          0.18.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326140">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.17.0/">
          0.17.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12325669">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.16.0/">
          0.16.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12325295">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.15.0/">
          0.15.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12324901">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.14.2/">
          0.14.2
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12325324">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.14.1/">
          0.14.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12324994">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.14.0/">
          0.14.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12311242">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.13.0/">
          0.13.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12311242">
          Release Notes
        </a>)
      </li>
      
      <li>
        <a href="http://archive.apache.org/dist/mesos/0.12.1/">
          0.12.1
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12324794">
          Release Notes
        </a>)
      </li>
      
    </ul>
  </div>

  <div class="col-md-8">
    <h1>Download Mesos</h1>
      <p>Download the most recent stable release:
	      <a href="http://www.apache.org/dyn/closer.cgi/mesos/1.2.0/mesos-1.2.0.tar.gz">
          1.2.0
        </a>
        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12338394">
          Release Notes
        </a>)
      </p>

      <h4>Getting the code via source control</h4>
      <p>The codebase can also be downloaded from the Apache git repository at:
        <code>https://git-wip-us.apache.org/repos/asf/mesos.git</code>.
        A read-only git repository is also mirrored on
        <a href="https://github.com/apache/mesos/tree/master">on Github</a>.
        (Note: we use <a href="http://reviews.apache.org">Review Board</a> for
        patches, not pull requests on Github)
      </p>

      <p>Once you have downloaded Mesos, follow the
        <a href="/gettingstarted/">getting started instructions</a>,
        and take a look at the rest of the
        <a href="/documentation/">Mesos documentation</a>.
      </p>
  </div>
</div>

  </div><!-- /.container -->
</div><!-- /.content -->

<hr>



    <!-- footer -->
    <div class="footer">
      <div class="container">
        <div class="col-md-4 social-blk">
          <span class="social">
            <a href="https://twitter.com/ApacheMesos"
              class="twitter-follow-button"
              data-show-count="false" data-size="large">Follow @ApacheMesos</a>
            <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
            <a href="https://twitter.com/intent/tweet?button_hashtag=mesos"
              class="twitter-hashtag-button"
              data-size="large"
              data-related="ApacheMesos">Tweet #mesos</a>
            <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
          </span>
        </div>

        <div class="col-md-8 trademark">
          <p>&copy; 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>.
            Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.
          <p>
        </div>
      </div><!-- /.container -->
    </div><!-- /.footer -->

    <!-- JS -->
    <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
    <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
  </body>
</html>
