<!doctype html>
<!--
  Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose
  Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
  Free for personal and commercial use under the MIT license
  https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
-->
<html lang="en" class="no-js">
  <head>
    <meta charset="utf-8">

<!-- begin SEO -->









<title>ServiceComb Mesher Downloads - Apache ServiceComb</title>




<meta name="description" content="ServiceComb Mesher Downloads">




<meta name="author" content="">

<meta property="og:locale" content="en">
<meta property="og:site_name" content="Apache ServiceComb">
<meta property="og:title" content="ServiceComb Mesher Downloads">


  <link rel="canonical" href="https://github.com/pages/apache/incubator-servicecomb-website/release/mesher-downloads/">
  <meta property="og:url" content="https://github.com/pages/apache/incubator-servicecomb-website/release/mesher-downloads/">



  <meta property="og:description" content="ServiceComb Mesher Downloads">



  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="ServiceComb Mesher Downloads">
  <meta name="twitter:description" content="ServiceComb Mesher Downloads">
  <meta name="twitter:url" content="">

  
    <meta name="twitter:card" content="summary">
    
  

  



  

  












  <script type="application/ld+json">
    {
      "@context" : "http://schema.org",
      "@type" : "Person",
      "name" : "Apache ServiceComb",
      "url" : "https://github.com/pages/apache/incubator-servicecomb-website",
      "sameAs" : null
    }
  </script>



  <meta name="google-site-verification" content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" />




<!-- end SEO -->


<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Apache ServiceComb Feed">

<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<script>
  document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script>
<script src="/assets/vendor/prism/prism.js"></script>

<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<!-- For all browsers -->
<link rel="stylesheet" href="/assets/css/main.css?v=1">
<link rel="stylesheet" href="/assets/vendor/prism/prism.css?v=1">

<!--[if lte IE 9]>
  <style>
    /* old IE unsupported flexbox fixes */
    .greedy-nav .site-title {
      padding-right: 3em;
    }
    .greedy-nav button {
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
    }
  </style>
<![endif]-->

<meta http-equiv="cleartype" content="on">

    <!-- start custom head snippets -->

<!-- insert favicons. use http://realfavicongenerator.net/ -->
<link href="https://fonts.cat.net/css?family=Roboto:400,500,700|Source+Code+Pro" rel="stylesheet">
<script src="/assets/js/custom.js"></script>
<!-- end custom head snippets -->

  </head>

  <body class="layout--single">

    <!--[if lt IE 9]>
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
    <div class="masthead" onmouseleave="$('#childrenShow').css('display', 'none')">
  <div class="masthead__inner-wrap">
    <div class="masthead__menu">
      <nav id="site-nav" class="greedy-nav">
	      
          <a class="site-title active" href="/"><img src="https://www.apache.org/img/servicecomb.png"></a>
	      
        <ul class="visible-links">
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/">Home</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/developers/">Projects</a>
                
              </li>
            
          
            
          
          
            
            <li class="def-nav-li" onmouseenter="$('#childrenShow').css('display', 'block')">
              
              
              

              
                <a href="/docs/users/">Documentation</a>
              

              <ul id="childrenShow" class="def-children-show" onmouseleave="$('#childrenShow').css('display', 'none')">
                
                <li><a href="/docs/getting-started/" class="">getting started</a></li>
                
                <li><a href="/docs/users/" class="">Docs</a></li>
                
                <li><a href="/slides/" class="">Video</a></li>
                
                <li><a href="/faqs/" class="">FAQ</a></li>
                
              </ul>
            </li>
          
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/developers/contributing">Community</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/year-archive/">Blogs</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a class="active" href="/release/">Downloads</a>
                
              </li>
            
          
        </ul>
        <button><div class="navicon"></div></button>
        <ul class="hidden-links hidden"></ul>
        <div class="nav-lang">
          
            
            <a href=/cn/release/mesher-downloads/>中文</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    



<div id="main" role="main">
  
  <div class="sidebar sticky">
      
      <div class="back-to-home"><a href="/">Home</a> > ServiceComb Mesher Downloads</div>
      
  
  
    
      
      
      
    
    
      

<nav class="nav__list">
  
  <input id="ac-toc" name="accordion-toc" type="checkbox" />
  <label for="ac-toc">Toggle Menu</label>
  <ul class="nav__items">
    
      <li>
        
          <span class="nav__sub-title">Service-Center</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/service-center-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/service-center-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Kie</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/kie-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/kie-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Java-Chassis</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/java-chassis-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/java-chassis-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Mesher</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/mesher-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/mesher-downloads/" class="active">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Pack</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/pack-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/pack-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Toolkit</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/toolkit-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/toolkit-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Saga Actuator</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/saga-actuator-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/saga-actuator-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Saga</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/release/saga-release-notes/" class="">Release Notes</a></li>
          
            
            

            
            

            <li><a href="/release/saga-downloads/" class="">Downloads</a></li>
          
        </ul>
        
      </li>
    
  </ul>
</nav>

    
  
  </div>



  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
    <meta itemprop="headline" content="ServiceComb Mesher Downloads">
    <meta itemprop="description" content="ServiceComb Mesher Downloads">
    
    <meta itemprop="dateModified" content="September 09, 2019">

    <div class="page__inner-wrap">
      
        
          <header>
            <h1 class="page__title" itemprop="headline">ServiceComb Mesher Downloads
</h1>
            
          </header>
        
      

      <section class="page__content" itemprop="text">
        <h2 id="releases">Releases</h2>

<table>
  <thead>
    <tr>
      <th>Release</th>
      <th>Source</th>
      <th>Windows</th>
      <th>Linux</th>
      <th>Darwin</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>Apache ServiceComb Mesher 1.6.3 (LATEST)</strong></td>
      <td><a href="https://apache.org/dyn/closer.cgi/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-src.tar.gz">[src]</a> <a href="https://www.apache.org/dist/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-src.tar.gz.asc">[asc]</a> <a href="https://www.apache.org/dist/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-src.tar.gz.sha512">[sha512]</a></td>
      <td><a href="https://apache.org/dyn/closer.cgi/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-windows-amd64.tar.gz">[Binary]</a> <a href="https://www.apache.org/dist/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-windows-amd64.tar.gz.asc">[asc]</a> <a href="https://www.apache.org/dist/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-windows-amd64.tar.gz.sha512">[sha512]</a></td>
      <td><a href="https://apache.org/dyn/closer.cgi/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-linux-amd64.tar.gz">[Binary]</a> <a href="https://www.apache.org/dist/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-linux-amd64.tar.gz.asc">[asc]</a> <a href="https://www.apache.org/dist/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-linux-amd64.tar.gz.sha512">[sha512]</a></td>
      <td><a href="https://apache.org/dyn/closer.cgi/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-darwin-amd64.tar.gz">[Binary]</a> <a href="https://www.apache.org/dist/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-darwin-amd64.tar.gz.asc">[asc]</a> <a href="https://www.apache.org/dist/servicecomb/servicecomb-mesher/1.6.3/apache-servicecomb-mesher-1.6.3-darwin-amd64.tar.gz.sha512">[sha512]</a></td>
    </tr>
  </tbody>
</table>

<p><strong>Verifying the release</strong></p>

<p>It is essential that you verify the integrity of the downloaded files using the PGP or SHA signatures.
 The PGP signatures can  be verified using GPG or PGP.
 Please download the <a href="https://www.apache.org/dist/servicecomb/KEYS" target="_blank">KEYS</a> as well as the asc signature files for relevant distribution. It is recommended to get these files from the main distribution <a href="https://www.apache.org/dist/servicecomb/servicecomb-mesher/" target="_blank">directory</a> and not from the mirrors.</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code> gpg --import KEYS

 or

 pgpk -a KEYS

 or

 pgp -ka KEYS

</code></pre></div></div>

<p>To verify the binaries/sources you can download the relevant asc files for it from main distribution directory and follow the below guide.</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>gpg --verify apache-servicecomb-mesher-********.asc apache-servicecomb-mesher-*********

or

pgpv apache-servicecomb-mesher-********.asc

or

pgp apache-servicecomb-mesher-********.asc


</code></pre></div></div>

<p>Alternatively you can download the SHA signatures from main distribution <a href="https://www.apache.org/dist/servicecomb/servicecomb-mesher/" target="_blank">repo</a> and verify the downloads using sha512sum.</p>

        
      </section>

      <footer class="page__meta">
        
        


        
      </footer>

      

      

    </div>

    
  </article>

  
  
</div>


    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <div align="center" style="margin: 0 0;">
    <ins class="adsbygoogle"
         style="display:block; border-bottom: initial;"
         data-ad-client="ca-pub-7328585512091257"
         data-ad-slot="3049671934"
         data-ad-format="auto"></ins>
    </div>

    <div class="page__footer">
      <footer>
        <!-- start custom footer snippets -->

<!-- end custom footer snippets -->

        <div class="container">
  <div class="row justify-content-md-center">
    
    <div class="col">
      <ul>
        <p class="header">Resources</p>
        <li><a href="/docs/getting-started/">Getting started</a></li>
        <li><a href="/docs/users/">User Guide</a></li>
        <li><a href="/slides/">Slides</a></li>
        <li><a href="/users/faq/">Common Questions</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">ASF</p>
        <li><a href="http://www.apache.org">Foundation</a></li>
        <li><a href="http://www.apache.org/licenses/">License</a></li>
        <li><a href="http://www.apache.org/events/current-event">Events</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>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">Contribute</p>
        <li><a href="http://issues.apache.org/jira/browse/SCB">Report a Doc Issue</a></li>
        <li><a href="https://github.com/apache/servicecomb-website/edit/master/_release/mesher_downloads.md">Edit This Page on Github</a></li>
        <li><a href="/developers/submit-codes/">Code Submit Guide</a></li>
        <li><a href="/security">Security</a></li>
      </ul>
    </div>
    <div class="col">
      <ul class="social-icons">
        <p class="header">Community</p>
        <li>
            <a href="mailto:dev-subscribe@servicecomb.incubator.apache.org" rel="nofollow"><span class="mail">Mailing List</span></a>
        </li>
        <li>
            <a href="https://github.com/apache?q=ServiceComb" target="_blank"><span class="github">Github</span></a>
        </li>
        <li>
            <a href="https://twitter.com/ServiceComb" target="_blank"><span class="twitter">Twitter</span></a>
        </li>
        <li>
            <a href="/feed.xml" target="_blank"><span class="rss">Feed</span></a>
        </li>
      </ul>
    </div>
  </div>
</div>
<div class="page__footer-bottom">
  <div>&copy; 2019 Apache ServiceComb. Powered by <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> &amp; <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
  <div>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
</div>

      </footer>
    </div>

    <script src="/assets/js/main.min.js"></script>




  <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','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-101622733-1', 'auto');
  ga('send', 'pageview');
</script>







  </body>
</html>
