<!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 Releases - Apache ServiceComb</title>




<meta name="description" content="ServiceComb Releases">




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

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


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



  <meta property="og:description" content="ServiceComb Releases">



  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="ServiceComb Releases">
  <meta name="twitter:description" content="ServiceComb Releases">
  <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/>中文</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 Releases</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="">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 Releases">
    <meta itemprop="description" content="ServiceComb Releases">
    
    <meta itemprop="dateModified" content="April 06, 2019">

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

      <section class="page__content" itemprop="text">
        <p>Use the links below to download the ServiceComb toolkits releases from one of our mirrors. You must verify the integrity of the downloaded files using signatures downloaded from our main distribution directory.</p>

<p>Only current recommended releases are available on the main distribution site and its mirrors.</p>

<p><strong>Stable Release - Latest Version:</strong></p>

<ul>
  <li>
    <p><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.3.0</a> (released on 2019-11-07)</p>
  </li>
  <li>
    <p><a href="/release/toolkit-downloads/">ServiceComb toolkit 0.1.0</a> (released on 2019-09-04)</p>
  </li>
  <li>
    <p><a href="/release/pack-downloads/">ServiceComb Pack 0.5.0</a> (released on 2019-08-26)</p>
  </li>
  <li>
    <p><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 1.3.0</a> (released on 2019-10-31)</p>
  </li>
  <li>
    <p><a href="/release/saga-actuator-downloads/">ServiceComb Saga Actuator 0.3.0</a> (released on 2018-12-18)</p>
  </li>
  <li>
    <p><a href="/release/saga-downloads/">ServiceComb Saga 0.2.1</a> (released on 2018-11-23)</p>
  </li>
  <li>
    <p><a href="/release/mesher-downloads/">ServiceComb Mesher 1.6.3</a> (released on 2019-9-9)</p>
  </li>
  <li>
    <p><a href="/release/kie-downloads/">ServiceComb Kie 0.1.0</a> (released on 2019-10-26)</p>
  </li>
</ul>

<p><strong>Earlier Releases :</strong></p>
<ul>
  <li><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.2.0</a> (released on 2019-04-06)</li>
  <li><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.1.0</a> (released on 2018-11-30)</li>
  <li><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.0.0</a> (released on 2018-08-02)</li>
  <li><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.0.0-m2</a> (released on 2018-06-21)</li>
  <li>
    <p><a href="/release/service-center-downloads/">ServiceComb Service-Center 1.0.0-m1</a> (released on 2018-03-27)</p>
  </li>
  <li><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 1.2.1</a> (released on 2019-05-19)</li>
  <li><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 1.2.0</a> (released on 2019-04-12)</li>
  <li><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 1.1.0</a> (released on 2018-11-30)</li>
  <li><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 1.0.0</a> (released on 2018-08-02)</li>
  <li><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 1.0.0-m2</a> (released on 2018-06-21)</li>
  <li>
    <p><a href="/release/java-chassis-downloads/">ServiceComb Java-Chassis 1.0.0-m1</a> (released on 2018-04-02)</p>
  </li>
  <li><a href="/release/pack-downloads/">ServiceComb Pack 0.4.0</a> (released on 2019-04-06)</li>
  <li><a href="/release/pack-downloads/">ServiceComb Pack 0.3.0</a> (released on 2019-01-02)</li>
  <li><a href="/release/saga-downloads/">ServiceComb Saga 0.2.0</a> (released on 2018-06-21)</li>
  <li><a href="/release/saga-downloads/">ServiceComb Saga 0.1.0</a> (released on 2018-03-27)</li>
</ul>

<p><strong>NOTE:</strong></p>
<ul>
  <li>Please check <a href="/release/compatibleversion">this page</a> for compatible version.</li>
</ul>

<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">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/">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********.asc apache-servicecomb*********

or

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

or

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


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

<p>Alternatively you can download the SHA signatures from main distribution <a href="https://www.apache.org/dist/servicecomb/">repo</a> and verify the downloads using sha512sum or shasum.</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/release.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>
